8000 fix(ledger): keep safety reads clear of writer waits by dominicnunez · Pull Request #199 · dominicnunez/agentos · GitHub
[go: up one dir, main page]

Skip to content

fix(ledger): keep safety reads clear of writer waits - #199

Merged
dominicnunez merged 1 commit into
mainfrom
fix/routing-containment-observation
Sep 12, 2026
Merged

dominicnunez merged 1 commit into
mainfrom
fix/routing-containment-observation

Conversation

@dominicnunez
Copy link
Copy Markdown
Owner

Long writer validation could occupy the ledger's sole working connection long enough to prevent safety reads, cancelling otherwise healthy execution with containment_unavailable. This is a confirmed failure mechanism consistent with the two distinct-account routing failures blocking #197; the original CI scheduling failure was not independently reproduced.

Authority observations now use a separate, single-connection pool against the same committed ledger. Writer admission remains transactional and serialized. The existing one-second watchdog, 250-ms poll deadline, 50-ms database wait, freeze history, and exact cancellation causes are preserved. Startup rejects connection-private database paths whose observer cannot see the migrated ledger; normal file storage and :memory: remain supported. Both pools are closed with the store, and the private-memory keeper remains independent.

Regression coverage checks live observation, dispatch rechecks, and nested admission during writer validation; subsequent committed holds must still cancel with the exact hold cause. Existing unavailable-reader tests now occupy the observation connection. Real exclusive-lock tests remain intact, and forced observer disposal verifies private-memory authority survives.

Validation:

  • The final regression fails on main for blocked dispatch authority reads in both memory and file storage.
  • New/updated focused cases passed three race repetitions; five distinct-account routing repetitions passed.
  • Full ledger, application, inference, and recovery race suites passed. The final startup-query cleanup also passed focused race regressions.
  • Build, vet, lint, architecture boundaries, and controlled-document validation passed.

Closes #198.

@chatgpt-codex-connector
chatgpt-codex-connector Bot commented Sep 12, 2026 •
Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-12T11:37:23.626692Z 91b39c9 PR opened
🔒 Security Review ✅ Completed 2026-09-12T11:44:50.376842Z 91b39c9 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@dominicnunez
dominicnunez merged commit e57e792 into main Sep 12, 2026
5 checks passed
@dominicnunez
dominicnunez deleted the fix/routing-containment-observation branch September 12, 2026 14:33
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.

Investigate containment failures in distinct-account routing tests

1 participant

0