Skip to content

t27os: key-rotation status line for Claude Code panes + worktree-lane skill (Closes #12466) - #12473

Merged
gHashTag merged 4 commits into
masterfrom
claude/claude-code-key-rotation-9c2748
Oct 25, 2026
Merged

gHashTag merged 4 commits into
masterfrom
claude/claude-code-key-rotation-9c2748

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

What

Claude Code panes run by the T27 OS key master get a status line that shows how the key rotation is working, for example:

zai key 2/6 | glm-4.5-flash | resting 1 | failovers 0
zai all keys resting, next in 42 s
zai no keys stored

Also adds the worktree-lane Claude Code skill: one task as a lane (issue, trigit claim, worktree, model routed free pane -> Sonnet -> Opus, verify, trigit landing, cleanup).

Files

  • specs/t27os/rotation_status.t27 (new): OP_STATUS, rotation_line, pane_status_line; one line of at most 80 printable ASCII bytes; 9 tests on fake tables.
  • specs/t27os/pty_server.t27: T27OS_STATUS=1 client mode (reads T27OS_PANE) and an OP_STATUS branch in handle_frame; an unknown or unused pane replies RE_ERR and prints nothing. The hooks.json buffer is widened for the extra entry.
  • specs/t27os/session_store.t27: hooks_json ends with the statusLine command; the hook-settings test checks brace balance and the new entry.
  • .claude/skills/worktree-lane/SKILL.md (new).

Not verified (why this is a draft)

  • The specs were NOT compiled or tested on this Mac (heavy runs go to the lab). Run t27b test on the three t27os specs and t27c test-report where it applies before merging.
  • Seals for T27osSessionStore and the new rotation_status module are stale; reseal from a master-built t27c and run tri seals sync-twins.
  • Dupe scan (tools/dupe_scan.py) was not run.
  • Local gates that did run on push: foreign-budget, own-language, secret-gate (all green).
  • A running T27 OS server older than this change answers RE_ERR to OP_STATUS; the line appears after a server restart.

Closes #12466

🤖 Generated with Claude Code

… skill (Closes #12466)

Every T27 OS pane now carries a Claude Code statusLine that asks the
server how the key master is rotating, so the status bar shows which
key the pane holds, how many keys rest, and how often it failed over.

- specs/t27os/rotation_status.t27 (new): OP_STATUS, rotation_line and
  pane_status_line build one line of at most 80 printable ASCII bytes,
  for example "zai key 2/6 | glm-4.5-flash | resting 1 | failovers 0".
  Nine tests on fake tables.
- specs/t27os/pty_server.t27: T27OS_STATUS=1 client mode (reads
  T27OS_PANE) and an OP_STATUS branch in handle_frame; an unknown or
  unused pane replies RE_ERR and prints nothing. The hooks.json buffer
  is widened for the extra statusLine entry.
- specs/t27os/session_store.t27: hooks_json ends with the statusLine
  command; the hook-settings test checks brace balance and the new
  entry.
- .claude/skills/worktree-lane/SKILL.md (new): one task as a lane --
  issue, claim, worktree, model routing free pane -> Sonnet -> Opus,
  verify, trigit landing, cleanup.

Not verified on this Mac (heavy runs go to the lab): the specs have not
been compiled or tested here, and the seals for T27osSessionStore and
the new module are stale.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…agent; CLAUDE.md pointers (Refs #12466, Refs #12476, Refs #12477, Refs #12478, Refs #12479)

Three skills the owner asked for on 2026-10-25 so every agent follows them:
work-cheap (the 10-rule cost prompt every brief starts with), secret-hygiene
(names only, never a value), access-map (what a pane can reach, what is known
but not wired, how each access fails). Filed the follow-up issues: access
scanner #12476, NVIDIA NIM profile #12477, key-aware dispatcher #12478,
T27 OS 0.2.0 release #12479.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 15:59:53 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 40
PRs with All Checks Green 10
READY 2
FAILING 40
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 40 + 0 + 0 = 42, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=75249fe1efad != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

gHashTag and others added 2 commits October 25, 2026 23:06
The documented-commands gate read the prose mention of a missing tri git verb as a
dead command (ceiling 86, found 87). The sentence now says the other git verbs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 16:15:27 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 39
PRs with All Checks Green 11
READY 1
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 39 + 0 + 0 = 40, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=75249fe1efad != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag marked this pull request as ready for review October 25, 2026 16:36
@gHashTag
gHashTag merged commit 3888382 into master Oct 25, 2026
31 of 36 checks passed
gHashTag added a commit that referenced this pull request Oct 25, 2026
…sh (Refs #12466) (#12495)

The squash of #12473 took head 3b3ab61; the reseal pushed after it
(2211e9e) never reached master, so spec-guards sees a stale seal for
specs/t27os/session_store.t27. Same file, same content as that commit.

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
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.

t27os: show the key rotation state in the Claude Code status line of every pane

1 participant