Files
learnharness/tests/fixtures/golden-data/README.md
T
amosblomqvist bc09ec25e1 fixtures: golden data dir — real records, production read paths
Owner-manufactured teach master (chat_mv27rrra: compaction, subagent-abort,
every teach tool) + practice lifecycle (chat_mv293wv5: the full marker cycle
including the first-ever problem-dismissed), the real graph ledgers, five
jobs across the kind x status matrix, and settings. tests/golden-fixtures
reads all of it through the stores via the LH_DATA_DIR seam and pins the
fixture law: real data parses, flattens to a legal LLM wire, derives the
graph, covers every custom-marker kind, and reads never write.

Fixture law: an intentional format change updates these files in the same
commit; an unintentional one fails the suite.
2026-10-10 13:40:39 +03:00

39 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Golden fixtures — real user data, read through production paths
**The law (owner ruling, 2026-10-10):** this directory is a REAL data dir —
verbatim records written by the real application code, never hand-edited. Any
intentional on-disk format change updates these fixtures IN THE SAME COMMIT;
an unintentional change fails `tests/golden-fixtures.test.ts`. When schema
stamps land (Wave D), the stamping commit updates these files with it.
`tests/golden-fixtures.test.ts` copies this dir to a temp dir, points the
production stores at it via the `LH_DATA_DIR` seam, and reads EVERYTHING
through the real read paths — chat records (contract folds + the LLM wire
flattening), graph ledgers (shape guards + the full derivation), jobs,
settings. It also pins marker COVERAGE: every custom-marker kind and the
core tool surface must appear in real data here.
## What's inside
- `chats/chat_mv27rrra_feff23b6.json` — the teach-side master (owner-built,
2026-10-10): probe-handoff, plan-block, compaction, subagent-steer,
subagent-abort, and every teach tool (quiz, ask_user_question, plan_init,
probe, probe_done, recall, explain, research, demo, visual, pdf, find,
grep, ls, read, list_sessions, list_propositions). Plan tree + 25 turn
records + a per-chat model override.
- `chats/chat_mv293wv5_10656952.json` — the practice lifecycle (owner-built,
2026-10-10): graph-context (the bracketed preamble), problem ×2,
practice-thinking ×2, conclude ×2, practice-next, problem-dismissed — the
full marker cycle of a practice session, including the dismissal.
- `graph/` — the real ledgers: nodes (282 lines), chains (160), sessions (8),
coverage (93), sources (4), render-settings, positions.
- `jobs/` — five records covering kind × status: research done + aborted by
learner, demo done, visual done, pdf error.
- `settings.json` — the stamped settings record (version 1, model slots).
## Regenerating / extending
Run the app (`npm run dev`), exercise the feature against `data/`, then copy
the produced record in verbatim. Do not hand-edit content; if a record needs
pruning, re-run the flow instead.