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.
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