Skip to content

fix: C5 leftovers part 2 — cron tz, idle-compaction reorder, guard fail-closed, loop-gate precision (#35 #37 #38 #39 #42 #50 #71) - #1415

Merged
ang-fleet-lander[bot] merged 13 commits into
mainfrom
daedalus-opus/t_5b33906e-c5-leftovers-2
Sep 29, 2026
Merged

ang-fleet-lander[bot] merged 13 commits into
mainfrom
daedalus-opus/t_5b33906e-c5-leftovers-2

Conversation

@ang-fleet-workers

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

Copy link
Copy Markdown

Card t_5b33906e (derived from t_48e86865, verdict table comment 16121). One commit per row, each with a red-on-base test.

Apollo ruling 07:35 (card comment) on the design rows, all in this PR:

#77 (pipecat) is ANG-Ventures/pipecat-house-voice#493.

Rebased onto main 2026-09-28 (9 behind): union-resolved REACHABLE_BASELINE conflict with t_cd88e043 #82 in tests/gateway/test_no_network_reachable_from_loop.py; loop gates 51/51 on the rebased tree.

Override: none by design — #47 adds no new refusal. The docstring hit is the existing awaiting-deploy hold, which still clears only when the merge is an ancestor of the tree HEAD or when an operator unblocks the card by hand (unchanged). This diff only adds text naming what triggered the hold.

@ang-prism

ang-prism Bot commented Sep 28, 2026

Copy link
Copy Markdown

FleetReview

FleetReview's daily member-call budget is spent (1082/1200 for 2026-09-28 UTC); review skipped.


FleetReview · reviewKind: skipped-budget

Red on base (test_cron_slot_uses_configured_tz_not_host), 18/18 green with fix.
Only psutil.NoSuchProcess means gone/no-op; AccessDenied et al. now refuse
the signal in all three psutil probes. Red on base, 34/34 guard tests green.
…ping (C5 #42)

Reorder + best-effort telemetry: a raise in the post-compaction token
estimate no longer escapes build_turn_context with stale history/anchor.
Red on base (RuntimeError escapes), 9/9 idle-compaction tests green.
to_thread(f, os.listdir(p)) evaluates os.listdir on the loop. New RED arm
misses on base, caught with fix; widened gate finds 0 new repo offenders (32/32).
…39, #35 sibling)

- #37 import map is module-level; function-local imports bind only in their function
- #38 sink_dotted honoured when sink_names is None
- #39 a function-local import shadows a same-file def
- offload-call args walked (eager), lambda args still deferred
New precision arms: 4 red on base, 5/5 green. Consumer gates 32/32; the
widened walker surfaced 2 pre-existing telegram get_label->requests.get
reaches (same shape as baselined matrix entry), added to REACHABLE_BASELINE.
…dren (C5 #71 CI follow-up)

CI slice 9/16 red: test_process_probe_failure_never_authorizes_reclaim[psutil-missing]
stubs sys.modules['psutil']=None, so psutil.Process raises AttributeError on the
test's own spawned child and the guard refused its cleanup kill. For pids on the
spawn/initial-children record only AccessDenied fails closed; broken probe
machinery trusts the record. Parent-chain branch still fails closed on anything.
Red locally before, 45/45 (stall + guard self-test) after.
…47)

Ruling: keep gating every mapped ref (fail-safe). The awaiting-deploy comment
now says 'Deploy-gated because <reason states a deploy gate | block reason/card
body names deploy tree X>' so over-gating is visible. Marker unchanged.
New test red on base; test_kanban_pr_gate.py 99/99.
…ow count + duration (C5 #64)

Ruling: accept the first-open O(rows) CREATE INDEX as a one-shot migration and
make it visible. Logs only when the index is actually built. Test red on base;
test_lcm_superseded_session_reads.py 7/7.
…ndex (C5 #32)

The kanban-home-cards block lists home cards across all boards and its overflow
hint says 'hermes kanban list --home', which listed the current board only.
list --home now appends an OTHER BOARDS section from kanban_home_index.open_cards
(one read, same source as the block; --status honoured; filters the index can't
evaluate skip it; unavailable index prints a one-line note). Docs updated.
Test red on base; home-index + home-session + home-cards files 185/185.
…on thread (C5 #46)

Ruling: no notify spool/outbox exists in-tree, so page_once dispatches the
flock + notify send onto a tracked NON-daemon thread; flush_pages() gives it a
bounded 5 s join at exit (threading._register_atexit, before the interpreter's
non-daemon join) and logs any page still in flight. The dedup flock wait is
bounded (5 s, then the in-process dedup fallback) so the thread is self-bounded.
Test red on base (verdict blocked 10.16 s behind a slow page); shell_hooks +
shell_hooks_missing 110/110.
@Kyzcreig
Kyzcreig force-pushed the daedalus-opus/t_5b33906e-c5-leftovers-2 branch from 52613df to aa2e2d5 Compare September 28, 2026 14:59
…g window (C5 #64)

Run next to other files, INFO was already on at store creation, so the test
captured the fresh-store build too. An empty store has nothing to migrate, so it
no longer logs; the test clears caplog before the measured calls. 52/52 mixed, 7/7 alone.
@ang-fleet-lander

Copy link
Copy Markdown

🤖 merged-by: apollo · lane: kanban-merge-pass · gate: ADVISORY (FleetReview not green for 04ebeb5): fleetreview-advisory-20260927-standing.md · why: t_5b33906e: C5 leftovers part 2: 14 TRUE rows needing a harness or design call (gate precisi; Argus off card review (Ace 13:08), CI green

@ang-prism

ang-prism Bot commented Sep 28, 2026

Copy link
Copy Markdown

FleetReview

Review: pre-merge · head 8ad648cdefa0 · duration 9m 13s
Profile: light (merit: default light: lines 592<800, files 20<1000000, hunks 46<1000000, no hot path) · policy: changed-lines>400
Roster: B-assert-ctx → gpt-6-sol (openai), C-assert-xhigh → claude-code-opus-5-5 (anthropic), F → gpt-6-sol (openai), G → grok-4.6 (xai)

profile: light (rule: default light: lines 592<800, files 20<1000000, hunks 46<1000000, no hot path) · round 0 · members: B-assert-ctx, C-assert-xhigh, F, G · families: anthropic,openai,xai

Confidence: 3/5

Findings

  • P1 agent/shell_hooks_missing.py:97 — Thread start failure escapes page_once, which can drop a repaired hook's real block verdict and break flush_pages · agreed: B-assert-ctx,C-assert-xhigh,F,G (openai, anthropic, xai)
  • P1 agent/shell_hooks_missing.py:116 — Dropped pages · agreed: B-assert-ctx,C-assert-xhigh,F (openai, anthropic)
  • P1 hermes_cli/kanban.py:2903 — Missing boards · agreed: B-assert-ctx,G (openai, xai)
  • P2 tests/gateway/_loop_atomic_write_reachability.py:188 — Deferred lambda · agreed: B-assert-ctx,F (openai)
  • P1 tests/gateway/_loop_atomic_write_reachability.py:229 — Traverse imports in source order so later bindings win · agreed: B-assert-ctx,C-assert-xhigh,F,G (openai, anthropic, xai)
  • P1 tests/agent/test_shell_hooks_missing.py:42 — Undoing the shared monkeypatch disables test safety guards · agreed: F (openai)
  • P1 hermes_cli/kanban.py:2882 — Cross-board home cards are absent from JSON listings · agreed: F (openai)
  • P1 hermes_cli/kanban.py:2917 — Combining --home with common filters silently hides other-board matches · agreed: F (openai)

FleetReview provenance · models: B=gpt-6-sol, C=claude-code-opus-5-5, D=grok-4.6, F=gpt-6-sol · cost: $6.34 · duration: 9m 09s · rounds: 1 · files examined: 20

@ang-prism

ang-prism Bot commented Sep 29, 2026

Copy link
Copy Markdown

FleetReview

Review: pre-merge · head 80336b00a90e · duration 5m 09s
Profile: light (merit: default light: lines 592<800, files 20<1000000, hunks 46<1000000, no hot path) · policy: changed-lines>400
Roster: B-assert-ctx → gpt-6-sol (openai), C-assert-xhigh → claude-code-opus-5-5 (anthropic), F → gpt-6-sol (openai), G → gpt-6-sol (openai)

PARTIAL — ensemble escalated: judge transient failure

This review did not reach a trusted verdict, so it is not a gate pass and the findings below may be incomplete. They are posted so they can be read rather than lost in a terminal record.

Reviewed with 2 of 3 model families — xai unavailable.

profile: light (rule: default light: lines 592<800, files 20<1000000, hunks 46<1000000, no hot path) · round 1 · members: B-assert-ctx, C-assert-xhigh, F, G · families: anthropic,openai

Confidence: 1/5

Findings

  • P1 agent/shell_hooks_missing.py:108 — Thread-start failure turns a fail-closed missing hook into a fail-open callback · agreed: B-assert-ctx,C-assert-xhigh,F,G (openai, anthropic)
  • P1 agent/shell_hooks_missing.py:358 — Dropped page · agreed: B-assert-ctx (openai)
  • P2 plugins/context_engine/lcm/db_bootstrap.py:3601 — Unnecessary scan · agreed: B-assert-ctx,C-assert-xhigh (openai, anthropic)
  • P1 tests/gateway/_loop_atomic_write_reachability.py:188 — Inspect eagerly evaluated lambda defaults in offload arguments · agreed: B-assert-ctx,C-assert-xhigh,F,G (openai, anthropic)
  • P1 agent/shell_hooks_missing.py:338 — Gateway hard exit can discard missing-hook alerts · agreed: C-assert-xhigh,F (anthropic, openai)
  • P1 hermes_cli/kanban.py:2928 — Identify the opened board rather than the selected board · agreed: C-assert-xhigh,F (anthropic, openai)
  • P1 tests/gateway/_loop_atomic_write_reachability.py:264 — Preserve both targets of conditional function-local imports · agreed: C-assert-xhigh,F (anthropic, openai)
  • P1 tests/agent/test_shell_hooks_missing.py:42 — Do not undo the suite's safety fixtures to test dispatch · agreed: F (openai)
  • P1 hermes_cli/kanban.py:2882 — Include other-board home cards in JSON output too · agreed: F,G (openai)
  • P1 tests/gateway/_loop_atomic_write_reachability.py:227 — Preserve enclosing function imports when resolving nested callbacks · agreed: G,B-assert-ctx,C-assert-xhigh,F (openai, anthropic)
  • P1 agent/shell_hooks_missing.py:116 — Dropped pages · agreed: B-assert-ctx,C-assert-xhigh,F (openai, anthropic)
  • P1 hermes_cli/kanban.py:2903 — Missing boards · agreed: B-assert-ctx,G (openai)
  • P1 hermes_cli/kanban.py:2917 — Combining --home with common filters silently hides other-board matches · agreed: F (openai)

FleetReview provenance · models: B=gpt-6-sol, C=claude-code-opus-5-5, D=grok-4.6, F=gpt-6-sol · cost: $6.50 · duration: 5m 06s · rounds: 2 · files examined: 20

@ang-fleet-lander

Copy link
Copy Markdown

🤖 merged-by: apollo · lane: review · gate: ADVISORY (FleetReview not green for 80336b0): fleetreview-advisory-20260927-standing.md · why: t_5b33906e: CI green, FleetReview-session sweep (Ace 'proceed with everything' 18:02)

@ang-fleet-lander
ang-fleet-lander Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into main with commit 696574d Sep 29, 2026
57 checks passed
@ang-fleet-lander
ang-fleet-lander Bot deleted the daedalus-opus/t_5b33906e-c5-leftovers-2 branch September 29, 2026 01:43
@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 29, 2026
@ang-prism

ang-prism Bot commented Sep 29, 2026

Copy link
Copy Markdown

FleetReview

Review: post-merge · head 696574d294a1 · duration 3m 52s
Profile: light (merit: default light: lines 592<800, files 20<1000000, hunks 46<1000000, no hot path) · policy: changed-lines>400
Roster: B-assert-ctx → gpt-6-sol (openai), B-state → gpt-6-sol (openai), C-assert-xhigh → claude-code-opus-5-5 (anthropic), F → gpt-6-sol (openai)

PARTIAL — ensemble escalated: judge transient failure

This review did not reach a trusted verdict, so it is not a gate pass and the findings below may be incomplete. They are posted so they can be read rather than lost in a terminal record.

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 592<800, files 20<1000000, hunks 46<1000000, no hot path) · round 1 · members: B-assert-ctx, B-state, C-assert-xhigh, F · families: anthropic,openai

Confidence: 1/5

Findings

  • P1 agent/shell_hooks_missing.py:123 — Lost pages · agreed: B-assert-ctx,B-state,C-assert-xhigh,F (openai, anthropic)
  • P2 tests/conftest.py:1800 — Stubbed psutil · agreed: B-assert-ctx,C-assert-xhigh (openai, anthropic)
  • P1 tests/gateway/_loop_atomic_write_reachability.py:229 — Reversed imports · agreed: B-assert-ctx,C-assert-xhigh,F,G (openai, anthropic)
  • P2 tests/gateway/_loop_atomic_write_reachability.py:188 — Deferred lambda · agreed: B-assert-ctx,B-state,F (openai)
  • P1 agent/shell_hooks_missing.py:109 — Page-thread startup failure can discard a real hook block verdict · agreed: B-state,C-assert-xhigh,F,B-assert-ctx,G (openai, anthropic)
  • P1 hermes_cli/kanban.py:2929 — Exclude removed and archived boards from indexed results · agreed: C-assert-xhigh,F (anthropic, openai)
  • P1 hermes_cli/kanban.py:2882 — Include other-board home cards in JSON listings · agreed: F (openai)
  • P1 tests/gateway/_loop_atomic_write_reachability.py:398 — Local bare-name imports incorrectly shadow calls through attributes · agreed: F (openai)
  • P1 hermes_cli/kanban.py:2903 — Missing boards · agreed: B-assert-ctx,G (openai)
  • P1 tests/agent/test_shell_hooks_missing.py:42 — Undoing the shared monkeypatch disables test safety guards · agreed: F (openai)
  • P1 hermes_cli/kanban.py:2917 — Combining --home with common filters silently hides other-board matches · agreed: F (openai)

FleetReview provenance · models: B=gpt-6-sol, C=claude-code-opus-5-5, F=gpt-6-sol · cost: $5.47 · duration: 3m 47s · rounds: 1 · files examined: 20

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.

0 participants