Skip to content

spec(queen): review_valve names an effect give-up instead of reading it as UNRECORDED (Closes #7092) - #7115

Merged
gHashTag merged 1 commit into
masterfrom
claude/queen-valve-give-up-7092
Oct 6, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/queen-valve-give-up-7092

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Closes #7092. Refs #6971.

What

specs/queen/review_valve.t27 gains KIND_EFFECT_GAVE_UP = 8, so a row whose attempt ended in control.t27's DO_GIVE_UP (an effect key ran EFFECT_RUN_LIMIT times, #7059 / #7091) is named as such instead of reading KIND_UNRECORDED.

  • Codes 0..7 keep their values; a new invariant pins all nine, because the runtime mirrors them by number. With the invariant removed, 8 -> 9 passes every test.
  • recorded_escalation_kind(recorded, ...): the counters decide first, in escalation_kind's order, so a record cannot hide a missing criterion or a spent ceiling. A record only names a row the counters leave UNRECORDED, and only with a kind that is a record's to name (is_recorded_kind).
  • escalation_kind is unchanged: a runtime that records nothing gets the same answer as before.
  • Timing: the empty-attempt floor (30 minutes), one release, then close. review_valve.t27: name an effect give-up instead of reading it as UNRECORDED #7092 proposed releasing at once; the issue has a comment saying why that was changed (dispatch has already retried, and a reclaimed task moves runtimes).

Not here: the runtime side (the supervisor still has to record the reason and mirror the new function).

Checks (printed by commands on this branch, rebased on 79d2d4c)

  • 7 pub functions, 2 invariants, 11 tests; t27c gen + zig test: 11/11 passed, test-report: 0 vacuous of 11.
  • parse, typecheck, gen-rust, gen-verilog, gen-c exit 0; tools/l2_regen_check.py: gen/c/queen/review_valve.c regenerated byte for byte.
  • tri mutate spec on the lab, whole file: 50 of 50 killed; 11 hand mutants of the new lines and constants, all killed.
  • dupe_scan, assertionless, duplicate declarations, documented commands, NOW entry shape, gitleaks (with a negative control firing), ASCII: all clean.

🤖 Generated with Claude Code

…it as UNRECORDED (Closes #7092)

control.t27 ends an attempt with DO_GIVE_UP after EFFECT_RUN_LIMIT runs of one
effect key (#7059). No counter of an escalated row shows that, so the valve
read it as KIND_UNRECORDED and the close note could not name the crash loop.

- KIND_EFFECT_GAVE_UP = 8. Codes 0..7 do not move. A new invariant pins all
  nine values; with it removed, 8 -> 9 passes every test.
- is_recorded_kind and recorded_escalation_kind. The counters decide first,
  and a record names only a row they leave UNRECORDED, with a kind that is a
  record's to name. escalation_kind is unchanged.
- Timing: the 30-minute empty-attempt floor, one release, then close. The issue
  proposed an instant release. Dispatch has already moved the crash loop across
  runtimes, so an instant retry meets a deploy restart or a quota window again.
  The issue has a comment.
- gen/c/queen/review_valve.c is regenerated.

Checks: 7 pub fn, 2 invariants, 11 tests; zig 11/11, 0 vacuous; parse,
typecheck, gen-rust, gen-verilog and gen-c exit 0; tri mutate spec on the lab
50/50 killed; 11 hand mutants killed.

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

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-06 21:45:18 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 47
PRs with All Checks Green 3
READY 0
FAILING 47
PENDING 0
NO CHECKS YET 0

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

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b23641f01baa != 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).

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.

review_valve.t27: name an effect give-up instead of reading it as UNRECORDED

1 participant