Files
chemenu/reports/CONTRACT.md
T
torben 18ae28f918
CI / verify (push) Failing after 32s
Release / release (push) Successful in 38s
Chemenu 2.1.0 - deterministischer Wissenskompiler
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki:
raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht
tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren
Grenzen in Code durchgesetzt sind statt im Prompt.

Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige
Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses
Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44
Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist.

Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den
Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er
dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs.

Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte.
Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet -
siehe NOTICE.
2026-09-01 16:26:14 +02:00

44 lines
2.1 KiB
Markdown

# reports/ - Generated Output
Derived output that must stay out of git. Two kinds live here:
- **Lint reports**, written by `tools/wikitool lint --markdown "reports/Lint Report
<YYYY-MM-DD>.md"`.
- **Traces**, under `reports/telemetry/<session>/trace.jsonl` - the append-only record of
what a session did, written by `wikitool` itself and by the harness hooks. See
[../EVALS.md](../EVALS.md) for the event contract and what is redacted.
**Everything in this directory except this file is gitignored.** A lint report is a derived
copy of recomputable truth: its structural sections can be regenerated from the tree at any
commit, so committing them would create a second, drifting copy of something the tool already
answers on demand.
## The durable half
A report also carries a `## Semantic Review` section, which is the LLM's judgment and *cannot*
be regenerated. Because the file itself is never committed, that judgment must be carried out
of here before the pass ends:
- Findings that change a page belong in the page, via `wikitool touch` / `xref` / `new`.
- The summary of the pass belongs in `kb/log.md`, via
`tools/wikitool log append --op lint`.
A lint pass that leaves its conclusions only in `reports/` has lost them.
## Traces
A trace is neither recomputable nor durable: rerunning a session produces a different one, and
nothing else in the repo can reconstruct it. It is still gitignored, because it records
prompts and assistant replies in cleartext and belongs to the machine it ran on, not to the
repository. What a trace concludes - a scored eval, a failure taxonomy - is carried out the
same way a lint report's judgment is: into `kb/`, `work/`, or `kb/log.md`.
`WIKI_TRACE_DIR` redirects the tree; `WIKI_TRACE=0` turns recording off; `WIKI_TRACE_CONTENT=0`
keeps lengths and digests instead of text.
## Retention
None. Old reports are local scratch; delete them freely. There is nothing to retire with
`wikitool rm`, because no report is ever a wiki page - `lint-report` is a contract-only
type-spec with no `base_dir:` and cannot be instantiated under `kb/`.