# TrueTraceShorts OK_PRODUCE lessons — marketplace quiz

Use this reference when producing a full TrueTraceShorts candidate after the simplified commands (`GO_NEXT_SHORT`, `NEXT_TOPIC`, `OK_PRODUCE`).

## Command-mode behavior

- `GO_NEXT_SHORT` must stay short: one main topic plus at most two alternatives. Do not generate images, render, or produce a long review package.
- `NEXT_TOPIC` must genuinely switch format/scam/context, not lightly reword the same topic.
- `OK_PRODUCE` means execute the full gated production path autonomously and return the compact artifact report only.

## OK_PRODUCE gated flow

1. Confirm the last proposed candidate and expected format family.
2. Inspect Topic Registry and any legacy scripts/assets.
3. Treat legacy assets as research only unless they already match the new premium visual policy and voice/caption standard.
4. Create/validate script, visual brief, and review package before render.
5. Generate premium AI keyframes; renderer only crops/motions keyframes and adds captions.
6. Vision-QA keyframes before render:
   - one-second recognition in first frame
   - no real brands/logos/locations/domains/phones/QR/bank/card data
   - no PowerPoint, diagram, arrow/circle, abstract cyber, or UI-mockup final look
7. If a generated keyframe leaks a real brand/location/product brand, replace it before render.
8. If image generation returns empty once, retry with a shorter prompt. If one optional closing frame still fails but the story has enough coverage, proceed with fewer high-quality keyframes rather than forcing a weak filler.
9. Render with approved voice and static phrase segments with active-word highlight, no caption box/frame.
10. Extract representative frames and run video QA for first frame, mid caption, safer-move frame, and end CTA.
11. Run YouTube private upload dry-run and website companion generation/build/QA before final report.

## Tool/pipeline quirks worth remembering

- The YouTube private upload dry-run CLI resolves package paths via `AUTOSHORTS_YOUTUBE_PACKAGE_DIR`; set it to the candidate package directory before calling `python3 -m autoshorts.cli.youtube_private_upload_dry_run <candidate_id> --version <version>`.
- Website companion `riskLevel` currently accepts only `low`, `medium`, or `high`; do not invent values like `medium-high`.
- Website production QA can pass while the local Astro dev server is stale; verify with `npm run build`, production QA, and browser/console QA when a new route is added.
- Browser accessibility snapshots may omit text inside some `strong` elements; verify generated Markdown/frontmatter before assuming the page content is missing.

## Final OK_PRODUCE report shape

Return compactly:

- Video attachment path
- Thumbnail attachment path when available
- Candidate ID
- Format family
- Duration
- SHA256
- Title
- YouTube Description
- TikTok Caption
- Website link
- Upload approval command
- Short QA summary
- Git commits if code/content changed
