Repository navigation
t27os: the graph plane -- the tap ring folded into per-kind rows and colours - #12808
Conversation
Closes #12775. Landed with trinity#1787 in the same hour. Admin per repo precedent.
…node's public key (Closes #12782) (#12783) - dsh_head_election: the hysteresis law -- the default head flips only after FLIP_STREAK (3) consecutive turn-sized challenger wins over a dead incumbent; probes are 100 tokens / 60 s (1-token probes gave false positives, measured 2026-10-26/27). - mac-dsh-head-election cron card: ENABLED=false on purpose (card-first; the election glue lowers from the election spec and lands with it). - .trinity/keys/2fed7065eb4439e4.pub: the mac-t27os pilot node's PUBLIC Ed25519 half (identity.t27 #12756 row) so its signed job receipts verify; the private key never enters the repository. t27c test-report on this tree: 6+1 passes, 0 FAIL, 0 vacuous.
Closes #12786) (#12787) Named this night: a client points at the local ladder endpoint; the ladder walks rungs in order (zai pool, own ollama, deepseek, openrouter) and serves the first rung that answers a TURN-SIZED request with 200. Fail closed at 503 naming the last refusal. Loopback only. Measured background: zai free pool flaps under load (2/5 and 1/5 turn-sized alive); the own ollama node went 7/7; openrouter's key limit is not a balance (402); deepseek unfunded pays 402 per call -- the rung order encodes all of it. Live on mac-t27os: launchd ai.t27.ladder, keys=5, a turn through the ladder served 200 in 3.2 s. t27c test-report on this tree: 3 passes, 0 FAIL, 0 vacuous.
…ge, and pin it to the canonical receipt key (Closes #12754, follows #12756) (#12790) #12774's KEYS-tab work landed on a master without the mac-t27os row (#12756) and silently dropped it: bindings fell back to 12, with zeros at index 12. This re-lands the row on the current table AND upgrades it: the receipt key is now dc1bf22de103cca3 -- created by `t27c receipt-key init`, the canonical derivation -- replacing the hand-derived id from the first landing. b_commit[12] is pinned to #12756's merge commit (1a170f4...), the row-carrier per git blame. The tripwire drove the fix: it refused the table until b_commit[12] was 40-hex. t27c test-report: 6 passes, 0 FAIL, 0 vacuous.
…er actor laws; reuse challenge_ok (Closes #12753) (#12781) keys.t27: next_mark_text, the sub-row grows to 32 for its second line. glass_window: the serving key wears 'next', then its own last-check age follows on the same line; the next-mark import. keys_fleet: keys_state + row_state -- one row state from the route matrix and the key vault. router_serve: serve_answer -- the wire composition of the walk. router_actor: the accept loop as an actor -- bounded mailbox (8), one pure step, faults close without killing the loop, backoff 30 after 16. node_runner_tick_argv: digit/hexlower/hex32 were a copy of dispatch.t27's challenge_ok -- reuse the law (the dupe ratchet is green again). Seals: T27osKeys, T27osGlassWindow resealed against this tree. keys 115, router 8, sock 3, serve 5, actor 4, fleet 5, transform 12, node_runner_tick_argv 2, glass_window 92/92. phi^2 + 1/phi^2 = 3 | TRINITY
…e first, ties by index (epic #12779)
…s and shared-palette colours (Closes #12806)
Summary by t27-beesChecked by the t27 compilert27c parse, parse-complete and typecheck on each changed .t27 file at
Read by the modelThis PR introduces the graph plane law ( Worth a look
Read: 25 files, +1058 -130, the whole diff up to 60000 characters (the rest was not read). Head |
33b4021
into
lane/queen-live-mycelium-12780
…colours (#12808) * spec(crons): the cards say what the workflows now do (#12776) Closes #12775. Landed with trinity#1787 in the same hour. Admin per repo precedent. * feat(t27os): the dsh head election law, its cron card, and the pilot node's public key (Closes #12782) (#12783) - dsh_head_election: the hysteresis law -- the default head flips only after FLIP_STREAK (3) consecutive turn-sized challenger wins over a dead incumbent; probes are 100 tokens / 60 s (1-token probes gave false positives, measured 2026-10-26/27). - mac-dsh-head-election cron card: ENABLED=false on purpose (card-first; the election glue lowers from the election spec and lands with it). - .trinity/keys/2fed7065eb4439e4.pub: the mac-t27os pilot node's PUBLIC Ed25519 half (identity.t27 #12756 row) so its signed job receipts verify; the private key never enters the repository. t27c test-report on this tree: 6+1 passes, 0 FAIL, 0 vacuous. * feat(t27os): the LADDER -- the rung law for every LLM client on a node (Closes #12786) (#12787) Named this night: a client points at the local ladder endpoint; the ladder walks rungs in order (zai pool, own ollama, deepseek, openrouter) and serves the first rung that answers a TURN-SIZED request with 200. Fail closed at 503 naming the last refusal. Loopback only. Measured background: zai free pool flaps under load (2/5 and 1/5 turn-sized alive); the own ollama node went 7/7; openrouter's key limit is not a balance (402); deepseek unfunded pays 402 per call -- the rung order encodes all of it. Live on mac-t27os: launchd ai.t27.ladder, keys=5, a turn through the ladder served 200 in 3.2 s. t27c test-report on this tree: 3 passes, 0 FAIL, 0 vacuous. * t27b: the interpreter counts folded checks as ct_verified -- the CT-VERIFIED/VACUOUS split reaches the reference path (Refs #12751, #5980) (#12784) * blog: the epic card reads its arrays directly -- the #5980 accessor workaround retires under the CT-VERIFIED law (Refs #12777) (#12785) * t27b: pass_ct -- the verdict layer carries the CT-VERIFIED count (stacked on #12784) (#12788) * t27b: the interpreter counts folded checks as ct_verified -- the CT-VERIFIED/VACUOUS split reaches the reference path (Refs #12751, #5980) * t27b: the verdict layer carries ct -- pass_ct labels the folded-only pass, the corpus report counts it apart (Refs #12751, #5980) * fix(network): restore the mac-t27os row clobbered by the KEYS-tab merge, and pin it to the canonical receipt key (Closes #12754, follows #12756) (#12790) (#12756) and silently dropped it: bindings fell back to 12, with zeros at index 12. This re-lands the row on the current table AND upgrades it: the receipt key is now dc1bf22de103cca3 -- created by `t27c receipt-key init`, the canonical derivation -- replacing the hand-derived id from the first landing. b_commit[12] is pinned to #12756's merge commit (1a170f4...), the row-carrier per git blame. The tripwire drove the fix: it refused the table until b_commit[12] was 40-hex. t27c test-report: 6 passes, 0 FAIL, 0 vacuous. * lab: the pass_ct reader -- the corpus aggregates count the compile-time-verified pass apart (Refs #12751, #5980) (#12789) * feat(t27os): the next mark and own age on every key sub-row; the router actor laws; reuse challenge_ok (Closes #12753) (#12781) keys.t27: next_mark_text, the sub-row grows to 32 for its second line. glass_window: the serving key wears 'next', then its own last-check age follows on the same line; the next-mark import. keys_fleet: keys_state + row_state -- one row state from the route matrix and the key vault. router_serve: serve_answer -- the wire composition of the walk. router_actor: the accept loop as an actor -- bounded mailbox (8), one pure step, faults close without killing the loop, backoff 30 after 16. node_runner_tick_argv: digit/hexlower/hex32 were a copy of dispatch.t27's challenge_ok -- reuse the law (the dupe ratchet is green again). Seals: T27osKeys, T27osGlassWindow resealed against this tree. keys 115, router 8, sock 3, serve 5, actor 4, fleet 5, transform 12, node_runner_tick_argv 2, glass_window 92/92. phi^2 + 1/phi^2 = 3 | TRINITY * feat(t27os): the live mycelium rollout card for 27 petals and the live tap of lanes transitions and the recorded log into the work graph (Closes #12795, Closes #12796) * feat(t27os): the plan card names the next unwired petal -- lowest wave first, ties by index (epic #12779) * feat(t27os): the graph plane -- the tap ring folded into per-kind rows and shared-palette colours (Closes #12806)
…h, live, on black (#12791) * feat(t27os): the LIVE MYCELIUM band on the Queen screen -- the swarm's work graph, live, on black (Closes #12780) * t27os: the graph plane -- the tap ring folded into per-kind rows and colours (#12808) * spec(crons): the cards say what the workflows now do (#12776) Closes #12775. Landed with trinity#1787 in the same hour. Admin per repo precedent. * feat(t27os): the dsh head election law, its cron card, and the pilot node's public key (Closes #12782) (#12783) - dsh_head_election: the hysteresis law -- the default head flips only after FLIP_STREAK (3) consecutive turn-sized challenger wins over a dead incumbent; probes are 100 tokens / 60 s (1-token probes gave false positives, measured 2026-10-26/27). - mac-dsh-head-election cron card: ENABLED=false on purpose (card-first; the election glue lowers from the election spec and lands with it). - .trinity/keys/2fed7065eb4439e4.pub: the mac-t27os pilot node's PUBLIC Ed25519 half (identity.t27 #12756 row) so its signed job receipts verify; the private key never enters the repository. t27c test-report on this tree: 6+1 passes, 0 FAIL, 0 vacuous. * feat(t27os): the LADDER -- the rung law for every LLM client on a node (Closes #12786) (#12787) Named this night: a client points at the local ladder endpoint; the ladder walks rungs in order (zai pool, own ollama, deepseek, openrouter) and serves the first rung that answers a TURN-SIZED request with 200. Fail closed at 503 naming the last refusal. Loopback only. Measured background: zai free pool flaps under load (2/5 and 1/5 turn-sized alive); the own ollama node went 7/7; openrouter's key limit is not a balance (402); deepseek unfunded pays 402 per call -- the rung order encodes all of it. Live on mac-t27os: launchd ai.t27.ladder, keys=5, a turn through the ladder served 200 in 3.2 s. t27c test-report on this tree: 3 passes, 0 FAIL, 0 vacuous. * t27b: the interpreter counts folded checks as ct_verified -- the CT-VERIFIED/VACUOUS split reaches the reference path (Refs #12751, #5980) (#12784) * blog: the epic card reads its arrays directly -- the #5980 accessor workaround retires under the CT-VERIFIED law (Refs #12777) (#12785) * t27b: pass_ct -- the verdict layer carries the CT-VERIFIED count (stacked on #12784) (#12788) * t27b: the interpreter counts folded checks as ct_verified -- the CT-VERIFIED/VACUOUS split reaches the reference path (Refs #12751, #5980) * t27b: the verdict layer carries ct -- pass_ct labels the folded-only pass, the corpus report counts it apart (Refs #12751, #5980) * fix(network): restore the mac-t27os row clobbered by the KEYS-tab merge, and pin it to the canonical receipt key (Closes #12754, follows #12756) (#12790) (#12756) and silently dropped it: bindings fell back to 12, with zeros at index 12. This re-lands the row on the current table AND upgrades it: the receipt key is now dc1bf22de103cca3 -- created by `t27c receipt-key init`, the canonical derivation -- replacing the hand-derived id from the first landing. b_commit[12] is pinned to #12756's merge commit (1a170f4...), the row-carrier per git blame. The tripwire drove the fix: it refused the table until b_commit[12] was 40-hex. t27c test-report: 6 passes, 0 FAIL, 0 vacuous. * lab: the pass_ct reader -- the corpus aggregates count the compile-time-verified pass apart (Refs #12751, #5980) (#12789) * feat(t27os): the next mark and own age on every key sub-row; the router actor laws; reuse challenge_ok (Closes #12753) (#12781) keys.t27: next_mark_text, the sub-row grows to 32 for its second line. glass_window: the serving key wears 'next', then its own last-check age follows on the same line; the next-mark import. keys_fleet: keys_state + row_state -- one row state from the route matrix and the key vault. router_serve: serve_answer -- the wire composition of the walk. router_actor: the accept loop as an actor -- bounded mailbox (8), one pure step, faults close without killing the loop, backoff 30 after 16. node_runner_tick_argv: digit/hexlower/hex32 were a copy of dispatch.t27's challenge_ok -- reuse the law (the dupe ratchet is green again). Seals: T27osKeys, T27osGlassWindow resealed against this tree. keys 115, router 8, sock 3, serve 5, actor 4, fleet 5, transform 12, node_runner_tick_argv 2, glass_window 92/92. phi^2 + 1/phi^2 = 3 | TRINITY * feat(t27os): the live mycelium rollout card for 27 petals and the live tap of lanes transitions and the recorded log into the work graph (Closes #12795, Closes #12796) * feat(t27os): the plan card names the next unwired petal -- lowest wave first, ties by index (epic #12779) * feat(t27os): the graph plane -- the tap ring folded into per-kind rows and shared-palette colours (Closes #12806)
Closes #12806. Stacked on #12791 (the band branch): the plane imports the shared palette from
specs/t27os/queen_live_graph.t27, and it merges #12798's branch forlive_tap-- the plane sits on both sibling laws. Retarget to master after the parents merge.Summary
specs/t27os/queen_graph_plane.t27-- the graph plane: the tap's event ring (kind+pid pairs, at most 128) folds through the work graph law into per-kind node counts, one row per kind and one shared-palette colour per kind (SPEC new, AGENT active, TASK restart, ACTION down, ARTIFACT exit -- bijective, held by a test). The ring past its cap refuses whole and leaves the graph unchanged. The window keeps no rule of its own; the band's second drawing row is the next wiring child, which now has its complete data plane.Evidence (measured 2026-10-27, t27b at this branch)
t27b test specs/t27os/queen_graph_plane.t27: 4 passed, 0 failed -- the recorded 24-event vector folds to 20 nodes (8 AGENT + 12 ACTION) with WG_OK on every entry, two folds give the same sha256, the 129-entry ring refuses with the plane's own error and an unchanged graph.docs/reports/t27b_expectations.json: the row added in sort order,t27b: pass.Honest notes
phi^2 + 1/phi^2 = 3 | TRINITY