Skip to content

fix(kanban): re-probe DB health on initialized paths - #69037

Open
jamesraddock wants to merge 1 commit into
NousResearch:mainfrom
jamesraddock:fix/kanban-db-health-check-ttl-focused
Open

fix(kanban): re-probe DB health on initialized paths#69037
jamesraddock wants to merge 1 commit into
NousResearch:mainfrom
jamesraddock:fix/kanban-db-health-check-ttl-focused

Conversation

@jamesraddock

@jamesraddock jamesraddock commented Jul 22, 2026

Copy link
Copy Markdown

Summary

Context

#41795 was superseded by #68654 for backup retention and index-only repair, but its TTL re-probe did not land. Without this follow-up, a long-lived gateway dispatcher can keep trusting its first-open health verdict for the lifetime of the process.

This PR ports only that remaining TTL behavior onto the current fast path. It does not revive the superseded guard stack or change wal_autocheckpoint.

Testing

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/cron Cron scheduler and job management sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state labels Jul 22, 2026
@jamesraddock
jamesraddock force-pushed the fix/kanban-db-health-check-ttl-focused branch from a93fd31 to b69ba22 Compare July 23, 2026 15:45
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused follow-up. The premise remains present on current main: hermes_cli/kanban_db.py:1940 makes the integrity guard return for initialized paths, while the initialized fast path at hermes_cli/kanban_db.py:2135 opens and returns a connection without invoking that guard.

PR b69ba22f78864a4751de07014ada7b321c6d8193 separates health freshness from schema initialization, uses the existing bounded init lock for the expiry path, and adds a regression covering the cheap-within-TTL path, the re-probe, and fail-closed behavior after corruption. No correctness or design-fit issue was identified from the reviewed diff.

Automated hermes-sweeper review.

@teknium1 teknium1 added the sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform label Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cron Cron scheduler and job management P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants