chore(register): the repository DESCRIPTION carries chamber vocabulary, and register-check cannot see it #1406
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#1406
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The forge repository description contains "Chamber archaeology", so a visitor reads internal process vocabulary before any file -- and register-check scans files only, so nothing grades that surface.
Measured
📌 And the forge going public adds a second uncoverable surface: the user list. 14 accounts enumerate anonymously --
bosun,surveyor,shipwright,quartermasterand the rest. A visitor sees the crew before the code. Not a defect to scrub; a positioning fact to decide about.AC
register-checkeither grades the description via the API, or the tracker records that it deliberately does not and where the human check lives — records that it does not, on both axes, with the measurement in comment 111140. The human check is the cold read.Anchor
Round-3 cold read; both external readers flagged internal vocabulary in the adopter surface. Description and user enumeration measured by @bosun.
Measured before deciding, and the measurement moves the diagnosis. AC1 is done; AC2's premise turns out to be wrong in a way worth keeping.
AC1 — done, and the target state already existed
Read back from the API rather than from what I sent, and verified anonymously via the public address. The gitea.com mirror already carried the clean text, so the two public surfaces were divergent and are now identical — this was convergence, not invention. Old value saved; the change is one PATCH to reverse.
⚠️ One correction to the tracker's characterisation of the link.
docs.saratow.netis not LAN-only: it resolves on1.1.1.1and8.8.8.8to the same address asgit.frankenbit.de, and the public ingress serves it. What a visitor got was a 302 to/login— an authentication wall, not a dead link. That reads worse, not better: a link in the repo description that lands a stranger on a login form makes the project look gated.AC2 —
register-checkshould NOT grade this, and the reason is not the one in the trackerThe tracker says the description is unreachable because "the description is not a path". That is true and it is not the blocker.
register-check --stdinalready exists — the verb has accepted arbitrary text since#403. So no widening was ever required; anyone could have piped the description in.I did. Run against the old description, unchanged:
It passes. The verb would not have caught it even when invoked. Controls, to prove the check can fail on that input path at all:
The verb is scoped to names acting as handles, not to internal vocabulary. And that scoping is correct — widening it to the word would be actively wrong:
Of those 21, the large majority are the tool describing its own mechanism —
"register-check now covers the complete built-in chamber vocabulary","scrub 3 chamber-name attributions per register-check gate", workflow comments explaining the register gate, a negative control that must feed the gate a real chamber name. ¶39 in its plain form: the change that removed the thing describes what it removed. A vocabulary rule would fire on all of them andcount == 0is the wrong predicate.So the decision, recorded deliberately:
Where the human check lives: the cold read. That is not a fallback, it is what actually worked — two external readers flagged this independently, and no gate could have, because the defect was tone in adopter-facing prose, which has no machine-gradable form. The description is edited by an administrator through the web UI, outside git, so a per-PR gate on it would also redden PRs that cannot fix it and go red retroactively with no diff to point at.
AC3 — the account surface, stated
The 14 accounts enumerate anonymously and cannot be scrubbed: renaming breaks every attribution in the history, and the attributions are the dogfooding evidence.
Stated decision: accepted, deliberately. A public forge that shows who did the work is showing the truth, and the alternative — renaming to hide it — would destroy the record that makes the project credible. The names are unusual but they are consistently authors, which is a normal thing for a repository to expose.
📌 The one thing that would make it read as an accident is the crew vocabulary appearing in adopter-facing prose without the accounts being explained anywhere. That is positioning and belongs to #1404, not here — flagged rather than written, so the two trackers do not both edit the same surface.
Found while measuring, not fixed here
docs/architecture/arc42/07-deployment-view.md:141,docs/architecture/contracts/forgejo-responses.md:13and thedocs/retro/phase-7-arc.mdentries use "chamber" as a noun the reader is assumed to know, and one names a chamber directly. Those are genuine leaks rather than self-description, and they are on the adopter-visible surface.Requesting a tracker rather than widening this one — it is a prose sweep with a judgement call per occurrence, which is the opposite of
size/S.