Skip to content

feat(projection): seal global todo and risk reads - #6619

Open
Duang777 wants to merge 3 commits into
loopx-project:mainfrom
Duang777:codex/projection-envelope-global-reads
Open

Duang777 wants to merge 3 commits into
loopx-project:mainfrom
Duang777:codex/projection-envelope-global-reads

Conversation

@Duang777

Copy link
Copy Markdown
Collaborator

Goal

Replace the stalled #5598 slice on current main. global-todos and global-risks now disclose source freshness and global coverage through the existing TypeScript-owned projection envelope. Corrupt host-poll receipts can no longer produce a fresh, complete result.

This PR preserves #5598's design and credit. It does not modify the original author's branch.

Changes

  • Seal global_todos and global_risks with projection.envelope.seal, including Markdown readback.
  • Classify an absent opt-in host-poll receipt as normal and an invalid existing receipt as unreadable.
  • Validate the complete v0 receipt shape and its goal identity at the read boundary.
  • Keep public-safe error responses available when the TypeScript runtime cannot seal an error envelope.
  • Update the RFC checkpoint and projection-envelope carrier reference.

projection.envelope.seal remains the only freshness and completeness owner. The Python code only gathers source facts. The receipt reader reuses the existing envelope read-status vocabulary and does not add a shared state contract.

Verification

  • Failing before: test_global_risks_discloses_unreadable_host_poll_receipts_and_recovers reached KeyError: 'projection_envelope' on the old implementation.
  • 108 passed: projection-envelope, host-poll receipt, global-risk, and global-todo tests. This includes the real CLI global-membership failure and recovery path.
  • 8 passed: TypeScript projection-envelope kernel tests.
  • Ruff, git diff --check, Python compile checks, and the semantic vocabulary advisory passed.
  • The live project-registry I/O census is current at 314 sites. Current main computes this report and does not track the retired generated manifest.
  • Premerge direct checks, the public-boundary check, and 16 selected smokes passed.

Known baseline failures

The premerge gate still reports two risk-profile failures:

  • examples/auto-research-quota-pause-smoke.py
  • examples/auto-research-state-aware-wake-smoke.py

Both fail at goal-storage bootstrap with the same EffectRuntimeInternalError on unchanged latest main. The maintainability smoke is also reported as an inherited advisory and does not name a changed file.

Delivery boundary

The affected entry points are loopx global-todos and loopx global-risks, in JSON and Markdown. This change adds no configuration or privileged operation, so no frontend or Lark companion is required. A shared Python composition helper was not added because the todo, risk, and summary facts differ and a parameter-heavy helper would not reduce decision ownership.

@Duang777
Duang777 force-pushed the codex/projection-envelope-global-reads branch from ae9f1e0 to 58e8ec5 Compare October 16, 2026 07:15
Signed-off-by: duang777 <duangjl007@gmail.com>
Signed-off-by: duang777 <duangjl007@gmail.com>
Signed-off-by: duang777 <duangjl007@gmail.com>
@Duang777
Duang777 force-pushed the codex/projection-envelope-global-reads branch from 58e8ec5 to cfe4381 Compare October 16, 2026 07:46

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