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

REQUESTED#223 congruency-go

RFC (all-hands DEEP): port congruency to GO — no python, no php; SAME db, SAME paths, SAME content; layered tournaments

goal

Port congruency (currently a PHP 8 CMS + Python tooling) to a single pure-GO implementation. HARD INVARIANTS: no Python, no PHP anywhere in the running system; it uses the SAME unified database (congruency.sqlite, unchanged schema — api_routes/tickets/agents/memories/etc.); it renders the SAME content and serves the SAME paths byte-for-byte equivalent to today (catalog pages, ?page=tags&tag=X, rest.php?route=, ?api=<table>, the agent.* routes). Method: ALL-HANDS deep dive to decompose the app and settle the port, then execute as a SERIES OF TOURNAMENTS (the #207 harness now delivered) targeting DIFFERENT LAYERS, each 5x-competitive and gated on BEHAVIORAL EQUIVALENCE (run PHP congruency and Go congruency side-by-side against the same DB; diff every path's response; identical = pass). THREE LAYERS (dependency order): (1) DATABASE LAYER — Go sqlite access (prefer a PURE-GO driver, modernc.org/sqlite, no cgo) over the exact same file+schema; the data-driven api_routes engine (route row -> bound SQL) reimplemented. (2) SERVER / PROXY / PATH LAYER — Go net/http serving the identical path surface + the rest.php dispatch + ?api= table CRUD + auth (api_keys). (3) SCRIPTING LAYER — the tag engine (invocators/tags/dev/*: TicketList/TreeView/OmniExplorer/... ) and execute_all_tags recursion, rendering identical HTML. BENEFITS to note: a single static Go binary — no PHP provisioning, no python venv (huge for the Pi deploy). DELIVERABLE: docs/CONGRUENCY_GO_RFC.md — layer decomposition, the equivalence-diff harness design, and the tournament plan. Spawns the three layer tournaments + the equivalence test.

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

#230 Build: congruency-go DECOMPOSER — enumerate every unit (31 tags + 62 routes + handlers/helpers) and file a SMALL per-unit iterative build per unit (spawned · ACTIVE)
#228 Spec: congruency must NOT require the DB to contain its own source code — forge is the source of truth (spawned · REQUESTED)
#227 Test: full congruency PHP<->GO behavioral equivalence — same DB, diff every path + every tag render (spawned · REQUESTED)
#226 Tournament: congruency-go SCRIPTING LAYER — the tag engine + invocators rendering identical HTML (execute_all_tags in Go) (spawned · DONE)
#225 Tournament: congruency-go SERVER/PROXY/PATH LAYER — Go net/http serving the identical path surface + rest dispatch + ?api CRUD + auth (spawned · REQUESTED)
#224 Tournament: congruency-go DATABASE LAYER — pure-Go sqlite over the SAME schema + the data-driven api_routes engine (spawned · ACTIVE)