Raise Advisor review limit to eight - #32
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change summary
Fixes #19.
Raise the bounded global Advisor plan-review limit from five to eight while
preserving immediate
PLAN_APPROVEDexit and fail-closed behavior beforeExecutor work.
The native policy generator now has one authoritative
ADVISOR_REVIEW_LIMIT = 8. It derives the total-review cap, rounds 2–8 compactledger rule, and round-eight non-approval halt from that value. README, packaged
skill guidance, provider guidance, release qualification, and contract tests
are aligned. The packaged payload advances from 0.9.2 to 0.9.3 across every
required release-identity surface.
This replaces the unsafe stale work in PR #20; PR #20 is not merged or modified
by this change.
Validation
Exact reviewed head:
70eb5388f8ad5d72d2c0acc79e28fa1bd4f25379python3 scripts/preflight.py full --base-sha 8f0a2b1bcd65eb2b58b38679641555c83a639398— local git, compile, Ruff, focused tests, release identity, full tests, and
real plugin lifecycle passed; hosted-only checks were intentionally skipped
locally.
python3 scripts/preflight.py portability --ci— every local portabilitymodule passed.
python3 scripts/release_check.py --repo-root . --base-sha 8f0a2b1bcd65eb2b58b38679641555c83a639398 --head-sha 70eb5388f8ad5d72d2c0acc79e28fa1bd4f25379 --require-exact-shas— release metadata and identity valid for 0.9.3.
authoritative limit to seven changes all three generated bounds together,
and the committed causal regression rejects any independently hard-coded
eight-bound phrase.
authoritative and must pass on this exact SHA before merge.
Review attestation
{
"schema": 1,
"risk_tier": "security-state",
"repository": "Cjbuilds/Codex-Orchestration",
"base_branch": "main",
"reviewed_head_sha": "70eb5388f8ad5d72d2c0acc79e28fa1bd4f25379",
"reviewer_identity": "Codex independent verification worker Schrodinger",
"reviewer_route": "verification_worker using gpt-5.6-sol at high reasoning",
"threat_model": {
"assets": [
"Bounded independent plan review and Executor release authority",
"Compact findings-ledger integrity across stateless Advisor rounds",
"Plugin cache and release identity for the distributed 0.9.3 policy"
],
"threats": [
"A duplicated or hidden bound could make generated policy disagree about when review must stop",
"An unbounded or incorrectly extended loop could consume subscription capacity or release Executor without a valid approval state",
"Inconsistent documentation could cause users or release reviewers to rely on the obsolete five-review contract",
"Reusing a payload version could leave the deployed global policy on stale instructions"
],
"mitigations": [
"One authoritative integer drives every generated review-bound phrase and a causal monkeypatch regression proves the linkage",
"Rounds two through eight carry only the current plan and compact ledger, and round eight remains a fail-closed non-approval halt before Executor",
"Active guidance has a deterministic stale-cap sweep while unrelated five-based product facts are preserved",
"Release identity is synchronized at 0.9.3 and exact-base and exact-head release validation passed"
]
},
"negative_test_evidence": [
{
"category": "regression",
"evidence": "Focused tests fail on the 0.9.2 base, and the final causal test changes the authoritative limit to seven and requires all three generated bounds to change together."
},
{
"category": "negative",
"evidence": "A cross-surface sweep rejects stale five-review, round-five, and five-round cap phrases while explicitly preserving unrelated Fable 5, Opus 5, schema, effort, concurrency, and five-hour facts."
},
{
"category": "malformed",
"evidence": "Generated-policy regressions retain fail-closed rejection for stale plan versions, invalid or incomplete findings ledgers, required-route failures, and round-eight PLAN_REVISE without approval."
}
],
"findings_disposition": "Independent verification passed A through G. Its only non-blocking finding was missing causal constant coverage; that gap was repaired with an in-memory seven-limit regression and independently reverified with no unresolved findings on exact head 70eb538."
}