Development record
2026-08-31 — Phase 0 of the last four intents executed: the ruled criteria
2026-08-31 — Phase 0 of the last four intents executed: the ruled criteria split, applied to itd-184, itd-185, itd-186 and itd-187 before any builder started, with the four specs' mapping tables rewritten in the same change so intent and spec cannot drift. Splits: itd-184's regime criterion separated the value stated in the definition from the absence of any operator surface that sets it, the latter given its own observable and an executable enumeration rather than a written list; itd-185's malformed-output criterion separated refusal-with-no-partial-write from the crash window between staging and the commit marker, and its registrative and explicative criteria each separated the reserved-name half the schema holds absolutely from the semantic half bounded by the signature registry; itd-187's second criterion was replaced by three, because its Given — a nondeterminism introduced into the shipped assembler — is unestablishable by any artefact, an eval being forbidden to patch the code under test, and the remainder is disclosed as a recorded hand-run. Every residue is stated in the record beside the criterion it qualifies, so a later audit reads the bound rather than rediscovering it. BEYOND THE LETTER OF THE RULING, and cheap to reverse because each sits contiguously at the end of its list: three criteria added to itd-185 (named provenance at every regime, the payload regime that disagrees with the definition, and verb-minted item ids) and two to itd-186 (the oracle's structural independence from the assembler, and the anti-vacuity guard that every declared sentinel is planted). Each covers a promise already in the intent's scope and already carrying a named test in its spec, and leaving a load-bearing promise unmeasured is the same failure as an unmeetable criterion, taken from the other side. Item-level refusal granularity in itd-185 is the one such gap left unclosed, and is queued rather than added. Rejected: splitting at build time (the criterion is rewritten in minutes before the work and re-litigated in an audit after it) and leaving the semantic halves conjoined under MET_WITH_CONCERNS (which stops carrying information once it is the default outcome, and on the present trajectory it is).
Frontmatter
| id | dcn-2608310000000002 |
|---|---|
| type | decision |
| date | 2026-08-31 |
.abcd/work/decisions/dcn-2608310000000002-phase-0-of-the-last-four-intents.md
open on GitHub ↗ · commit history ↗
mentions4
- itd-184Four cold-reading definitions, one blindness core — each position licenses a different output, and none may hold another's licence
- itd-185One ingest verb validates every cold-reading output — including what the reading was licensed to produce, not only what it saw
- itd-186The read-block eval falsifies the firewall — planted warm content that reaches a reading fails the build loudly
- itd-187Amnesia is a repository property, proven by an eval — the same state assembled twice is byte-identical, so no case run is spent evidencing it