The Two Pillars: Extraction and Delivery
Governance is two questions. What are the rules? When does the model see them? Extraction answers the first. Delivery answers the second. Everything else in edikt serves one of the two.
Extraction: from your decisions to rules a model can follow
You write decisions, invariants and guidelines in plain markdown. edikt extracts each into directives: one sentence per rule, its force stated as must or should, its intent, the line it came from, and the observation that would prove it broken.
The extractor never invents and never paraphrases. Every directive traces back to a sentence you wrote, and you can follow the trace in the sidecar next to the artifact.
Quality is measured, not assumed. Compile checks that every directive is grounded in its source, that the source still says what the directive says, and that nothing has drifted since the last extraction.
| You own | edikt owns | |
|---|---|---|
| Input | artifacts that extract well: the right kind (invariant, decision, guideline), one rule per sentence, force and intent stated | the extractor, its contract, and its pins |
| Output | — | the sidecar, the compiled surfaces, the drift report |
| Measured by | — | grounding, provenance, drift, double-loading |
Delivery: the right rule in front of the model at the right time
Rules reach the model on three surfaces, chosen by when each rule is needed:
- The ambient core. A small set of non-negotiables, loaded in every session.
- Topic files. Loaded when the model touches a file matching the topic's paths.
- Skill packages. Loaded when the task calls for the topic, before any file is touched.
The model reads them by judgement. Then, at the end of a phase, a review verifies the work against the same directives and cites the ones it used.
Delivery is load the right rules, then check the work. It is not block the keystroke.
What edikt does not do
edikt does not inject rules into every edit and does not deny writes. Deterministic checks in the write path are flaky, fire on correct code, and their effect on behaviour was never measured. The one delivery mechanism with a measured effect is the ambient core: in the counter-pattern experiment, loading it moved rule-following from zero of nine sessions to four of seven, against a codebase that demonstrated the violation. That is what edikt ships and stands behind.
edikt blocks exactly one thing: edits to its own managed regions in the files it generates. It says so when it does.
How the pillars meet
Extraction quality is delivery cost. Every directive extracted is a directive loaded, so an artifact that extracts into noise is paid for on every session. Two tools keep the two honest:
- The session tally shows which rules were in scope for the files you touched.
- Prune by evidence. A directive that a review never cites is a candidate for removal, decided by the count, not by opinion.
Where to go next
- How Governance Compiles — the extraction pipeline in detail.
- Sidecar Architecture — what a directive record contains.
- Architecture Decisions, Invariant Records, Guidelines — the three kinds of artifact and when to write each.