[P0][v0.7] Full Kit Build: resumable source→copy→storyboard→video→GIF pipeline

Open
#85 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
15/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
ai, tooling

Research direction

Start with the linked dependencies (#75, #76, #77, #48, #78, #84, #79, #7, #9, #80, #81, #86) and the existing CLI video renderer, which the issue describes as a hard-coded 63-second demo tool. Map how source review, generation stages, media rendering, and packaging connect before taking on this work. Done means the listed acceptance flows pass, including resuming after interruption while preserving accepted outputs and human edits.

Written by the indexing model from the issue text.

Description

enhancement

North Star (owner 2026-10-21)

Input a GitHub link / screenshots / release description → press Generate Full Kit after approving extracted facts → receive all applicable social copy, hashtags/tags, video/GIF script, actual demo MP4, real GIFs, platform metadata and exportable review pack.

The current app has local X/Devlog generation, sessions and local Git fact extraction; the CLI video renderer is a hard-coded 63-second recorded-demo tool, NOT a reusable release pipeline. This issue implements composition and execution, not the individual adapters (issues below).

Local job DAG

Source Pack (#75, #48) → approved facts → concurrent/sequential channel drafts (#78,#84,#33,#49,#52)andstoryboard (#79)→approved shot list/media (#77,#51)→video (#7,#9,#81)→GIFs (#80)→packager (#86)`.

  • All stage inputs and generated outputs are immutable/have content digest and attempt ID. “Generate Full Kit” is a deliberate foreground user action, not a scheduled job.
  • Only generation calls within one real user action are allowed, with up-front estimated local time/hardware/disk budget based on known limits, one visible model call per stage, progress, cancellation and failure reasons. No paid API fallback, unattended retries or hidden model reruns.
  • Resume a failed/interrupted campaign from a saved job manifest; completed media/text stages reused by exact dependency fingerprint. A changed fact, Quillgrain voice, link, caption or image invalidates only affected downstream artifacts, and warns before regenerating manually edited results.
  • Human gates: after source review (cannot generate from unapproved uncertain facts), after storyboard selection (cannot call screenshot montage an observed app demo), before final full pack approval. No automated social publication or GitHub Release creation.
  • If input lacks real video, offer an accurately labelled screenshot-based explainer or NEEDS_CAPTURE: don't invent motion/behaviors. A failed media render should not discard successfully reviewed copy. Full kit can be PARTIAL with explicit blockers, not falsely complete.
  • Local file workspace, no account/database/background paid worker. Keep arbitrary GitHub/media inputs untrusted and isolate filesystem outputs in campaign-owned directories.

Acceptance

  • One genuine approved IdleShop release pack with local screenshots and one owner clip runs end-to-end: channel copy, verified 30–60s MP4, GIF, accepted output bundle #84; exact manifests and resulting files visible.
  • Another real public OSS source URL produces a complete honestly labelled explainer video (e.g., recorded app UI or illustrative screenshots when no actual runtime clip) with GitHub notes/DEV/X copy.
  • Kill job halfway through GIF stage, reopen session and resume without rerunning Gemma or deleting accepted MP4 or human edits. Change one caption, rerun only dependent video/GIF output; preserve independent channel text.
  • All failure pathways and privacy gates in unit/API/Playwright mocks plus real local inference and FFmpeg smoke; no “complete” based solely on mocked end-to-end.
  • Owner opens copy, MP4 and GIF before marking complete; published URL is separate and never automatic.

Requires #75,#76,#77,#48,#78,#84,#79,#7,#9,#80,#81,#86, optional #83 real capture. Planning-size large; implement progressively behind sub-actions and ship v0.3–v0.6 first.

Dominant language
Python
Stars
1
Forks
0
Avg merge
1h 56m
Merged PRs (30d)
7

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from drevendev/PatchPitch

All issues in drevendev/PatchPitch

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.