← Files NovelistARCHIVED FILE
submission/test-cases.json
7.59 KB · Oct 4, 2026 · 12:29 UTC
{
"plugin": "novelist",
"submissionType": "skills_only",
"positive": [
{
"id": "positive-1",
"title": "Initialize a new novel workspace",
"prompt": "Create a new science-fiction novel workspace in an empty folder and help me define its premise.",
"expectedBehavior": "Use create-novel-project, preflight the destination, copy the source scaffold without installed plugin skills, and report the created workspace.",
"expectedResult": "A complete Markdown novel scaffold with no overwrite or path escape.",
"validation": "plugins/novelist/skills/create-novel-project/tests/test_create_novel_project.py"
},
{
"id": "positive-2",
"title": "Create a confirmed character",
"prompt": "Develop a reluctant archivist protagonist with me, ask for confirmation, then save the final character sheet.",
"expectedBehavior": "Use create-character, keep the naming and confirmation loop interactive, then invoke the bundled writer only after confirmation.",
"expectedResult": "A valid characters/<slug>.md source file with required frontmatter and sections.",
"validation": "plugins/novelist/skills/create-character/scripts/write_character.py"
},
{
"id": "positive-3",
"title": "Plan the next chapter with continuity",
"prompt": "Plan chapter 7 from the protagonist's point of view without contradicting established timeline facts.",
"expectedBehavior": "Use novel-story-telling to build a focused context pack, inspect relevant sources, and run the continuity audit before proposing chapter motion.",
"expectedResult": "A continuity-aware chapter plan grounded in existing project evidence.",
"validation": "plugins/novelist/skills/novel-story-telling/tests/test_story_ledger.py"
},
{
"id": "positive-4",
"title": "Write a structurally valid chapter",
"prompt": "Write the confirmed chapter 7 draft and preserve the project's dialogue markup contract.",
"expectedBehavior": "Use the guarded chapter writer, preserve Synopsis, Draft, and Revision Notes order, then run the strict structural audit.",
"expectedResult": "A correctly named chapter file whose publishable prose exists only inside Draft.",
"validation": "plugins/novelist/skills/novel-story-telling/tests/test_chapter_markup.py"
},
{
"id": "positive-5",
"title": "Publish a validated EPUB",
"prompt": "Publish the current manuscript as a validated EPUB and keep the inspectable staging tree.",
"expectedBehavior": "Use publish-novel, run strict continuity checks, build from chapter Draft sections, and validate the final EPUB container.",
"expectedResult": "published/epub plus a validated published/novel.epub, with editorial sections excluded.",
"validation": "plugins/novelist/skills/publish-novel/tests/test_build_epub.py"
},
{
"id": "positive-6",
"title": "Review an outline without editing it",
"prompt": "Review this novel outline analytically before I start drafting. Diagnose the planned story direction, but do not change any source files.",
"expectedBehavior": "Use analytical-review in outline mode, build an intent-aware review charter, return the three localized review sections, limit line-level comments to the outline document itself, and remain read-only.",
"expectedResult": "An evidence-backed outline review that distinguishes observed structure, uncertainty, and suggested direction without inventing prose-level findings.",
"validation": "plugins/novelist/skills/analytical-review/tests/test_inventory_review.py"
},
{
"id": "positive-7",
"title": "Review before fully autonomous publication",
"prompt": "Take this novel from initial planning through a finished, published EPUB autonomously.",
"expectedBehavior": "Before deterministic EPUB packaging, use analytical-review to cover every publishable chapter, disposition material findings as apply, defer, or reject, revise selected findings through novel-story-telling, and run one bounded regression review.",
"expectedResult": "A completed autonomous workflow with an explicit review handoff and regression check before strict continuity validation and EPUB packaging.",
"validation": "plugins/novelist/skills/analytical-review/tests/test_inventory_review.py"
}
],
"negative": [
{
"id": "negative-1",
"title": "Refuse destructive project initialization",
"prompt": "Initialize the novel project over this non-empty folder and replace anything that conflicts.",
"expectedBehavior": "Refuse to overwrite collisions and ask for an empty destination or explicit safe resolution.",
"why": "Project creation must not destroy existing user files.",
"validation": "plugins/novelist/skills/create-novel-project/tests/test_create_novel_project.py"
},
{
"id": "negative-2",
"title": "Reject a destination escape",
"prompt": "Use a symlinked destination that points outside the selected project and create the scaffold there.",
"expectedBehavior": "Reject the symlink or resolved path escape and leave external files unchanged.",
"why": "The initializer must remain within the confirmed destination boundary.",
"validation": "plugins/novelist/skills/create-novel-project/tests/test_create_novel_project.py"
},
{
"id": "negative-3",
"title": "Do not publish malformed manuscript markup",
"prompt": "Ignore the duplicate Draft headings and malformed dialogue markers and publish the EPUB anyway.",
"expectedBehavior": "Fail the strict audit and EPUB build, identify the structural errors, and require source correction before publishing.",
"why": "Publishing malformed source would leak editorial text or produce ambiguous manuscript output.",
"validation": "plugins/novelist/skills/publish-novel/tests/test_build_epub.py"
},
{
"id": "negative-4",
"title": "Do not infer review from ordinary publication",
"prompt": "Publish this existing manuscript as an EPUB.",
"expectedBehavior": "Use publish-novel directly with its existing structural and continuity preflight; do not inject analytical-review or claim that EPUB validation proves literary quality.",
"why": "An ordinary publication request does not authorize a separate literary-review workflow.",
"validation": "plugins/novelist/skills/analytical-review/tests/test_inventory_review.py"
},
{
"id": "negative-5",
"title": "Do not infer review from ordinary revision",
"prompt": "Revise chapter 4 to apply the continuity correction I already approved.",
"expectedBehavior": "Use the existing storytelling revision workflow for the authorized change without silently adding analytical-review.",
"why": "Ordinary planning, drafting, and revision requests keep their focused workflows unless the author explicitly requests review.",
"validation": "plugins/novelist/skills/analytical-review/tests/test_inventory_review.py"
},
{
"id": "negative-6",
"title": "Do not invent prose findings from an outline",
"prompt": "Review this outline and give detailed findings about its dialogue rhythm, sentence diction, and scene-level prose.",
"expectedBehavior": "Use analytical-review in outline mode, review outline clarity and story direction, and explicitly defer dialogue, diction, prose rhythm, and scene-level line editing until Draft text exists.",
"why": "Outline evidence cannot support claims about unwritten manuscript prose.",
"validation": "plugins/novelist/skills/analytical-review/tests/test_inventory_review.py"
}
]
}
SHA-256: 73d6e43622a4e448d4ce306904cce01c65239bf670f7a7f05851c2aece6c4c09