@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
|
@@ -13,8 +13,29 @@ after `commit-gate` clears — never before.
|
|
|
13
13
|
Read these, or STOP and surface the gap — never guess the branch name or the default branch:
|
|
14
14
|
|
|
15
15
|
- `<project-root>/.codearbiter/CONTEXT.md` — the default-branch name and project context.
|
|
16
|
-
-
|
|
16
|
+
- The discovered authoritative spec/plan pair for the pipeline, when `/feature`
|
|
17
|
+
or `/sprint` produced one. Use the exact selected `.md` or `.html` plan as the
|
|
18
|
+
yardstick for "is the work complete." Re-run the private bridge resolver
|
|
19
|
+
`_resolve_workflow_pair` with the trusted project root and pipeline slug rather
|
|
20
|
+
than reconstructing either path. Load `<plugin-root>/includes/artifacts.md`
|
|
21
|
+
for HTML and obtain HTML plan state only through the installed engine
|
|
22
|
+
`identity`, `index`, and symbol-scoped `read` operations. The finishing step
|
|
23
|
+
must not create, convert, or consult a counterpart.
|
|
17
24
|
- `<project-root>/.codearbiter/last-checkpoint` — the most recent gate results; confirms `commit-gate` cleared on this branch.
|
|
25
|
+
- `<plugin-root>/includes/verification-boundary.md` — the exact-head hosted-CI evidence required before merge.
|
|
26
|
+
|
|
27
|
+
For an HTML pair, query the engine `identity` and `eligible` again after process
|
|
28
|
+
recreation. Require `all_accepted_and_current: true` for the exact spec and plan
|
|
29
|
+
identities, with their acceptance receipts still bound in engine state and the
|
|
30
|
+
commit-gate proof. Finalization must not parse rendered HTML and must not consult
|
|
31
|
+
a shadow Markdown ledger; displayed labels, status words, checkboxes, or digests
|
|
32
|
+
cannot establish completion.
|
|
33
|
+
|
|
34
|
+
Enforce that requirement by invoking the installed bridge's
|
|
35
|
+
`_preflight_current_acceptance` with the exact `_resolve_workflow_pair` result,
|
|
36
|
+
repository-bound client, and engine-returned spec/plan IDs. Carry its returned
|
|
37
|
+
identity/receipt proof into state assembly. Any refusal blocks terminal options;
|
|
38
|
+
do not recreate the proof from the PR description, checkpoint prose, or labels.
|
|
18
39
|
|
|
19
40
|
`commit-gate` MUST have cleared on the current HEAD. If it has not, this skill does not run — return to it.
|
|
20
41
|
|
|
@@ -55,7 +76,7 @@ Gate: branch confirmed non-default, diff summary read, gate results and plan del
|
|
|
55
76
|
Present exactly three terminal options with the Phase 1 state attached, then STOP for the choice:
|
|
56
77
|
|
|
57
78
|
1. **Open a PR** — push the branch and open a pull request against the default branch, then stop. The PR stays open; the merge happens later, by the user or reviewers.
|
|
58
|
-
2. **Merge via PR** — push the branch, open the PR, and once its
|
|
79
|
+
2. **Merge via PR** — push the branch, open the PR, and once its current exact-head merge-readiness aggregate is green, merge it **through the PR** so the work lands on the default branch now. Missing, stale, cancelled, mismatched, or red hosted evidence blocks this option. Distinct from option 1: this one completes the merge. Still PR-only — no direct push to the default branch, no force-push.
|
|
59
80
|
3. **Discard** — abandon the branch.
|
|
60
81
|
|
|
61
82
|
Under `/feature`: STOP and let the user pick.
|
|
@@ -70,7 +91,7 @@ Gate: a single terminal option is chosen — by the user under `/feature`, or au
|
|
|
70
91
|
Carry out the chosen option, and only that one:
|
|
71
92
|
|
|
72
93
|
- **Open a PR** — push the branch and open the PR against the default branch. The reviewer path-matrix, the anti-slop PR-body composition (description citing the plan items satisfied, the gate results, the §2 conflict level of any non-obvious tradeoff), and the babysitter attach are the steps documented in the `/ca-pr` command flow (`<plugin-root>/skills/ca-pr/SKILL.md`) — **execute those steps here; do not re-invoke `/ca-pr`** (under `/sprint` this skill is reached via `commit-gate`, without the `/pr` command ever running, so a route back would loop). Leave the PR open; the merge is not yours to take.
|
|
73
|
-
- **Merge via PR** — open the PR as above,
|
|
94
|
+
- **Merge via PR** — open the PR as above, bind its current head SHA, and require the repository merge-readiness aggregate for that exact head under `verification-boundary.md`. Missing, stale, cancelled, mismatched, pending, or red evidence blocks. Revalidate Phase 1's ADR source ancestry and exact base/head, then merge it through the PR with the selected method and `--match-head-commit`. Never push to the default branch directly, never force-push.
|
|
74
95
|
- **Discard** — requires explicit user confirmation naming the branch. Before discarding, verify the branch is fully pushed; if any commit is un-pushed, STOP and report exactly what would be lost — never delete un-pushed work silently. Discard proceeds only after the user confirms with that loss in view.
|
|
75
96
|
|
|
76
97
|
Gate: the chosen option completed — for open-PR a PR exists against the default branch; for merge the work landed through that PR; for discard the user confirmed against a stated loss summary.
|
|
@@ -107,6 +128,7 @@ warm sentence.
|
|
|
107
128
|
- MUST NOT discard a branch without explicit user confirmation that names the branch.
|
|
108
129
|
- MUST NOT delete un-pushed commits silently — STOP and report the loss before any discard.
|
|
109
130
|
- MUST NOT run before `commit-gate` has cleared on the current HEAD.
|
|
131
|
+
- MUST NOT merge without the repository merge-readiness aggregate passing for the PR's current exact head; missing, stale, cancelled, mismatched, pending, or red hosted evidence blocks.
|
|
110
132
|
- MUST NOT guess the branch or default-branch name — read `CONTEXT.md` or STOP.
|
|
111
133
|
- MUST draw the Receipt only from Phase 1 state + `last-checkpoint` — never a fresh audit-trail crawl — and never build a rolling cross-branch "saves" tally.
|
|
112
134
|
- MUST keep the close to at most one warm sentence; never on a no-op close.
|
|
@@ -13,6 +13,7 @@ Read these, or STOP and surface the gap — never guess a command or a threshold
|
|
|
13
13
|
|
|
14
14
|
- `<project-root>/.codearbiter/CONTEXT.md` — the `stage:` frontmatter (the maturity value) and project context.
|
|
15
15
|
- `<project-root>/.codearbiter/tech-stack.md` — the test, coverage, lint, and type-check invocations; file layout.
|
|
16
|
+
- `<plugin-root>/includes/verification-boundary.md` — the required split between focused local parity proof and exhaustive exact-head hosted CI.
|
|
16
17
|
- `<project-root>/.codearbiter/coding-standards.md` — style, structure, naming. Required for Phase 4.
|
|
17
18
|
|
|
18
19
|
The working tree MUST be clean over the named surface before Phase 1. A dirty surface conflates the refactor diff with unrelated edits and breaks parity verification — STOP and surface it.
|
|
@@ -67,9 +68,9 @@ Gate: the refactor confined to the surface table, with any Phase 3 seam tests no
|
|
|
67
68
|
|
|
68
69
|
## Phase 5 — Parity verification · gate: BLOCK
|
|
69
70
|
|
|
70
|
-
Run
|
|
71
|
+
Run every impact-bounded local parity test identified in Phase 2, following `verification-boundary.md`. Each MUST pass with NO modification to its source — inspect the diff and confirm zero edits to any pre-existing test file. A modified pre-existing test is, by definition, evidence the surface's observable behavior changed: revert it. If it cannot pass after revert, the refactor introduced a behavior change and is routed to `tdd` as a feature or fix. Phase 3 seam tests (if any) MUST pass. Record the pass/fail tally and any modified-test detection. The exhaustive pre-existing suite remains a required exact-head hosted-CI merge gate.
|
|
71
72
|
|
|
72
|
-
Gate:
|
|
73
|
+
Gate: scoped parity tests green with zero pre-existing tests modified. BLOCK if any pre-existing test was modified to pass, or if any applicable test fails; the branch still MUST NOT merge until exhaustive exact-head hosted CI passes.
|
|
73
74
|
|
|
74
75
|
## Phase 6 — Lint and coverage · gate: BLOCK
|
|
75
76
|
|