Files
5e146d5a55 feat!: v1.1 — Resolver emits a flat prompt, drop categories (#85)
* feat!: collapse pipeline — Resolver emits a flat prompt, drop categories (v1.1)

BREAKING CHANGE: the Category Splitter and Prompt Builder stages and nodes are
removed. The Resolver is now the translator from Scene JSON to prompt: it resolves
concepts to Knowledge Base tags and joins them into one flat comma-separated
prompt string, in resolution order (which naturally leads with character concepts).

Resolver node outputs are now (prompt, warnings, errors, json) — the json being
the traceable resolved tags so a translation problem is inspectable. Node count
drops from 8 to 6. The CategoryMap/PromptOutput models and their schemas are
removed; the `category` field remains on entries and resolved tags for
traceability only. Debug Viewer simplified to scene/warnings/errors.

Goldens, example scenes/workflow, integration/performance/repo-layout/release
tests, benchmark script, and the docs (README + wiki) are updated to the flat
prompt. Version bumped to 1.1.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* build: drop removed splitter/builder packages from pyproject

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: kunail0804 <kunail0804@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 00:00:48 +02:00
..

Golden files & the regression convention

This directory holds the golden outputs for the ten reference scenes (MASTER_SPEC §26.8): the exact prompt outputs each scene compiles to. The golden tests (tests/regression/test_golden.py) assert exact equality, guarding determinism — the same input, Knowledge Base, and configuration must always produce identical output.

The reference scenes themselves are defined in tests/regression/golden_scenes.py.

Regenerating goldens (deliberate only)

Goldens are never regenerated automatically. When a change is intended to alter compiler output — for example a Knowledge Base edit or a formatting change — regenerate them explicitly and review the diff before committing:

python scripts/regenerate_goldens.py
git diff tests/regression/golden/

If the golden tests fail and the change was not intended to alter output, that is a real regression — fix the code, do not regenerate.

Regression convention

Every fixed bug adds a permanent regression test that is never removed. Put scene-level regressions here (a new reference scene plus its golden) and unit-level regressions in the relevant stage's test module. Regression tests are part of the long-term validation suite and only grow.