Skip to content

Commit 79a671a

Browse files
Merge pull request #40 from StepenkoAnatoli/docs/strict-is-unsatisfiable
The gap sweep caught a false claim in the brief that argued against them
2 parents e0107b4 + d2a25e8 commit 79a671a

4 files changed

Lines changed: 80 additions & 3 deletions

File tree

‎docs/adr/0035-a-privacy-claim-is-measured-not-asserted.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ header did to me.
9292

9393
## What is NOT measured, and is therefore not claimed
9494

95+
> **This section is superseded.** It was written before the gap was closed; see the
96+
> amendment below, which measured it and found the less comfortable answer. Kept as written
97+
> because the gap being named here is why it got closed.
98+
9599
**What a signed-in user sees in the web UI.** That is a different surface from the REST
96100
API, and it could not be tested from here — the browser available to this session cannot
97101
reach github.com. The logs contain the topic (the step prints `TOPIC:` in its `env:`

‎docs/adr/0036-the-gate-can-see-single-sourcing.md‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,46 @@ corpus existed, and the corpus was used to make two architecture decisions in th
9797
verdict passing, and now isolates the claim. That proxy only ever worked while nothing
9898
else in the policy set fired.
9999

100+
## Amendment, 2026-09-21 — this ADR made `strict` unsatisfiable, and only checked the default
101+
102+
The Consequences below verified that "every existing corpus stays green … under the default
103+
policy". That was true, and it was the wrong half to check. Adding `corroboration` to
104+
`POLICY_CHECKS` changes what **`strict`** means, and nothing measured what it now costs.
105+
106+
Measured on `main` after this ADR landed:
107+
108+
| corpus | default | `--strict` |
109+
|---|---|---|
110+
| repository root | PASS, 7 warnings | **FAIL, 7 blocking** |
111+
| `2026-09-21-delivery-architecture` | PASS, 8 warnings | **FAIL, 8 blocking** |
112+
| `2026-09-21-agent-interface` | PASS, 5 warnings | **FAIL, 5 blocking** |
113+
| `2026-09-21-public-run-visibility` | PASS, 4 warnings | **FAIL, 4 blocking** |
114+
| `2026-09-21-sea-assets` | PASS, 2 warnings | **FAIL, 2 blocking** |
115+
116+
And every one of the root corpus's seven warnings is a `corroboration` finding, so
117+
`evidencePolicy=strict` fails it identically — confirmed by running it with a config, not
118+
inferred: `FAIL 7 blocking, 0 warning(s), 18 passing [evidencePolicy=strict]`.
119+
120+
**So the harder policy this ADR pointed operators at is one no corpus in this repository
121+
satisfies.** The delivery corpus passed `--strict` before this change; it does not now.
122+
123+
**This is recorded, not fixed, and the distinction is deliberate.** The check is right on
124+
every one of those findings — the corpora genuinely are single-sourced, and §"What it
125+
immediately said about work finished an hour earlier" is the same admission at smaller scale.
126+
Making `strict` passable would mean either collecting second sources for thirty-odd unknowns,
127+
or softening a check that is telling the truth. Neither is a decision to take inside an
128+
amendment about measurement.
129+
130+
What an operator needs to know now: **`strict` is aspirational in this repository, not a
131+
standard it meets.** Anyone turning it on should expect red, and should read the findings as a
132+
worklist rather than as a regression.
133+
134+
Two settings are also easy to conflate, and the verdict line encourages it: `--strict`
135+
promotes **every** warning, while `evidencePolicy=strict` promotes only the three
136+
`POLICY_CHECKS`. The summary prints the project's *declared* policy regardless, so a
137+
`--strict` run reads `FAIL … [evidencePolicy=pluralist]` — which looks like pluralist failed
138+
it. It did not; the flag did.
139+
100140
## Amendment, 2026-09-21 — a mirror is the case where `independent` is actively worse
101141

102142
The closing section below says `independent` means only "this check found no reason to flag

‎docs/decisions/2026-09-21-sea-assets/START_HERE.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,8 @@ entries, chain verifies`.
4545
`corroboration/single-source` on U-1 and U-2, both accepted on the record rather than
4646
cleared - the only available second source was the stale mirror, and citing it would have
4747
made the corpus read stronger while making it weaker. `research/BRIEF.md` argues it.
48+
49+
So does every other corpus here: since ADR-0036 added `corroboration` to `POLICY_CHECKS`,
50+
**nothing in this repository passes `--strict` or `evidencePolicy=strict`**, measured and
51+
tabulated at the end of `research/BRIEF.md`. That is a property of the repository, not of
52+
this corpus.

‎docs/decisions/2026-09-21-sea-assets/research/BRIEF.md‎

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
- **Date:** 2026-09-21
44
- **Gate:** PASS - 0 blocking, 2 warnings, 12 passing (`evidencePolicy=pluralist`).
5-
**Under `--strict` this corpus FAILS**, 2 blocking - the two warnings below are promoted.
6-
Stated here because the delivery-architecture corpus passes `--strict` and a reader would
7-
otherwise assume parity. This one does not, on purpose, for the reason given below.
5+
**Under `--strict` this corpus FAILS**, 2 blocking - that flag promotes every warning, and
6+
the two below are the two warnings. So does every other corpus in this repository; see
7+
"The `--strict` claim this brief got wrong" at the end.
88
- **Corpus:** 3 captures, 3 ledger entries, chain verifies
99
- **Collected by:** `collect.yml` run `35623502540`, dispatched through `bin/collect-remote.mjs`
1010

@@ -90,3 +90,31 @@ one empty shell is a fair sample of why the three human review steps exist.
9090
nothing in the kit currently measures whether a capture said anything.
9191
- **The build cost is estimated, not measured.** No prototype was built. The claim that three
9292
modules need an asset-aware branch comes from reading this repository, not from doing it.
93+
94+
## The `--strict` claim this brief got wrong
95+
96+
The first version of the line at the top said this corpus fails `--strict` *"because the
97+
delivery-architecture corpus passes `--strict` and a reader would otherwise assume parity"*.
98+
99+
**That was false, and it was caught by sweeping for gaps rather than by any check.** Measured
100+
the same day, on `main`:
101+
102+
| corpus | default policy | `--strict` |
103+
|---|---|---|
104+
| repository root | PASS, 7 warnings | **FAIL, 7 blocking** |
105+
| `2026-09-21-delivery-architecture` | PASS, 8 warnings | **FAIL, 8 blocking** |
106+
| `2026-09-21-agent-interface` | PASS, 5 warnings | **FAIL, 5 blocking** |
107+
| `2026-09-21-public-run-visibility` | PASS, 4 warnings | **FAIL, 4 blocking** |
108+
| `2026-09-21-sea-assets` | PASS, 2 warnings | **FAIL, 2 blocking** |
109+
110+
**Nothing in this repository passes `--strict`.** The delivery corpus did before ADR-0036
111+
added `corroboration` to `POLICY_CHECKS`, and the sentence was written from that memory
112+
instead of from a run - the exact failure mode this kit exists to prevent, committed inside a
113+
brief arguing against it.
114+
115+
Two distinct things are also easy to conflate, and the verdict line invites it. `--strict` is
116+
a CLI flag that promotes **every** warning. `evidencePolicy=strict` promotes only the three
117+
`POLICY_CHECKS`. They are not the same setting, and the summary line prints the project's
118+
*declared* policy either way - so a `--strict` run reads `FAIL ... [evidencePolicy=pluralist]`,
119+
which looks like the pluralist policy failed it. It did not; the flag did. That is a reporting
120+
weakness, recorded rather than fixed here.

0 commit comments

Comments
 (0)