Skip to content

spec(queen): key rotation as supervised actor messages, tags 19..21 (Refs #12596) - #12598

Merged
gHashTag merged 2 commits into
masterfrom
claude/key-rotation-msg-12596
Oct 26, 2026
Merged

gHashTag merged 2 commits into
masterfrom
claude/key-rotation-msg-12596

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

What

New spec specs/queen/key_rotation_msg.t27 (module QueenKeyRotationMsg): key and model rotation as a supervised actor, expressed as messages. Item P2 of epic #12490, issue #12596.

  • Message tags 19 (PICK), 20 (RESULT), 21 (REST) with their lanes: PICK on the data lane 0, RESULT and REST on the control lane 1.
  • State machine idle / rotating / parked, with the pool-dry and restart-intensity inputs.
  • Reply codes: key, pool dry, next pool, next model, escalate. The reply index for a refused key never equals that key's index.
  • Restart bound RK_MAX_RESTARTS = 3, which agrees with DOMAIN_MAX_RESTARTS = 3 in specs/queen/actors.t27 (pinned by a test with the literal 3; the two specs stay independent).

Indices and masks only: no key value, no minting, no new pool logic. The outcomes are taken as inputs from the existing key_failover.t27 and keys.t27.

Checks

  • Test report: 22 tests, 0 failed, 0 vacuous (every test executes runtime asserts), 3 invariants.
  • Seal .trinity/seals/queen_QueenKeyRotationMsg.json saved with the master-built compiler; its spec hash matches the file.
  • Commit hooks green: foreign-budget, own-language, secret-gate.

Refs #12596
Refs #12490

🤖 Generated with Claude Code

…Refs #12596)

New specs/queen/key_rotation_msg.t27 (module QueenKeyRotationMsg): PICK, RESULT
and REST message tags with their lanes, the idle/rotating/parked state machine,
reply codes (key, pool dry, next pool, next model, escalate), the reply index
that never equals the refused key, and the restart bound of 3 that agrees with
DOMAIN_MAX_RESTARTS in actors.t27. Indices and masks only: no key value.
22 tests, 0 vacuous, 3 invariants; seal saved.

Refs #12490

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

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-26 03:16:14 UTC

Summary

Status Count
Total Open PRs 24
PRs with Failing Checks 12
PRs with All Checks Green 12
READY 0
FAILING 12
PENDING 0
NO CHECKS YET 1

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

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=8ddf64a0178e != 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 merged commit 90ef302 into master Oct 26, 2026
33 of 35 checks passed
@gHashTag
gHashTag deleted the claude/key-rotation-msg-12596 branch October 26, 2026 03:40
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