← Files NovelistARCHIVED FILE

submission/test-cases.json

7.59 KB · Oct 5, 2026 · 18:29 UTC

↓ Download file

{
  "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