fix(portfolio): bind security cohort to live identities - #213
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 71ead226c8
ℹ️ 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".
|
Addressed the P1 at exact head
Runtime activation remains deliberately blocked on the two-phase legacy producer-envelope migration documented in the PR body. @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 39f1dd8728
ℹ️ 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".
|
Addressed the exact-head P1s at
Runtime activation remains blocked on the two-phase legacy producer-envelope migration documented in the PR body. @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b840e5c7b1
ℹ️ 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".
|
Addressed the prior-final-membership P1 at
Runtime activation remains blocked on the two-phase legacy producer-envelope migration documented in the PR body. @codex review |
|
Codex Review: Didn't find any major issues. 🚀 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Why now
The natural security lane exposed both cardinality drift and a same-count identity substitution: the installed 11-member truth/receipt still names
cross-provider-egress-guard, while current source derivesagent-permission-diff-bot. Count-only validation could admit the wrong repositories.What changed
egress-guard-ossas an alias of the canonical manual-onlycross-provider-egress-guardentry instead of a second active project.archived=falsemay expand membership and force receipt coverage, while archive status cannot remove a candidate before receipt corroboration.Current reviewed cohort
Verification
3212 passed, 7 skipped, 2 warnings.268 passed, 1 warning.git diff --check: passed.50c7df30ae18a14063bfad76546e53e4360a854b.Live evidence and claim ceiling
This PR is source-ready only. It does not update installed scripts/runtime, regenerate canonical truth or receipts, reload/trigger launchd, or prove a natural scheduled run.
The installed canonical truth was produced by runtime
c3646eaand lacks the portableproducer.expected_repositoryfield required by base commit2eaa2bc. Current source correctly rejects that legacy envelope. Runtime activation is therefore NO-GO until the follow-on lane performs a two-phase migration:2eaa2bc, collect a matching fresh receipt, publish once, and verify portable producer-envelope readback.Do not weaken validation or directly activate this PR against the legacy live truth.
PR #211 overlaps
src/portfolio_truth_reconcile.py,src/portfolio_truth_validate.py, andtests/test_portfolio_truth.pyand is already conflicting with main. Whichever PR lands second must rebase, resolve, and rerun the complete gate.