@arbiterforge/ca-pi 0.10.12 → 0.14.6
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 +6 -5
- package/package.json +2 -1
- package/plugins/ca-pi/CHANGELOG.md +165 -0
- package/plugins/ca-pi/SKILLS.md +1 -1
- package/plugins/ca-pi/SPRINT.md +40 -10
- package/plugins/ca-pi/agents/backend-author.md +1 -1
- package/plugins/ca-pi/agents/frontend-author.md +1 -1
- package/plugins/ca-pi/generated/command-catalog.json +1 -1
- 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 +38 -0
- package/plugins/ca-pi/hooks/_approvallib.py +355 -0
- package/plugins/ca-pi/hooks/_artifactlib.py +855 -0
- package/plugins/ca-pi/hooks/_cleanuplib.py +1553 -0
- package/plugins/ca-pi/hooks/_hooklib.py +37 -13
- package/plugins/ca-pi/hooks/_host.py +1 -1
- package/plugins/ca-pi/hooks/_intentlib.py +31 -0
- package/plugins/ca-pi/hooks/_planfilelib.py +34 -1
- package/plugins/ca-pi/hooks/_protectedstatelib.py +11 -1
- package/plugins/ca-pi/hooks/_readinjectlib.py +120 -0
- package/plugins/ca-pi/hooks/_releaselib.py +933 -85
- package/plugins/ca-pi/hooks/_standuplib.py +38 -10
- package/plugins/ca-pi/hooks/doctor.py +103 -0
- package/plugins/ca-pi/hooks/hostapi.py +1 -1
- package/plugins/ca-pi/hooks/pi-bridge.py +5 -1
- package/plugins/ca-pi/hooks/prompt-submit.py +33 -10
- package/plugins/ca-pi/hooks/releasehash.py +46 -32
- package/plugins/ca-pi/hooks/session-start.py +5 -4
- package/plugins/ca-pi/includes/artifacts.md +166 -0
- package/plugins/ca-pi/includes/author-tdd-workflow.md +2 -1
- package/plugins/ca-pi/includes/farm.md +27 -4
- package/plugins/ca-pi/includes/routing-table.md +2 -2
- package/plugins/ca-pi/includes/verification-boundary.md +27 -0
- package/plugins/ca-pi/package.json +18 -0
- package/plugins/ca-pi/routines/INDEX.md +4 -4
- package/plugins/ca-pi/routines/brainstorming/SKILL.md +23 -4
- package/plugins/ca-pi/routines/commit-gate/SKILL.md +30 -5
- package/plugins/ca-pi/routines/executing-plans/SKILL.md +52 -7
- package/plugins/ca-pi/routines/finishing-a-development-branch/SKILL.md +25 -3
- package/plugins/ca-pi/routines/refactor/SKILL.md +3 -2
- package/plugins/ca-pi/routines/release/SKILL.md +150 -44
- package/plugins/ca-pi/routines/subagent-driven-development/SKILL.md +53 -9
- package/plugins/ca-pi/routines/subagent-driven-development/references/farm-dispatch.md +20 -3
- package/plugins/ca-pi/routines/tdd/SKILL.md +27 -5
- package/plugins/ca-pi/routines/using-git-worktrees/SKILL.md +11 -2
- package/plugins/ca-pi/routines/writing-plans/SKILL.md +39 -10
- package/plugins/ca-pi/routines/writing-plans/references/farm-plan.md +34 -13
- package/plugins/ca-pi/skills/ca-chore/SKILL.md +7 -3
- package/plugins/ca-pi/skills/ca-commit/SKILL.md +3 -2
- package/plugins/ca-pi/skills/ca-doctor/SKILL.md +14 -0
- package/plugins/ca-pi/skills/ca-feature/SKILL.md +42 -8
- package/plugins/ca-pi/skills/ca-refactor/SKILL.md +4 -2
- package/plugins/ca-pi/skills/ca-release/SKILL.md +7 -6
- package/plugins/ca-pi/skills/ca-standup/SKILL.md +36 -8
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ 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 2.
|
|
13
|
+
<img alt="version 2.21.6" src="https://img.shields.io/badge/version-2.21.6-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-23-555">
|
|
16
16
|
<img alt="agents" src="https://img.shields.io/badge/agents-19-555">
|
|
@@ -117,10 +117,11 @@ Approve the normal plugin trust prompt, open the target repository, and continue
|
|
|
117
117
|
|
|
118
118
|
### Codex CLI
|
|
119
119
|
|
|
120
|
-
The public GitHub-slug flow is **available now**.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
The public GitHub-slug flow is **available now**.
|
|
121
|
+
The current adapter version is read from `plugins/ca-codex/.codex-plugin/plugin.json`.
|
|
122
|
+
The dated end-to-end public-install record discovered `ca-codex 0.2.4` from release `v2.8.13`.
|
|
123
|
+
Current packaging and shared-core parity are continuously verified, while that historical record
|
|
124
|
+
stays labeled rather than being promoted to evidence for a newer adapter:
|
|
124
125
|
|
|
125
126
|
```text
|
|
126
127
|
codex plugin marketplace add arbiterForge/codeArbiter
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arbiterforge/ca-pi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.6",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
17
|
"plugins/ca-pi/*.md",
|
|
18
|
+
"plugins/ca-pi/package.json",
|
|
18
19
|
"plugins/ca-pi/agents/",
|
|
19
20
|
"plugins/ca-pi/extensions/",
|
|
20
21
|
"plugins/ca-pi/generated/",
|
|
@@ -4,6 +4,171 @@ All notable changes to `ca-pi` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.14.6] - 2026-09-20
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Reject projected merges that would strand an eligible ca-pi version, and
|
|
12
|
+
preserve the exact main CI run that supplies its release trigger and package.
|
|
13
|
+
|
|
14
|
+
## [0.14.5] - 2026-09-19
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Preserve structured-artifact approval evidence in packaged receipts and fail
|
|
19
|
+
closed for prompt-backed approvals because Pi has no supported prompt adapter.
|
|
20
|
+
|
|
21
|
+
## [0.14.4] - 2026-09-19
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- `/ca:standup`'s archival sweep now creates its own dedicated chore branch
|
|
26
|
+
before archiving anything and hands off to `/ca:chore docs`, instead of
|
|
27
|
+
writing directly to `open-tasks.md`/`done-tasks.md` on whatever branch was
|
|
28
|
+
current with no commit path at all (#573).
|
|
29
|
+
- `commit-gate`'s Phase 6 board-edit exemption no longer over-attributes an
|
|
30
|
+
unconditional "any deleted entry is scope creep" rule to ADR-0008; a docs
|
|
31
|
+
chore whose own Phase 3 classification is the board change is in-scope by
|
|
32
|
+
that classification directly.
|
|
33
|
+
|
|
34
|
+
## [0.14.3] - 2026-09-18
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- Default new full-lane feature and sprint work to qualified typed HTML
|
|
39
|
+
specifications and plans while preserving exact-format legacy pairs and
|
|
40
|
+
keeping HTML farm dispatch disabled.
|
|
41
|
+
|
|
42
|
+
## [0.14.2] - 2026-09-18
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
|
|
46
|
+
- Preserve payload pathspec argument boundaries, validate Cargo manifests,
|
|
47
|
+
establish first-release and zero-tag behavior before classification, and
|
|
48
|
+
derive provenance identities from one remote ref snapshot. Run package
|
|
49
|
+
generation through the portable Python command on Windows and CI hosts,
|
|
50
|
+
preserve helper records as LF, reject ambiguous committed release notes
|
|
51
|
+
before tag mutation, and bind hosted assets and automatic publication to the
|
|
52
|
+
exact qualified changelog commit and manifest blobs.
|
|
53
|
+
|
|
54
|
+
## [0.14.1] - 2026-09-18
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- Require a merged default-branch commit and green hosted exact-head evidence
|
|
59
|
+
before release tag composition, and establish one POSIX shell before the
|
|
60
|
+
portable workflow runs on Windows.
|
|
61
|
+
|
|
62
|
+
## [0.14.0] - 2026-09-17
|
|
63
|
+
|
|
64
|
+
### Added
|
|
65
|
+
|
|
66
|
+
- Publish the exact preassembled structured-artifact npm tarball only from the
|
|
67
|
+
native-qualified release cohort with cold-install and read-back receipts. New
|
|
68
|
+
full-lane work remains Markdown by default; typed HTML is available only as an
|
|
69
|
+
explicitly requested, fail-closed pilot, and partial Git-tag installs remain
|
|
70
|
+
usable.
|
|
71
|
+
|
|
72
|
+
## [0.13.2] - 2026-09-17
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
|
|
76
|
+
- `_hooklib.py`: `gate-events.log` no longer accumulates REMIND/WARN noise
|
|
77
|
+
(shared core/pysrc change, synced via `tools/sync-core.py`). See the root
|
|
78
|
+
`CHANGELOG.md` for full detail.
|
|
79
|
+
|
|
80
|
+
## [0.13.1] - 2026-09-17
|
|
81
|
+
|
|
82
|
+
### Fixed
|
|
83
|
+
|
|
84
|
+
- `_cleanuplib.py`: follow-on fixes to 0.13.0's T-03 remediation, found by a further independent review after that fix had merged (shared core/pysrc change). See the root `CHANGELOG.md` for full detail.
|
|
85
|
+
|
|
86
|
+
## [0.13.0] - 2026-09-17
|
|
87
|
+
|
|
88
|
+
### Added
|
|
89
|
+
|
|
90
|
+
- `_cleanuplib.py`: adds T-03, the authoritative branch/worktree inventory (shared core/pysrc change, synced via `tools/sync-core.py`). See the root `CHANGELOG.md` for full detail.
|
|
91
|
+
|
|
92
|
+
### Fixed
|
|
93
|
+
|
|
94
|
+
- `_cleanuplib.py`: closes 3 blocking and 5 high-severity gaps an independent review found in T-03 as first merged (shared core/pysrc change). See the root `CHANGELOG.md` for full detail.
|
|
95
|
+
|
|
96
|
+
## [0.12.0] - 2026-09-16
|
|
97
|
+
|
|
98
|
+
### Added
|
|
99
|
+
|
|
100
|
+
- Add the disabled structured-artifact foundation, Linux and Windows recovery support, verified native bridges, descriptor-relative Unix installation, and generated Pi workflow guidance while preserving the existing public surface. The Windows developer installer and HTML farm dispatch remain fail-closed pending their respective release/integration qualification.
|
|
101
|
+
|
|
102
|
+
## [0.11.9] - 2026-09-17
|
|
103
|
+
|
|
104
|
+
### Fixed
|
|
105
|
+
|
|
106
|
+
- `core/pysrc/_cleanuplib.py`: closes 6 blocking and several high-severity gaps an independent review found in the T-03/T-04/T-05 cleanup-framework backend against ADR-0036's supersession gate (verdict: NO-GO on the backend as it stood). `execute_branch_deletion` now requires a `ProofResult` and refuses an unproven target outright; the force/atomic-delete path is unlocked only by `proof.method == "pr_delivery"`, never a caller-supplied flag; `evaluate_merge_proof`'s ancestry path is now repository-qualified; worktree occupancy is revalidated fresh at every mutation attempt; a claimed-successful delete is reverified before being recorded "applied"; a read failure is never folded into "branch confirmed absent"; the journal's retention bound now exceeds the proposal's own named 40-branch batch example. The journal file is renamed `.cleanup-journal.json` (was `.resources.json`). Still not wired into any live cleanup route -- that remains T-06's job.
|
|
107
|
+
|
|
108
|
+
## [0.11.8] - 2026-09-17
|
|
109
|
+
|
|
110
|
+
### Added
|
|
111
|
+
|
|
112
|
+
- `core/pysrc/_cleanuplib.py`: the cleanup-framework's shared decision and interaction vocabulary (T-02) -- typed `Scope`, `Target`, and `Decision` objects with explicit `unknown`/`error` outcome states, plus two pure classifiers: `scope_covers` (a scope never authorizes a resource kind or member it didn't explicitly name) and `required_confirmation_count` (how many new confirmations an operation needs, based only on its authorization source -- zero for an already-bound direct instruction, snapshot reply, or accepted work lifecycle; exactly one for an unauthorized proposal; always one more for an unresolved unique-content loss, regardless of how many). Not yet wired into any live cleanup route.
|
|
113
|
+
|
|
114
|
+
## [0.11.7] - 2026-09-17
|
|
115
|
+
|
|
116
|
+
### Added
|
|
117
|
+
|
|
118
|
+
- `core/pysrc/_cleanuplib.py`: a repository-bound operation journal and a guarded, revalidating branch-deletion executor for the cleanup-framework mutation backend (T-05, branch-deletion slice). The executor journals intent before mutating, revalidates a branch's tip immediately before every delete attempt (including the forced retry), refuses current/default/explicitly-protected/worktree-occupied branches, and reconciles any still-pending record from actual repository state rather than retrying blindly. Not yet wired into any live cleanup route. Worktree-removal guarding and filesystem-operation constraints are separate, not-yet-built increments sharing this same pattern.
|
|
119
|
+
|
|
120
|
+
### Fixed
|
|
121
|
+
|
|
122
|
+
- CI now runs the T-04 integration-proof evaluator's and T-05's own unit test suites (`test_cleanuplib.py`, `test_cleanuplib_mutation.py`) — both had been merged without a CI step invoking them, so they ran locally but were invisible to the pipeline.
|
|
123
|
+
|
|
124
|
+
## [0.11.6] - 2026-09-17
|
|
125
|
+
|
|
126
|
+
### Added
|
|
127
|
+
|
|
128
|
+
- `core/pysrc/_cleanuplib.py`: a repository-qualified integration-proof evaluator (`evaluate_merge_proof`) for routine branch cleanup. Proves a candidate branch tip's content landed on an authorized integration target via ancestry (no `gh` required) or an exact, repository-qualified PR-delivery record; tree-equality is accepted only as corroboration and never grants eligibility by itself. Not yet wired into any live cleanup route.
|
|
129
|
+
|
|
130
|
+
## [0.11.5] - 2026-09-16
|
|
131
|
+
|
|
132
|
+
### Fixed
|
|
133
|
+
|
|
134
|
+
- `core/pysrc/_standuplib.py`'s worktree inventory now captures lock state, detached-HEAD status, and the exact OID from `git worktree list --porcelain` output instead of silently dropping them; a locked worktree is now excluded outright from standup's hygiene-candidate list.
|
|
135
|
+
|
|
136
|
+
## [0.11.4] - 2026-09-16
|
|
137
|
+
|
|
138
|
+
### Fixed
|
|
139
|
+
|
|
140
|
+
- `includes/routing-table.md`'s Hard gate column had drifted behind already-shipped skill behavior: the standup row required per-item confirmation for every worktree removal even though `commands/standup.md` already permits one named enumerated group, and the post-merge-cleanup row named ancestry + `branch -d` only even though `skills/post-merge-cleanup/SKILL.md` already documents the PR-record squash-proof path and its restricted `-D` exception.
|
|
141
|
+
|
|
142
|
+
## [0.11.3] - 2026-09-16
|
|
143
|
+
|
|
144
|
+
### Fixed
|
|
145
|
+
|
|
146
|
+
- `marker_name_for()` now case-folds every path segment before encoding, matching `_canon`/`lookup_policy`'s existing case-insensitive registry comparison, so a differently-cased Write/Edit target no longer computes a marker name that was never minted (#624).
|
|
147
|
+
|
|
148
|
+
## [0.11.2] - 2026-09-15
|
|
149
|
+
|
|
150
|
+
### Fixed
|
|
151
|
+
|
|
152
|
+
- Keep exhaustive repository and cross-platform verification on exact-head hosted CI instead of requiring contributors to replay the full matrix locally before committing or opening a pull request.
|
|
153
|
+
|
|
154
|
+
## [0.11.1] - 2026-09-14
|
|
155
|
+
|
|
156
|
+
### Fixed
|
|
157
|
+
|
|
158
|
+
- Permit explicit changelog reconciliation only for exact published commits through a reviewed, default-branch-bound ledger while retaining strict failure for ordinary missing footers.
|
|
159
|
+
|
|
160
|
+
## [0.11.0] - 2026-09-13
|
|
161
|
+
|
|
162
|
+
### Added
|
|
163
|
+
|
|
164
|
+
- Support declared numeric release policies and exact verified asset inventories while preserving SemVer defaults and explicit publication authorization.
|
|
165
|
+
|
|
166
|
+
## [0.10.13] - 2026-09-13
|
|
167
|
+
|
|
168
|
+
### Fixed
|
|
169
|
+
|
|
170
|
+
- Continue active authorized work across startup, resume, and compact hook boundaries while retaining the idle-session command prompt.
|
|
171
|
+
|
|
7
172
|
## [0.10.12] - 2026-09-09
|
|
8
173
|
|
|
9
174
|
### Fixed
|
package/plugins/ca-pi/SKILLS.md
CHANGED
|
@@ -60,7 +60,7 @@ skill is invoked — never bulk-read this directory.
|
|
|
60
60
|
|---|---|
|
|
61
61
|
| `/ca-commit` | Run the full commit gate — the only sanctioned path to a git commit. |
|
|
62
62
|
| `/ca-pr` | Open a pull request the only sanctioned way — clear every BLOCK-level review finding, then stage the PR. Never a direct write to the default branch. |
|
|
63
|
-
| `/ca-release` | Cut a release the only sanctioned way —
|
|
63
|
+
| `/ca-release` | Cut a release the only sanctioned way — derive the target's declared version policy from the commit log, roll its changelog, compose an annotated tag, and optionally publish its exact declared assets. Takes the declared target's name as its only argument, or --dry-run to preview one with no write. The only path to a version tag. |
|
|
64
64
|
|
|
65
65
|
### Operate
|
|
66
66
|
|
package/plugins/ca-pi/SPRINT.md
CHANGED
|
@@ -7,11 +7,30 @@ file is the thin entry point, this file is the procedure. -->
|
|
|
7
7
|
Brainstorm a sprint with the user, then execute it end-to-end — deciding "as the user" on everything
|
|
8
8
|
that is not a true hard gate. Every auto-decision is logged. Hard gates are real stops, rare by design.
|
|
9
9
|
|
|
10
|
+
## Structured-artifact boundary
|
|
11
|
+
|
|
12
|
+
For new sprint work or an existing `.html` spec/plan match, load
|
|
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.
|
|
28
|
+
|
|
10
29
|
## Execution backend: premium (default) vs. `--farm`
|
|
11
30
|
|
|
12
|
-
> **`--farm` is a Feature Forge `preview`** — shipped off by default
|
|
13
|
-
>
|
|
14
|
-
> `<
|
|
31
|
+
> **`--farm` is a Feature Forge `preview`** — shipped off by default. Historical runs informed its
|
|
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`.
|
|
15
34
|
|
|
16
35
|
`/sprint` runs the normal premium-subagent path unless invoked as `/sprint --farm`. The `--farm` flag
|
|
17
36
|
selects the pluggable execution backend: Claude still authors the spec, the failing tests, and the plan,
|
|
@@ -25,16 +44,27 @@ backends. The worker-seam design (the cheap/premium/agentic policies the seam ad
|
|
|
25
44
|
|
|
26
45
|
## Phase 1 — Sprint spec · gate: STOP
|
|
27
46
|
|
|
28
|
-
**Resume first:**
|
|
29
|
-
`
|
|
47
|
+
**Resume first:** discover this sprint's existing artifacts. Call the private
|
|
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
|
|
30
57
|
with the user and re-enter per `/feature`'s Resume ladder (approved spec + plan with non-`ACCEPTED`
|
|
31
|
-
tasks → straight to Phase 2, executing only the remaining tasks; the plan's
|
|
32
|
-
|
|
58
|
+
tasks → straight to Phase 2, executing only the remaining tasks; the legacy plan's
|
|
59
|
+
`status` column or the typed engine's execution ledger is authoritative for its
|
|
60
|
+
own format). An interrupted sprint is re-entered, never restarted.
|
|
33
61
|
|
|
34
62
|
Route to `brainstorming` (`<plugin-root>/routines/brainstorming/SKILL.md`), scoped to a **sprint** — a coherent chunk of work (several features or one
|
|
35
|
-
goal), not a single feature. Drive it to a concrete sprint spec at
|
|
36
|
-
|
|
37
|
-
|
|
63
|
+
goal), not a single feature. Drive it to a concrete sprint spec at the
|
|
64
|
+
route-selected spec path, then to `writing-plans`
|
|
65
|
+
(`<plugin-root>/routines/writing-plans/SKILL.md`) for the task breakdown at the
|
|
66
|
+
matching route-selected plan path. New sprint work uses `.html` through the
|
|
67
|
+
installed engine.
|
|
38
68
|
|
|
39
69
|
This is the ONE interactive gate, and it is load-bearing: the thoroughness of the spec is what makes
|
|
40
70
|
hard-gate stops rare later. Capture the user's intent, priorities, risk tolerance, and any
|
|
@@ -23,7 +23,7 @@ Read in full before writing any code:
|
|
|
23
23
|
|
|
24
24
|
## TDD Workflow (Non-Negotiable)
|
|
25
25
|
|
|
26
|
-
Follow the six-step fixed order in `<plugin-root>/includes/author-tdd-workflow.md` for every task — failing tests first, minimum implementation,
|
|
26
|
+
Follow the six-step fixed order in `<plugin-root>/includes/author-tdd-workflow.md` for every task — failing tests first, minimum implementation, impact-bounded local verification, lint/type-check, only then stage. The shared `verification-boundary` reserves exhaustive cross-platform proof for exact-head hosted CI.
|
|
27
27
|
|
|
28
28
|
## Required Test Coverage per Feature
|
|
29
29
|
|
|
@@ -23,7 +23,7 @@ Read in full before writing any code:
|
|
|
23
23
|
|
|
24
24
|
## TDD Workflow (Non-Negotiable)
|
|
25
25
|
|
|
26
|
-
Follow the six-step fixed order in `<plugin-root>/includes/author-tdd-workflow.md` for every task — failing tests first, minimum implementation,
|
|
26
|
+
Follow the six-step fixed order in `<plugin-root>/includes/author-tdd-workflow.md` for every task — failing tests first, minimum implementation, impact-bounded local verification, lint/type-check, only then stage. The shared `verification-boundary` reserves exhaustive cross-platform proof for exact-head hosted CI.
|
|
27
27
|
|
|
28
28
|
## Required Test Coverage per Feature
|
|
29
29
|
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
},
|
|
294
294
|
"release": {
|
|
295
295
|
"name": "release",
|
|
296
|
-
"description": "Cut a release the only sanctioned way —
|
|
296
|
+
"description": "Cut a release the only sanctioned way — derive the target's declared version policy from the commit log, roll its changelog, compose an annotated tag, and optionally publish its exact declared assets. Takes the declared target's name as its only argument, or --dry-run to preview one with no write. The only path to a version tag.",
|
|
297
297
|
"skillPath": "skills/ca-release/SKILL.md",
|
|
298
298
|
"visibility": "core",
|
|
299
299
|
"workflow": "ship",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": "codearbiter.artifact-release/0.1.0",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"protocol": "codearbiter.artifact-api/0.1.0",
|
|
5
|
+
"schema_version": "0.3.1",
|
|
6
|
+
"binaries": {
|
|
7
|
+
"darwin/amd64": {
|
|
8
|
+
"file": "ca-artifact-darwin-amd64",
|
|
9
|
+
"sha256": "fab98b0fd68bafe5f2f52941f704dc32bf623eaa68be18e9e68cc9bc07f05cac",
|
|
10
|
+
"native_tested": true
|
|
11
|
+
},
|
|
12
|
+
"darwin/arm64": {
|
|
13
|
+
"file": "ca-artifact-darwin-arm64",
|
|
14
|
+
"sha256": "44211f23050e42ac155432e6d3e3edc58fd7180171a982c6c4a39378ec15218d",
|
|
15
|
+
"native_tested": true
|
|
16
|
+
},
|
|
17
|
+
"linux/amd64": {
|
|
18
|
+
"file": "ca-artifact-linux-amd64",
|
|
19
|
+
"sha256": "100e36cf452a79fb678ee2f99956953ae97da5b49bc673e77cef094a87bd1cab",
|
|
20
|
+
"native_tested": true
|
|
21
|
+
},
|
|
22
|
+
"linux/arm64": {
|
|
23
|
+
"file": "ca-artifact-linux-arm64",
|
|
24
|
+
"sha256": "6c1aa70e582e5054c8125cb89585bfd0f0eda6a2b32f3c67c9cdbff76ca78e0f",
|
|
25
|
+
"native_tested": true
|
|
26
|
+
},
|
|
27
|
+
"windows/amd64": {
|
|
28
|
+
"file": "ca-artifact-windows-amd64.exe",
|
|
29
|
+
"sha256": "6a17e6188fede9f8b8271d0f9eeab41512b58118e5b12781e62b4ce8dc0c5519",
|
|
30
|
+
"native_tested": true
|
|
31
|
+
},
|
|
32
|
+
"windows/arm64": {
|
|
33
|
+
"file": "ca-artifact-windows-arm64.exe",
|
|
34
|
+
"sha256": "746bfd19ed124b14376326b05a435aad381d7a72093f0e8002fa66e186e64194",
|
|
35
|
+
"native_tested": true
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|