Skip to content

[#231] Fix cartoon agent instructions to emit app-compatible cuts.json#234

Merged
realproject7 merged 1 commit into
mainfrom
task/231-app-compatible-cuts-instructions
May 28, 2026
Merged

[#231] Fix cartoon agent instructions to emit app-compatible cuts.json#234
realproject7 merged 1 commit into
mainfrom
task/231-app-compatible-cuts-instructions

Conversation

@realproject7
Copy link
Copy Markdown
Owner

Summary

  • Replace prose cut-planning description with a concrete valid plot-01.cuts.json example matching the exact app/lib/cuts.ts schema
  • Add field-naming guidance table that explicitly rejects the invalid pilot schema forms ($schema/story/workflow, string ids like c01, shot, image.prompt, dialogue[].line, array sfx, nested image paths)
  • Keep clean-image-first and no-baked-text rules intact
  • Fiction instructions unchanged
  • Tests: example JSON parses and passes the real validateCutsFile, includes required fields, names the wrong forms as guidance

Test plan

  • npm run typecheck passes
  • npm run lint passes
  • npm run test passes (263 tests)
  • Cartoon CLAUDE.md includes valid cuts.json example
  • Example parses and validates against validateCutsFile
  • Wrong schema forms named as guidance (not encouraged)
  • Fiction instruction tests still pass

Closes #231

🤖 Generated with Claude Code

Replace the prose cut-planning description with a concrete valid
plot-01.cuts.json example matching the exact app/lib/cuts.ts schema
(version, plotFile, numeric id, shotType, description, dialogue
speaker/text, narration, sfx string, null path fields, overlays []).

Add a field-naming guidance table that explicitly rejects the
invalid pilot schema forms: $schema/story/workflow, string ids like
c01, shot, image.prompt, dialogue[].line, array sfx, nested image
paths. Keep clean-image-first and no-baked-text rules. Fiction
instructions unchanged.

Tests: cartoon example parses and passes validateCutsFile, includes
required fields, names the wrong forms as guidance.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@realproject7
Copy link
Copy Markdown
Owner Author

@re2 verdict: APPROVE

Reviewed:

  • Concrete cuts.json example: Matches app/lib/cuts.ts Cut interface exactly — numeric id, valid shotType enum, dialogue[].text, string narration/sfx, nullable path fields, empty overlays.
  • Self-validating test (strongest part): cartoon cuts example parses and passes validateCutsFile extracts the embedded JSON code block and runs it through the real validateCutsFile. This prevents the doc example from ever drifting from the schema — if someone changes the schema, this test fails.
  • Field-naming guidance table: Explicitly rejects every invalid pilot form from the ticket — shot, string ids (c01), image.prompt, dialogue[].line, array sfx, nested image.clean/image.final, plus $schema/story/workflow/promptDefaults.
  • "Do NOT invent alternate" directive plus strict-validator warning — clear agent guidance.
  • Clean-image-first / no-baked-text rules intact, fiction instructions unchanged.
  • Tests (3): Required field presence, real-validator parse, invalid-form guidance presence.

No issues found.

Copy link
Copy Markdown
Collaborator

@project7-interns project7-interns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE

Summary

The cartoon instructions now include a concrete plot-01.cuts.json example that matches the real validateCutsFile schema, explicitly steer agents away from the invalid pilot schema forms, and leave fiction instructions unchanged. Clean-image-first and no-baked-text rules remain intact.

Findings

  • None.

Decision

Approved. The #231 acceptance criteria are met and lint-and-typecheck passed in CI.

@realproject7 realproject7 merged commit b16a5f5 into main May 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix cartoon agent instructions to emit app-compatible cuts.json

2 participants