Help us shape the future of Go! Take the 2026 Go Developer Survey

registrycheck

command
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package main implements registrycheck, the guard over docs/DIVERGENCES.md's pointers (#452).

`Tracked: #N` is a present-tense claim that work is outstanding. It is written once and falsified later, elsewhere, by an event the file cannot see — someone closing #N. Nothing in `make verify` reads GitHub, so that falsification was silent and unbounded, which is how 65 of 111 pointers came to be wrong before anyone noticed (#445). This tool re-derives the fact instead of asserting it.

It runs in two halves, because only one of them needs the network:

  • The shape rungs are offline and free, so they run inside the merge gate — not through this binary but through the package's own test, which calls Check on the real file the way internal/modeltest/docs_test.go holds README's tier table to the tree.
  • The state rungs ask GitHub whether each referenced issue is open or closed. `make verify` is credential-free by design and asks GitHub about no issue, so they cannot join it; `make registry-check` runs them, and .github/workflows/registry.yml runs that on a schedule, where a red run is the whole notification mechanism.

The parser exists because the two jobs a pointer does are not separable by eye. A clause reads

*Tracked: #78 (what this entry still leaves open); landed for #45.*

where the head names the LIVE tracker — the issue that will settle the entry, which must therefore be open — and everything after the first top-level semicolon is PROVENANCE, past tense and permanently true, whose issue may perfectly well be open (an entry can land for one issue while another still owns a piece of it). A head segment whose parenthetical opens with "delivered" is provenance too. Splitting on a naive strings.Split(";") or treating every "#N" alike produces false positives on both counts, which is why the rules below work on parsed segments rather than on the raw line.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL