Repository navigation
Conversation
Use one CEL predicate over a resolved entity and optional prompting event. Supersede event-reconstruction polling while retaining compatible poll driver machinery. Signed-off-by: Barak Korren <bkorren@redhat.com> Assisted-by: Codex (gpt-5.6-sol)
PR Summary by QodoAdopt entity-first harness evaluation architecture
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
|
🤖 Finished Review · ✅ Success · Started 11:21 AM UTC · Completed 11:41 AM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $6.38 |
Code Review by Qodo
1.
|
Site previewPreview: https://7c39b44a-site.fullsend-ai.workers.dev Commit: |
|
Risk Assessment: moderate (2/5) DetailsRe-review of a docs/ADR-only PR (9 files, 383 lines, no protected/security/dependency/CI paths, established non-bot author); Tier 1 metadata is unchanged from the prior round, Tier 2 churn is driven by a pre-existing high-traffic shared file (docs/architecture.md), and Tier 3 remains low-to-moderate since the PR is an explicitly-declared architectural companion to issue #313 rather than a direct implementation, with no risk labels and a fully additive, revertible diff — composite score preserves the prior moderate rating of 2. Previous runRisk Assessment: moderate (2/5) DetailsRe-review anchoring applies: Tier 1 metadata is unchanged in kind from the prior round (8 files both times, 271+37 vs 285 lines, medium blast radius, no protected/security/dependency/CI paths, established non-bot author), Tier 2 churn/contention/fix-revert signals remain driven by the same pre-existing high-traffic shared docs files (docs/architecture.md), and Tier 3 remains low since the PR is an explicitly declared architectural companion doc for issue #313 rather than a claimed implementation, with no elevated risk labels and a fully additive, revertible docs-only diff — so the composite weighted score preserves the prior moderate score of 2. Previous run (2)Risk Assessment: moderate (2/5) DetailsRe-review anchoring applies: Tier1 metadata is essentially unchanged from the prior (2/moderate) round (8 files both times, 285 vs 277 lines, medium blast radius, no protected/security/dependency/CI paths, established non-bot author); Tier2 churn/contention signals remain driven by the same pre-existing high-traffic shared docs files; Tier3 remains low since the PR is an explicitly declared architectural prerequisite for issue #313, not a claimed implementation, with no elevated risk labels and a fully additive, revertible docs-only diff — so the prior moderate score of 2 is preserved. Previous run (3)Risk Assessment: moderate (2/5) DetailsRe-review anchoring applies: Tier1 metadata is essentially unchanged from the immediately prior (2/moderate) round (8 files both times, 277 vs 271 lines, medium blast radius, no protected/security/dependency/CI paths, established non-bot author) - the only delta is a ~6-line net refinement across 2 of the 8 files. Tier2 churn/fix-revert signals remain driven by the same pre-existing high-churn files. Tier3 remains low: the PR is an explicitly declared architectural prerequisite for issue #313 rather than a claimed fix, carries no risk labels, and the diff is fully additive and revertible docs content. No new signal category was introduced, so the prior moderate score of 2 is preserved. Previous run (4)Risk Assessment: moderate (2/5) DetailsDocs/ADR-only change with no protected/security paths, no CI or dependency impact, and no test-ratio concern, but several touched docs show high recent churn, multi-author contention, and frequent fix/revert history, and the linked issue #313 is only loosely related (architectural precursor, not a direct implementation), yielding a moderate composite score of 2. Previous run (5)Risk Assessment: moderate (2/5) DetailsRe-review of this PR chain: Tier1 metadata is unchanged from the immediately prior (2/moderate) round (8 files, 271 vs 268 lines, medium blast radius, no protected/security/dependency/CI changes, established non-bot author) — the only delta since the prior review is a net +3 lines to the already-new docs/ADRs/0098-*.md file. Tier2 churn/fix-revert signals remain driven by the same pre-existing high-churn files (docs/architecture.md, normalized-event README, ADR 0054). Tier3 remains low since the PR is an explicitly declared architectural prerequisite for issue #313, not a claimed fix, with no risk labels and a fully additive, revertible docs-only diff. Composite (~1.86) rounds to 2, preserving the prior moderate score with no material change in risk characteristics. Previous run (6)Risk Assessment: moderate (2/5) DetailsTier1 metadata remains in the same scoring bands as the prior 1/low assessment (8 vs 7 files, 268 vs 240 lines, still medium blast radius, no protected/security/dependency/CI changes, established non-bot author); however this round newly touches docs/normative/normalized-event/v1/README.md, a file with above-baseline 30/90-day churn and fix/revert signal not present in the prior round's Tier2 computation, lifting the weighted composite just enough to round to 2 (moderate) rather than 1 (low); Tier3 remains low-risk since the PR is an explicitly declared architectural prerequisite (not a claimed fix) for issue #313 with no risk labels and a fully additive, easily-revertible docs-only diff. Previous run (7)Risk Assessment: low (1/5) DetailsTier 1 signals (7 files, 240 lines, medium blast radius, no protected/security paths, no dependency or CI changes, established non-bot author) are unchanged from the immediately preceding assessment on this same PR chain, anchoring the score to the prior 1/low; architecture.md persistent high churn/author-contention is a pre-existing baseline already discounted in prior rounds, and Tier 3 scope mismatch is an intentional, declared prerequisite relationship rather than a coverage gap. Previous run (8)Risk Assessment: low (1/5) DetailsDocs-only PR adding ADR 0098 and minor edits to existing architecture docs; Tier 1 signals are unchanged from the prior assessment, architecture.md high churn is a persistent baseline not specific to this change, and anchoring rules preserve the prior score of 1. Previous run (9)Risk Assessment: low (1/5) DetailsDocs-only PR adding ADR 0106 and minor edits to existing architecture docs; Tier 1 signals are unchanged from the prior assessment, architecture.md high churn is a persistent baseline not specific to this change, and anchoring rules preserve the prior score of 1. Previous run (10)Risk Assessment: low (1/5) DetailsDocs-only PR adding ADR 0106 and minor updates to existing architecture docs; Tier 1 signals are essentially identical to the prior assessment (no code, no tests, no CI/dep/protected-path changes, known contributor), and anchoring rules preserve the prior score of 1. Previous run (11)Risk Assessment: low (1/5) DetailsDocs-only PR adding ADR 0099 and making minor updates to three existing docs and one existing ADR. No production code, no test changes, no CI or dependency modifications, no protected paths. Author is a known contributor. |
|
Looks good to me Previous runReviewFindingsMedium
Note on prior review continuity: This is a re-review (prior head SHA Next steps:
Previous run (2)ReviewFindingsMedium
Low
Note on prior review continuity: This is a re-review (prior head SHA Next steps:
Previous run (3)ReviewFindingsHigh
Medium
Low
The two low findings from the immediately prior review round (wording scope of the platform-eligibility-policy fail-closed row, and the excluded-fields principle statement) have both been resolved in this round — the fail-closed table row now reads "Scheduled evaluations governed by that policy are denied" matching the sibling rows, and the excluded-fields principle now explicitly distinguishes event-backed authorization from Fullsend-originated entity-discovery authorization. No findings from docs-currency or style-conventions review of the current diff. Next steps:
Previous run (4)ReviewFindingsLow
The finding from the immediately prior review round (the fail-closed table row combining a per-harness condition with a platform-wide condition under one outcome) has been resolved in this round — the row was split into two dedicated rows separating "harness entity sources" from "effective platform eligibility policy," matching the previously requested remediation. No new findings from correctness (beyond the item above), security (beyond the item above), intent-coherence, docs-currency, or style-conventions review of the current diff. Next steps:
Previous run (5)ReviewFindingsLow
The previously flagged Previous run (6)ReviewFindingsLow
Next steps:
Previous run (7)ReviewFindingsLow
Next steps:
Previous run (8)ReviewFindingsLow
Next steps:
Previous run (9)ReviewFindingsMedium
Low
Next steps:
Previous run (10)ReviewFindingsLow
Next steps:
Previous run (11)ReviewFindingsMedium
Low
Next steps:
Previous run (12)ReviewFindingsMedium
Low
Next steps:
Previous run (13)ReviewFindingsCritical
Medium
Low
Labels: PR introduces an ADR about dispatch and harness evaluation, modifies architecture and problem docs Next steps:
|
Renumber the ADR after the collision on main, clarify partial supersession and authorization, and preserve the existing architecture narrative. Signed-off-by: Barak Korren <bkorren@redhat.com> Assisted-by: Codex (gpt-5.6-sol)
Integrate the latest main before updating the pull request. Signed-off-by: Barak Korren <bkorren@redhat.com> Assisted-by: Codex (gpt-5.6-sol)
|
🤖 Review · ❌ Terminated · Started 6:07 AM UTC · Ended 6:31 AM UTC Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
🤖 Finished Review · ✅ Success · Started 6:07 AM UTC · Completed 6:31 AM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $5.93 |
Signed-off-by: Barak Korren <bkorren@redhat.com> Assisted-by: Codex (gpt-5.6-sol)
Require the normalized-entity contract before execution, define pre-CEL actor gating and trusted provenance, and align overlays and attribution. Signed-off-by: Barak Korren <bkorren@redhat.com> Assisted-by: Codex (gpt-5.6-sol)
|
🤖 Finished Review · ✅ Success · Started 11:29 AM UTC · Completed 11:45 AM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $3.79 |
Fail closed when action-element classification cannot cover an entity and apply actor thresholds per candidate harness before CEL. Signed-off-by: Barak Korren <bkorren@redhat.com> Assisted-by: Codex (gpt-5.6-sol)
|
🤖 Finished Review · ✅ Success · Started 11:51 AM UTC · Completed 12:10 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $4.66 |
Superseded by updated review
Summary
Decision
Event-driven dispatch supplies both the resolved entity and prompting event. Scheduled discovery supplies the entity with a null event. Harnesses with entity sources keep one predicate that may inspect either or both contexts; harnesses without entity sources remain event-only.
Harness enablement and platform policy permit scheduled evaluation. Entity history remains untrusted input; trusted input-selection layers determine which actor-originated instructions are authorized and actionable before they control agent behavior. Every run uses the harness configured identity and permissions.
The detailed normalized-entity, handled-state, and query-planning contract remains follow-up normative work. Efficient cross-entity enumeration may require provider-specific indexing, while persistence may use existing entity state or explicit receipts. Singleton scheduled runs without a natural entity remain outside this ADR.
This captures the architecture discussion in #313. Stable entity identity supports the serialized follow-up model in dependent PR #6909 (ADR 0106).
Verification