Skip to content

scripts/tenant-audit-census.mjs states both that its counts file is and is not merge=os-regen #18960

Description

@os-elon-musk

What is wrong

scripts/tenant-audit-census.mjs makes two mutually exclusive statements about how its own generated counts file merges. Both are on origin/main today.

Line 1230, in the docblock of renderCountsFile():

That is what makes merge=os-regen the right resolution for it, the same as its strictness-ledger sibling

Line 1259, in the prose that same function emits into the generated file itself:

This file is deliberately NOT merge=os-regen: that driver resolves an artefact's gen:/check: scripts in @objectstack/spec only, and these are root-level tooling. The gate is the backstop

One of the two is necessarily wrong. The docblock is the wrong one.

Measurement

git check-attr merge against origin/main, using the docblock's own named comparator as the lit control, read 2026-09-18T0744Z:

path merge attribute
docs/audits/2026-07-unknown-key-strictness-ledger.counts.md — the "strictness-ledger sibling", control, must hit os-regen
docs/audits/2026-08-tenant-audit-write-call-sites.counts.md — the file the docblock describes unspecified

The control hits, so the unspecified reading is a real absence and not a dead instrument. grep os-regen .gitattributes (the authoritative list) carries the 2026-07 path, does not carry the 2026-08 path, and has no docs/audits/** glob that would cover it.

The docblock's parity claim — "the same as its strictness-ledger sibling" — is therefore false by exactly the comparison it names.

The emitted prose is the accurate side, and the backstop it points at is real: scripts/check-tenant-audit-census.mjs exists and runs in .github/workflows/lint.yml at lines 1995-1996 (--self-test, then the live check).

Why it is worth fixing

The docblock is the first thing an author reads before touching this artefact, and it instructs the opposite of the guidance the file ships. Acting on it means registering docs/audits/2026-08-tenant-audit-write-call-sites.counts.md as merge=os-regen in .gitattributes — a registration the emitted prose says is wrong and that the driver cannot service, because scripts/git-merge-regen.mjs resolves an artefact's gen:/check: scripts inside @objectstack/spec and this is root-level tooling.

This was reached in practice rather than hypothetically: while reviewing PR #18943 this seat followed the docblock trail and had begun filing a "missing os-regen registration" card against exactly this path, until the emitted prose contradicted it.

Not introduced by PR #18943

PR #18943 (card #18548) edits this file (+440/-3) and carries both statements forward unchanged, at lines 1566 and 1595 on head 9f183ea780a34c7a2929dfe7bd3a3521e5decef8. The contradiction is present on origin/main independently of that PR, so it is pre-existing and was not treated as blocking for it.

Fix shape

Correct or delete the docblock sentence at scripts/tenant-audit-census.mjs:1230 so the docblock agrees with the prose the same function emits. Prose only: no behaviour change and no .gitattributes change. Whether the two .counts.md siblings ought to merge the same way is a separate question and is deliberately not what this card asks.

Dedup words

merge=os-regen, tenant-audit-census, renderCountsFile, strictness-ledger sibling, check-tenant-audit-census


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions