Skip to content

fix(guards): C4 backfill slice -- 6 confirmed guard/ownership findings (t_9c9e757c) - #1353

Merged
Kyzcreig merged 1 commit into
mainfrom
fix/c4-backfill-guards-t_9c9e757c
Sep 27, 2026
Merged

Kyzcreig merged 1 commit into
mainfrom
fix/c4-backfill-guards-t_9c9e757c

Conversation

@ang-fleet-workers

@ang-fleet-workers ang-fleet-workers Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

C4 backfill slice (FleetReview retro-backfill 2026-09-27, card t_9c9e757c, parent t_a2bf7813). All 14 instances re-checked at 5a9d284.

Fixed (6). Each has a test that fails on base and passes with the fix

Finding File Fix
#813 agent/quota_registry_gate.py A missing or unparseable observed_at now fails open, as the docstring promises
#1019 agent/lsp/manager.py An OSError on the slot dir means LSP is skipped. It no longer raises out of enabled_for()
#1026 cron/scheduler.py The deadman exemption now covers only the host that deadman owns
#1229 scripts/ci/live_comment.py A lookup or update outage no longer kills the poller. The post is retried on the next poll
#1230 plugins_cmd.py The pinned-plugin remedy shell-quotes the source, in both the CLI and the dashboard
#1238 tools/mixture_of_agents_tool.py Reference responses moved out of the system message into a tagged data block in the user message

Not fixed here (8)

Verification

  • Local runs were narrow, via test-gate. The new tests failed on base (13 failing test cases) and all pass with the fix.
  • Neighbouring suites also pass: lifecycle_guard x4, host_down_gate, quota wiring, plugins_cmd, fallback_policy, fork toolsets. 44+22+24 and 95+54+167 passed.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…s (t_9c9e757c)

FleetReview retro-backfill 2026-09-27, class C4. Each finding re-verified at
5a9d284; one RED-on-base / GREEN test per confirmed instance.

- #813 agent/quota_registry_gate.py: missing/unparseable observed_at now fails
  open (docstring contract), no longer skips a working fallback.
- #1017 cron/lifecycle_guard.py: superseded by #1348 (6662bbd) on main; this
  slice's 5 callback cases pass against it, so the edit was dropped on rebase.
- #1019 agent/lsp/manager.py: slot-dir OSError in _has_capacity -> run without
  LSP instead of raising out of enabled_for()/write_file.
- #1026 cron/scheduler.py: owner-deadman exemption scoped to the host it owns;
  a note naming only another DOWN host is gated.
- #1229 scripts/ci/live_comment.py: comment lookup/update network errors no
  longer kill the poller; a failed post is retried next poll.
- #1230 plugins_cmd.py: pinned-plugin remedy shell-quotes the recorded source
  (CLI + dashboard).
- #1238 tools/mixture_of_agents_tool.py: reference responses move from the
  aggregator system message to a tagged data block in the user message.

Verified: test-gate narrow pytest; new tests 13 RED on base, all GREEN with fix;
neighbouring suites (lifecycle_guard x4, host_down_gate, quota wiring,
plugins_cmd, fallback_policy, fork toolsets) pass.
@ang-fleet-workers
ang-fleet-workers Bot force-pushed the fix/c4-backfill-guards-t_9c9e757c branch from b2cb61b to 1af0a00 Compare September 27, 2026 23:20
@ang-fleet-workers ang-fleet-workers Bot changed the title fix(guards): C4 backfill slice -- 7 confirmed guard/ownership findings (t_9c9e757c) fix(guards): C4 backfill slice -- 6 confirmed guard/ownership findings (t_9c9e757c) Sep 27, 2026
@ang-fleet-lander

Copy link
Copy Markdown

🤖 merged-by: apollo · lane: kanban-merge-pass · gate: ADVISORY (FleetReview not green for 1af0a00): fleetreview-advisory-20260927-standing.md · why: t_9c9e757c: C4 backfill slice: hermes-agent agent/tools/cron/scripts guards — 14 instances; Argus off card review (Ace 13:08), CI green

@ang-fleet-lander
ang-fleet-lander Bot added this pull request to the merge queue Sep 27, 2026
@Kyzcreig

Copy link
Copy Markdown
Collaborator

🤖 merged-by: apollo · lane: review · gate: ADVISORY (FleetReview not green for 1af0a00): fleetreview-advisory-20260927-standing.md · why: t_9c9e757c: CI green; Apollo review pass 16:40

@Kyzcreig
Kyzcreig removed this pull request from the merge queue due to a manual request Sep 27, 2026
@Kyzcreig
Kyzcreig merged commit ab6b6d4 into main Sep 27, 2026
41 checks passed
@Kyzcreig
Kyzcreig deleted the fix/c4-backfill-guards-t_9c9e757c branch September 27, 2026 23:42
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
@ang-fleet-ci-actuators ang-fleet-ci-actuators Bot added the fleetreview:post-merge Ask FleetReview to review this MERGED pull (merge commit vs first parent) label Sep 28, 2026
@ang-prism

ang-prism Bot commented Sep 28, 2026

Copy link
Copy Markdown

FleetReview

Review: post-merge · head ab6b6d46747e · duration 8m 03s
Profile: light (merit: default light: lines 264<800, files 12<1000000, hunks 18<1000000, no hot path) · policy: below-size-and-path-gates
Roster: B-state → gpt-6-sol (openai), C-assert-xhigh → claude-code-opus-5-5 (anthropic), G → grok-4.6 (xai), L6 → gpt-6-sol (openai)

Post-merge review (fleetreview:post-merge override): this reviewed the merge commit against its first parent — the bytes that already shipped. It is not a pre-merge gate pass.

profile: light (rule: default light: lines 264<800, files 12<1000000, hunks 18<1000000, no hot path) · round 0 · members: B-state, L6, C-assert-xhigh, G · families: anthropic,openai,xai

Confidence: 3/5

Findings

  • P1 cron/scheduler.py:610 — Gate bypass · agreed: B-state (openai)
  • P1 cron/scheduler.py:3609 — Gate Bypass · agreed: L6 (openai)
  • P1 tools/mixture_of_agents_tool.py:93 — Reference responses are not escaped, so a response can close the <reference_responses> tag and forge a 'User query:' section · agreed: C-assert-xhigh,G (anthropic, xai)

FleetReview provenance · models: B=gpt-6-sol, C=claude-code-opus-5-5, D=grok-4.6 · cost: $1.57 · duration: 7m 59s · rounds: 1 · files examined: 12

Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.
Kyzcreig pushed a commit that referenced this pull request Sep 28, 2026
…ugins/CI scripts (t_779040d0) (#1371)

* fix(c7): C7 backfill slice C2 -- 11 durable-state findings in cron/plugins/CI scripts (t_779040d0)

Re-verified 14 C7 instances at 533612e (then rebased on ab6b6d4).
Every fix has a RED-on-base test.

Fixed:
- k87  cron/fork_ext/scheduler_ext.py: timeout_s "inf"/float('inf') raised
       OverflowError out of resolve_job_script_timeout; now falls back.
- k88  cron/scheduler.py: host-down ledger row was written before the send;
       now written only once the demoted #logs delivery succeeds.
- k116 plugins/blackbox/__init__.py: prefix guard got cache_read /
       prompt_tokens as measured numbers when buckets were unknown; now None.
- k117 plugins/blackbox/store.py: turn_api_calls stored unknown buckets as
       0, so first_call_cache_miss judged an unmeasured read; now NULL.
- k119 lcm/db_bootstrap.py: a trigger-only repair cleared a deep/parity
       corruption flag; now only a rebuild clears it (a structural flag is
       cleared when the structure verifies).
- k120 lcm/db_bootstrap.py: repair rolled back a caller-owned transaction
       on failure; now rolls back only its own (captured at entry).
- k122 mem0/capture_drain.py: the exactly-once shortcut (add committed,
       crash before routing) skipped Arm-B routing; now routes (staging is
       keyed by turn id, so a re-route overwrites in place).
- k125 scripts/ci/live_comment.py: re-run dedupe kept the first-listed
       artifact; now newest (created_at, id) wins.
- k127 scripts/ci_overflow_integration.py: an executed job with no PROBE
       line gave PASS; now UNVERIFIABLE.
- k128 scripts/ci_overflow_integration.py: one matching slice certified a
       selective re-run as full; full_rerun_verdict now BLOCKs when any job
       was carried over from the prior attempt.
- k136 plugins/blackbox/store.py: migration test passed on a table that
       could not take an insert; the migration now adds every base column
       insert_api_call names, and the test inserts after migrating.

Dropped:
- k124 FIXED on main by #1353 (live_comment.py:659 `body = last_body`,
       test_comment_lookup_outage_is_retried_not_fatal).
- k126 no rate-limit bug to fix: nothing on main runs live_comment.py (no
       .github reference; ci-review-comment was retired in aff7aea).
- k133 FALSE: the autouse tests/conftest.py::_hermetic_environment sets
       HERMES_HOME per test; a probe confirmed get_hermes_home() is
       <tmp_path>/hermes_test, so the real scripts dir is never written.

* fix(c7): address eight pre-merge durable-state review findings

* fix(mem0): preserve staged turn across route mode changes

* test(mem0): remove orphaned plugin-local test whitespace

* fix(c7): address six FleetReview findings on #1371 @ef358148

- cron/scheduler.py: flush host-down ledger rows the moment the #logs send
  succeeds, not after all targets.
- mem0 capture_router: match staged turn file literally (glob.escape).
- ci_overflow_integration full_rerun_verdict: never-started jobs are not
  reused/missing; a prior-attempt job absent from the re-run BLOCKs.
- blackbox store/_measured + prefix guard: gate each bucket on its own
  unknown flag; aggregate-only usage_unknown keeps measured buckets.

Six new tests, each RED on the pre-fix head, GREEN after.

---------

Co-authored-by: ang-fleet-workers[bot] <333956806+ang-fleet-workers[bot]@users.noreply.github.com>
Co-authored-by: ang-fleet-interactive[bot] <333962442+ang-fleet-interactive[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fleetreview:post-merge Ask FleetReview to review this MERGED pull (merge commit vs first parent)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant