Skip to content

feat(wizard): prompt to archive transcript.json and camera-profiles.json to poddedit fixtures before deletion #110

Description

@natashaannn

Context

The ragTech team deletes episode artifacts from deckcreate after each episode is published. The poddedit rewrite (ragTechDev/poddedit) uses transcript.json and camera-profiles.json from real shipped episodes as test fixtures for its compositor (see poddedit#4). Without an explicit archiving step, these files are lost before they can be committed as fixtures.

Known gap: @natashaannn is currently the only team member who still has artifacts from a past episode ("Is AI a Bubble?") in deckcreate. All subsequent editors must archive before deleting — this issue makes that structural rather than relying on memory.

What to add

After merge-doc completes in scripts/wizard.js, add a prompt:

Archive fixtures to poddedit before continuing?
Saves transcript.json + camera-profiles.json to the poddedit repo for use as compositor test fixtures.
(y/N)

If the user selects y:

  1. Prompt for the episode slug to use as the fixture directory name (default: a slugified version of the episode title from transcript.json meta, or a timestamp if no title is set).
  2. Resolve the poddedit repo path — check for a PODDEDIT_REPO environment variable first, then fall back to prompting the user for the path.
  3. Copy public/transcribe/output/transcript.json{poddedit-path}/tests/fixtures/{slug}/transcript.json
  4. Copy public/camera-profiles.json{poddedit-path}/tests/fixtures/{slug}/camera-profiles.json
  5. Print: Fixtures archived to {poddedit-path}/tests/fixtures/{slug}/. Remember to commit them in poddedit.

If the user selects n (default): skip silently and continue.

Acceptance criteria

Given merge-doc has run and the wizard continues
When the archive prompt appears and the user selects y
Then both files are copied to the correct paths in the poddedit repo and a confirmation message is printed with the full path

Given the user selects n or presses enter
When the prompt is dismissed
Then the wizard continues to the next step with no side effects

Given PODDEDIT_REPO is set in the environment
When the user selects y
Then the path is used without prompting — no interactive path entry required

Given the poddedit repo path does not exist or tests/fixtures/ does not exist
When the copy is attempted
Then the wizard prints a clear error and skips the copy — it does not create directories in an unexpected location

Out of scope

  • Automatically committing or pushing the files in the poddedit repo — copy only; the editor commits manually
  • Modifying or validating the content of the files before archiving
  • Archiving any file other than transcript.json and camera-profiles.json

Hard constraints

  • Default answer is n — the prompt must not archive silently or default to yes
  • The wizard must continue normally whether or not the user archives — this is never a blocking step
  • No new npm dependencies; implement with Node.js built-ins (fs, path, readline)

Related

  • poddedit#4 — the fixture issue this archiving step feeds
  • scripts/wizard.js — entry point; add the prompt after the merge-doc step

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions