You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: reconcile the optimize-skill branch with main's CE035 and run-limit work
Integration fixes the rebase onto main exposed, in one place rather than
smeared across 175 replayed commits.
**The CE035 collision.** Main shipped CE035 as the workflow-output resolver
(`tests/lint/workflow_outputs.py`) while this branch shipped CE035 as the
split-label rule. A `# noqa` keys on the id, so one suppression would disarm
both — exactly what `test_rule_ids_are_unique_across_baserules_and_test_classes`
says. The unmerged one renumbers: the split-label rule is **CE060** now, in the
test class, CLAUDE.md, `tasks/skills/ci-outcome.yaml`, tutorial 09 and
`plan_command`'s pointer. Main's CE035 keeps its number and its file.
Main's `.claude/harness-candidates.md` also reserved four numbers this branch has
since implemented (CE036, CE037, CE040, CE041) plus CE042 for the sleep-loop
candidate. Those reservations move to CE061–CE065, because the backlog is one of
the two places CLAUDE.md tells an author to grep before claiming a number, and a
reservation pointing at a shipped rule is worse than no reservation.
**Main's new code under this branch's new rules.** `task_loader`'s
`system_prompt_file` seam (main, #92) is a `model_copy(update={...})`, which CE048
now forbids outside `models/copy_with.py`; it becomes `copy_with(...)`, whose
delegation to `model_copy` keeps the validator-skipping the two comments there
describe — so the comments were corrected rather than left half-true.
**Two conflicts resolved toward keeping both behaviours**, noted here because the
replayed commits do not say so: `criteria/agent_judge.py` forces main's
`system_prompt_file=None` / `system_prompt_mode="replace"` in the SAME
`model_validate` payload as the branch's CE048 conversion (they are mutually
exclusive under `validate_assignment=True`, so a sequential assignment raises),
and `plan`'s per-variant `validate_run_limits` warnings (main) moved into the
branch's `_report_variants`, escaped for CE050.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments