inkcheck
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Mechanical QA for ink stories.** Compile checks, bounded systematic branch exploration, runtime-error repro paths, and dead-content detection — as a standalone CLI for writers and teams, with optional CI and MCP integrations.
**Agents start here → SKILL.md** — when to call this, worked examples, MUST/MUST NOTs. Family contract: FAMILY.md.
inkcheck is a QA tool, not a writing tool. It does not generate, rewrite, or send away a word of prose. It exists so that the story *you* wrote can be checked mechanically: compile it with ink's official compiler, explore choice paths within explicit limits, and reproduce failures before a player finds them.
Does it use AI?
No. inkcheck itself does not use AI, machine learning, LLMs, or generative models to test stories. It does not train on your source, infer prose changes, rewrite story text, or send story content to an AI service.
It is designed so humans, CI systems, and optional AI coding agents can all drive the same mechanical QA checks. The actual checking is deterministic code: the official ink compiler, the ink runtime, bounded branch exploration, and structured reports.
Try it in two minutes
With Node.js 18 or newer:
Want to see the failure-path report before trying your own story? Run the
two-minute synthetic demo.
Product promise
Inkcheck is bounded mechanical QA for ink stories. It does not prove that every path works in a large story. It deterministically explores reachable story states within explicit limits, reports exact repro paths for the issues it finds, and shows where — and why — coverage was partial, so authors can use it as cheap, repeatable regression insurance.
Inkcheck will not prove that a large interactive story has no bugs. Combinatorial explosion is real: loops, variables, randomness, and host-game code can create more possible states than any tool can exhaustively visit.
The promise is narrower and more useful: make mechanical story QA cheap, repeatable, and actionable. Inkcheck walks real reachable choice states within explicit limits, tells you when the run was partial, and turns failures into repro paths you can run again after a fix. If it finds a broken path today, that same configured check should be able to look for that path again tomorrow.
This is an open-source QA project because that boundary matters. If a report overclaims, misses an obvious pattern, needs a better traversal strategy, or fails on a story shape you can share safely, please bring a fixture or issue. The roadmap is about making partial coverage more transparent and more valuable, not pretending partial coverage becomes proof.
Product direction and self-score
Inkcheck's future value is planned to come from a reproducible hybrid: broad seeded probes, systematic local inspection, bounded diversity search, and Ink-aware specialists for gates, loops, assertions, and storylet eligibility. Specialists must remain bounded and earn more work through portfolio-new evidence because they can become budget traps too.
The same bargain applies to hardware. Local CLI and one-shot MCP portfolio checks default to a deterministic 1,024-state live pilot that keeps small, depth-bound, and authored-frontier-saturated jobs sequential and activates bounded workers only for an open sustained frontier. Every pilot state counts under the original global ceiling; the search is not restarted to make the decision. Matched evaluation retained exact evidence and improved one 5M-state depth-100 *The Intercept* run by 25.6%, while constrained and hosted jobs retain explicit sequential ceilings. See the concurrency evaluation.
| Dimension | Current | 10/10 direction |
| --- | ---: | --- |
| Actionable, repeatable QA | **8/10** | Stable findings and exact replay across edit/CI/agent campaigns |
| Honest bounded evidence | **8/10** | Facts, estimates, limits, uncertainty, and proof always separated |
| Robust unknown-shape exploration | **6/10** | Broad cross-family value without traversal or fixture overfitting |
| Structured specialist advantage | **4/10** | Gates, loops, boundaries, and hubs tested by bounded expert probes |
| Anytime value per wall clock | **7/10** | Early result windows and deadlines exist; first-window sizing is still fixed |
| Author and agent intent | **8/10** | Safe invariants, goals, resource posture, and compact explanations |
| Demonstrated generalization | **4/10** | Predeclared multi-project corpus, including genuinely medium/large work |