Repository navigation
KEYS tab: every key visible and editable; self-checking keys; the stage-2 router laws - #12774
Conversation
Summary by t27-beesChecked by the t27 compilert27c parse, parse-complete and typecheck on each changed .t27 file at
Read by the modelThis PR overhauls the KEYS tab UI with per-key editing, self-checking, and rotation tracking, and lands the stage-2 router laws (router, socket, serve, actor) plus a Worth a look
Read: 29 files, +1328 -842, the whole diff up to 60000 characters (the rest was not read). Head |
…ion, self-checking; the stage-2 router laws Closes #12753. The KEYS tab: ten providers (nvidia included), one row opens and lists one sub-row per stored key -- dot of the serving key, masked text, per-key status and its own age, replace / delete-two-clicks / check, the add row. The rotation on the closed row, the fleet on the footer (KEYS 6/11), the self-check (one provider a minute), the details line (keychain + env + checked Xm ago), the age law. The stage-2 router laws: router.t27 (the walk, answer actions, the max_tokens floor), router_sock.t27 (the AF_INET bind bytes), router_serve.t27 (POST /v1/messages only, 404 otherwise, 502 exhausted, serve_answer), router_actor.t27 (the accept loop as an actor: bounded mailbox, pure step, faults close without killing, backoff). provider/transform.t27 compiles again and carries the floor in its options; keys_fleet.t27 speaks one row state from the route matrix and the key vault. keys.t27 114/114, router 8/8, sock 3/3, serve 5/5, actor 4/4, fleet 5/5, transform 12/12, glass_window 92/92. phi^2 + 1/phi^2 = 3 | TRINITY
ab5e69b to
2c4064d
Compare
… deletion was an index artifact of a parallel lane)
PR DashboardGenerated at: 2026-10-27 05:16:14 UTC
Summary
Seal Status
|
…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.
…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) #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. * 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)
Back on real commands only: t27c frontier --list (verified locally, exit 0) prints what the frontier would rebuild and re-seal into the step summary. Report-only by law: an unattended runner cannot land re-sealed files, the coverage job stays the gate, and the || true is scoped to this job so a perpetual red reading does not stop being read. Re-landing refreshed seals is a lane's work: t27c seal <spec> --save, then the batched push. Header compressed same-file to land net-negative under the foreign budget (foreign-budget-discipline).
…-only seal resync (#12824) * fix(#11182): gen-rust lowers a slice-field capture to a copy A []T field filled from borrowed storage - S{.f = p} with p a []T parameter, or s.f = p / s.f = &x - moved the caller's storage, so compile_rust refused the whole file. The capture now lowers as a COPY (x.to_vec() covers a []T parameter, a fixed array local and a &x borrow alike): the caller keeps its storage and no lifetime is needed. - the refusal guard and its call are gone (net-zero diff: +16/-16) - RustCodegen.slice_fields: field names whose type is []T; the assign path knows only the name - fixtures refuse_* renamed copy_*; the fixture test now pins that every fixture generates (backend_behaviour.rs +4/-4) - specs/compiler/codegen_conformance.t27: the eval case pins the round trip (6 runtime asserts, 0 vacuous, negative control proven) UNVERIFIED BY BUILD: target/release/t27c is from 02:15 and cargo build panics in build.rs on 1120+ non-ASCII untracked files another session is writing under specs/ (acceleration/godmode family). The rustc roundtrip and seal refresh run as soon as the tree builds again. Closes #11182 * seal: refresh CodegenConformance after the #11182 copy lowering (Refs #11182) * ci: report-only seal resync on master (Refs #12774) Back on real commands only: t27c frontier --list (verified locally, exit 0) prints what the frontier would rebuild and re-seal into the step summary. Report-only by law: an unattended runner cannot land re-sealed files, the coverage job stays the gate, and the || true is scoped to this job so a perpetual red reading does not stop being read. Re-landing refreshed seals is a lane's work: t27c seal <spec> --save, then the batched push. Header compressed same-file to land net-negative under the foreign budget (foreign-budget-discipline).
Closes #12753
What lands (one commit over master, everything on .t27)
Verification
Every number above is a t27c test-report or a t27b test run from this exact tree. ok_head's byte length was measured by a sweep (74), not hand-counted.