Skip to content

CaPU × ATMAN: loopback HTTP recovery with a separate read-only observer - #104

Draft
safal207 wants to merge 2 commits into
mainfrom
feat/capu-atman-http-recovery-v2
Draft

CaPU × ATMAN: loopback HTTP recovery with a separate read-only observer#104
safal207 wants to merge 2 commits into
mainfrom
feat/capu-atman-http-recovery-v2

Conversation

@safal207

@safal207 safal207 commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Scope — keep draft and unmerged

Adds experiments/capu_atman_http_recovery_v2/ and one read-only path-scoped workflow. Only safal207/CaPU is changed. No deployment, main publication, ready-for-review transition, RTL, Bardo/COSMIC or ATMAN-repository changes.

Exact candidate head: 8a2f2a37023a50aeac52cb8c8aed84b2eeceec88.
Parent: unchanged #103 head 977864167c65f161e6db87b3d14257a11a67516f. This standalone branch includes unmerged v1; the delta from #103 is seven new files. #103 and existing v1 code are not modified. Candidate code has not changed after the review request.

Executed validation

Check Observed result
Local unchanged v1 regression 55/55 PASS; prior result digest reproduced exactly
Local v2 suite 28/28 PASS; zero failures, errors or skips
Differential observation 14 scenarios × two arms; all 37 paired snapshots agree
GitHub CI, Python 3.11 v1 + v2 + artifact upload PASS
GitHub CI, Python 3.13 v1 + v2 + artifact upload PASS
Native Codex review Requested once on exact head; blocked by review quota, NOT approved

CI run: https://github.com/safal207/CaPU/actions/runs/33940511054 . The separate v1 laboratory, FCRP Credential Boundary and Validate Examples workflows also passed at this head.

Local v1 digest: 7e0d4e80d71bbfb27dfda5939809992d39a993e70097779db8a911568f6ce38f.
Local v2 digest: 1eb8e50a35df8cb9312616c0c21f6182c10592db10e0ba77e96943b9d22128d5.
The digest includes source hashes and environment. It is not an independent timestamp, trust anchor or completeness proof. CI artifact bytes were not downloaded; CI execution/upload status was checked separately from local evidence.

28 tests means 14 named scenarios run against each arm, not 28 independent guarantees. The ordinary FSM shares HTTP/SQLite I/O, ATMAN verification and synthetic receipt authentication, but not native CaPU lifecycle transitions. Both controller state and observer-read device rows are compared. No superiority over the equal-guarantee FSM is established.

What actually ran

A controller subprocess receives only its state directory and a loopback URL. A separate HTTP device appends a deliberately non-idempotent row in its own SQLite ledger; that durable insertion IS the effect. A third stdlib-only observer opens the device ledger read-only without importing controller code or reading controller state.

The device commits its effect and holds the response. Only after the observer sees that effect does the harness kill the still-waiting controller. A new controller retains UNKNOWN and refuses a repeat. After a policy change it accepts the exact historical positive receipt. The observed device ledger remains at one request, one effect before and after reconciliation.

Connection loss before/after the effect, timeout, HTTP 503 and malformed ACK do not release the reservation. Missing receipt records remain UNKNOWN, never invented NOT_COMMITTED. Additional cases cover device-process restart, tampered/replayed receipts, full-token lookup, stale authority and competing dispatch workers.

The bypass control intentionally sends two identical unguarded HTTP requests and observes two effects. The device has no deduplication constraint. Its ambiguous duplicate ledger returns CONFLICT rather than a fabricated clean receipt. This also explicitly demonstrates that bypass resistance is NOT provided.

Non-claims and review boundary

Real loopback HTTP/process separation on one trusted host, not a third-party service, real payment, physical device, WAN, OS permission sandbox or independent attestation. No distributed atomicity, production authentication, physical power-loss/NVRAM, Byzantine-device or storage-rollback proof. Public fixture keys and synthetic A7 rotate/XOR tags remain unchanged. One trusted controller/device/lineage and one unresolved attempt. UNKNOWN may remain blocked indefinitely; no universal exactly-once/liveness, speed/energy, full ATMAN or Bardo/COSMIC claim.

Authorization linearizes at durable admission, not physical actuation. Historical reconciliation does not renew old execution authority.

Native Codex is the only review gate. One request was made for this exact head; the bot reported exhausted review quota. No substitute reviewer or manual approval. Do not mutate the candidate after review and do not merge automatically. Local/CI PASS is not code-review approval.

Reproduce

python -m pip install -r experiments/capu_atman_recovery_v1/requirements.txt
python experiments/capu_atman_recovery_v1/bootstrap.py
python experiments/capu_atman_recovery_v1/run.py --output evidence-v1
python experiments/capu_atman_http_recovery_v2/run.py --output evidence-v2

…shes

Add an isolated recovery laboratory with separate controller/device SQLite
stores, five process-exit cut points, 55 tests, and an equal-guarantee
conventional FSM comparison. No changes to native runtime or hardware.

Preserve UNKNOWN and A7 receipt-sequence semantics. Keep production crypto,
power-loss durability, universal exactly-once, and CPU superiority out of scope.
Preserve PR #103 sources unchanged. Add one loopback device process,
controller subprocesses and a stdlib-only read-only ledger observer.
Exercise lost responses, external-observation-triggered process kill,
UNKNOWN preservation, restart, receipt binding and non-idempotent bypass.

Keep real deployment, hardware, independent attestation and production
crypto out of scope. Candidate must remain draft and unmerged.
@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

safal207 commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

@codex review

Please review exact candidate head 8a2f2a37023a50aeac52cb8c8aed84b2eeceec88. Keep this PR draft and unmerged. This is the only review request for this head; the head will not be mutated after review.

Focus on the v2 delta from unchanged #103 (977864167c65f161e6db87b3d14257a11a67516f): durable UNKNOWN before HTTP, no automatic retransmission on ambiguous responses, full receipt-to-attempt binding, historical reconciliation after authority changes, and whether the separate read-only observer really observes the device effect rather than a controller claim. Check the fairness of the ordinary FSM comparison and the direct-call duplication control.

Explicit non-claims: one trusted host and loopback HTTP; the database append IS the effect; no real payment/physical device/WAN; no OS permission boundary or bypass resistance; public fixture keys and synthetic A7 tags; no general exactly-once/liveness, power-loss/NVRAM or independent attestation. The direct-call control intentionally demonstrates two effects for two unguarded requests.

Verified CI at this exact head: https://github.com/safal207/CaPU/actions/runs/33940511054 — both Python 3.11 and 3.13 jobs passed v1 and v2 and uploaded artifacts. The separate v1 laboratory, FCRP Credential Boundary and Validate Examples workflows also passed. Local v1 reproduced its prior 55-test result digest exactly. CI and local PASS are not review approval.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

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