Skip to content

Cleanup: package docs, review notes to docs/, no shims, develop on Linux - #16

Merged
tom-snyder merged 6 commits into
mainfrom
chore/consolidate
Oct 3, 2026
Merged

tom-snyder merged 6 commits into
mainfrom
chore/consolidate

Conversation

@tom-snyder

Copy link
Copy Markdown
Member

Phase 4's cleanup: one commit per plan node, plus two housekeeping commits.

What changes

  • Shims. internal/buildpin is deleted. It existed only to keep modernc.org/sqlite in go.mod until something imported it; the store, the cache and the host collector all do now, and go mod tidy stays a no-op.
  • Package docs. go doc concatenates every comment attached to a package clause in file order, so the authorization kernel was introduced by one of its phases, the inventory by its authentication helper and the comparator by Alpine's version ordering. Each package's own summary moves verbatim into a doc.go; other file comments stay, separated from the package line. test/hygiene's TestEveryPackageSummaryIsItsOwn keeps it that way, with a negative control, and was seen failing on a reattached comment before it was trusted.
  • Review notes. The nine review reports move from internal/** to docs/reviews/, and the controls ledger from internal/SKIPPED-CONTROLS.md to docs/controls.md. Every citation in code, tests, CI and the fingerprint specification uses the new path; the containment test that resolves ledger entry IDs still resolves all 15. CONTRACT.md and FINGERPRINT-SPEC.md stay beside their code.
  • Develop on Linux. Statements that called Windows the development host now say what the Debian 13 machine measured on 2026-10-03 (dpkg present with 3,467 packages, -race runs locally; nft, Docker, runsc, Nuclei, ZAP, Java, Trivy and opengrep absent). The ledger's skip column was re-measured: the real-host collector test no longer skips. The Windows CI job stays: it is the only lane that takes containment's refusal branch.
  • assets/branding/ is ignored; the logo designs were never committed and stay local.
  • Four review files named the reviewer's vendor; they now say "same model family", which is the disclosure that matters.

Testing

gofmt -l, go vet ./..., go test -count=1 ./... and go test -race -count=1 ./... are green on Debian 13 with Go 1.26.5.

The package existed only to keep modernc.org/sqlite in go.mod until the
store imported it. The store, the cache and the host collector all import
the driver now, and go mod tidy stays a no-op without the pin.
assets/branding/ holds the logo designs. They have never been committed and
stay local, like plan/ and research/.
Four review files disclose that the critic came from the same model family
as the code it reviewed. The disclosure stays; the vendor name goes.
go doc concatenates every comment attached to a package clause in file
order, so several packages were introduced by whichever file sorted first:
the authorization kernel by one of its phases, the attack-surface inventory
by its authentication helper, the comparator by Alpine's version ordering.

Each package's own summary paragraph moves, verbatim, into doc.go; every
other file comment stays where it was, separated from the package line by a
blank line, and references to "the package comment" now point at the file
that holds the text. test/hygiene's TestEveryPackageSummaryIsItsOwn requires a
doc.go per package whose summary starts "Package <name>" ("Command <dir>"
for a main package) and refuses a comment attached to any other file's
package clause; TestThePackageDocGuardFails is its negative control, and the
guard was seen failing on a reattached comment before it was trusted.
…er to docs/controls.md

A package folder should read as the package. The nine adversarial review
reports move out of internal/** into docs/reviews/, named after what they
review, and the controls ledger moves from internal/SKIPPED-CONTROLS.md to
docs/controls.md. Every citation in code, tests, CI and the fingerprint
specification now uses the new path; the containment test that resolves
ledger entry IDs reads docs/controls.md and still resolves all 15 pointers.
CONTRACT.md and FINGERPRINT-SPEC.md stay beside their code: they are
specifications, not history.
…n machine measures

Development moved from a Windows 11 machine to Debian 13 in September 2026.
Comments, tests and the controls ledger that described Windows as the
development host now state what was measured on Debian on 2026-10-03: go1.26.5
linux/amd64 as uid 1000, dpkg-query listing 3,467 packages, gcc present so
-race runs locally, an unprivileged user and network namespace available,
and nft, docker, podman, runsc, nuclei, ZAP, Java, Trivy and opengrep
absent. The ledger's skip column was re-measured: TestCollectAgainstTheRealHost
no longer skips, leaving 4 tests and 14 SKIP lines, all classified legitimate.
Dated Windows measurements stay as history, and the Windows CI job stays,
because it is the only lane that takes containment's refusal branch.
@tom-snyder
tom-snyder merged commit 17e86d9 into main Oct 3, 2026
6 checks passed
@tom-snyder
tom-snyder deleted the chore/consolidate branch October 3, 2026 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant