Repository navigation
chore: release - merge dev into main - #1557
Merged
Merged
Conversation
A profile may list outcomes that satisfy requiresPushedChanges instead of a push (only pr-response exists). The flag is rejected at load time unless requiresPushedChanges is true, so no agent inherits an alternative implicitly. Nothing consumes the flag yet (plan 025/1, task 1). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ate pushed-changes outcomes readCompletionEvidence now reads the PR-response sidecar (url + kind, malformed files are evidence of nothing) and, given repoDir + initialHeadSha, the repository state (clean tree, HEAD unchanged). evaluatePushedChanges checks the push branch first and then each declared alternative, fail-closed, returning one rejection reason per branch. Nothing calls the evaluator yet (plan 025/1, tasks 2-3). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…lternatives getCompletionFailure now routes the pushed-changes requirement through evaluatePushedChanges. Profiles without alternatives keep the exact legacy error and prompt. Profiles with alternatives get COMPLETION_ERROR_NO_PUSH_OR_RESPONSE, the per-outcome rejections, and a continuation prompt that names an already recorded response and forbids re-posting it (plan 025/1, task 4). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ome rejections decideContinuation logs INFO with pushedChangesOutcome when the pushed-changes requirement is met, and carries the per-outcome rejections on the continuation WARN and on a new exhaustion WARN, so a run log alone explains the decision. Adds tests/helpers/tempGitRepo.ts and moves the repo-state tests onto it (plan 025/1, task 5). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…uation postProcessResult takes the evaluatePushedChanges verdict (plus the requirement-specific error) instead of a boolean, logs the satisfied outcome or every rejection, and the adapter derives both from the same evidence read. secretOrchestrator forwards pushedChangesAlternatives into completionRequirements so the worker-side evaluator sees declared alternatives. A guard test keeps the shared completion modules free of agent-type names (plan 025/1, task 6). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…pawn budget The three cascade-tools tests spawn the built oclif CLI, whose cold boot is 2-5 s and slower under full-suite CPU pressure. They already allow the spawn 30 s but ran under vitest's 5 s default, so a loaded machine turned them red (observed twice during npm run verify). One named constant now feeds both budgets. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…rnatives Plan 025/1 changelog entry and progress record. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- readRepoState git calls carry a 10 s timeout so a wedged git fails the comment-only outcome closed instead of blocking the turn - RepoStateEvidence records initialHeadSha; outcome checks are pure functions of evidence and the 'run start' fallback is gone - applyCompletionEvidence reads only the PR sidecar (no second git shell-out per turn once repoDir is wired) - getCompletionFailure passes the alternatives straight to pushedChangesFailure - evaluator tests pin the exported rejection constants instead of regexes - CLI-spawn test budgets live once in tests/helpers/cliSpawnBudget.ts, with the per-test budget strictly above the spawn budget; both new helpers are listed in tests/README.md Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Shared, fail-closed pushed-changes alternatives: schema flag, evidence model, evaluator, outcome-aware prompt, loop + post-run logging. Dormant until plan 3 opts the PR-comment agent in. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…alternatives # Conflicts: # CHANGELOG.md
Resolves GHSA-2883-xcg3-v3hh (js-yaml maxTotalMergeKeys CPU DoS) that failed the `npm audit --omit=dev --audit-level=high` CI step. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…om/mongrel-intelligence/cascade into feat/025-1-completion-alternatives
…ion-alternatives feat(backends): completion contracts can declare pushed-changes alternatives (spec 025, plan 1/3)
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This branch was successfully deployed
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.
Automated release PR created by the release workflow.
Commits (15):