Skip to content

t27os: the graph plane -- the tap ring folded into per-kind rows and colours - #12808

Merged
gHashTag merged 13 commits into
lane/queen-live-mycelium-12780from
lane/queen-graph-plane
Oct 27, 2026
Merged

gHashTag merged 13 commits into
lane/queen-live-mycelium-12780from
lane/queen-graph-plane

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

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 for live_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

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.
…ERIFIED/VACUOUS split reaches the reference path (Refs #12751, #5980) (#12784)
…orkaround retires under the CT-VERIFIED law (Refs #12777) (#12785)
…cked 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)
…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 tap of lanes transitions and the recorded log into the work graph (Closes #12795, Closes #12796)
@tri-claw

tri-claw Bot commented Oct 27, 2026

Copy link
Copy Markdown

Summary by t27-bees

Checked by the t27 compiler

t27c parse, parse-complete and typecheck on each changed .t27 file at c82abfc. Nothing was generated, built or run. A pass means the file is well formed, not that it is right.

  • specs/blog/epic_progress.t27: parses and typechecks.
  • specs/crons/mac-dsh-head-election.t27: parses and typechecks.
  • specs/crons/trinity-auto-merge.t27: parses and typechecks.
  • specs/crons/trinity-main-red-watch.t27: parses and typechecks.
  • specs/network/identity.t27: parses and typechecks.
  • specs/t27os/dsh_head_election.t27: parses and typechecks.
  • specs/t27os/keys.t27: parses and typechecks.
  • specs/t27os/keys_fleet.t27: parses and typechecks.
  • specs/t27os/ladder.t27: parses and typechecks.
  • 6 more .t27 file(s) were not checked (at most 10 per review).

Read by the model

This PR introduces the graph plane law (queen_graph_plane.t27) that folds the tap's event ring into per-kind node counts with a shared palette, plus supporting specs for dsh head election, ladder routing, live petal plan, and live tap. It also adds CT-VERIFIED tracking to the interpreter (#12751) so folded asserts are no longer labeled vacuous.

Worth a look

  • cli/t27b/src/eval.rs:231, 335-345 — New ct_verified counter splits assert accounting: compile-time-folded asserts now increment ct_verified instead of asserts. This changes the vacuous-pass definition; any test suite or tooling that keys off pass_vacuous will now see pass_ct for specs with only folded checks.

  • cli/t27b/src/main.rs:611, 692-698, 834-838 — Outcome labeling updated: Pass(_, _, Some(0), 0) → pass_vacuous, Pass(_, _, Some(0), _) → pass_ct. Corpus reporting now emits both counters. Downstream consumers of t27b corpus JSON must handle the new pass_ct category.

  • specs/t27os/keys.t27:454 — KY_SUB_H increased from 20.0 to 32.0 (60% taller sub-rows). Any layout code that computes positions from this constant (e.g., panel height, hit-test bounds, scroll extents) will shift unless it reads the constant dynamically.

  • specs/t27os/keys_fleet.t27:136-165 — New row_state folds route-matrix state with key-vault state: "a dead route wins; everything else folds by the better rank." The best_state function used for ranking is not shown in the diff — if its ordering doesn't match the comment's intent (LIVE > DEGRADED > UNPROBED > DEAD), the fold can promote a degraded route over a live one.

  • specs/network/identity.t27:255-279 — Identity table grew to 11 parts / 13 bindings; all backing arrays are fixed at 16. The new mac-t27os entry (part 10, binding 12) fits, but the b_signer array remains 16 entries all set to 16 (an out-of-bounds index for 11 parts). If sealing code validates b_signer[i] < parts, this will fail.


Read: 25 files, +1058 -130, the whole diff up to 60000 characters (the rest was not read). Head c82abfc. Model: openai-compatible/nvidia/nemotron-3-ultra-550b-a55b. Commands: @t27-bees review | summary | help | pause | resume. Free for every repository.

@gHashTag
gHashTag merged commit 33b4021 into lane/queen-live-mycelium-12780 Oct 27, 2026
36 of 48 checks passed
gHashTag added a commit that referenced this pull request Oct 27, 2026
…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)
gHashTag added a commit that referenced this pull request Oct 27, 2026
…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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant