Skip to content

feat(console): Project bounded decision todo lifecycle - #1117

Draft
Pigbibi wants to merge 2 commits into
mainfrom
feat/m09-todo-lifecycle
Draft

Pigbibi wants to merge 2 commits into
mainfrom
feat/m09-todo-lifecycle

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The decision inbox already records decisions and operations, but does not expose
assignment availability, blocker resume conditions, revision-bound setup links or
validated completion acknowledgements together. Add an additive read-only
todo_lifecycle projection to the existing inbox and decision detail.

Changes

  • Repair official P2 finding 4537340202: a promotion acknowledgement requires a
    valid current review digest. Historical/v1 missing, malformed and null/null
    review bindings remain unknown. A tests-first regression covers both promotion
    categories and qualified receipts.

  • Reuse current durable decision authority and the existing receipt integrity
    validator. Acknowledgement requires exact subject, material and review bindings.

  • Keep missing/invalid evidence unknown and incomplete inbox reads partial;
    expose stable resume codes and pseudonymous acknowledgement actors only.

  • Preserve existing writes, eligibility and runtime readback. Add schema/docs and
    fake-only tests including actual Worker list/detail and durable restart checks.

Testing

  • Seven focused lifecycle tests pass; the four original adverse groups fail before
    and pass after this change.
  • Full Python suite: 1186 tests, OK, 12 skipped.
  • All 126 applicable Node CI command checks have passing results after replacing
    a shared dependency symlink with a lockfile-local install for the UX1 binary
    identity test. No source/test safety assertion was relaxed.
  • Actual Worker zero-list/zero-write inbox reads, five existing inbox/deep-link
    regressions, frontend build and operations tests pass.
  • Generated projections/runtime targets, documentation checks, whitespace and
    Python package build pass. Three unchanged conditional historical bundle
    candidate checks are outside the workflow's applicable scope for this delta.

Risk and scope

Completion is explicitly scoped to decision intent recording. It does not
prove setup effectiveness, application/readback, delivery, reconciliation,
execution or broader M09 acceptance. Person assignment is not stored by existing
sources and remains not_recorded; no person is invented. Credential maintenance
has no supported inbox completion writer. No new task storage or writer, frontend,
daily/digest change, deploy, protected switch, IAM, Secret or execution action.

The integration base is c2ec433. The seven-file
candidate is current PR head on feat/m09-todo-lifecycle. Merge is a later coordinator
step after the established review process; this PR stays Draft.

AI attribution

Implemented and self-reviewed with OpenAI Codex, gpt-6.1-sol, medium. Independent
current-head formal review is requested separately once; it is not pre-claimed.

Central publication checker

publication-check/2.0-advisory, build 83d9d1130377, advisory: 4159 matching lines, 4162 findings in the full tracked candidate. Added lines: zero shared-mask/exact-authority matches. Existing baseline matches remain outside this bounded lifecycle change.

First 20 matches (file:line and centrally masked text):

.<PROJECT_ID>/CODEOWNERS:4: /.github/CODEOWNERS @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:5: /.github/workflows/ @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:6: /actions/publish-runtime-execution-evidence/ @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:7: /python/scripts/check_credential_maintenance_read.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:8: /python/scripts/credential_maintenance_notify.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:9: /python/scripts/deployment_bundle_contract.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:10: /python/scripts/deterministic_risk_gate.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:11: /python/scripts/execution_evidence_projection.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:12: /python/scripts/forward_observation_risk_control.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:13: /python/scripts/long_horizon_risk_composer.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:14: /python/scripts/long_horizon_risk_composer_v2.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:15: /python/scripts/long_horizon_risk_observation_ingress.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:16: /python/scripts/long_horizon_risk_observation_ingress_v2.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:17: /python/scripts/paper_risk_admission_receipt.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:18: /schemas/qsl-deployment-bundle.v1.schema.json @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:19: /schemas/qsl-forward-observation-risk-control.v1.schema.json @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:20: /schemas/qsl-reconcile-only-risk-control.v1.schema.json @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:21: /scripts/provision_binance_recovery_credentials.sh @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:22: /scripts/provision_soxl_v7_review_credential.py @<PROJECT_ID>
.<PROJECT_ID>/CODEOWNERS:23: /web/strategy-switch-console/application/console_api/strategy_execution.js @<PROJECT_ID>

@Pigbibi

Pigbibi commented Nov 11, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Please perform the official formal review of current head
3d4ae5ca527436ff7c774ad0684f21944dc3220b against base
c2ec433b4f59bccbc1ddf0e7747bad5b54ad6a1c for this bounded M09 backend
read projection. Check exact durable completion binding, unknown/failure handling,
redaction, bounded reads and restart consistency. The completion scope is decision
intent only; actual person assignment remains explicitly unrecorded. No merge,
deployment or protected operation is requested.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

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

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-11T18:58:46.571293Z 6204112 Manual request
🔒 Security Review ✅ Completed 2026-11-11T19:00:42.921602Z 6204112 Manual request
ℹ️ 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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3d4ae5ca52

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +38 to +41
if (bound && ack?.status === "found" && ack.kind === kind && ack.subject_id === parts.subject_id
&& ack.material_sha256 === material && (ack.review_sha256 ?? null) === review
&& DECISION_ACTIONS[item.category]?.includes(ack.action) && digest(ack.receipt_sha256)
&& instant(ack.acknowledged_at) && /^actor-[0-9a-f]{16}$/.test(ack.actor_alias || "")) status = "acknowledged";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Require a qualified promotion review digest before acknowledging

For legacy promotion material rows without a stored review binding, both review and ack.review_sha256 are null, so this comparison accepts a validated v1 receipt as acknowledged. This is a supported persisted state exercised by the staged-rollout fixtures in tests/human_decisions_worker_validation.mjs; readTodoDecisionCompletion also permits it because its authority comparison accepts null/null. However, v1 receipts bind only the legacy material fields and cannot establish the full promotion review digest required by the new completion contract. Require a valid promotion review digest before projecting an ACK, and preserve unknown for unqualified historical receipts rather than treating missing bindings as an exact match.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: 3d4ae5ca52

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@Pigbibi

Pigbibi commented Nov 11, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Please perform one fresh official formal review of current head
current PR head on feat/m09-todo-lifecycle against base
c2ec433b4f59bccbc1ddf0e7747bad5b54ad6a1c.

This bounded repair addresses official P2 finding 4537340202: promotion
acknowledgement now requires a valid stored review digest; historical/v1 missing,
malformed and null/null values remain unknown. The new regression failed before
the fix and passes after it; seven focused tests, all 126 applicable source Node
CI checks, full Python (1186 tests, 12 skipped), package build and static checks
have passing results. Only the lifecycle projection, its existing test file and
API documentation changed in this repair; the original seven-file card-A scope
is preserved.

Central publication checker publication-check/2.0-advisory (83d9d1130377):
4162 findings / 4159 matching lines in the complete tracked candidate, advisory
exit 0. The PR body records the first 20 centrally masked matches. This is not a
leak-clean or security acceptance claim. Prior security-review finding fields
were null and remain UNKNOWN pending official evidence.

Keep this PR Draft. No merge, label, deployment, protected operation or broader
M09 acceptance is requested.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 6204112962

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: 6204112962

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

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