Batch: agent work from agent-develop #101
Loading…
Reference in a new issue
No description provided.
Delete branch "agent-develop"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
One batch of agent work, integrated on
agent-developand conflict-free againstdevelop.Commits:
Merged issue PRs:
Merge pull request 'feat(plan): typed steps carry id, allow_failure, timeout_seconds' (#99) from issue/89-typed-steps into agent-develop
Merge pull request 'Sync develop into agent-develop' (#100) from develop into agent-develop
CI runs on this PR: the five required contexts on
developmust be green before it is merged.Every contained PR was already green on its own branch.
Refs (#26 etc. - no closing keywords).
Plan.steps: string[] on wire stays byte-identical. Add optional typed overlay via contract.typedSteps; bare string[] clients keep working unchanged. - normalizeStepInput maps `string | {run, id?, allow_failure?, timeout_seconds?, description?}` onto a Plan.steps entry (run[]) and a contract.typedSteps entry (typed); both paths are read by the agent and the dashboard. - Prose steps are rejected at create time with the 1-based offending index (skipped when steps contain an agent block). The length violation now names the index and the actual length; "step longer than 64 chars" is gone. - allow_failure is enforced at middleware scoring time only; Go's Step has no such field and unknown YAML keys are ignored. timeout_seconds (1..86400) is emitted as the YAML `timeout:` for repo plans. - New migration 0033_plan_typed_steps (typedSteps on plan_contract jsonb). - UC-MW-174 typed steps surface; UC-MW-175 prose rejection at create time. - 11 new tests (typed-step creation, normalizeStepInput, planFingerprint unchanged, the patched steps, the AllowFailure scoring seam, expiry-1.. 86400, dbColumn round-trip via the contract). Gates: - UC-MW-174 + UC-MW-175: 11 pass / 0 fail / 29 expect() / 16.15 s - middleware/tests/uc-mw-cluster2-plans.test.ts: 17 pass / 1 fail (UC-MW-35 DELETE idempotent — pre-existing on base038c94b, unrelated to this change) - docs/use-cases/_check.py: 366 UCs conform - scripts/check-ai-headers.py: 579 ok / 0 missing / 0 malformed - scripts/check-type-mirror.py: clean (4 dashboard-only types noted as info) Refs #89