Skip to content

feat: stage witness captures in a durable fail-closed journal - #144

Draft
dinakarjs wants to merge 4 commits into
agentrust-io:mainfrom
dinakarjs:feat/witness-submission-journal
Draft

dinakarjs wants to merge 4 commits into
agentrust-io:mainfrom
dinakarjs:feat/witness-submission-journal

Conversation

@dinakarjs

@dinakarjs dinakarjs commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

A lost witness acknowledgement can follow a committed submission. This draft stages exact checkpoint bytes and pinned trust policy in SQLite, commits one claim before capture, retains exclusive evidence, and leaves failed/interrupted attempts unknown or inflight. There is no automatic retry or reset.

Current head: d2f25347326a18f404942c50ba5f24ce5eebc614. Bounded maintenance under the existing draft; runtime source is unchanged by this follow-up. New subprocess controls kill workers before claim commit, after claim commit, after a durable synthetic effect and after final commit. An uninterrupted worker is the positive twin; separate SQLite authorization faults refuse the first or second commit. Renamed the old SQL-state test to identify it as simulated.

Validation: full local unittest suite 416 passed; final journal selection ten methods passed after a test-name-only cleanup. Ruff, pip check and whitespace pass. Changing the durable claim to remain pending produces three behavioral subtest failures, then source restored. Published tree 83f417edee9f3daf4e10b32832b18ae0087d5c40 matches local.

Limits: transport/effect fixtures are synthetic; process-kill and transaction-refusal tests do not establish power-loss/fsync/device durability or external-witness recovery. A killed precommit attempt can leave a pending row plus exclusive evidence directory requiring manual inspection. Post-effect uncertainty cannot become verified or retryable.

Parked after validation: resume when maintainers choose operational/readback, rotation, retention/backups and publication policy, or concrete review feedback arrives. #156 remains the separate readback proposal. No external witness submission, scheduling, automatic reconciliation or deployment. Prepared with OpenAI Codex; DCO signed.

Hosted follow-through: CI run 42491074747 and CodeQL run 42491074977 passed on d2f25347326a18f404942c50ba5f24ce5eebc614. The PR remains draft for the operational/readback/retention decisions and independent review; no automatic retry or deployment is enabled.

Signed-off-by: Srinivasa Consultants <dinakarjs@gmail.com>
Signed-off-by: Srinivasa Consultants <dinakarjs@gmail.com>
Signed-off-by: Srinivasa Consultants <dinakarjs@gmail.com>
Exercise real process termination before and after claim commit, after a synthetic durable effect, and after final commit. Add an uninterrupted positive twin and SQLite commit-refusal controls. Rename the simulated-state test and document orphaned precommit evidence and explicit recovery limits.

Prepared with OpenAI Codex. Refs agentrust-io#144.

Signed-off-by: Srinivasa Dinakar Jainti <dinakarjs@gmail.com>

This branch has not been deployed

No deployments
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.

1 participant