Repository navigation
arch(ws-6a): add canonical loop executor - #3596
Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
SummaryReviewed WS6a PR #3596 only. Canonical executor has blocking cancellation/semantic-error handling issues, plus test suite does not compile. Validation:
Findings
Security/data-flow notes
Missing tests
|
Review notes — WS6a canonical executorArchitecture is solid; checkpoint protocol is WS10-ready. Four items to address before un-drafting. 1. Dead
|
|
WS6a follow-up pushed in Addressed the remaining review items I could verify locally:
Local validation on this head:
|
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: af9a668b72
ℹ️ 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".
| match planner.gate().handle(&state, &summary).await { | ||
| GateOutcome::Block { gate } => { |
There was a problem hiding this comment.
Enforce gate outcome validation before honoring skips
handle_gate consumes planner.gate().handle(...) directly without calling GateOutcome::validate_for_gate_kind. That lets an approval gate be returned as SkipAndContinue, so an ApprovalRequired capability can be silently dropped and the loop continues instead of blocking for approval. The gate contract explicitly marks this combination invalid and expects a fail-closed path (LoopFailureKind::DriverBug), so this omission weakens approval enforcement for custom families/strategies.
Useful? React with 👍 / 👎.
* arch(ws-6a): add canonical loop executor * fix(ws-6a): enforce capability filter and checkpoint marker * fix(ws-6a): pin executor calls to current surface * fix(ws-6a): derive batch policy from visible calls * fix(ws-6a): preserve control inputs and cancellation * fix(ws-6a): align executor with level2 contracts * fix(ws-6a): remove panic fallback exits * fix(ws-6a): clear retry state after progress * fix(ws-6a): satisfy executor batch step clippy * fix(ws-6a): address canonical loop review feedback
Context
Canonical executor foundation. This is the branch that turns the strategy/family/planner model into a reusable loop tick.
Master spec:
docs/reborn/agent-loop-skeleton.mdWorkstream brief:
docs/reborn/agent-loop-briefs/canonical-executor.mdStack base:
arch/level2-mergedLatest stack maintenance on 2026-05-14:
origin/reborn-integrationthrough WS17 before publishing the PR descriptions.What landed
CanonicalAgentLoopExecutorandAgentLoopExecutor::execute_family(...)entry point.Reviewer focus
AgentLoopDriverHostports.Non-goals / deferred work
AgentLoopDriveradapter lands in WS7.Validation
cargo check -p ironclaw_agent_looparch/level2-merged -> arch/ws-6a.Stack position