mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
fix(control): renew the planner budget on Goal spend resume
Problem: A dual-model Goal resumed after a spend-budget pause can stop its new planner research after one tool round despite the user renewing the slice. Root cause: ResumeGoal resets only the executor's local budget. The tool planner keeps its own Agent accumulator and stricter local gate, so renewing the shared executor root does not clear that old planner spend. Fix: On a successful budget-spend resume, also reset the existing companion planner Agent through the runner's established accessor. Preserve manual pauses, refused resumes, cumulative Goal statistics and delivery evidence. No new API, default, cancellation authority, prompt or persisted format. Verification: Actual Controller/Coordinator loop reproduces two resumed planner requests instead of four on the preceding owner. Actual Boot plus HTTP/SSE reads three fixture files per renewed slice; the exact old owner overlay compiles and fails both regressions with four passing controls. Full 239-package coverage reconciles 24061 unique test/subtest passes and 215 existing skips. The original Boot command hit its 15m package alarm; all 846 top names close via 842 original terminals and disjoint 2/2-name remainder groups, without raising timeouts. Complete control/coordinator race1758 passes/4 existing skips, actual Boot race1 pass, static gates and Windows/Linux compile-only checks pass. New-head hosted/native gates remain.
This commit is contained in:
1 parent
74805c102c
commit
b3ba6ee899
6 files changed
+390
No files matched your search
@@ -402,6 +402,35 @@ jobs:
|
||||
if-no-files-found: ignore
|
||||
retention-days: 7
|
||||
|
||||
- name: test (Windows resumed Goal planner budget)
|
||||
if: env.RUN_STEPS == 'true' && runner.os == 'Windows' && github.event_name == 'pull_request'
|
||||
shell: bash
|
||||
run: |
|
||||
set -o pipefail
|
||||
go test -count=1 -timeout=3m -json -run '^Test(GoalResumeRenewsPlannerBudget|GoalNonBudgetResumeKeepsPlannerBudget|GoalTokenBudgetPausesAndResumes|EffectGoalResumeRenewsPlannerBudget)$' ./internal/session/control ./internal/assembly/boot | tee "$RUNNER_TEMP/goal-planner-resume.jsonl"
|
||||
jq -se '
|
||||
["TestGoalResumeRenewsPlannerBudget",
|
||||
"TestGoalNonBudgetResumeKeepsPlannerBudget",
|
||||
"TestGoalNonBudgetResumeKeepsPlannerBudget/manual_pause",
|
||||
"TestGoalNonBudgetResumeKeepsPlannerBudget/not_resumable",
|
||||
"TestGoalTokenBudgetPausesAndResumes",
|
||||
"TestEffectGoalResumeRenewsPlannerBudget"] as $required |
|
||||
[.[] | select(.Test != null and .Action == "pass") | .Test] as $passed |
|
||||
[.[] | select(.Test == null and .Action == "pass") | .Package] as $packages |
|
||||
all(.[]; .Action != "fail" and .Action != "skip") and
|
||||
(($required - $passed) | length == 0) and
|
||||
((["reasonix/internal/session/control", "reasonix/internal/assembly/boot"] - $packages) | length == 0)
|
||||
' "$RUNNER_TEMP/goal-planner-resume.jsonl"
|
||||
|
||||
- name: upload Windows resumed Goal planner budget inventory
|
||||
if: always() && env.RUN_STEPS == 'true' && runner.os == 'Windows' && github.event_name == 'pull_request'
|
||||
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
|
||||
with:
|
||||
name: goal-planner-resume-windows-${{ github.run_attempt }}
|
||||
path: ${{ runner.temp }}/goal-planner-resume.jsonl
|
||||
if-no-files-found: error
|
||||
retention-days: 7
|
||||
|
||||
- name: test (Windows root wall budget)
|
||||
if: env.RUN_STEPS == 'true' && runner.os == 'Windows' && github.event_name == 'pull_request'
|
||||
timeout-minutes: 5
|
||||
|
||||
Reference in new issue
Block a user