fix: close topology review gaps#350
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c716fa32d2
ℹ️ 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".
| if not _non_empty_string(candidate_id): | ||
| missing_screened_id = True | ||
| continue | ||
| return f"{bucket}[{idx}].candidate_id" |
There was a problem hiding this comment.
Check stable IDs without requiring totals
Because _screened_candidates_candidate_universe_error returns before this loop unless _screened_candidates_total finds a declared total_candidates/count, this new missing-ID rejection never runs for otherwise-valid screened payloads whose screening_policy only contains fields like max_items (a shape the validator accepts elsewhere). In that scenario, even with a valid candidate_claims.json whose candidates all have stable IDs, a selected or discarded item missing candidate_id is still marked valid, leaving downstream Claim Ledger/coverage traceability to statement matching. Base the missing-ID/unknown-ID check on the stable candidate IDs themselves rather than on an optional declared total.
Useful? React with 👍 / 👎.
Summary
candidate_idwhencandidate_claims.jsonprovides a stable candidate universeReview Notes
983dd64was fixed before merge by deriving bans only whensatisfied_byis a workflow stage.29d7a98was fixed before merge by moving screened universe validation into_validate_artifact.Validation
python3 -m pytest -q tests/test_runtime_state.py -k "screened_candidates"python3 -m pytest -q tests/test_subagent_first_contract.py tests/test_skill_contracts.py tests/test_hermes_adapter.py -k "Hermes or hermes or topology or scout or skill"python3 scripts/check_skill_contract.pypython3 scripts/check_release_consistency.py --no-tagpython3 scripts/check_product_baseline.pypython3 scripts/check_runtime_asset_parity.pypython3 scripts/check_briefloop_skill_freshness.pypython3 scripts/check_capabilities.pygit diff --check