Repository navigation
Add stateful default audits and four-hour exhaustive campaigns - #1132
Merged
Merged
Conversation
This was referenced Sep 22, 2026
This was referenced Sep 26, 2026
aviggiano
pushed a commit
that referenced
this pull request
Sep 28, 2026
…tional (#1160) * fix(artifacts): only review tasks treat continuing-group inputs as optional #1120 narrowed the runtime compiler so that inputs from failure_policy "continue" groups are optional only for review tasks: continuation lets independent tasks settle, but only the review group reconciles partial results. The task-manifest validator (#621) kept the old rule and still expects every task that depends on a continuing group to list those inputs as optional. Any topology where a non-review task depends on a continuing group therefore fails at submission, after reference materialization: WORKFLOW_SUBMISSION_FAILED: workflow runner task "stateful-invariant-handlers" optional dependency artifact directories do not match That has applied to the packaged exhaustive and invariant-only topologies since #1120, and to the default topology since #1132 added the continuing specialists group. Align the validator with the compiler and add a regression test. Four test fixtures modelled review consumers (final report, dedupe, a modal consumer) without declaring group "review", which only passed under the old rule; they now declare it. Runs sealed before #1120 are unaffected in practice: #1120 moved sealed resolved config to v4 and put resumption of older runs out of scope. Refs #1140 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(artifacts): avoid non-null assertions flagged by strict diff lint Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: thankyou <> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
9 tasks
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.
Shift audit effort from repeated ordinary strategies into stateful fuzzing. Fresh default projects now include all five invariant stages, and exhaustive spends four hours fuzzing one shared suite of selected properties.
Keep explicit project and runtime overrides authoritative. Separate packaged defaults from the repository's editable configuration, and omit profile-managed settings during initialization so switching profiles inherits the correct values. Effective loop reporting follows the selected topology.
Reference expectation tags remain provenance metadata and do not bypass normal priority selection. The benchmark-specific invariant-only profile retains explicit mandatory selection. Prompts, artifact gates, shared coverage validation, and generated final reports use the same resolved policy; excluded expected checks remain visible as unselected, never fulfilled. Existing sealed configurations retain their legacy interpretation.
Exhaustive's campaign task allows 16,200 seconds, with inherited per-node Modal resources providing another 1,800 seconds for lifecycle work. Explicit undersized global or node resource caps fail before submission. The existing 24-hour workflow deadline still bounds all stages and retries. Public full benchmark rows capped at 15,000 seconds reject the four-hour profile before credential access instead of shortening the campaign or silently raising paid budgets; local and per-node Modal execution support the new duration.
Validation passed: full workspace build; 94 configuration, 352 artifact, 73 topology, 104 prompt, 685 Modal, 212 runtime support, and 8 runtime budget/cloud tests; TypeScript, changed-code strict lint, formatting, generated docs, and Knip. Independent source review has no outstanding findings. Packed installation passed for all 12 packages, including fresh init and validation; packaged profile-asset validation and all 102 CI-script tests passed. The six CLI smoke cases and 54 runtime smoke cases passed (one stale run-plan assertion was corrected and rerun separately). No paid inference or cloud workload was launched.
This PR is stacked on #1131 to inherit the CI repairs and patched ZIP dependency. Merge #1131 first, then target this PR at
main; its diff contains only the profile revision.Fixes #1130
The PR appears safe to merge; no outstanding correctness, security, or repository-rule issue was identified.
Summary
This PR shifts the default and exhaustive audit profiles toward stateful invariant fuzzing, adds profile-aware property-selection policy, and introduces validated timeout envelopes for four-hour exhaustive campaigns.
Diagram
%%{init: {'theme': 'neutral'}}%% flowchart LR A[Packaged defaults] --> D[Configuration resolution] B[Selected audit profile] --> D C[Project and runtime overrides] --> D D --> E[Resolved invariant policy] E --> F[Property selection] E --> G[Prompt rendering] E --> H[Artifact validation and reporting] D --> I[Resolved task timeout] I --> J{Execution mode} J --> K[Local execution] J --> L[Modal admission] L --> M{Explicit resource cap sufficient?} M -->|No| N[Reject before submission] M -->|Yes| O[Run task with lifecycle reserve]Reviews (3) · Last reviewed commit: "Align cloud handoff fixture limits with ..."