@arbiterforge/ca-pi 0.18.3 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/plugins/ca-pi/CHANGELOG.md +60 -0
- package/plugins/ca-pi/COMMANDS.md +2 -2
- package/plugins/ca-pi/SKILLS.md +5 -5
- package/plugins/ca-pi/SPRINT.md +43 -230
- package/plugins/ca-pi/agents/backend-author.md +5 -5
- package/plugins/ca-pi/agents/checkpoint-aggregator.md +7 -0
- package/plugins/ca-pi/agents/frontend-author.md +5 -5
- package/plugins/ca-pi/agents/infra-author.md +6 -7
- package/plugins/ca-pi/agents/scout.md +25 -24
- package/plugins/ca-pi/arbiter.md +6 -4
- package/plugins/ca-pi/generated/command-catalog.json +5 -5
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-darwin-amd64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-darwin-arm64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-linux-amd64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-linux-arm64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-windows-amd64.exe +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-windows-arm64.exe +0 -0
- package/plugins/ca-pi/helpers/artifacts/release.json +37 -37
- package/plugins/ca-pi/hooks/_approvallib.py +41 -0
- package/plugins/ca-pi/hooks/_artifactlib.py +61 -115
- package/plugins/ca-pi/hooks/_artifactpromptlib.py +12 -12
- package/plugins/ca-pi/hooks/_bashguardlib.py +66 -4
- package/plugins/ca-pi/hooks/_contextselectlib.py +38 -35
- package/plugins/ca-pi/hooks/_contextwriterlib.py +114 -0
- package/plugins/ca-pi/hooks/_host.py +1 -1
- package/plugins/ca-pi/hooks/_prerequisitelib.py +35 -0
- package/plugins/ca-pi/hooks/_provenancelib.py +107 -1
- package/plugins/ca-pi/hooks/_readinjectlib.py +21 -7
- package/plugins/ca-pi/hooks/_reconciliationlib.py +170 -3
- package/plugins/ca-pi/hooks/_releaselib.py +6 -6
- package/plugins/ca-pi/hooks/_sprintapprovallib.py +52 -2
- package/plugins/ca-pi/hooks/artifact-reconcile.py +13 -4
- package/plugins/ca-pi/hooks/hostapi.py +1 -1
- package/plugins/ca-pi/hooks/init-codearbiter.py +34 -5
- package/plugins/ca-pi/includes/artifacts-attestation.md +434 -0
- package/plugins/ca-pi/includes/artifacts.md +133 -492
- package/plugins/ca-pi/includes/author-tdd-workflow.md +32 -21
- package/plugins/ca-pi/includes/fresh-verification.md +14 -12
- package/plugins/ca-pi/includes/harvest.md +3 -3
- package/plugins/ca-pi/includes/reference-map.md +1 -1
- package/plugins/ca-pi/includes/routing-table.md +3 -3
- package/plugins/ca-pi/includes/sprint-authority.md +6 -1
- package/plugins/ca-pi/includes/verification-boundary.md +11 -2
- package/plugins/ca-pi/package.json +1 -1
- package/plugins/ca-pi/routines/INDEX.md +8 -8
- package/plugins/ca-pi/routines/brainstorming/SKILL.md +65 -202
- package/plugins/ca-pi/routines/commit-gate/SKILL.md +60 -25
- package/plugins/ca-pi/routines/context-check/SKILL.md +89 -53
- package/plugins/ca-pi/routines/context-creation/SKILL.md +114 -220
- package/plugins/ca-pi/routines/decompose/SKILL.md +139 -167
- package/plugins/ca-pi/routines/executing-plans/SKILL.md +38 -136
- package/plugins/ca-pi/routines/finishing-a-development-branch/SKILL.md +45 -55
- package/plugins/ca-pi/routines/refactor/SKILL.md +27 -12
- package/plugins/ca-pi/routines/release/SKILL.md +1 -1
- package/plugins/ca-pi/routines/subagent-driven-development/SKILL.md +80 -230
- package/plugins/ca-pi/routines/tdd/SKILL.md +115 -228
- package/plugins/ca-pi/routines/writing-plans/SKILL.md +104 -174
- package/plugins/ca-pi/skills/ca-audit/SKILL.md +2 -2
- package/plugins/ca-pi/skills/ca-checkpoint/SKILL.md +1 -1
- package/plugins/ca-pi/skills/ca-commit/SKILL.md +60 -25
- package/plugins/ca-pi/skills/ca-context-check/SKILL.md +89 -53
- package/plugins/ca-pi/skills/ca-create-context/SKILL.md +114 -220
- package/plugins/ca-pi/skills/ca-decompose/SKILL.md +139 -167
- package/plugins/ca-pi/skills/ca-feature/SKILL.md +21 -38
- package/plugins/ca-pi/skills/ca-fix/SKILL.md +15 -9
- package/plugins/ca-pi/skills/ca-init/SKILL.md +18 -40
- package/plugins/ca-pi/skills/ca-pr/SKILL.md +45 -55
- package/plugins/ca-pi/skills/ca-refactor/SKILL.md +27 -12
- package/plugins/ca-pi/skills/ca-release/SKILL.md +1 -1
- package/plugins/ca-pi/skills/ca-review/SKILL.md +5 -8
- package/plugins/ca-pi/skills/ca-sprint/SKILL.md +11 -25
- package/plugins/ca-pi/skills/ca-status/SKILL.md +15 -6
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ and durable project context. You decide. codeArbiter enforces.
|
|
|
10
10
|
<img alt="Claude Code plugin" src="https://img.shields.io/badge/Claude_Code-plugin-d97757">
|
|
11
11
|
<img alt="Codex plugin" src="https://img.shields.io/badge/OpenAI_Codex-plugin-10a37f">
|
|
12
12
|
<img alt="Pi Feature Forge preview" src="https://img.shields.io/badge/ca--pi-Feature_Forge_preview-d97757">
|
|
13
|
-
<img alt="version
|
|
13
|
+
<img alt="version 3.0.0" src="https://img.shields.io/badge/version-3.0.0-2b7489">
|
|
14
14
|
<img alt="core lanes" src="https://img.shields.io/badge/core_lanes-18-555">
|
|
15
15
|
<img alt="skills" src="https://img.shields.io/badge/skills-22-555">
|
|
16
16
|
<img alt="agents" src="https://img.shields.io/badge/agents-20-555">
|
package/package.json
CHANGED
|
@@ -4,6 +4,66 @@ All notable changes to `ca-pi` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.19.0] - 2026-10-14
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Keep routine artifact context assistive and smaller: move optional strict
|
|
12
|
+
legacy receipt, approval, and recovery reference procedures out of the
|
|
13
|
+
default artifact include. Load them only when an explicit proof/old-state
|
|
14
|
+
consumer needs them. No artifact permission gate or model reviewer is added.
|
|
15
|
+
|
|
16
|
+
- Keep command-result applicability aligned with the exact referenced
|
|
17
|
+
acceptance criteria and bounded task/shared source inputs plus known build
|
|
18
|
+
controls. Distinguish `scoped_changed`, `scoped_unchanged` and
|
|
19
|
+
`unassessed` without pretending that a partial fingerprint proves tests,
|
|
20
|
+
shared imports or independent review.
|
|
21
|
+
- Record mixed 0.3.1/0.3.2 engine compatibility and fail-closed old-client
|
|
22
|
+
behavior in disposable cross-binary fixtures; preserve historical files,
|
|
23
|
+
receipts and post-upgrade edits rather than promising a destructive downgrade.
|
|
24
|
+
- Normal feature/sprint execution guidance uses advisory plan state and real
|
|
25
|
+
checks instead of mandatory artifact approval codes or per-task reviewer fleets.
|
|
26
|
+
Recorded-intent conflicts and material ADR supersession remain visible without
|
|
27
|
+
becoming an additional permission protocol.
|
|
28
|
+
- Add read-only `task-context` to deliver one bounded task and its directly
|
|
29
|
+
referenced criteria/dependencies/prerequisites without an evidence snapshot,
|
|
30
|
+
reviewer dispatch, or persistent context ticket. Stale and oversized requests
|
|
31
|
+
fail explicitly; this is not a host-qualification claim.
|
|
32
|
+
- Start the assistive state-engine overhaul in PR #983: native work tracking no
|
|
33
|
+
longer requires artifact approval codes or context tickets.
|
|
34
|
+
- Record task-scoped prerequisite observations and completed implementation
|
|
35
|
+
batches separately from verified acceptance, with compact symbol reads and
|
|
36
|
+
human-readable HTML. New records use schema 0.3.2; historical reads retain
|
|
37
|
+
their bytes and evidence.
|
|
38
|
+
- Native plan authoring no longer requires artifact approval or every future
|
|
39
|
+
reviewer/verification adapter; generated planning guidance uses coherent work
|
|
40
|
+
units rather than mandatory five-minute slices.
|
|
41
|
+
- Explicit batch reviews can select fresh passing reruns of still-reviewed work
|
|
42
|
+
without recreating each task review. Original evidence remains distinct, and
|
|
43
|
+
source/support/workspace integrity is still checked.
|
|
44
|
+
- Align runtime adapter identities and the second Codex package manifest with
|
|
45
|
+
the unreleased candidate versions.
|
|
46
|
+
- Retire *unanswered* paired-approval and ARMED prerequisite prompts
|
|
47
|
+
through existing internal helpers without obtaining another code; submitted
|
|
48
|
+
pairs and confirmed prerequisites retain exact recovery, while old standalone
|
|
49
|
+
approvals fail closed rather than guessing that no user replied.
|
|
50
|
+
- Retire unanswered legacy reconciliation prompts with an explicit superseded
|
|
51
|
+
disposition, without a new approval code. Committed or uncertain attempts
|
|
52
|
+
retain exact replay/recovery; no task state or evidence is forged by cleanup.
|
|
53
|
+
- Preserve ordinary task command results as bounded, caller-reported
|
|
54
|
+
pass/fail/skip/unknown observations. Definition drift is visible, source
|
|
55
|
+
freshness remains explicitly unassessed, and no review/approval is invented.
|
|
56
|
+
- Canonicalize macOS temporary-directory aliases before validating the native
|
|
57
|
+
reconciliation root, retaining the existing unsafe-path/attempt refusals.
|
|
58
|
+
- This is an unreleased source candidate. Host-workflow conversion, full upgrade
|
|
59
|
+
qualification, and publication remain tracked by the overhaul PR.
|
|
60
|
+
|
|
61
|
+
## [0.18.4] - 2026-10-13
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- Fix task reconciliation for Unicode text while preserving armed requests and prompt-route integrity.
|
|
66
|
+
|
|
7
67
|
## [0.18.3] - 2026-10-13
|
|
8
68
|
|
|
9
69
|
### Fixed
|
|
@@ -38,8 +38,8 @@ loads only when that route is invoked. Never bulk-read the directory.
|
|
|
38
38
|
|
|
39
39
|
| Command | Argument | Purpose |
|
|
40
40
|
|---|---|---|
|
|
41
|
-
| `/ca-feature` | `"description"` |
|
|
42
|
-
| `/ca-sprint` | `["goal"] [--farm]` |
|
|
41
|
+
| `/ca-feature` | `"description"` | Clarify the agreed outcome, maintain its spec and plan, and build test-first within the authorized scope. This is the entry to new behavior. |
|
|
42
|
+
| `/ca-sprint` | `["goal"] [--farm]` | Maintain the agreed spec and plan, execute authorized work, and report actual checks and material decisions. `--farm` is an off-by-default Feature Forge preview that requires `FARM_API_KEY`. |
|
|
43
43
|
| `/ca-fix` | `"bug description"` | Prove a confirmed defect with a failing regression test, then make the smallest fix. |
|
|
44
44
|
| `/ca-refactor` | `"surface and motivation"` | Restructure behind behavioral parity proven by unchanged pre-existing tests. |
|
|
45
45
|
| `/ca-chore` | `<docs\|deps\|revert> …` | Route non-behavioral work through type-scaled gates. |
|
package/plugins/ca-pi/SKILLS.md
CHANGED
|
@@ -36,11 +36,11 @@ skill is invoked — never bulk-read this directory.
|
|
|
36
36
|
|---|---|
|
|
37
37
|
| `/ca-add-dep` | Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs. |
|
|
38
38
|
| `/ca-chore` | Sanctioned lane for non-behavioral work — docs-only edits, dependency bumps, reverts. Type-scaled gates; no TDD demanded of prose. |
|
|
39
|
-
| `/ca-feature` |
|
|
39
|
+
| `/ca-feature` | Build an authorized feature from a maintained specification, testable criteria and useful plan, without duplicating user approval. |
|
|
40
40
|
| `/ca-fix` | Fix a confirmed bug: a failing regression test first, then a minimal fix, then the rest of the tdd gates. |
|
|
41
41
|
| `/ca-refactor` | Restructure code without changing observable behavior: rename, extract, inline, move, deduplicate, or replace an internal implementation with an equivalent one. Prove parity through unchanged pre-existing tests. Not for new behavior, bug fixes, explanation-only questions, or committing finished work. |
|
|
42
42
|
| `/ca-spike` | Exploratory spike on a throwaway branch — answer a named question with disposable code. Never merges; exits to a findings note or /ca-feature. |
|
|
43
|
-
| `/ca-sprint` |
|
|
43
|
+
| `/ca-sprint` | Run an autonomous sprint from maintained specs and plans, with truthful verification and no duplicate artifact approval ceremonies. |
|
|
44
44
|
|
|
45
45
|
### Review
|
|
46
46
|
|
|
@@ -115,8 +115,8 @@ skill is invoked — never bulk-read this directory.
|
|
|
115
115
|
|
|
116
116
|
| Skill | Purpose | Replacement |
|
|
117
117
|
|---|---|---|
|
|
118
|
-
| `/ca-create-context` | Build project context
|
|
119
|
-
| `/ca-decompose` | Develop greenfield
|
|
118
|
+
| `/ca-create-context` | Build source-backed project context through bounded inspection, optional agents, and safe selected writes. | `/ca-init --brownfield` |
|
|
119
|
+
| `/ca-decompose` | Develop greenfield context from a durable interview and initialize it through the native context writer. | `/ca-init --greenfield` |
|
|
120
120
|
|
|
121
121
|
### Ship
|
|
122
122
|
|
|
@@ -129,7 +129,7 @@ skill is invoked — never bulk-read this directory.
|
|
|
129
129
|
|
|
130
130
|
| Skill | Purpose | Replacement |
|
|
131
131
|
|---|---|---|
|
|
132
|
-
| `/ca-context-check` |
|
|
132
|
+
| `/ca-context-check` | Inspect context drift and refresh selected source-backed documents under existing authorization. | `/ca-status drift` |
|
|
133
133
|
|
|
134
134
|
## Internal
|
|
135
135
|
|
package/plugins/ca-pi/SPRINT.md
CHANGED
|
@@ -1,261 +1,74 @@
|
|
|
1
|
-
<!-- codeArbiter
|
|
2
|
-
loaded on demand when /ca-sprint (commands/sprint.md) is invoked; the command
|
|
3
|
-
file is the thin entry point, this file is the procedure. -->
|
|
1
|
+
<!-- codeArbiter /sprint body. Loaded by the existing sprint command. -->
|
|
4
2
|
|
|
5
|
-
# /sprint
|
|
3
|
+
# /sprint - autonomous, assistive execution
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
that is not a true hard gate. Every auto-decision is logged. Hard gates are real stops, rare by design.
|
|
5
|
+
The user's sprint request authorizes the agreed work. Build and maintain its spec and plan, then execute **without a second artifact approval system**. Make ordinary in-scope method decisions, record meaningful deviations, verify outcomes, and report real blockers. Do not make the user repeatedly certify prerequisites or evidence identities.
|
|
9
6
|
|
|
10
|
-
##
|
|
7
|
+
## Representation and resume
|
|
11
8
|
|
|
12
|
-
For new sprint work or an existing
|
|
13
|
-
`<plugin-root>/includes/artifacts.md` before resume classification or artifact
|
|
14
|
-
I/O. Call `_select_authoring_route` with the trusted project root, slug,
|
|
15
|
-
`workflow: sprint`, and `lane: full`; use only its returned format and paths. For a selected HTML
|
|
16
|
-
route it checks the installed capability before writing; a missing or invalid
|
|
17
|
-
helper is a STOP and the workflow must not fall back to Markdown.
|
|
18
|
-
Its validated identity, authority, binding and task-state operations replace the
|
|
19
|
-
`.md` and status-column assumptions below for that pipeline. An existing `.md`
|
|
20
|
-
pair remains on the legacy path. Discovery requires a
|
|
21
|
-
complete same-extension spec/plan pair: select that exact pair as authoritative. A
|
|
22
|
-
mixed-extension or duplicate match is a STOP. A lone spec resumes in its exact format, and the
|
|
23
|
-
next plan must use the same extension. The workflow must not create, rename, or
|
|
24
|
-
convert its counterpart to repair ambiguity. New full-lane sprint specs use the
|
|
25
|
-
installed structured-artifact engine and default to canonical `.html`. The HTML
|
|
26
|
-
path must block `--farm` before canary
|
|
27
|
-
or dispatch; do not project it into legacy farm JSON.
|
|
9
|
+
For new full sprint work or an existing HTML spec/plan, load `<plugin-root>/includes/artifacts.md` and use `_select_authoring_route` with the trusted root, slug, `workflow: sprint`, `lane: full`. New complete sprint artifacts default to canonical HTML through the pinned native writer. An existing Markdown pair remains Markdown; a complete same-extension spec/plan pair is authoritative. A mixed-extension or duplicate match is a STOP. A lone spec resumes in its exact format, and the next plan must use the same extension. Do not create, rename, or convert a counterpart to repair ambiguity.
|
|
28
10
|
|
|
29
|
-
|
|
11
|
+
**Resume first.** Resolve `_resolve_workflow_pair`. For an HTML pair, read state only through the installed engine `identity`, `index`, and symbol-scoped `read`. For a Markdown pair, use the existing Markdown status ledger. Resume either exact format without creating or consulting a shadow artifact. A task marked `IN_PROGRESS` requires inspection of running workers and partial work, not automatic redispatch. Do not demand a new approval because a session was restarted.
|
|
30
12
|
|
|
31
|
-
|
|
32
|
-
> design but count as zero current qualification evidence. The premium subagent path is the blessed
|
|
33
|
-
> default. The fresh-evidence promotion bar lives in `<plugin-root>/includes/farm.md`.
|
|
13
|
+
The HTML writer may refuse a genuinely invalid/missing payload; that means an artifact was not saved, not permission to invent a Markdown fallback. Ordinary safe investigation may continue. HTML `--farm` dispatch remains disabled.
|
|
34
14
|
|
|
35
|
-
|
|
36
|
-
selects the pluggable execution backend: Claude still authors the spec, the failing tests, and the plan,
|
|
37
|
-
but a worker (not a premium subagent) implements each task behind the same hard gates. Thread the flag
|
|
38
|
-
into Phase 1 (`writing-plans --farm`) and Phase 2 (the farm dispatch path in
|
|
39
|
-
`subagent-driven-development`); if `--farm` is set, pre-flight `FARM_API_KEY` and BLOCK if absent,
|
|
40
|
-
citing `<plugin-root>/includes/farm.md`, before brainstorming begins. Everything else about
|
|
41
|
-
`/sprint` (the one interactive gate, deciding-as-the-user, hard gates, logging) is identical between
|
|
42
|
-
backends. The worker-seam design (the cheap/premium/agentic policies the seam admits) lives in
|
|
43
|
-
`farm.md`; do not restate it here.
|
|
15
|
+
## Backend
|
|
44
16
|
|
|
45
|
-
|
|
17
|
+
Default is the normal agent-assisted implementation engine. Delegate when it helps; **one fresh premium subagent and two reviewers per task are not mandatory**. `/sprint --farm` remains a separately requested legacy Markdown preview backend governed by `<plugin-root>/includes/farm.md` and `subagent-driven-development/references/farm-dispatch.md`: do not run without real provider configuration and budget, bypass its circuit breaker, or silently switch to premium on a failure. No model is selected, charged, or invoked by the artifact writer alone.
|
|
46
18
|
|
|
47
|
-
|
|
48
|
-
bridge resolver `_resolve_workflow_pair` with the trusted project root and sprint
|
|
49
|
-
slug; its returned paths and format own this resume. Select a complete
|
|
50
|
-
same-extension spec/plan pair as authoritative. A lone spec resumes in its exact
|
|
51
|
-
format, and the next plan must use the same extension. A mixed-extension or
|
|
52
|
-
duplicate match is a STOP. For an HTML pair, obtain state only through the
|
|
53
|
-
installed engine `identity`, `index`, and symbol-scoped `read` operations. For a
|
|
54
|
-
Markdown pair, use the existing Markdown status ledger. Resume either exact format
|
|
55
|
-
without creating or consulting a shadow artifact; the workflow must not create,
|
|
56
|
-
rename, or convert its counterpart. Do not re-brainstorm — confirm the resume
|
|
57
|
-
with the user and re-enter per `/feature`'s Resume ladder (approved spec + plan with remaining
|
|
58
|
-
dependency-clean `PENDING` tasks → straight to Phase 2, executing only those tasks; the legacy
|
|
59
|
-
plan's `status` column or the typed engine's execution ledger is authoritative for its own format).
|
|
60
|
-
`BLOCKED` tasks remain non-selectable until their owning reconciliation path records a supported
|
|
61
|
-
transition. An interrupted sprint is re-entered, never restarted.
|
|
19
|
+
## Recorded intent before drafting
|
|
62
20
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
matching route-selected plan path. New sprint work uses `.html` through the
|
|
68
|
-
installed engine.
|
|
21
|
+
Perform the **recorded-intent read — BEFORE first material spec shaping, fail-soft**.
|
|
22
|
+
Read only relevant plan/decision index entries and expand cited records as needed.
|
|
23
|
+
Absent `plans/` or `decisions/` is never a STOP; it is
|
|
24
|
+
**intent: silent — no decomposition record**, not invented prior consent.
|
|
69
25
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
26
|
+
Do not silently contradict an accepted ADR or a recorded deferral when choosing
|
|
27
|
+
a different outcome. If the named re-evaluation trigger has occurred, the
|
|
28
|
+
decision is reopened; a current explicit owner direction also supersedes lower
|
|
29
|
+
priority history. Ask one consequential question when ownership is genuinely
|
|
30
|
+
unresolved: **one stop per record per sprint**, not repeated approval codes.
|
|
31
|
+
In the sprint log `intent:` goes AFTER the `confidence:` token for
|
|
32
|
+
the existing reader. When a conflict repeats, consider whether the planned
|
|
33
|
+
outcome is wrong **or the record itself is stale** before questioning the user
|
|
34
|
+
again. None of this is an approval prerequisite for routine work.
|
|
75
35
|
|
|
76
|
-
|
|
36
|
+
## Phase 1 - Establish a useful working agreement
|
|
77
37
|
|
|
78
|
-
|
|
79
|
-
explicit delegation terms. The installed private pair adapter in
|
|
80
|
-
`<plugin-root>/includes/artifacts.md` owns the combined one-reply transaction:
|
|
38
|
+
Use `brainstorming` for a missing spec and `writing-plans` for a missing plan. Bound the sprint goal, requirements, relevant acceptance criteria, real dependencies, and genuinely consequential decisions. Prefer source evidence and existing project decisions; read applicable ADR titles/index first, and only relevant full bodies. A missing planning index is not another user STOP. Avoid bulk context loads and repeated interviews about answered requirements.
|
|
81
39
|
|
|
82
|
-
|
|
83
|
-
`draft_for_pair: true` only for this full-lane initial sprint. Populate the same-slug plan as
|
|
84
|
-
`draft_preview`, validate both, and review their complete criteria, paths, tests and checkpoints.
|
|
85
|
-
Neither draft has execution authority. Do not separately approve this pair or bind it to an
|
|
86
|
-
approved source. If review changes the draft spec, use only the explicit `draft_preview`
|
|
87
|
-
rebind described in `includes/artifacts.md`, then revalidate both current drafts before arming.
|
|
88
|
-
2. Arm both exact identities with `arm-sprint`. Include `--delegate-methods` only when the presented
|
|
89
|
-
terms explicitly ask the user to delegate existing task-method revisions. Present the exact returned reply;
|
|
90
|
-
it names both artifacts and `delegate-methods` or `approve-only`, not an ambiguous generic yes.
|
|
91
|
-
3. The existing qualified host observes that single reply. `sprint-approve` validates both frozen
|
|
92
|
-
definitions and commits approval plus plan binding in one recoverable native transaction.
|
|
93
|
-
Verify both current approved identities before execution. No execution before both approvals.
|
|
40
|
+
For HTML create the spec and plan as typed drafts. A `draft_preview` binding identifies the current source and can be maintained under the existing authorization. Use `validate` for structural/ready diagnostics. **Do not arm `arm-sprint`, `sprint-approve`, `delegate-methods`, or `smarts-apply` to obtain permission to make ordinary plans or choose methods.** Those are historical attestation operations, not prerequisites to this default workflow. An explicit requested human approval checkpoint remains real; do not infer one from an artifact state.
|
|
94
41
|
|
|
95
|
-
|
|
96
|
-
initial self-approval, product decisions, prerequisite satisfaction, new files, verification changes,
|
|
97
|
-
commit/push, provider/spending/disclosure/publication authority, or any security bypass. Keep
|
|
98
|
-
no per-feature interviews and no attended execution pauses. A declined, changed or unsupported pair
|
|
99
|
-
retains drafts; capability absence is not permission to invent a legacy shadow or receipt.
|
|
100
|
-
If an observed reply was interrupted, `resume-sprint` replays its stored transaction without asking
|
|
101
|
-
for the same reply again. An armed request with no observed reply cannot be resumed as approval.
|
|
102
|
-
The existing sequential single-artifact path remains available for `/feature` and older workflows;
|
|
103
|
-
Markdown retains its original approval contract.
|
|
42
|
+
Identify factual prerequisites and scope them to the tasks they really affect. The agent can check a fact through an ordinary authorized tool and record a `prerequisite` observation; a tool result is not a decision made by the user. Ask the actual user about a consequential unresolved product choice. Do not ask to certify a hash, approve a nonce, or reapprove a plan because tests or steps changed.
|
|
104
43
|
|
|
105
|
-
**
|
|
106
|
-
`decisions/decision-log.md`, the accepted-ADR index, the `plans/` artifacts' section headings, and
|
|
107
|
-
`open-questions.md`'s deferred sections — index-first, bodies only when the index names them
|
|
108
|
-
relevant. Surface AT THIS GATE every accepted ADR and open deferral the planned scope plausibly
|
|
109
|
-
touches, and capture the user's ruling on each in the approved spec ("conform" / "supersede via
|
|
110
|
-
`/adr` first" / "scoped exception, cite the ADR"). A ruling recorded here is a user decision: a
|
|
111
|
-
later in-flight collision with a pre-ruled record cites the ruling and proceeds. An absent
|
|
112
|
-
`plans/` or `decisions/` records `intent: silent — no decomposition record` in the sprint log and
|
|
113
|
-
proceeds — never a STOP.
|
|
44
|
+
The initial request bounds the work; it does **not** grant arbitrary future scope expansion, third-party spending, credential access, irreversible changes, merge, publication, or an override. Keep actual authorizations and explicit user limits intact.
|
|
114
45
|
|
|
115
|
-
|
|
116
|
-
task's failing test and co-emits `plans/<sprint-slug>.plan.json`. To preserve the MVP-slice philosophy
|
|
117
|
-
(and to cap the blast radius of a bad model), drive the farm **one MVP slice at a time**: emit and
|
|
118
|
-
dispatch the plan.json for the current slice, review/merge it, then plan the next slice with the merged
|
|
119
|
-
code in hand — rather than authoring every failing test in the sprint up front. The user approves the
|
|
120
|
-
sprint spec and the first slice's plan at this gate; subsequent slices proceed under the same autonomy.
|
|
46
|
+
## Phase 2 - Execute autonomously within the scope
|
|
121
47
|
|
|
122
|
-
|
|
48
|
+
Send the selected plan to `subagent-driven-development` with no artificial per-batch human pause. It reads compact task records, selects actual dependency-clean work, and implements or delegates coherent units. Use TDD where behavior changes benefit from test-first work. Tests, review, and evidence belong to their actual subject and risk; do not require a fixed number of reviewers or rerun them because a receipt ID changed.
|
|
123
49
|
|
|
124
|
-
|
|
125
|
-
human checkpoints — that is the difference from `/feature`'s `executing-plans`. Each task is
|
|
126
|
-
test-first via `tdd`, two-pass reviewed, and proven on a fresh run.
|
|
50
|
+
**Deciding on behalf of the sprint:** use the user's intent and priorities to choose reversible implementation methods. Use SMARTS when a genuinely difficult trade-off warrants it, not as a six-lens tax on every step. Record material decisions in `.codearbiter/sprint-log.md` with reason and any meaningful uncertainty. A changed method, verification runner, or task decomposition within the agreed outcome is ordinary typed plan maintenance with a short reason, not a new user grant. A materially different product outcome is a question for the actual owner.
|
|
127
51
|
|
|
128
|
-
|
|
129
|
-
selecting a model (a canary probe over candidate Zen models, falling back to websearch), dispatching
|
|
130
|
-
`farm.js`, then routing every green task through the SAME spec-compliance + quality + fresh-verification
|
|
131
|
-
gates the premium path runs (Phases 3–5). Swapping the worker only changes who *writes* the code, never
|
|
132
|
-
whether it is *reviewed* — every farm-produced green task still routes through the full review chain. A farm escalation is handled per `subagent-driven-development`'s Phase 2.5
|
|
133
|
-
(re-dispatch via premium Phase 2, or `[CONFIRM-NN]` on a genuine spec gap), and a circuit-breaker abort
|
|
134
|
-
from `farm.js` (too many escalations) is itself a hard-gate surface: stop and tell the user the model
|
|
135
|
-
isn't capable of the slice rather than grinding through.
|
|
52
|
+
For HTML, use receipt-free `task-start`, `task-review` (implementation reported ready), `task-reconcile` (reasoned progress correction), and `accept-scope` (reported implementation `DONE`) as appropriate. These labels **never certify a passing check, independent review, or released artifact**. Preserve applicable test output and state the exact outstanding checks. `eligible` is advisory scheduling; use `verification-status` only when an explicit historical attestation claim is actually needed, never to decide whether ordinary code editing may proceed.
|
|
136
53
|
|
|
137
|
-
|
|
54
|
+
## Actual stops
|
|
138
55
|
|
|
139
|
-
|
|
140
|
-
ambiguity, a trade-off, a non-obvious option — DECIDE rather than stop:
|
|
56
|
+
Stop affected work for an explicit user denial/stop, an unauthorized irreversible or destructive operation, a host/tool sandbox denial, a genuinely consequential missing product decision, or an independently applicable security, secrets, migration, or publication control. A security-critical finding requires resolving its risk, not faking a reviewer pass. Not every change mentioning authentication or an ADR automatically asks the user again when it is already within the agreed task; assess the actual risk and authorization.
|
|
141
57
|
|
|
142
|
-
-
|
|
143
|
-
`<plugin-root>/includes/smarts/core.md`), beginning with its Step 0 recorded-intent check
|
|
144
|
-
(ADR-0025 — in scope here by name), plus a project-correctness read against `CONTEXT.md` and the
|
|
145
|
-
sprint spec. Reuse SMARTS *scoring* only — NOT `decision-variance`'s
|
|
146
|
-
Rule 1 ("never decide alone"), which `/sprint` explicitly overrides.
|
|
147
|
-
- Choose the option the analysis favors. Decide on EVERY non-hard-gate point **regardless of SMARTS
|
|
148
|
-
strength** — `strong`, `moderate`, or `tied`. Break a `tied` toward the sprint spec's stated
|
|
149
|
-
priorities; failing that, the §2 conflict hierarchy.
|
|
150
|
-
- LOG every auto-decision to `<project-root>/.codearbiter/sprint-log.md` (append-only): the
|
|
151
|
-
decision point, the options weighed, the SMARTS verdict, the chosen option, the strength, a
|
|
152
|
-
**confidence flag** — `low` for any `tied` or `moderate`, `high` for `strong` — and an
|
|
153
|
-
**intent field**: `intent: per <source>` when Step 0 answered or constrained (an answered
|
|
154
|
-
decision logs `confidence: high`, with the citation written in the verdict slot), `intent:
|
|
155
|
-
silent` otherwise. On a heading line `intent:` goes AFTER the `confidence:` token, or on a body
|
|
156
|
-
line — never before it: the harvest's positional parser takes the promoted title as everything
|
|
157
|
-
before `· confidence:`. The `low`-confidence
|
|
158
|
-
entries are exactly what the user reviews in the morning; nothing is hidden behind autonomy.
|
|
58
|
+
A failing unit test, lint error, mismatched criterion, missing optional context map, changed receipt, or unsupported named-test parser is **not** another permission question. Record the failure and work on a correction or independent task. Do not equate a reported passing command exit with named-test-level proof it does not provide.
|
|
159
59
|
|
|
160
|
-
|
|
60
|
+
## Recovery without an approval ritual
|
|
161
61
|
|
|
162
|
-
|
|
163
|
-
material change to an existing task's method steps. First perform SMARTS Step 0 and the existing
|
|
164
|
-
project/ADR/scope checks. Submit the actual options, six-lens comparison, selected option, strength
|
|
165
|
-
and rationale with the exact plan revision/model hash and the retained initial `grant_receipt`.
|
|
166
|
-
Use the private request shape and adapter in `<plugin-root>/includes/artifacts.md`; a pasted matrix
|
|
167
|
-
or an append-only log is not itself authority. A single evidenced option is allowed; an in-scope tie
|
|
168
|
-
uses the existing priorities rather than another user interview. Do not manufacture alternatives.
|
|
62
|
+
Investigate the failed obligation and actual output. Fix the affected work, rerun the appropriate checks, and revisit only findings affected by the changed source or result. Do not spawn a full reviewer fleet or restart planning for routine implementation learning.
|
|
169
63
|
|
|
170
|
-
|
|
171
|
-
change only existing task `steps`; paths, tests, criteria, dependencies, prerequisites, rollback and
|
|
172
|
-
checkpoint membership cannot expand. It quiesces affected writers by refusing `IN_PROGRESS` and
|
|
173
|
-
invalidates affected checkpoint/dependency proof before another attempt, without clearing `BLOCKED`
|
|
174
|
-
members or their recorded reasons. A blocked method revision
|
|
175
|
-
therefore resumes through fresh `eligible`, context tickets, verification and review, never auto-pass.
|
|
176
|
-
The original log still records material reasoning and source citations. No result implies accepted
|
|
177
|
-
work or independently proves the truth of model judgment. Changes outside the granted boundary use
|
|
178
|
-
their actual authority owner; this producer does not satisfy prerequisites or waive security stops.
|
|
64
|
+
After process recreation, inspect workers and worktree state before changing an `IN_PROGRESS` record. Use `identity` and `eligible` for current advisory state, then a reasoned `task-reconcile` when needed. Never erase a user `BLOCKED` stop or rerun an uncertain attempt merely because its previous response was lost. Use the same journaled operation ID for an uncertain write and the engine's actual recovery operation. Old armed prompt/receipt history remains historical; it is not rearmed to permit progress.
|
|
179
65
|
|
|
180
|
-
|
|
66
|
+
If the same corrective strategy fails twice with no new diagnosis or evidence, change the approach or mark that task blocked with its actual cause; continue unrelated eligible work. Do not weaken tests, invent exceptions, or claim unrun verification passed.
|
|
181
67
|
|
|
182
|
-
|
|
68
|
+
## Phase 3 - Return an honest result
|
|
183
69
|
|
|
184
|
-
|
|
185
|
-
- An irreversible operation — data loss, a destructive migration, anything that cannot be rolled back.
|
|
186
|
-
- `/override` or hotfix territory — a gate bypass is never taken autonomously.
|
|
187
|
-
- A security CRITICAL finding, or a `[CONFIRM-NN]` that requires a missing user decision.
|
|
188
|
-
An ordinary failing TDD/verification result instead takes Recovery within the approved sprint;
|
|
189
|
-
it remains blocked from acceptance until the original gate and required reviews pass.
|
|
190
|
-
- An auto-decision that would contradict an accepted ADR or a recorded deferral rationale
|
|
191
|
-
(ADR-0025). The valve, none of it auto-decided: a collision pre-ruled at the Phase 1 gate cites
|
|
192
|
-
the ruling and proceeds (that ruling was a user decision); a deferral whose recorded
|
|
193
|
-
re-evaluation trigger has occurred is reopened and surfaced, not treated as a contradiction;
|
|
194
|
-
one stop per record per sprint — the first stop's answer is logged, later identical collisions
|
|
195
|
-
cite it.
|
|
196
|
-
- Merge to the default branch (see Phase 3).
|
|
70
|
+
Summarize implemented changes, tests and checks **actually run**, unresolved defects/decisions, risk findings, and what still requires verification. Attribute meaningful autonomous decisions from the sprint log without requiring the user to read a long transcript.
|
|
197
71
|
|
|
198
|
-
|
|
199
|
-
too thin, confidence was misplaced, or the record itself is stale — route a repeatedly-tripping
|
|
200
|
-
ADR to supersession in the summary; surface it, do not silently grind through.
|
|
72
|
+
If an authorized commit is requested, route through `commit-gate`, then `finishing-a-development-branch` for the chosen PR action. `/sprint` may open a PR under the existing authorized workflow; it must not merge to the default branch, publish a release, discard work, or bypass Git permissions without the appropriate separate authority. A local `DONE` batch is not a shipped release.
|
|
201
73
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
A failed TDD, coverage, lint, or fresh-verification result blocks acceptance, not authorized repair.
|
|
205
|
-
This section applies only after initial spec-and-plan approval and only inside that approved scope.
|
|
206
|
-
Classify the failure before acting: an implementation defect or stale proof takes the owning repair
|
|
207
|
-
or reconciliation path; a real authority or security block takes the named Hard gates path.
|
|
208
|
-
|
|
209
|
-
Read the diagnostics and current state, give the author a corrective brief containing the failed
|
|
210
|
-
obligation and relevant evidence, and rerun the original gate plus every invalidated review.
|
|
211
|
-
Never redispatch merely to evade a failing gate. Do not weaken tests, invent an exemption, broaden
|
|
212
|
-
scope, or accept a self-reported pass to continue. Use SMARTS and the existing sprint log for material
|
|
213
|
-
method choices, not another approval interview for an already-authorized correction.
|
|
214
|
-
|
|
215
|
-
For HTML, load `<plugin-root>/includes/artifacts.md` and use the exact current identity,
|
|
216
|
-
`eligible`, and applicable `task-reconcile` or `scope-reconcile` operations before redispatch.
|
|
217
|
-
Obtain a fresh complete context ticket and capture real policy events for every required receipt.
|
|
218
|
-
Never manufacture an approval or a receipt, edit execution cells, or create a shadow ledger.
|
|
219
|
-
An invalidated proof needs the appropriate fresh verification/review, not automatic reimplementation.
|
|
220
|
-
|
|
221
|
-
Unchanged failure plus unchanged inputs is not progress. After two consecutive corrective attempts
|
|
222
|
-
with the same failure and no new evidence, stop that retry strategy. Choose a different authorized
|
|
223
|
-
approach supported by a new diagnosis, or persist the stop before continuing independently eligible work.
|
|
224
|
-
For HTML, apply `task-block` with the exact current revision and model hash, then rerun `eligible`;
|
|
225
|
-
the blocked task and invalidated dependents must not be redispatched. For Markdown,
|
|
226
|
-
record the bounded blocked-task report in the authoritative plan and change that task's status to `BLOCKED`;
|
|
227
|
-
select only dependency-clean `PENDING` tasks whose dependencies are `ACCEPTED`.
|
|
228
|
-
`BLOCKED` tasks must not be redispatched until the owning plan/reconciliation workflow records a
|
|
229
|
-
supported transition. This is not automatically another user checkpoint. Ask only for the specific
|
|
230
|
-
missing fact or authority when that is the blocker; do not report the incomplete plan as accepted.
|
|
231
|
-
|
|
232
|
-
A `commit-gate` refusal returns to its named repair/reconciliation prerequisite. Recovery does not grant commit, provider, spending, disclosure, or publication authority. Security CRITICAL findings,
|
|
233
|
-
unresolved `[CONFIRM-NN]` decisions, irreversible operations, and all named Hard gates remain stops.
|
|
234
|
-
HTML farm remains disabled. This recovery path does not change farm-only intent or authorize a
|
|
235
|
-
silent premium fallback, another provider, or more spending after a farm circuit-breaker abort.
|
|
236
|
-
|
|
237
|
-
## Phase 3 — Land & summarize · gate: BLOCK
|
|
238
|
-
|
|
239
|
-
On plan completion, route the branch through `commit-gate`, then `finishing-a-development-branch` —
|
|
240
|
-
which under `/sprint` AUTO-SELECTS open-PR and surfaces the merge decision to the user. `/sprint`
|
|
241
|
-
never merges and never discards.
|
|
242
|
-
|
|
243
|
-
Emit the sprint **Receipt** — the same win-summary shape `finishing-a-development-branch` Phase 4 uses,
|
|
244
|
-
widened to the whole sprint: what shipped; obligations covered and the gates that fired with what each
|
|
245
|
-
caught; secrets/regressions prevented; suite time; the auto-decision count with every `low`-confidence
|
|
246
|
-
call listed for review (cite `sprint-log.md`); any hard gates that tripped, each with the
|
|
247
|
-
planning/confidence signal; and any open `[NEEDS-TRIAGE]` items. Drawn from in-hand state, not a fresh
|
|
248
|
-
crawl. Close with exactly one warm, synthesizing sentence (per the orchestrator register) — earned,
|
|
249
|
-
never on a no-op run.
|
|
250
|
-
|
|
251
|
-
## Hard rules
|
|
252
|
-
|
|
253
|
-
- MUST log every auto-decision to `.codearbiter/sprint-log.md` — append-only, never edited, committed as a permanent audit artifact.
|
|
254
|
-
- MUST NOT auto-decide a hard gate: `security-controls`, crypto/secrets/auth, irreversible ops, `/override`/hotfix, an unresolvable `[CONFIRM-NN]`, or a contradiction with an accepted ADR / recorded deferral outside the ADR-0025 valve. Halt and surface.
|
|
255
|
-
- MUST run the recorded-intent read before Phase 1 spec approval — index-first and fail-soft: an absent `plans/` or `decisions/` logs `intent: silent` and never stops the sprint.
|
|
256
|
-
- MUST NOT merge to the default branch or discard autonomously — auto-select open-PR only.
|
|
257
|
-
- MUST NOT inherit `decision-variance`'s Rule 1 — `/sprint` decides as the user, reusing only the SMARTS scoring.
|
|
258
|
-
- MUST surface a repeated hard-gate-trip pattern as a planning/confidence signal, not grind past it.
|
|
259
|
-
- MUST diagnose and repair ordinary in-scope quality failures through Recovery within the approved sprint;
|
|
260
|
-
never auto-pass a gate or treat recovery as additional authority.
|
|
261
|
-
- MUST, at sprint close, run the follow-up harvest (`<plugin-root>/includes/harvest.md`) in autonomous mode — auto-promote `confidence: low` `sprint-log.md` decisions and any open `[NEEDS-TRIAGE]` to `open-tasks.md` (work) / `open-questions.md` (decisions), each promotion SMARTS-scored and logged. A blocking decision is never auto-promoted — it escalates.
|
|
74
|
+
Harvest applicable follow-up tasks and decisions through `<plugin-root>/includes/harvest.md` without silently broadening this sprint or promoting an unresolved decision into authority. The requested work, not procedural gate count, determines when the sprint is finished.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-author
|
|
3
|
-
description:
|
|
3
|
+
description: Implement backend/server-side code with scoped verification, input validation, framework conventions, and ORM usage. Reads tech stack from <project-root>/.codearbiter/tech-stack.md.
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
5
|
classification: author
|
|
6
6
|
pi-skills: [tdd]
|
|
@@ -9,7 +9,7 @@ model: sonnet
|
|
|
9
9
|
|
|
10
10
|
# Backend Author Agent
|
|
11
11
|
|
|
12
|
-
Backend implementation executor.
|
|
12
|
+
Backend implementation executor. Use the caller's scoped obligations and selected verification approach from the `tdd` skill.
|
|
13
13
|
|
|
14
14
|
## Required Reading at the Start of Every Task
|
|
15
15
|
|
|
@@ -19,11 +19,11 @@ Read in full before writing any code:
|
|
|
19
19
|
2. `<project-root>/.codearbiter/coding-standards.md` — banned patterns, naming conventions, import style
|
|
20
20
|
3. `<project-root>/.codearbiter/security-controls.md` — security-boundary rules governing this change
|
|
21
21
|
4. `<project-root>/.codearbiter/CONTEXT.md` — read the `stage:` frontmatter value (project maturity, 1–4); higher maturity tightens coverage expectations
|
|
22
|
-
5. `<plugin-root>/includes/author-tdd-workflow.md` —
|
|
22
|
+
5. `<plugin-root>/includes/author-tdd-workflow.md` — route-specific verification and the authorized handoff.
|
|
23
23
|
|
|
24
|
-
##
|
|
24
|
+
## Verification
|
|
25
25
|
|
|
26
|
-
Follow
|
|
26
|
+
Follow `<plugin-root>/includes/author-tdd-workflow.md` using the caller's selected verification approach. Return scoped results and pending checks; stage only when assigned and authorized.
|
|
27
27
|
|
|
28
28
|
## Required Test Coverage per Feature
|
|
29
29
|
|
|
@@ -16,6 +16,7 @@ Explicit writer in the checkpoint pipeline. Consume the verdict-aggregator outpu
|
|
|
16
16
|
1. `<project-root>/.codearbiter/CONTEXT.md` — the `stage:` value.
|
|
17
17
|
2. The complete verdict-aggregator output from the current checkpoint run.
|
|
18
18
|
3. `<project-root>/.codearbiter/checkpoints/` — existing checkpoint documents (to avoid a duplicate).
|
|
19
|
+
4. The caller's observed reviewed commit, UTC review-start time, and worktree dirty flag. Retain missing values as unknown; do not substitute the current time or commit for an earlier reviewed state.
|
|
19
20
|
|
|
20
21
|
## Process
|
|
21
22
|
|
|
@@ -42,6 +43,12 @@ After writing, list the `### DEFERRABLE` findings as follow-up harvest candidate
|
|
|
42
43
|
## Checkpoint Document Structure
|
|
43
44
|
|
|
44
45
|
```markdown
|
|
46
|
+
---
|
|
47
|
+
source_commit: <full reviewed commit SHA or null>
|
|
48
|
+
recorded_at: <UTC review-start timestamp or null>
|
|
49
|
+
worktree_dirty: <true, false, or null>
|
|
50
|
+
---
|
|
51
|
+
|
|
45
52
|
# Checkpoint — YYYY-MM-DD
|
|
46
53
|
|
|
47
54
|
## Project state
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-author
|
|
3
|
-
description:
|
|
3
|
+
description: Implement frontend/UI code with scoped verification, component conventions, state management, and UI security. Reads tech stack from <project-root>/.codearbiter/tech-stack.md.
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
5
|
classification: author
|
|
6
6
|
pi-skills: [tdd]
|
|
@@ -9,7 +9,7 @@ model: sonnet
|
|
|
9
9
|
|
|
10
10
|
# Frontend Author Agent
|
|
11
11
|
|
|
12
|
-
Frontend implementation executor.
|
|
12
|
+
Frontend implementation executor. Use the caller's scoped obligations and selected verification approach from the `tdd` skill.
|
|
13
13
|
|
|
14
14
|
## Required Reading at the Start of Every Task
|
|
15
15
|
|
|
@@ -19,11 +19,11 @@ Read in full before writing any code:
|
|
|
19
19
|
2. `<project-root>/.codearbiter/coding-standards.md` — naming, formatting rules, banned patterns
|
|
20
20
|
3. `<project-root>/.codearbiter/security-controls.md` — security-boundary rules governing API calls and data handling
|
|
21
21
|
4. `<plugin-root>/includes/anti-slop-design/INDEX.md`, then `core.md` and the `medium-web` leaf (plus the `typography`/`color`/`layout`/`images` craft leaves) — the design reference for any user-facing UI. Load lazily per the router; do not bulk-read the bundle
|
|
22
|
-
5. `<plugin-root>/includes/author-tdd-workflow.md` —
|
|
22
|
+
5. `<plugin-root>/includes/author-tdd-workflow.md` — route-specific verification and the authorized handoff.
|
|
23
23
|
|
|
24
|
-
##
|
|
24
|
+
## Verification
|
|
25
25
|
|
|
26
|
-
Follow
|
|
26
|
+
Follow `<plugin-root>/includes/author-tdd-workflow.md` using the caller's selected verification approach. Return scoped results and pending checks; stage only when assigned and authorized.
|
|
27
27
|
|
|
28
28
|
## Required Test Coverage per Feature
|
|
29
29
|
|
|
@@ -9,12 +9,11 @@ model: sonnet
|
|
|
9
9
|
|
|
10
10
|
# Infrastructure Author Agent
|
|
11
11
|
|
|
12
|
-
Infrastructure implementation executor.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
right reason before implementation. Do not fabricate a feature artifact for a fix.
|
|
12
|
+
Infrastructure implementation executor. Use the caller's scoped obligations and
|
|
13
|
+
selected verification approach: agreed feature criteria, an authorized bug-origin
|
|
14
|
+
regression obligation, or the refactor's approved surface and parity contract.
|
|
15
|
+
For `/fix`, observe target RED before repair. Do not fabricate a feature artifact
|
|
16
|
+
for a fix. Return scoped results; stage only when assigned and authorized.
|
|
18
17
|
|
|
19
18
|
## Required Reading at the Start of Every Task
|
|
20
19
|
|
|
@@ -22,7 +21,7 @@ Read in full before writing any infrastructure code:
|
|
|
22
21
|
|
|
23
22
|
1. `<project-root>/.codearbiter/tech-stack.md` — IaC tool (OpenTofu, Ansible, Helm, etc.), container runtime, CI/CD system, approved registries
|
|
24
23
|
2. `<project-root>/.codearbiter/security-controls.md` — security boundaries, approved secrets store, compliance requirements affecting infrastructure
|
|
25
|
-
3. `<plugin-root>/includes/author-tdd-workflow.md` —
|
|
24
|
+
3. `<plugin-root>/includes/author-tdd-workflow.md` — route-specific verification and the authorized handoff.
|
|
26
25
|
|
|
27
26
|
## Security Rules
|
|
28
27
|
|