Development record
What the widening reading proposes is admitted or declined on the record — grounds on admission, dispositions on declines, and surprises as their own entries
Press Release
Declining a proposal costs nothing epistemically; admitting one is where the frame is engaged. When the widening reading proposes candidate framings, every admission into the candidate set carries recorded grounds, and every declined proposal carries a disposition — so the record can show that not every contributed proposal was taken, since uniform adoption is equally consistent with abdication. Separately, a surprise entry records what was unexpected, distinct from the disposition record, because the reading's output and the researcher's response are different acts — and the surprise that occasions abduction is a third thing again.
What's In Scope
- The admission-grounds record: keyed to the proposal, grounds free text,
written at admission (the analogy of the
disposition_groundsrequired on rejection). - The declined-proposal disposition: keyed to the proposal, on the ledger side.
- The surprise entry: a distinct record shape, keyed to whatever occasioned it (a detection, a consequence), never folded into a disposition.
- Schema now; [HAND] in Iteration 1 (no reading runs, so nothing to record yet); enforced at the command in Iteration 2.
Scope Conditions
None stated.
Acceptance Criteria
- Given a widening proposal admitted to the candidate set, when the admission is recorded, then it carries grounds, and a blank is refused once command enforcement lands.
- Given a declined widening proposal, when the session ends, then its disposition exists on the ledger side.
- Given a surprise, when it is recorded, then the surprise entry is a distinct record from any disposition it relates to.
Grounds
- pursued: Pursued now because declining a proposal costs nothing epistemically while admitting one is where the frame is actually engaged, and uniform adoption of everything a reading proposes is equally consistent with careful judgement and with abdication. Only a record that carries grounds on each admission and a disposition on each decline can tell the two apart, and it has to exist before the first widening run rather than after it.
Audit Notes
Fidelity review — receipt rcp-6b45c296b217 (verifier abcd:intent-auditor claude-opus-5[1m]).
Provenance: abcd:intent-auditor@claude-opus-5[1m] · rubric_hash sha256:542ed2cd51ff938717a3f47b2b332e8d47910beec0ca7ecdfd238ae7edf5ced5 · prompt_hash sha256:cdecb6e299d97e8168d22d1789d66040578701979edb31f38015f8b55b0ab775 Input attestations: diff:932629f9...build/itd-189 (803acdad)@sha256:e7b265907cf8c5903db50e7bbe7b8c9092bbf13ba751091f668b92147659e931;
Acceptance rollup: MET 0 · MET_WITH_CONCERNS 3 · NOT_MET 0 · INCONCLUSIVE 0
Per-criterion verdicts:
- ac-1 — MET_WITH_CONCERNS: The admission record exists, declares
groundsrequired from ONE list, and the gate that refuses a blank one is wired to the real config and to preflight — not to a test-only fixture. I ran it rather than reading it: over 25 spellings ofgroundsdriven end to end throughLintagainst the adm store, the nine spellings the enumeration names (empty, whitespace, '""', "''", [], {}, ~, null, NULL, !!null) are each refused as a blocker, and an absentgroundsis refused too. CONCERNS, three, and the first is the consequential half of this verdict. (i) The refusal is a SPELLING test and its complement is live: sixteen nothing-carrying spellings pass GREEN —!!null null,!<tag:yaml.org,2002:null>,!!str '',!!str "",!!null ~,&anchor,*alias,!!seq [],!!map {}, a bare U+200B zero-width space, and six trailing-comment forms including"" # nothing here,null # x,[] #x,~ #xand a comment-only value. That is not the whole of it: I then drove the SAME records through the outstanding report and every one of the six I tested returned 0 findings — the gate accepts an admission that admits nothing AND the report then calls the proposal answered, which is precisely the harm class this branch exists to stop. Open, unwidened by deliberate ruling (iss-2608301808198621, iss-2608301744268001). The user-facing doc was corrected to stop claiming completeness and now names the tag/anchor/alias and trailing-comment classes — but it does not name the zero-width space or!!map {}, so the corrected enumeration is itself still narrower than the measured gap. (ii) The criterion's second clause ('a blank is refused once command enforcement lands') has no producer: no verb writes an adm-N on any surface, and no intent id is named anywhere in the record for that Iteration-2 work — spc-67 and commands/capture.md both say 'the next iteration' without naming it, so itd-192's obligation to name the closing intent is unsatisfied. (iii) The Given clause is unreachable in production: nothing on any surface mints an rdi-N, becausecapture.IngestReadinghas no CLI or plugin caller and itd-185, the ingest door, is still in planned/ and not started. Judged MET_WITH_CONCERNS under itd-192 because THIS phase does wire the enforcement it promised for this cycle (the gate), but the universal reading of 'it carries grounds' is FALSE as measured. evidence: internal/core/issueschema/admission.go:70 — "var AdmissionRequired = []string{"schema_version", "id", "run", "proposal", "grounds"}" evidence: internal/core/lint/schema.go:394 — "requiredFields: issueschema.AdmissionRequired, knownFields: issueschema.AdmissionKnown," evidence: .abcd/record-lint.json:265 — ""adm": ".abcd/work/issues/admissions"," evidence: Makefile:175 — "preflight: lint-reviews lint-issues lint-decisions record-lint docs-lint site-render" evidence: internal/core/lint/schema.go:1712 — "func isAbsentValue(value string) bool { — measured: 16 nothing-carrying spellings pass green, 6 of them also return 0 outstanding findings" evidence: internal/core/lint/schema_test.go:2322 — "func TestIsAbsentValueIsASpellingTestNotANullTest(t *testing.T) {" evidence: .abcd/work/issues/open/iss-2608301808198621-isabsentvalue-decides-on-literal-strings.md:1 — "OPEN: isAbsentValue decides on literal strings rather than the YAML null class" evidence: .abcd/work/issues/open/iss-2608301744268001-a-trailing-comment-on-a-frontmatter-key.md:1 — "OPEN: a trailing comment on a frontmatter key defeats every blank spelling" evidence: commands/capture.md:261 — "That list is the set the gate reads, not every way YAML can carry nothing." evidence: internal/core/capture/reading.go:144 — "func IngestReading(req IngestReadingRequest) (IngestReadingResult, error) { — no caller outside internal/core/capture" evidence: .abcd/development/intents/planned/itd-185-one-ingest-verb-validates-every-cold.md:1 — "id: itd-185 — still under intents/planned/, not started" - ac-2 — MET_WITH_CONCERNS: The decline is on the ledger side and the mechanism is real, reused rather than reinvented, and reachable from production.
declinedis available at the widening position in the shared availability table; the disposition record it lands in is spc-58's, written by the wiredabcd capture disposition <rdi-N> --state declinedverb into .abcd/work/issues/dispositions/rdi-N/, a store the real record-lint config gates; and spc-67's addition — the report that notices a widening proposal with neither an admission nor a decline — is wired both as a lint finding and as anunadmittedline on the CLI board. I ran the leg across all four states rather than trusting the table:declinedalone silences it (0 findings),acceptedandrejectedeach still report the proposal unadmitted, andheldrenders its own hold line with the exit condition. That is exactly the discrimination the criterion needs. CONCERNS, three. (i) 'when the session ends' has no producer at all — nothing runs at session end, and the report is pinned toinfoin code whatever the config asks, so a declined proposal whose disposition was never written is REPORTED and never REQUIRED; the criterion's obligation is a notice, not a gate. (ii) Deviation 2 lands squarely on this criterion: the padding and bucket legs share a tail asserting the named item 'goes on being reported as unanswered', which is false of exactly thedeclineditem ac-2 is about — the message states as fact something the walk never consulted (open iss-2608301755006875). (iii) Same unreachable Given as ac-1: no surface mints an rdi-N, so no widening proposal can exist to be declined until itd-185 lands. Judged MET_WITH_CONCERNS under itd-192 — this phase wires the answering mechanism; the intent that closes the producer gap is itd-185, unstarted. evidence: internal/core/issueschema/reading.go:194 — "DispositionDeclined: true," evidence: internal/surface/cli/cli.go:2781 — "Use: "disposition <rdi-N> --state <accepted|rejected|declined|held> [--grounds <text>] ..."" evidence: .abcd/record-lint.json:263 — ""dsp": ".abcd/work/issues/dispositions"," evidence: internal/core/lint/readingoutstanding.go:674 — "o.Item + " (run " + o.Run + ") is a widening proposal with neither an admission nor a decline — outstanding. "" evidence: internal/surface/cli/cli.go:2488 — "fmt.Fprintf(w, " unadmitted %s (run %s) — a widening proposal with neither an admission nor a decline\n"," evidence: internal/core/lint/reading_outstanding_test.go:523 — "func TestAdmissionLegSeverityIsInfoNotBlocker(t *testing.T) {" evidence: internal/core/lint/schema.go:1027 — ""nothing and the " + target.noun() + " it names goes on being reported as unanswered"" evidence: internal/core/lint/schema.go:1081 — "" it names goes on being reported as unanswered with no sign that an answer was written"" evidence: .abcd/work/issues/open/iss-2608301755006875-the-shared-unanswered-tail-on-the.md:22 — "A widening item carrying adeclinedor ahelddisposition IS answered" evidence: .abcd/development/intents/planned/itd-185-one-ingest-verb-validates-every-cold.md:1 — "id: itd-185 — the ingest door, not started" - ac-3 — MET_WITH_CONCERNS: Separateness is the strongest thing this branch delivers, and it is structural rather than conventional: a distinct family prefix (srp), a distinct FLAT store (surprises/, deliberately not keyed by occasion so it cannot inherit one family's key), a distinct required set whose whole join is
occasioned_by, and a closed allow-list. I exercised it rather than reading it: a well-formed surprise is clean; a surprise carrying a disposition's own fields draws two blocker findings ('unknown frontmatter property state', 'unknown frontmatter property disposition_grounds'), so a surprise cannot be spelled as a disposition even by accident; and anoccasioned_bynaming a record the corpus does not hold is a finding, so the join is resolved rather than declared. The reading record's own envelope reservesoccasioned_byas DORMANT and refuses a populated value, which closes the other direction. It is wired to the real config and to preflight. CONCERNS, two, both narrower than the first two criteria's. (i) No producer: no verb writes an srp-N and the doc says so plainly ('Neither shape has a sub-verb'); the store directory does not exist in the repository, because no reading has run. No intent id is named for the writing verb. (ii) A residual the spec itself declares:abcd <id>dispatch does not cover srp-N or adm-N. Judged MET_WITH_CONCERNS under itd-192 for the absent producer alone — the distinctness the criterion actually asserts is realised without qualification and is gate-enforced today. evidence: internal/core/issueschema/admission.go:82 — "var SurpriseRequired = []string{"schema_version", "id", "occasioned_by"}" evidence: internal/core/issueschema/admission.go:59 — "SurprisesDir = "surprises"" evidence: internal/core/lint/schema.go:405 — "requiredFields: issueschema.SurpriseRequired, knownFields: issueschema.SurpriseKnown," evidence: internal/core/lint/schema.go:407 — "field: "occasioned_by", why: "a surprise is keyed to whatever occasioned it, and a join naming nothing joins nothing"" evidence: internal/core/issueschema/reading.go:139 — "var ReservedSurpriseFields = []string{"occasioned_by"}" evidence: .abcd/record-lint.json:266 — ""srp": ".abcd/work/issues/surprises"" evidence: commands/capture.md:252 — "Neither shape has a sub-verb — this surface writes noadm-Nand nosrp-N" evidence: .abcd/development/specs/closed/spc-67-what-the-widening-reading-proposes-is.md:1 — "Out of scope: Dispatchingabcd <id>onadm-Norsrp-N"
Gap audit:
- honoured:
- Every admission into the candidate set carries recorded grounds — and the refusal is armed at the gate this cycle rather than promised for a verb. evidence: internal/core/issueschema/admission.go:70 — "var AdmissionRequired = []string{"schema_version", "id", "run", "proposal", "grounds"}" evidence: internal/core/lint/schema_test.go:1025 — "func TestAdmissionRecordRequiresGrounds(t *testing.T) { — measured: blank AND absent both blocker"
- The admitted set is keyed on the (run, proposal) PAIR, with the run taken from the directory the record sits in and cross-checked against the field. evidence: internal/core/lint/schema.go:392 — "{prefix: "adm", noun: "admission", nodeType: "admission", bucketRe: readingRunBucketRe, ... bucketField: "run"," evidence: internal/core/issueschema/admission.go:49 — "AdmissionsDir holds one directory per run: admissions/<run-id>/adm-<N>.md."
- A declined proposal is not a second record type — it is spc-58's disposition in its
declinedstate, and only that state answers the widening leg. evidence: internal/core/issueschema/reading.go:194 — "DispositionDeclined: true," evidence: internal/core/lint/reading_outstanding_test.go:472 — "func TestDeclinedDispositionSatisfiesTheAdmissionLeg — measured: declined 0 findings, accepted/rejected 1 each" - A surprise is its own record and can never be read as, or overwrite, a disposition: separate family, separate flat store,
occasioned_byrather than a shared key, closed allow-list. evidence: internal/core/issueschema/admission.go:82 — "var SurpriseRequired = []string{"schema_version", "id", "occasioned_by"}" evidence: internal/core/lint/schema.go:405 — "requiredFields: issueschema.SurpriseRequired — measured:stateanddisposition_groundseach refused as unknown properties" - The report notices a widening proposal that is neither admitted nor declined, as one branch of the existing rule rather than a twin, pinned at info, and reachable from the production entry point. evidence: internal/core/lint/readingoutstanding.go:674 — "is a widening proposal with neither an admission nor a decline — outstanding." evidence: internal/surface/cli/cli.go:2488 — "fmt.Fprintf(w, " unadmitted %s (run %s) — a widening proposal with neither an admission nor a decline\n","
- The nine-store reader enumeration that was wrong four consecutive times is now executable — every answer established by running the reader, with a coverage gate that refuses a new store arriving without a row. evidence: internal/core/lint/duplicatekeyreaders_test.go:167 — "func TestEveryStoreHasADuplicateKeyReaderRow(t *testing.T) {" evidence: internal/core/lint/duplicatekeyreaders_test.go:58 — "func TestDuplicateTopLevelKeyReaderByReader — 14 subtests pass for 9 stores"
- diverged:
- The press release's implied universal — that the record can show which proposals were taken — is delivered as a SPELLING test, not a null test. Sixteen nothing-carrying spellings of
groundspass the gate green, and six I drove further also return zero outstanding findings, so the gate accepts an admission that admits nothing AND the report then calls the proposal answered. Deliberately not widened; the doc was narrowed instead, and the narrowed doc still omits the zero-width-space and!!map {}classes I measured. evidence: internal/core/lint/schema.go:1712 — "func isAbsentValue(value string) bool {" evidence: commands/capture.md:265 — "and pass green (iss-2608301808198621)." evidence: .abcd/work/issues/open/iss-2608301808198621-isabsentvalue-decides-on-literal-strings.md:1 — "OPEN" - A trailing YAML comment defeats the blank refusal across fields, not only
grounds. Measured: an admission with every required field spelled"" # xdraws three findings, and none of them is a required-field finding —schema_versionandgroundspass entirely; the other three are caught only by secondary grammar checks (filename, bucket, join), which is coincidence, not coverage. evidence: .abcd/work/issues/open/iss-2608301744268001-a-trailing-comment-on-a-frontmatter-key.md:1 — "OPEN: defeats every blank spelling at once" evidence: internal/core/lint/schema.go:1686 — "A trailing comment defeats every test here at once, because the shared same-line scanner strips no comments" - The padding and bucket legs assert that the named item 'goes on being reported as unanswered' — false of a
declinedorhelditem, anddeclinedis the exact state ac-2 is about. A gate stating as fact something about a report it never consulted. evidence: internal/core/lint/schema.go:1027 — ""nothing and the " + target.noun() + " it names goes on being reported as unanswered"" evidence: internal/core/lint/schema.go:1081 — "" it names goes on being reported as unanswered with no sign that an answer was written"" - NOT ON THE DECLARED LIST — spc-67 states that the surprise entry 'is declared once, in spc-58's family' and that this spec 'declares nothing a second time'. It does declare it a second time: the family, the store directory, the required set and the allow-list are all in spc-67's own admission.go, while spc-58's reading.go reserves only the dormant
occasioned_bykey on the reading envelope. The code's doc comment is honest about this; the spec's prose is not. Harmless in substance, wrong as a statement of where the shape lives. evidence: internal/core/issueschema/admission.go:41 — "SurpriseFamily = "srp"" evidence: internal/core/issueschema/reading.go:139 — "var ReservedSurpriseFields = []string{"occasioned_by"}" evidence: .abcd/development/specs/closed/spc-67-what-the-widening-reading-proposes-is.md:1 — "The declaration lives with the reservation, in spc-58; spc-67 states its keying and its separateness and declares nothing a second time." - Three minor divergences left standing by ruling: an unpinned bucketField/bucketed-store coupling, two mark paths (judged on id, judged on slug) unreachable in the capture surface and left as deliberate redundancy. Both open. evidence: .abcd/work/issues/open/iss-2608301634527391-the-bucketfield-implies-a-bucketed-store.md:1 — "OPEN: the bucketField-implies-a-bucketed-store rule is asserted in ..." evidence: .abcd/work/issues/open/iss-2608301634520703-mark-judged-on-id-and-on-slug-are-both.md:1 — "OPEN: mark judged on id and on slug are both unreachable in the capture ..."
- The press release's implied universal — that the record can show which proposals were taken — is delivered as a SPELLING test, not a null test. Sixteen nothing-carrying spellings of
- missing:
- No command writes an adm-N or an srp-N on any surface. Declared out of scope as 'Iteration 2', but NO intent id names that work anywhere in the record — so itd-192's requirement that a MET_WITH_CONCERNS verdict name the intent which closes the gap has nothing to name. Filing that intent is the concrete next step this verdict asks for.
evidence: commands/capture.md:252 — "Neither shape has a sub-verb — this surface writes no
adm-Nand nosrp-N, and the command-side refusal is the next iteration's." evidence: .abcd/development/specs/closed/spc-67-what-the-widening-reading-proposes-is.md:1 — "Out of scope: The commands that write these records. Iteration 2, by itd-189's own words" - NOT ON THE DECLARED LIST — no widening proposal can be produced at all.
capture.IngestReadingmints rdi-N but has no caller outside its own package: no CLI verb, no plugin surface, no cmd/. Every one of ac-1, ac-2 and ac-3 has a Given clause that presupposes a reading item, and itd-185 — the ingest door — is still in intents/planned/ and has not been started. The three schemas are armed over a corpus that cannot be populated. evidence: internal/core/capture/reading.go:144 — "func IngestReading(req IngestReadingRequest) (IngestReadingResult, error) { — grep for callers outside internal/core/capture returns nothing" evidence: .abcd/development/intents/planned/itd-185-one-ingest-verb-validates-every-cold.md:1 — "id: itd-185 — under intents/planned/" - ac-2's 'when the session ends' has no mechanism. Nothing runs at session end; the admission leg is pinned to info in code whatever the configuration asks, so an unanswered proposal is reported and never required. The obligation the criterion states as a deadline is delivered as a notice. evidence: internal/core/lint/readingoutstanding.go:654 — "checkReadingOutstanding renders the report as findings, every one of them at severityInfo whatever the configuration says." evidence: internal/core/lint/reading_outstanding_test.go:523 — "func TestAdmissionLegSeverityIsInfoNotBlocker(t *testing.T) {"
abcd <id>dispatch does not resolve an adm-N or an srp-N — the cited-id grammar still covers the four id-bearing families only. Declared by the spec as a residual it shares with spc-58. evidence: .abcd/development/specs/closed/spc-67-what-the-widening-reading-proposes-is.md:1 — "Dispatchingabcd <id>onadm-Norsrp-N, which shares spc-58's residual"
- No command writes an adm-N or an srp-N on any surface. Declared out of scope as 'Iteration 2', but NO intent id names that work anywhere in the record — so itd-192's requirement that a MET_WITH_CONCERNS verdict name the intent which closes the gap has nothing to name. Filing that intent is the concrete next step this verdict asks for.
evidence: commands/capture.md:252 — "Neither shape has a sub-verb — this surface writes no
Frontmatter
| id | itd-189 |
|---|---|
| type | intent |
| lifecycle | shipped |
| kind | standalone |
| severity | minor |
.abcd/development/intents/shipped/itd-189-what-the-widening-reading-proposes-is.md
open on GitHub ↗ · commit history ↗
Referenced by3
- itd-2609020625400194An admission and a surprise are written by a verb, and the order the design fixes is a refusalbuilt on by
- itd-2609020625402518A reframe occasioned by a reading is recorded as a reframe, joined to what occasioned it, without carrying the construal it replacedbuilt on by
- spc-67Step-2 admission records: schemas now, command enforcement next cycleimplemented by
mentions40
- dcn-26090200000000122026-09-02 — What a reading is handed has two committed dimensions, both the documents' own (maintainer): the OBJECT SET (the framework's term, section 13: which records and delivered paths the run is about; for Iteration 2, Iteration 1's shipped state, which here is the ledger: itd-177 to itd-189, itd-198, itd-199, spc-55 to spc-69, and the packages and pages they delivered) and the KINDS within it (the companion's four, section 4.5). A committed preset entry per position carries both plus the window it measures at; nothing at the invocation chooses either. A reading of the object set includes all kinds when the object set fits the reader's window, with the size report stating any figure over the two-hundred-thousand target; measured on 2026-09-02, the ledger at the detection position with all kinds is about 611,000 estimated tokens, which fits a million-token reader and is stated over target. A kind that proves useless leaves the default entry by a commit, which is how the record learns; a larger object set in future narrows kinds the same way. The word "object" alone stays the companion's, for what a position reads; "object set" is the run's, and "object of interest" is its plain-language gloss.
- iss-2608300929274006The outstanding report's filename grammar for reading items and dispositions (readingItemFileRe, DispositionFileID) is stricter than the record_schema gate's FilenameNumRe, so a hand-written rdi-N-slug.md or dsp-N-slug.md passes the gate and is then invisible to the report; for those two families the divergence fails toward silence rather than a false claim. One grammar, the resolver's, for every family the report walks.
- iss-2608300939008274itd-189 ruthless findings: a widening proposal whose admission sits behind an unreadable admissions tree is still reported outstanding with a remedy to write a disposition, contradicting the invariant the disposition side enforces (after the admitted check, break when the admissions tree is unreadable; add the mirror test); the issues README store contract still says the ledger root holds two sibling families while four roots are now declared; the held exclusion on the admission leg is untested; proposal is never resolved while occasioned_by is.
- iss-2608301203521317record_schema's store walk reads every record with os.ReadDir and os.ReadFile, with no symlink refusal and no size cap, while the sibling reading walk in readingoutstanding.go reads the same trees through fsutil.ReadGuarded — so a symlinked or oversized record is followed by the gate and declined by the report, and a symlink's target frontmatter can surface in lint output. Pre-existing across all four original stores; noted during the itd-189 security review and left out of that branch's scope. Read the store walk through the same guarded read the report uses.
- iss-2608301308367566record_stores values are not containment-checked so a committed config walks the record gate outside the repository
- iss-2608301308368922one committed symlink at the admissions root stands down the widening leg for every run while record_schema stays silent
- iss-2608301308369559the blank-required-property message asserts the reader accepts a value it actually refuses inverting the defect the previous commit fixed
- iss-2608301327012166checkRecordJoins does not consult the retired set so one rule gives two answers about one pruned handle
- iss-2608301327012407the new Unadmitted clause in Empty is the one surviving mutation because Empty has no production caller
- iss-2608301327013320an admission whose proposal names an item in a different run passes the gate silently and admits nothing
- iss-2608301349335095an indented code block in a committed issue record turns the site-render preflight gate red, and nothing on the capture path refuses one
- iss-2608301411010342the absent-required-property message names a validating reader for two stores that have none, and this branch certified that claim as store-wide
- iss-2608301411017768the sameBucket join message asserts a per-bucket id mechanism that exists only for reading items, so a cross-family target gets a confidently false diagnosis
- iss-2608301423540137the orchestrator committed record bodies to three build branches without running the record and site gates, turning site-render red on two of them
- iss-2608301620343236the len(rs) != 1 guard in scriptioContinuaOnly is unreachable as called so no fixture can enter it
- iss-2608301634520703mark judged on id and on slug are both unreachable in the case they guard so removing either alone repeats the shape the round was convened for
- iss-2608301634527391the bucketField implies a bucketed store rule is asserted in prose only so a flat store declaring one would report filed under empty
- iss-2608301726130926two shipped acceptance criteria hold a MET_WITH_CONCERNS that becomes NOT_MET if itd-185 does not land in this phase
- iss-2608301744268001a trailing comment on a frontmatter key defeats every blank spelling the record_schema gate refuses because the shared same-line scanner strips no comments
- iss-2608301755006875the shared unanswered tail on the padding and bucket legs is not true of an item whose disposition is declined or held
- iss-2608301808193750the blank grounds enumeration claims the trailing comment is the last gap while eleven further nothing carrying spellings pass green
- iss-2608301808197261four nits from the itd-189 delta security review including an unpinned bucket field stand down and a zero width space passing the gate
- iss-2608301808198621isAbsentValue decides on literal strings rather than the yaml null and empty class so chasing spellings cannot close it
- iss-2608301813253101the duplicate key fallback claims every record surface keeps the first value while the disposition reader discards both and reports the record illegible
- iss-2608301813259334three nits from the itd-189 delta ruthless review including a godoc whose ordinals no longer match the code order
- iss-2608301844363341a formatter hook substitutes smart quotes into edited source comments which passes gofmt and every gate and is visible only in a diff
- iss-2608301901260461four nits from the itd-189 fix delta review including an inverted test failure message and an over broad negative loop
- iss-2608301901260678the refusal tells an issue author the record is skipped by every issue surface while the changelog derivation reads resolved records leniently
- iss-2608301901264848the nine store enumeration checked one reader per store so rdi and dsp are assigned an answer their second reader contradicts
- iss-2608310912206941the reading item mint has no caller outside its own package so the admission and surprise schemas gate a corpus nothing can populate
- iss-2609012259581057The cold-reading workstream's intents carry no mechanism claim and twelve of fourteen declare no scope condition, so the record was populated by demonstration rather than use
- iss-2609290448510918The predecessor-store qualifier sweep reaches past the six intents iss-2609261536147903 named: outside drafts/ and those six, 192 citation sites across about forty intents name a spc-N at or below spc-70 that is not the citing intent's own spec, with no '(predecessor store)' on the line. Some are live cross-references (the cold-reading family's intents cite each other's live specs), and some are the predecessor store's (itd-4, itd-6, itd-29, itd-47 and itd-49 describe pre-rebuild work in its terms), so each site needs the same reading against the live spec it collides with; the specs charter's Two spc-N Namespaces section is the rule. Found while sweeping the pattern of iss-2609261536147903 in lane drainDrift3; a census script over intents/{planned,shipped,disciplines} reproduces the count.
- itd-185One ingest verb validates every cold-reading output — including what the reading was licensed to produce, not only what it saw
- itd-192An acceptance criterion whose producer does not exist is judged by whether this phase wires it, not by whether the narrowing was disclosed
- itd-2609020625400445A committed preset declares the window it was calibrated for, and the record holds every preset to its declaration
- itd-2609020625407419A comparative reading receives the widening run's items as its candidate set, and characterises them before anyone admits one
- spc-58Reading records and disposition records: two acts, two writes
- spc-61The cold-reading input assembler: positive inclusion at field granularity, a pathless bundle, and a hashed per-run manifest
- spc-63The cold-reading output contract: a strict per-position schema, a supply-regime gate, and a staged ingest that leaves evidence or nothing
- spc-2609020626048722One committed entry per position, in three parts: the object set, the kinds within it and the window it measures at, held by an eval that re-measures every entry on every committed change