Development record
the examples-use-reserved-identifiers principle still says a fixture-identifier lint would make it a discipline — the allowlist-inversion lint shipped (iss-154) and cites the principle by name, so the Promotion paragraph misdirects an agent to build an existing rule
issueresolvedminoriss-389
the examples-use-reserved-identifiers principle still says a fixture-identifier lint would make it a discipline — the allowlist-inversion lint shipped (iss-154) and cites the principle by name, so the Promotion paragraph misdirects an agent to build an existing rule
Evidence
.abcd/development/principles/examples-use-reserved-identifiers.md:45-46("Promotion.") — "A docs-lint / privacy-hygiene rule that flags any committed network identifier outside the reserved ranges (the allowlist inversion recorded in iss-154) would make this a discipline."- The rule shipped:
internal/adapter/scanner/network.go:10-14implements the allowlist inversion and cites this principle by name;internal/core/repolint/rule_privacy.go:100-102consumes it as the armedprivacy-hygienerule; iss-154 is resolved — "privacy-hygiene now flags network identifiers outside the reserved documentation ranges". - Wrong-action risk: an agent walking the promotion path sets out to build an already-shipped lint; the file under-claims live enforcement — the mirror image of the enforcement-claims-are-facts class (iss-37, iss-142).
- Refuter verdict: PARTIALLY CONFIRMED (minor) — the "Live instance" sentence ("no fixture-identifier equivalent exists yet") was REFUTED as still true: it is about a committed fixture registry analogous to personas.json, which genuinely does not exist. Only the Promotion paragraph is stale; the owed rung move is iss-390.
Frontmatter
| id | iss-389 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-389-the-examples-use-reserved-identifiers.md
open on GitHub ↗ · commit history ↗
mentions5
- dcn-26082000000000082026-08-20 — Bug-hunt round 3 (hunt B), branch bughunt-b/round-3. Baseline
- iss-37Phantom enforcement claims: developer docs describe gates that do not run as described. Re-scoped by the 2026-08-03 maintainer disposition to three doc-claim instances, each a claim about the local pre-push gate or CI:
- iss-142prompt-quality brief self-contradiction: 05-prompt-quality.md states PQ001-PQ006 are shipped by spc-8, while 06-lint.md declares the PQ family a design target with no PromptLinter in internal/core/lint — the code sides with 06-lint. An instance of the iss-37 phantom-enforcement class, surfaced by the itd-100 docs-currency review when the crosswalk nearly repeated the phantom claim. Detector: enforcement-claims-are-facts sweep over the brief's Shipped-by annotations; acceptance corpus: the two contradicting lines.
- iss-154privacy-hygiene detects only absolute home paths — no network-identifier patterns (IPv4 incl. CGNAT/tailnet 100.64/10, hostnames, device names, ports-in-context). Field incident: an agent committed a Tailscale investigation (tailnet IP, two device hostnames, firewall posture, service port, presence/away patterns) into a public repo's committed tier and audit passed it silently. The v1 deferral note names only emails and private-repo names; network identifiers are not even recorded as deferred.
- iss-390the pre-decided promotion of examples-use-reserved-identifiers to a discipline-kind intent never happened — the iss-154 lint shipped, the principles README contract says a mechanical gate promotes the principle, and no discipline intent exists