Name the baseline the reassessment actually covers

The header cited 5ae80d3, but 7a73352 landed 58 seconds earlier, so a reader
applying the convention would ask what changed since 5ae80d3, find that commit
and be unable to tell its substance was already accounted for. Honest about what
was read and misleading about what is covered, which is the failure the
convention exists to prevent.

7a73352 changes documentation and workplans only, no source, and its substance
reached this document as a peer report before being confirmed by reading the
commit. The baseline now names it and records that distinction rather than
smoothing it over: read and told are different, which is the same distinction the
third state draws and the one behind four corrections this week.

Also records why the unreleased fail-closed changes stay a pointer to
docs/operations.md rather than being restated here. That section is built from a
deployed digest, a config resource version and a dated re-check note -- facts
with a short shelf life. SCOPE is a durable claims document, and putting
perishable facts in a durable one is how it drifted 63 commits to begin with.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NV9oijZukGyGbRQGGKnK4P

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 713576@bnt-lap001
Assistant-Session: 384c511d-9bce-4cb8-a676-2aef6c0c8df6
This commit is contained in:
tegwick 2026-09-09 20:11:56 +02:00
parent 66ca76cb9c
commit f12d24e079
2 changed files with 26 additions and 2 deletions

View file

@ -1,9 +1,16 @@
# SCOPE
Reviewed 2026-09-09 against source revision `5ae80d3`. The preceding review was
Reviewed 2026-09-09 against source revision `7a73352`. The preceding review was
2026-09-05 against `b989de4`; the [reassessment](history/2026-09-09-scope-reassessment.md)
records what changed and how each claim below was checked.
The capability review was performed against `5ae80d3`. `7a73352` landed a minute
before it and changes documentation and workplans only, no source; its substance
reached this document as a peer report and was afterwards confirmed by reading
the commit, which is why the baseline names it. That distinction — read versus
told — is worth keeping in a header whose whole purpose is to let a reader ask
"what changed since?" and get a usable answer.
## Purpose and boundary
KeyCape is Go identity **Tooling** for NetKingdom's lightweight IAM deployment.

View file

@ -1,6 +1,15 @@
# KeyCape scope reassessment — 2026-09-09
Source baseline: **5ae80d3**. Supersedes the
Source baseline: **7a73352**. The capability review was performed against
`5ae80d3`; `7a73352` landed 58 seconds earlier, touches documentation and
workplans only, and its substance arrived here as a peer report before being
confirmed by reading the commit. The baseline names it so a reader asking "what
changed since?" gets an answer that is not immediately misleading, and the
distinction between read and told is recorded rather than smoothed over — it is
the same distinction the third state below draws, and the one that cost four
corrections this week.
Supersedes the
[2026-09-05 assessment](2026-09-05-011726-scope-intent-assessment.md) against
`b989de4`, which remains the record of the ten-gap backlog and its closures.
@ -80,6 +89,14 @@ predecessor, so the repository holds a receipt that reads like rotation evidence
and is not. Both owners state that limit independently, which is why it belongs
in SCOPE rather than only in a workplan.
One perishable-fact boundary, decided rather than defaulted: the unreleased
fail-closed startup changes are described in `docs/operations.md` and only
pointed at from SCOPE. That section is built from a deployed image digest, a
config resource version and a dated "re-check if it changed" — facts with a short
shelf life. SCOPE is a durable claims document, and putting perishable facts in a
durable one is how it drifted 63 commits in the first place. The pointer stays a
pointer.
One framing correction worth propagating, from the custody owner: client-side
retrieval of those secrets is unadmitted and remains so, but the attended
operator path is not a client-side read and never required one. Conflating the