(MOT-4269) fix(harness): stabilize reactive E2E execution - #620
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (17)
📝 WalkthroughWalkthroughThe PR updates suite-change detection, partial metrics aggregation, reactive child ownership and failure notifications, and E2E execution watchdogs. Scenario evaluation also gains revised fallback-documentation rules and associated tests. ChangesSuite change detection
Partial session metrics
Reactive child ownership
E2E progress watchdog
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant ReactionRegistration
participant ReactiveSpawner
participant OwnerSession
participant ChildTurn
ReactionRegistration->>ReactiveSpawner: submit typed spawn request
ReactiveSpawner->>OwnerSession: load owner turn record
OwnerSession-->>ReactiveSpawner: return inherited owner metadata
ReactiveSpawner->>ChildTurn: seed reactive child
ChildTurn-->>OwnerSession: send failure notification when execution fails
sequenceDiagram
participant E2eSuite
participant E2eContext
participant SessionStatus
participant SessionMetrics
participant SessionTree
E2eSuite->>E2eContext: wait using stuck timeout
E2eContext->>SessionStatus: poll root status
E2eContext->>SessionMetrics: poll metrics
SessionStatus-->>E2eContext: status snapshot
SessionMetrics-->>E2eContext: metrics snapshot
E2eContext->>SessionTree: stop tree after no observable progress
E2eContext-->>E2eSuite: return result or failure observation
Possibly related PRs
Suggested reviewers: Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
skill-check — worker0 verified, 49 skipped (no docs/).
Four for four. Nicely done. |
Summary
Root cause
The failing workflow was selected by a quickstart-only change because all source changes under
harness/were treated as integration and E2E inputs. Once selected, the reactive scenario exposed three additional reliability gaps: reaction-spawned turns lost durable owner context, the runner used a fixed wall-clock deadline while returning empty metrics for incomplete session trees, and the one-million-token shared budget could be exhausted by discovery before the three writers started. Those behaviors could stop a progressing run and leave little diagnostic evidence.The reactive automation prompt itself is unchanged. Its existing exact requirements for 15 events and rows, trigger provenance, the named finalizer, and cleanup remain enforced.
Regression run: https://github.com/iii-hq/workers/actions/runs/30410549175
Validation
cargo test --locked --manifest-path harness/Cargo.toml -p harnesscargo test --locked --manifest-path harness/Cargo.toml -p harness-e2ecargo clippy --locked --manifest-path harness/Cargo.toml -p harness -p harness-e2e -p harness-integration --all-targets -- -D warningsmake -C harness integration-validate(11 fixtures)INT-005reaction policy inheritance scenario (pass)reactive_automationwithzai/glm-5.2(100/100, 1/1 pass)git diff --checkFixes MOT-4269
Refs MOT-4253
Summary by CodeRabbit
New Features
Bug Fixes
Tests