Ticket graphs

Every ticket as the root of its provenance graph — goal, patch, approval, runs and (as the ticket-class build lands) mandate, manifestations, guarantees, journey, artifacts and children. Rendered through the <<<TicketGraphList>>> tag.

← all ticket-graphs

DONE#323 congruency-go

FIX tag-unit gate: settle on the #282 harness (go test), NOT the structurally-broken whole-page diff [go-port:tags:gate]

goal

SYSTEMIC gate bug stalling the tag fan-out. The tag-unit tickets (go_port_decomposer.py tag bucket) state the gate as "byte-equivalent vs the PHP render", which blind auditors interpret as a WHOLE-PAGE byte diff of ?page=tags. That diff is STRUCTURALLY NON-EMPTY for every tag — even already-merged, byte-perfect ones (CategoryView, TreeView, TicketList measured ~6205B) — because the Go server's page chrome (server.go ~820) differs from PHP's wrapper. So auditors reject correct ports and pairs never self-settle; #310/#311/#312 had to be hand-harvested against the authoritative harness. THE CORRECT GATE already exists and is authoritative: congruency-go/tags/equivalence_test.go (#282) does the per-tag SLICE diff (Go RenderTag vs the tag's bytes sliced from live PHP) and passes 18/18 for every correctly-ported tag. FIX: update the decomposer's tag-unit body template (and, ideally, re-file/patch the open tag units) so the gate reads explicitly: "SETTLE when `cd congruency-go && CONGRUENCY_SQLITE=<state db> go test ./tags/ -run TestTagEquivalence -count=1` PASSES with your tag registered. Do NOT whole-page-diff ?page=tags — the Go server chrome makes that structurally non-empty and it is NOT the acceptance gate." Also state the tag may DEPEND ON other tags (e.g. BodyTag needs ContentTag) and those must be ported/registered first. Deliverable: checkouts/current/congruency/tools/go_port_decomposer.py. Acceptance: a freshly-filed tag unit's body names the harness as the gate; a pair run on it settles on `go test` passing, no hand-harvest.

patch

none

approval

unapproved

runs

no runs recorded

mandate (clauses)

not yet recorded — lands with the ticket-class build

manifestations

not yet recorded — lands with the ticket-class build

guarantees

not yet recorded — lands with the ticket-class build

journey (blunders & successes)

not yet recorded — lands with the ticket-class build

artifacts (forge)

not yet recorded — lands with the ticket-class build

source (forge tree)

browse congruency source (forge-parked tree)

children

not yet recorded — lands with the ticket-class build