amsd-pipeline-shared 0.5.11 → 0.5.13
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 +13 -0
- package/docs/gateway-baseline-2.0.80.md5 +130 -0
- package/docs/gateway-files.txt +131 -0
- package/orchestrations/prompts/templates/ac-classification.json +32 -0
- package/orchestrations/prompts/templates/ac-elaboration.json +22 -0
- package/orchestrations/prompts/templates/ac-gate-codeline-assignment.json +27 -0
- package/orchestrations/prompts/templates/agent-name-refusal.json +15 -0
- package/orchestrations/prompts/templates/agent-plan-mode.json +22 -0
- package/orchestrations/prompts/templates/agent-proposal.json +40 -0
- package/orchestrations/prompts/templates/agent-retry-prefix.json +47 -0
- package/orchestrations/prompts/templates/assign-agent-roles.json +22 -0
- package/orchestrations/prompts/templates/bug-fix-story.json +33 -0
- package/orchestrations/prompts/templates/change-reviewer.json +30 -0
- package/orchestrations/prompts/templates/code-graph-detective.json +41 -0
- package/orchestrations/prompts/templates/codeline-bridge.json +20 -0
- package/orchestrations/prompts/templates/content-retry-correction.json +28 -0
- package/orchestrations/prompts/templates/coordinator-amendment.json +37 -0
- package/orchestrations/prompts/templates/corrective-note.json +24 -0
- package/orchestrations/prompts/templates/cpa-inference.json +29 -0
- package/orchestrations/prompts/templates/cpa-system.json +20 -0
- package/orchestrations/prompts/templates/declared-packages.json +14 -0
- package/orchestrations/prompts/templates/detective-extract.json +16 -0
- package/orchestrations/prompts/templates/detective-overall-plan-given.json +19 -0
- package/orchestrations/prompts/templates/detective-overall-plan.json +26 -0
- package/orchestrations/prompts/templates/detective-prescription.json +22 -0
- package/orchestrations/prompts/templates/detective-retry-note.json +20 -0
- package/orchestrations/prompts/templates/detective-shared-package.json +28 -0
- package/orchestrations/prompts/templates/discovery-vocabulary.json +23 -0
- package/orchestrations/prompts/templates/e2e-route-check.json +22 -0
- package/orchestrations/prompts/templates/estate-survey.json +32 -0
- package/orchestrations/prompts/templates/estimation-assessment.json +26 -0
- package/orchestrations/prompts/templates/fix-plan-shared.json +19 -0
- package/orchestrations/prompts/templates/guard-vocabulary-codegraph.json +25 -0
- package/orchestrations/prompts/templates/guard-vocabulary-documentation.json +21 -0
- package/orchestrations/prompts/templates/guard-vocabulary.json +34 -0
- package/orchestrations/prompts/templates/hybrid-prephase-coordinator.json +16 -0
- package/orchestrations/prompts/templates/inference-ladder-coordinator.json +27 -0
- package/orchestrations/prompts/templates/kb-enforcement-synthesis.json +28 -0
- package/orchestrations/prompts/templates/lint-ac-remediator.json +20 -0
- package/orchestrations/prompts/templates/lint-fixer.json +19 -0
- package/orchestrations/prompts/templates/manifest-analysis.json +13 -0
- package/orchestrations/prompts/templates/mint-existing-roster.json +25 -0
- package/orchestrations/prompts/templates/new-dependency-directive.json +28 -0
- package/orchestrations/prompts/templates/new-dependency-lockfile-note.json +20 -0
- package/orchestrations/prompts/templates/phase-assessment-header.json +19 -0
- package/orchestrations/prompts/templates/pipeline-tools-command.json +13 -0
- package/orchestrations/prompts/templates/pipeline-tools-hosted.json +12 -0
- package/orchestrations/prompts/templates/plan-corrective.json +21 -0
- package/orchestrations/prompts/templates/plan-producer.json +24 -0
- package/orchestrations/prompts/templates/plan-reviewer.json +20 -0
- package/orchestrations/prompts/templates/prd-change-reviewer-mode-rules.json +28 -0
- package/orchestrations/prompts/templates/prd-change-reviewer-spec.json +33 -0
- package/orchestrations/prompts/templates/prd-change-reviewer.json +27 -0
- package/orchestrations/prompts/templates/prd-change-summarizer-text.json +19 -0
- package/orchestrations/prompts/templates/prd-change-summarizer-tool.json +21 -0
- package/orchestrations/prompts/templates/prd-configuration-block.json +24 -0
- package/orchestrations/prompts/templates/prd-generation.json +16 -0
- package/orchestrations/prompts/templates/prd-model-coordinator.json +24 -0
- package/orchestrations/prompts/templates/previous-refusal.json +15 -0
- package/orchestrations/prompts/templates/profile-augmentor.json +24 -0
- package/orchestrations/prompts/templates/project-prompt-generation.json +54 -0
- package/orchestrations/prompts/templates/project-roster-review.json +11 -0
- package/orchestrations/prompts/templates/prompt-claim-adjudication.json +21 -0
- package/orchestrations/prompts/templates/prompt-review.json +48 -0
- package/orchestrations/prompts/templates/qa-brownfield-scope.json +36 -0
- package/orchestrations/prompts/templates/qa-evidence-labels.json +28 -0
- package/orchestrations/prompts/templates/qa-fuzz-weaver.json +35 -0
- package/orchestrations/prompts/templates/qa-mutant-hunter.json +28 -0
- package/orchestrations/prompts/templates/qa-oracle-evidence.json +35 -0
- package/orchestrations/prompts/templates/qa-perf-sentinel.json +30 -0
- package/orchestrations/prompts/templates/qa-review-ranger.json +28 -0
- package/orchestrations/prompts/templates/qa-sast-sentinel.json +35 -0
- package/orchestrations/prompts/templates/qa-spec-validator.json +30 -0
- package/orchestrations/prompts/templates/release-line-port.json +22 -0
- package/orchestrations/prompts/templates/repro-feedback.json +31 -0
- package/orchestrations/prompts/templates/repro-role.json +32 -0
- package/orchestrations/prompts/templates/repro-test-writer.json +55 -0
- package/orchestrations/prompts/templates/retry-extension-coordinator.json +22 -0
- package/orchestrations/prompts/templates/review-ac-remediator.json +24 -0
- package/orchestrations/prompts/templates/review-finding-routing.json +17 -0
- package/orchestrations/prompts/templates/review-scope-block.json +18 -0
- package/orchestrations/prompts/templates/roster-review.json +46 -0
- package/orchestrations/prompts/templates/roster-specialisation-one.json +14 -0
- package/orchestrations/prompts/templates/roster-specialisation-plan.json +12 -0
- package/orchestrations/prompts/templates/roster-specialisation.json +24 -0
- package/orchestrations/prompts/templates/roster-tool-grant.json +20 -0
- package/orchestrations/prompts/templates/runtime-boundary-review.json +30 -0
- package/orchestrations/prompts/templates/shared-file-ownership.json +24 -0
- package/orchestrations/prompts/templates/skill-assessment-postphase.json +22 -0
- package/orchestrations/prompts/templates/skill-assessment-prephase.json +35 -0
- package/orchestrations/prompts/templates/skills-coordinator.json +19 -0
- package/orchestrations/prompts/templates/spec-agent-openspec.brownfield.json +67 -0
- package/orchestrations/prompts/templates/spec-agent-openspec.json +63 -0
- package/orchestrations/prompts/templates/spec-agent-speckit-refine.json +30 -0
- package/orchestrations/prompts/templates/spec-agent-speckit.json +28 -0
- package/orchestrations/prompts/templates/spec-authoring-rules.json +25 -0
- package/orchestrations/prompts/templates/spec-brownfield-mode.json +33 -0
- package/orchestrations/prompts/templates/spec-context-fragments.json +39 -0
- package/orchestrations/prompts/templates/spec-coordinator-review.json +29 -0
- package/orchestrations/prompts/templates/spec-coordinator.json +26 -0
- package/orchestrations/prompts/templates/spec-model-review.json +23 -0
- package/orchestrations/prompts/templates/spec-review-criteria.json +23 -0
- package/orchestrations/prompts/templates/spec-shared-consumer.json +20 -0
- package/orchestrations/prompts/templates/spec-story-block.json +42 -0
- package/orchestrations/prompts/templates/speckit-split-rules.json +20 -0
- package/orchestrations/prompts/templates/squad-coder.json +19 -0
- package/orchestrations/prompts/templates/squad-leader.json +19 -0
- package/orchestrations/prompts/templates/squad-security-auditor.json +19 -0
- package/orchestrations/prompts/templates/squad-tester.json +19 -0
- package/orchestrations/prompts/templates/story-ac-remediator.json +29 -0
- package/orchestrations/prompts/templates/story-diff-not-inlined.json +16 -0
- package/orchestrations/prompts/templates/story-file-generation.json +28 -0
- package/orchestrations/prompts/templates/story-implementation.json +25 -0
- package/orchestrations/prompts/templates/story-kind-hint-defect.json +18 -0
- package/orchestrations/prompts/templates/story-kind-hint-other.json +20 -0
- package/orchestrations/prompts/templates/story-plan-agent.json +31 -0
- package/orchestrations/prompts/templates/story-writer-main.json +96 -0
- package/orchestrations/prompts/templates/story-writer.json +28 -0
- package/orchestrations/prompts/templates/survey-review.json +38 -0
- package/orchestrations/prompts/templates/tc-writer.json +36 -0
- package/orchestrations/prompts/templates/test-gate-finding.json +27 -0
- package/orchestrations/prompts/templates/test-ownership.json +38 -0
- package/orchestrations/prompts/templates/tools-coordinator.json +18 -0
- package/orchestrations/prompts/templates/topology-router.json +30 -0
- package/orchestrations/prompts/templates/update-invalidated-tests.json +33 -0
- package/orchestrations/prompts/templates/vc-coverage.json +20 -0
- package/orchestrations/prompts/templates/vc-regenerate.json +33 -0
- package/orchestrations/prompts/templates/vc-review.json +27 -0
- package/orchestrations/prompts/templates/worktree-autocommit-message.json +27 -0
- package/orchestrations/prompts/templates/writer-codegraph-block.json +25 -0
- package/orchestrations/prompts/templates/writer-plan-section.json +28 -0
- package/orchestrations/prompts/templates/writer-string-invariants.json +17 -0
- package/orchestrations/scripts/lib/project-prompt-contract.js +414 -0
- package/orchestrations/scripts/refresh-project-prompts.js +96 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ workflows (`amsd-pipeline-workflow`). A fix lands here, once, and both run the s
|
|
|
11
11
|
| The Writer's reviewer | `orchestrations/scripts/team-lead-review.sh` | A failed review call is no verdict — retried up its ladder, then *review incomplete*, never approved |
|
|
12
12
|
| The reviewer's instructions and model policy | `orchestrations/prompts/templates/{team-lead-review,blocker-discipline,review-shared,code-review-cycle}.json`, `config/reviewer-policy.json`, `lib/reviewer-model.js` | The reviewer rates the work 0 to 10 and approves at 8.5 or higher; an unmet criterion the implementer can meet is a blocker. The review runs on the model the policy names (`top-of-ladder` by default: the top of the active provider set's highest ladder), read by the bash reviewer and the Claude workflow alike. Evidence: run 11, real tokens — Sonnet rated a thin and a rich delivery 9 and 9, Opus 6 and 7.5 |
|
|
13
13
|
| The failure analysts' templates, the seam output contracts | `prompts/templates/{failure-analyst,agent-failure-analyst,gate-finding-analyst,lint-finding-analyst,story-recovery-analyst,post-failure-analyst}.json`, `config/seam-output-contracts.json` | Moved into the component byte-identical to the 2.0.80 release (the analysts' instructions are unchanged) |
|
|
14
|
+
| Every app-level prompt template | `orchestrations/prompts/templates/*` (141) | The one source of the pipeline's prompt templates for both pipelines (operator, 2026-10-21). Moved in byte-identical to the released copies; a test fails if an install carries a template this package does not own. A project's own prompts are generated from these by the pipeline's prompt builder |
|
|
14
15
|
| The Spec runner | `orchestrations/scripts/spec-mode-runner.js` | A failed mint re-proposal keeps the accepted roles and says so |
|
|
15
16
|
| The KB synthesiser | `orchestrations/scripts/lib/kb-synthesizer.js` | Runs on its own seam's model |
|
|
16
17
|
| Agent-to-agent messages | `orchestrations/scripts/lib/agent-messages.js` | send / receive / list / route on the pipeline's own bus format (`logs/messages/`, `agent-messages.jsonl`); "router" goes to the stage's router |
|
|
@@ -49,6 +50,18 @@ amsd-pipeline-shared prelaunch --install <install> --project <p> --run-id <id> -
|
|
|
49
50
|
Prints every check and the 12-item checklist, writes `<out>/prelaunch.json`; exit 0 all green, 1 any red. Nothing it does
|
|
50
51
|
calls a model.
|
|
51
52
|
|
|
53
|
+
## A project's prompts brought up to its templates, without a run
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
. <install>/orchestrations/scripts/lib/env-file.sh; load_project_env <install>/orchestrations/projects/<p>
|
|
57
|
+
node <install>/orchestrations/scripts/refresh-project-prompts.js --project <install>/orchestrations/projects/<p> --prd <run prd.json> [--stand-in]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Per codeline in the PRD: the codeline's recorded agents and prompts restored, then the pipeline's own builder under its resume
|
|
61
|
+
rule — a prompt still the copy of its template is kept with no call; one whose template changed is regenerated and reviewed.
|
|
62
|
+
`--stand-in` calls no model (the generator answers with the template's text, the reviewer approves): run it on a copy of the
|
|
63
|
+
project to see which prompts would be rebuilt before spending anything. Prints one JSON line: per codeline, what was rebuilt.
|
|
64
|
+
|
|
52
65
|
## Messages from the shell
|
|
53
66
|
|
|
54
67
|
For the bash pipeline (backlog B55), one JSON line out:
|
|
@@ -103,3 +103,133 @@ d9cd85a83389a52a09477573a33fa314 prompts/templates/failure-analyst.json
|
|
|
103
103
|
7785cb19d58eb65321df380839accf85 prompts/templates/story-recovery-analyst.json
|
|
104
104
|
71db8785df56a99c694b2447f45bd0a7 prompts/templates/team-lead-review.json
|
|
105
105
|
271ec0ed7881aeb741758c3b79f3e77b prompts/templates/blocker-discipline.json
|
|
106
|
+
d8ab5a65203994059759a0b0aafcc8d9 prompts/templates/ac-classification.json
|
|
107
|
+
46f635c2fd583a6acecd72b9fb42e280 prompts/templates/ac-elaboration.json
|
|
108
|
+
4517af7c7a190826dc93f63ff71e282a prompts/templates/ac-gate-codeline-assignment.json
|
|
109
|
+
88545faf059ecfc1d33b34da47ddcbd7 prompts/templates/agent-name-refusal.json
|
|
110
|
+
af6902e975ab7d26fe4fa87dc2cdd23e prompts/templates/agent-plan-mode.json
|
|
111
|
+
3f997f3b60cb46ca57bacd3e24641abb prompts/templates/agent-proposal.json
|
|
112
|
+
8bfeedf6be435dbb9f76372b5d777c08 prompts/templates/agent-retry-prefix.json
|
|
113
|
+
3e630bd87bae6261d690d0b40513a68b prompts/templates/assign-agent-roles.json
|
|
114
|
+
f243819cc6a8b3313be761ff79aad4bc prompts/templates/bug-fix-story.json
|
|
115
|
+
069f31e37f04580a3a61a50c5be65add prompts/templates/change-reviewer.json
|
|
116
|
+
db5f4f4ccc7a79f8b75dc7fb635d5c12 prompts/templates/code-graph-detective.json
|
|
117
|
+
af80eb699d37de3c33f8142ff14e867a prompts/templates/codeline-bridge.json
|
|
118
|
+
182ebe94aa6b76ff9db10e329a7022e7 prompts/templates/content-retry-correction.json
|
|
119
|
+
878b65729afde7a948954aabded84c5f prompts/templates/coordinator-amendment.json
|
|
120
|
+
4cbae58080502113f6fff7b64afa486c prompts/templates/corrective-note.json
|
|
121
|
+
e889148a825a143e34713e7dbf0dae0c prompts/templates/cpa-inference.json
|
|
122
|
+
4ef6492508aa11814c620f18785b8386 prompts/templates/cpa-system.json
|
|
123
|
+
f3c3d0a43684c96d7b887a892ee30c63 prompts/templates/declared-packages.json
|
|
124
|
+
e7e5bf7e6537dec96490b0b12e84e933 prompts/templates/detective-extract.json
|
|
125
|
+
5b8b2d28c37fc9036a84d3e6e69ace7d prompts/templates/detective-overall-plan-given.json
|
|
126
|
+
56fde9372f409fd4e2f0d950e954c03e prompts/templates/detective-overall-plan.json
|
|
127
|
+
772440b500616fc437f47f323cb090c6 prompts/templates/detective-prescription.json
|
|
128
|
+
fcc4c33796a8ff84f0ffb1009f327b74 prompts/templates/detective-retry-note.json
|
|
129
|
+
1fdd4baef69a17e71e48315a5ba69269 prompts/templates/detective-shared-package.json
|
|
130
|
+
0334da922969979a77c5b530ed926fd1 prompts/templates/discovery-vocabulary.json
|
|
131
|
+
ae151e94855a15014923ca6a0aa223d3 prompts/templates/e2e-route-check.json
|
|
132
|
+
8602bc0209f4c9b8239edac4e1d630d5 prompts/templates/estate-survey.json
|
|
133
|
+
8d95f4dda8282fe2ed1a2eaa181cf521 prompts/templates/estimation-assessment.json
|
|
134
|
+
88dfed65505f1615723850c4324026ee prompts/templates/fix-plan-shared.json
|
|
135
|
+
a5902db0a2e1d57c6949bdff3a6551e6 prompts/templates/guard-vocabulary-codegraph.json
|
|
136
|
+
5cffde4c531a86c79b6ffdf2dd1f4302 prompts/templates/guard-vocabulary-documentation.json
|
|
137
|
+
b317a40599807d01bf56a4fd4d058994 prompts/templates/guard-vocabulary.json
|
|
138
|
+
b1ef16b460745d6280173218a5ae4f10 prompts/templates/hybrid-prephase-coordinator.json
|
|
139
|
+
0e30d94da41020b2f7fa4f00492d5d53 prompts/templates/inference-ladder-coordinator.json
|
|
140
|
+
89623ba94a972ddebb1d202e83448190 prompts/templates/kb-enforcement-synthesis.json
|
|
141
|
+
f546ef09cf91f202e08fa7fc97be9159 prompts/templates/lint-ac-remediator.json
|
|
142
|
+
c032d2b3a57987f364208f475af194ec prompts/templates/lint-fixer.json
|
|
143
|
+
2fd5ae994275fa976eeb638705cd1b0b prompts/templates/manifest-analysis.json
|
|
144
|
+
c183693ce3900d3a5b23f6d910f271b4 prompts/templates/mint-existing-roster.json
|
|
145
|
+
c46d01e7d248b28800c15be28442c97c prompts/templates/new-dependency-directive.json
|
|
146
|
+
0a739165f57a7abd51795fcd950b80ce prompts/templates/new-dependency-lockfile-note.json
|
|
147
|
+
fcaa89f4f128d9508b7b3f01df3f3263 prompts/templates/phase-assessment-header.json
|
|
148
|
+
f168d08528b5b99d4f1dc8f77c1f44d6 prompts/templates/pipeline-tools-command.json
|
|
149
|
+
2d37b0176958cf139f623e8bb2acad02 prompts/templates/pipeline-tools-hosted.json
|
|
150
|
+
c49b84f8826b8ebeca2a9d08ed2b4a03 prompts/templates/plan-corrective.json
|
|
151
|
+
3a4fa3a6a29d3017e7e3b379a271719e prompts/templates/plan-producer.json
|
|
152
|
+
1067f45335c3046c942a918a561007df prompts/templates/plan-reviewer.json
|
|
153
|
+
39ec1495af887178b8fcabbe9e84d640 prompts/templates/prd-change-reviewer-mode-rules.json
|
|
154
|
+
0e0ca79a70b196eb850f664f51e185b5 prompts/templates/prd-change-reviewer-spec.json
|
|
155
|
+
cd5909d25efae77b5507d50791fd5782 prompts/templates/prd-change-reviewer.json
|
|
156
|
+
3cf8196127c9ef9d02576b52105d85f1 prompts/templates/prd-change-summarizer-text.json
|
|
157
|
+
164b856ded730148c6e3609368345e9c prompts/templates/prd-change-summarizer-tool.json
|
|
158
|
+
d5be51f84cd58f9be71c9b109e926d98 prompts/templates/prd-configuration-block.json
|
|
159
|
+
cbda184a2fc8d9d26fee32788ac131a1 prompts/templates/prd-generation.json
|
|
160
|
+
c3c99c7d7937450c7c22e10f9f8d8451 prompts/templates/prd-model-coordinator.json
|
|
161
|
+
4ba780cb0fe68f3f984e4fbf0d299402 prompts/templates/previous-refusal.json
|
|
162
|
+
36a5bbe3c02f38ffe364207126cd68ac prompts/templates/profile-augmentor.json
|
|
163
|
+
3b6d4e1ca5c6527c9c23b03028b71ccc prompts/templates/project-prompt-generation.json
|
|
164
|
+
6011c046dace5c6d4e542f56b88749d5 prompts/templates/project-roster-review.json
|
|
165
|
+
e982082353d77d51d767eff996081420 prompts/templates/prompt-claim-adjudication.json
|
|
166
|
+
1013d2645b5c41e6503d11cdc263bc61 prompts/templates/prompt-review.json
|
|
167
|
+
ebe778ef783cf200abf8abcd99257e42 prompts/templates/qa-brownfield-scope.json
|
|
168
|
+
890580ee8027ef6e9ab8ac8164306f73 prompts/templates/qa-evidence-labels.json
|
|
169
|
+
67fd07cef64f644212ee786e034dbff1 prompts/templates/qa-fuzz-weaver.json
|
|
170
|
+
2267438237186805ddec69ac9e2418e0 prompts/templates/qa-mutant-hunter.json
|
|
171
|
+
75df110e18bd9a178d705900e2d9dc95 prompts/templates/qa-oracle-evidence.json
|
|
172
|
+
8b8d01b3aa44cf97bdcea423fa9bc74a prompts/templates/qa-perf-sentinel.json
|
|
173
|
+
5d5e25225b973842b2c51ac5999d08e2 prompts/templates/qa-review-ranger.json
|
|
174
|
+
d3a71e6a003fed3a674470889bfe647b prompts/templates/qa-sast-sentinel.json
|
|
175
|
+
9a12ffffa1a2acd5f4e6cc4d75a7cd4c prompts/templates/qa-spec-validator.json
|
|
176
|
+
a307132612f2d84b09c6ebb2bae6aab0 prompts/templates/release-line-port.json
|
|
177
|
+
31587776b57bff68f865ee511d523a6f prompts/templates/repro-feedback.json
|
|
178
|
+
2f6e16b9c22fb7c19d98e2f98dd1e66c prompts/templates/repro-role.json
|
|
179
|
+
bdb83759d6a60f7820f5ad428b40611d prompts/templates/repro-test-writer.json
|
|
180
|
+
05eb04b4c706f16e59670c7d5e3da411 prompts/templates/retry-extension-coordinator.json
|
|
181
|
+
7aa968f99abc2f24e3578e1c1e258716 prompts/templates/review-ac-remediator.json
|
|
182
|
+
c43d37501d2b66052764d28877a35b55 prompts/templates/review-finding-routing.json
|
|
183
|
+
af929616ab538f96587765bdc6994aa6 prompts/templates/review-scope-block.json
|
|
184
|
+
3310af2ce49b0e0888e6c77b233a58ab prompts/templates/roster-review.json
|
|
185
|
+
bf71a718e7a9a76b6b97bb3b34f4f441 prompts/templates/roster-specialisation-one.json
|
|
186
|
+
14735ac00e0f6d1c8d1b7f515f16ac76 prompts/templates/roster-specialisation-plan.json
|
|
187
|
+
3ccec07880d358148b411b9ccc31c46c prompts/templates/roster-specialisation.json
|
|
188
|
+
73786c3d9a9e6af39d0f5878a2a9af4b prompts/templates/roster-tool-grant.json
|
|
189
|
+
df46fd81ae6b150e366cbd92e4938241 prompts/templates/runtime-boundary-review.json
|
|
190
|
+
1cd4572cc6f60f4aded3615989a9c850 prompts/templates/shared-file-ownership.json
|
|
191
|
+
f6cc6a8ae600a698c95243c28dc4d122 prompts/templates/skill-assessment-postphase.json
|
|
192
|
+
02589c86fd6824a55538861acad1d4b1 prompts/templates/skill-assessment-prephase.json
|
|
193
|
+
4e029a1b41337bb96c52f43a93319396 prompts/templates/skills-coordinator.json
|
|
194
|
+
dfad8d083117d651006d5ddf8fd4c4ff prompts/templates/spec-agent-openspec.brownfield.json
|
|
195
|
+
41b4ca56677d921af53cc7d224d735c9 prompts/templates/spec-agent-openspec.json
|
|
196
|
+
148d5a5a7e638f3c4e010a0c084477c5 prompts/templates/spec-agent-speckit-refine.json
|
|
197
|
+
6ed26e0f074838b5fec169619e954ce1 prompts/templates/spec-agent-speckit.json
|
|
198
|
+
2fca7774140bfc3c2c61829dc384ba7f prompts/templates/spec-authoring-rules.json
|
|
199
|
+
84c52a75a7315043285c6da047bcc2c0 prompts/templates/spec-brownfield-mode.json
|
|
200
|
+
9c95bfc346c2d05cf738f78cd5ecc411 prompts/templates/spec-context-fragments.json
|
|
201
|
+
0f8e962ba283d319dbc10b1cbfe63df9 prompts/templates/spec-coordinator-review.json
|
|
202
|
+
d2195b624515824c662d6547e1deae1d prompts/templates/spec-coordinator.json
|
|
203
|
+
b4168e7ccceb68fe0dfe8c2933e6783b prompts/templates/spec-model-review.json
|
|
204
|
+
782195903b013897b02551156c7ed4f8 prompts/templates/spec-review-criteria.json
|
|
205
|
+
f7d2b85b76b4770d276c11565e418117 prompts/templates/spec-shared-consumer.json
|
|
206
|
+
d84a5395c719ef1022945b5e16831fc7 prompts/templates/spec-story-block.json
|
|
207
|
+
40a71ac5df666257a9bccde9e79cc8ae prompts/templates/speckit-split-rules.json
|
|
208
|
+
5bf372eb630bb4aa638ca44ee50bb615 prompts/templates/squad-coder.json
|
|
209
|
+
d4a9592bfc667b3cde488a54481ca066 prompts/templates/squad-leader.json
|
|
210
|
+
0687020fbc6dba6c435a6a55a9724418 prompts/templates/squad-security-auditor.json
|
|
211
|
+
9fa13890fe876853051cb0b74343c0f2 prompts/templates/squad-tester.json
|
|
212
|
+
6ab52a0b0b1b7fe2340cac9e6ff1cbd1 prompts/templates/story-ac-remediator.json
|
|
213
|
+
02d537ae30e95e545d043ff25362780d prompts/templates/story-diff-not-inlined.json
|
|
214
|
+
ebda59bad7d4f91f6354bb6f604eb4ea prompts/templates/story-file-generation.json
|
|
215
|
+
f33e2ce53d6daf2193ba48b83ae54435 prompts/templates/story-implementation.json
|
|
216
|
+
b828065ae7498d3d06650d29d1ee8b3f prompts/templates/story-kind-hint-defect.json
|
|
217
|
+
119a924912788c1af9b41c62e3627c48 prompts/templates/story-kind-hint-other.json
|
|
218
|
+
717120953b6041234d88fae0f9f259d5 prompts/templates/story-plan-agent.json
|
|
219
|
+
81ee6cb6917b662bf490b30f367b83c0 prompts/templates/story-writer-main.json
|
|
220
|
+
7a0a6ae6a01bfa17b46e8617b6fd4b37 prompts/templates/story-writer.json
|
|
221
|
+
3a41ad7338a29ef6542682f13541e5a9 prompts/templates/survey-review.json
|
|
222
|
+
1a6fff953ed9759136eb56ff30d69558 prompts/templates/tc-writer.json
|
|
223
|
+
98da28419b07a58bd6873e2600a17627 prompts/templates/test-gate-finding.json
|
|
224
|
+
2248138ed57dfdaed076d20315fcaabd prompts/templates/test-ownership.json
|
|
225
|
+
dcf4f6d925125da08fd7fe9361404f9f prompts/templates/tools-coordinator.json
|
|
226
|
+
9c8bbde2f765ef773d20577ca25fa670 prompts/templates/topology-router.json
|
|
227
|
+
e33482e86be747344873cea13b3c6d71 prompts/templates/update-invalidated-tests.json
|
|
228
|
+
5ced1c1a88e878930920f994636058e3 prompts/templates/vc-coverage.json
|
|
229
|
+
93ab935ce02104774e0196735b54960c prompts/templates/vc-regenerate.json
|
|
230
|
+
e902dfbf9802f60b06b7cd8ef48deaf5 prompts/templates/vc-review.json
|
|
231
|
+
58655fbe526dfb4ec90a9994d9dd666d prompts/templates/worktree-autocommit-message.json
|
|
232
|
+
7e82a5b7d9ea0dd04f7dd4db5300e2c0 prompts/templates/writer-codegraph-block.json
|
|
233
|
+
ff9ea38d594f181363c40295ea42012a prompts/templates/writer-plan-section.json
|
|
234
|
+
8e18f7be6b28fa94c8dbbc723a23dc57 prompts/templates/writer-string-invariants.json
|
|
235
|
+
28adf858dafddc3ef7bb03d3686dfe6d scripts/lib/project-prompt-contract.js
|
package/docs/gateway-files.txt
CHANGED
|
@@ -7,18 +7,147 @@ config/reviewer-policy.json
|
|
|
7
7
|
config/run-modes.json
|
|
8
8
|
config/seam-output-contracts.json
|
|
9
9
|
prompts/doctor-repair.md
|
|
10
|
+
prompts/templates/ac-classification.json
|
|
11
|
+
prompts/templates/ac-elaboration.json
|
|
12
|
+
prompts/templates/ac-gate-codeline-assignment.json
|
|
10
13
|
prompts/templates/agent-failure-analyst.json
|
|
14
|
+
prompts/templates/agent-name-refusal.json
|
|
15
|
+
prompts/templates/agent-plan-mode.json
|
|
16
|
+
prompts/templates/agent-proposal.json
|
|
17
|
+
prompts/templates/agent-retry-prefix.json
|
|
18
|
+
prompts/templates/assign-agent-roles.json
|
|
11
19
|
prompts/templates/blocker-discipline.json
|
|
20
|
+
prompts/templates/bug-fix-story.json
|
|
21
|
+
prompts/templates/change-reviewer.json
|
|
22
|
+
prompts/templates/code-graph-detective.json
|
|
12
23
|
prompts/templates/code-review-cycle.json
|
|
24
|
+
prompts/templates/codeline-bridge.json
|
|
13
25
|
prompts/templates/codeline-discovery.json
|
|
26
|
+
prompts/templates/content-retry-correction.json
|
|
27
|
+
prompts/templates/coordinator-amendment.json
|
|
28
|
+
prompts/templates/corrective-note.json
|
|
29
|
+
prompts/templates/cpa-inference.json
|
|
30
|
+
prompts/templates/cpa-system.json
|
|
14
31
|
prompts/templates/criterion-origin.json
|
|
32
|
+
prompts/templates/declared-packages.json
|
|
33
|
+
prompts/templates/detective-extract.json
|
|
34
|
+
prompts/templates/detective-overall-plan-given.json
|
|
35
|
+
prompts/templates/detective-overall-plan.json
|
|
36
|
+
prompts/templates/detective-prescription.json
|
|
37
|
+
prompts/templates/detective-retry-note.json
|
|
38
|
+
prompts/templates/detective-shared-package.json
|
|
39
|
+
prompts/templates/discovery-vocabulary.json
|
|
40
|
+
prompts/templates/e2e-route-check.json
|
|
41
|
+
prompts/templates/estate-survey.json
|
|
42
|
+
prompts/templates/estimation-assessment.json
|
|
15
43
|
prompts/templates/failure-analyst.json
|
|
44
|
+
prompts/templates/fix-plan-shared.json
|
|
16
45
|
prompts/templates/gate-finding-analyst.json
|
|
46
|
+
prompts/templates/guard-vocabulary-codegraph.json
|
|
47
|
+
prompts/templates/guard-vocabulary-documentation.json
|
|
48
|
+
prompts/templates/guard-vocabulary.json
|
|
49
|
+
prompts/templates/hybrid-prephase-coordinator.json
|
|
50
|
+
prompts/templates/inference-ladder-coordinator.json
|
|
51
|
+
prompts/templates/kb-enforcement-synthesis.json
|
|
52
|
+
prompts/templates/lint-ac-remediator.json
|
|
17
53
|
prompts/templates/lint-finding-analyst.json
|
|
54
|
+
prompts/templates/lint-fixer.json
|
|
55
|
+
prompts/templates/manifest-analysis.json
|
|
56
|
+
prompts/templates/mint-existing-roster.json
|
|
57
|
+
prompts/templates/new-dependency-directive.json
|
|
58
|
+
prompts/templates/new-dependency-lockfile-note.json
|
|
59
|
+
prompts/templates/phase-assessment-header.json
|
|
60
|
+
prompts/templates/pipeline-tools-command.json
|
|
61
|
+
prompts/templates/pipeline-tools-hosted.json
|
|
62
|
+
prompts/templates/plan-corrective.json
|
|
63
|
+
prompts/templates/plan-producer.json
|
|
64
|
+
prompts/templates/plan-reviewer.json
|
|
18
65
|
prompts/templates/post-failure-analyst.json
|
|
66
|
+
prompts/templates/prd-change-reviewer-mode-rules.json
|
|
67
|
+
prompts/templates/prd-change-reviewer-spec.json
|
|
68
|
+
prompts/templates/prd-change-reviewer.json
|
|
69
|
+
prompts/templates/prd-change-summarizer-text.json
|
|
70
|
+
prompts/templates/prd-change-summarizer-tool.json
|
|
71
|
+
prompts/templates/prd-configuration-block.json
|
|
72
|
+
prompts/templates/prd-generation.json
|
|
73
|
+
prompts/templates/prd-model-coordinator.json
|
|
74
|
+
prompts/templates/previous-refusal.json
|
|
75
|
+
prompts/templates/profile-augmentor.json
|
|
76
|
+
prompts/templates/project-prompt-generation.json
|
|
77
|
+
prompts/templates/project-roster-review.json
|
|
78
|
+
prompts/templates/prompt-claim-adjudication.json
|
|
79
|
+
prompts/templates/prompt-review.json
|
|
80
|
+
prompts/templates/qa-brownfield-scope.json
|
|
81
|
+
prompts/templates/qa-evidence-labels.json
|
|
82
|
+
prompts/templates/qa-fuzz-weaver.json
|
|
83
|
+
prompts/templates/qa-mutant-hunter.json
|
|
84
|
+
prompts/templates/qa-oracle-evidence.json
|
|
85
|
+
prompts/templates/qa-perf-sentinel.json
|
|
86
|
+
prompts/templates/qa-review-ranger.json
|
|
87
|
+
prompts/templates/qa-sast-sentinel.json
|
|
88
|
+
prompts/templates/qa-spec-validator.json
|
|
89
|
+
prompts/templates/release-line-port.json
|
|
90
|
+
prompts/templates/repro-feedback.json
|
|
91
|
+
prompts/templates/repro-role.json
|
|
92
|
+
prompts/templates/repro-test-writer.json
|
|
93
|
+
prompts/templates/retry-extension-coordinator.json
|
|
94
|
+
prompts/templates/review-ac-remediator.json
|
|
95
|
+
prompts/templates/review-finding-routing.json
|
|
96
|
+
prompts/templates/review-scope-block.json
|
|
19
97
|
prompts/templates/review-shared.json
|
|
98
|
+
prompts/templates/roster-review.json
|
|
99
|
+
prompts/templates/roster-specialisation-one.json
|
|
100
|
+
prompts/templates/roster-specialisation-plan.json
|
|
101
|
+
prompts/templates/roster-specialisation.json
|
|
102
|
+
prompts/templates/roster-tool-grant.json
|
|
103
|
+
prompts/templates/runtime-boundary-review.json
|
|
104
|
+
prompts/templates/shared-file-ownership.json
|
|
105
|
+
prompts/templates/skill-assessment-postphase.json
|
|
106
|
+
prompts/templates/skill-assessment-prephase.json
|
|
107
|
+
prompts/templates/skills-coordinator.json
|
|
108
|
+
prompts/templates/spec-agent-openspec.brownfield.json
|
|
109
|
+
prompts/templates/spec-agent-openspec.json
|
|
110
|
+
prompts/templates/spec-agent-speckit-refine.json
|
|
111
|
+
prompts/templates/spec-agent-speckit.json
|
|
112
|
+
prompts/templates/spec-authoring-rules.json
|
|
113
|
+
prompts/templates/spec-brownfield-mode.json
|
|
114
|
+
prompts/templates/spec-context-fragments.json
|
|
115
|
+
prompts/templates/spec-coordinator-review.json
|
|
116
|
+
prompts/templates/spec-coordinator.json
|
|
117
|
+
prompts/templates/spec-model-review.json
|
|
118
|
+
prompts/templates/spec-review-criteria.json
|
|
119
|
+
prompts/templates/spec-shared-consumer.json
|
|
120
|
+
prompts/templates/spec-story-block.json
|
|
121
|
+
prompts/templates/speckit-split-rules.json
|
|
122
|
+
prompts/templates/squad-coder.json
|
|
123
|
+
prompts/templates/squad-leader.json
|
|
124
|
+
prompts/templates/squad-security-auditor.json
|
|
125
|
+
prompts/templates/squad-tester.json
|
|
126
|
+
prompts/templates/story-ac-remediator.json
|
|
127
|
+
prompts/templates/story-diff-not-inlined.json
|
|
128
|
+
prompts/templates/story-file-generation.json
|
|
129
|
+
prompts/templates/story-implementation.json
|
|
130
|
+
prompts/templates/story-kind-hint-defect.json
|
|
131
|
+
prompts/templates/story-kind-hint-other.json
|
|
132
|
+
prompts/templates/story-plan-agent.json
|
|
20
133
|
prompts/templates/story-recovery-analyst.json
|
|
134
|
+
prompts/templates/story-writer-main.json
|
|
135
|
+
prompts/templates/story-writer.json
|
|
136
|
+
prompts/templates/survey-review.json
|
|
137
|
+
prompts/templates/tc-writer.json
|
|
21
138
|
prompts/templates/team-lead-review.json
|
|
139
|
+
prompts/templates/test-gate-finding.json
|
|
140
|
+
prompts/templates/test-ownership.json
|
|
141
|
+
prompts/templates/tools-coordinator.json
|
|
142
|
+
prompts/templates/topology-router.json
|
|
143
|
+
prompts/templates/update-invalidated-tests.json
|
|
144
|
+
prompts/templates/vc-coverage.json
|
|
145
|
+
prompts/templates/vc-regenerate.json
|
|
146
|
+
prompts/templates/vc-review.json
|
|
147
|
+
prompts/templates/worktree-autocommit-message.json
|
|
148
|
+
prompts/templates/writer-codegraph-block.json
|
|
149
|
+
prompts/templates/writer-plan-section.json
|
|
150
|
+
prompts/templates/writer-string-invariants.json
|
|
22
151
|
scripts/agent-attempt-analyst.sh
|
|
23
152
|
scripts/lib/agent-contract.js
|
|
24
153
|
scripts/lib/agent-ladder.sh
|
|
@@ -94,6 +223,7 @@ scripts/lib/plan-of-record.sh
|
|
|
94
223
|
scripts/lib/plan-scope.js
|
|
95
224
|
scripts/lib/preflight.sh
|
|
96
225
|
scripts/lib/prelaunch.js
|
|
226
|
+
scripts/lib/project-prompt-contract.js
|
|
97
227
|
scripts/lib/qa-gate-evidence.sh
|
|
98
228
|
scripts/lib/relative-paths.js
|
|
99
229
|
scripts/lib/release-lines.sh
|
|
@@ -116,6 +246,7 @@ scripts/llm-handler.sh
|
|
|
116
246
|
scripts/preflight-check.sh
|
|
117
247
|
scripts/preflight-prd-integrity.sh
|
|
118
248
|
scripts/preflight-static.sh
|
|
249
|
+
scripts/refresh-project-prompts.js
|
|
119
250
|
scripts/spec-mode-runner.js
|
|
120
251
|
scripts/team-lead-review.sh
|
|
121
252
|
scripts/update-monitor.sh
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of lib/ac-gate.js on 2026-08-15 (6 of 20).",
|
|
4
|
+
"",
|
|
5
|
+
"This gate decides whether a story can be implemented without a human, and which codeline",
|
|
6
|
+
"it belongs to \u2014 including whether it must be SPLIT across several. Every codeline-shaped",
|
|
7
|
+
"block is assembled by the caller from the run's own registered codelines, so the template",
|
|
8
|
+
"names no codeline: it could not, and stay correct for a project with different ones."
|
|
9
|
+
],
|
|
10
|
+
"body": "You are an AC sufficiency gate for an autonomous software development pipeline.\n\nAssess whether the acceptance criteria for this Jira story are sufficient for an AI agent\nto implement it without human clarification.\n\nSTORY: __STORY_KEY__ \u2014 __STORY_TITLE__\n\nDESCRIPTION:\n__STORY_DESCRIPTION__\n\nACCEPTANCE CRITERIA:\n__AC_LIST__\n\nCLASSIFICATION RULES:\n- \"sufficient\": ACs are present, specific, testable, and cover the primary success path\n AND at least one error/edge case. Agent can implement without asking questions.\n- \"enrichable\": ACs exist but are vague, incomplete, or missing error paths. Agent can\n expand them using the description and standard engineering judgment. Low risk of drift.\n- \"insufficient\": ACs are absent, entirely non-testable (\"user can do X\"), or so ambiguous\n that different engineers would implement fundamentally different things. Human must clarify.\n\nCODELINE CLASSIFICATION:\nAlso determine which codeline(s) this story touches:\n__CODELINE_BULLETS__\n- \"both\" \u2014 spans multiple codelines (ACs must be split per codeline)\n\nWhen codeline is \"both\", split the ACs per codeline:\n__SPLIT_AC_LINES__\nUse your understanding of the story domain \u2014 do NOT use keyword matching.\nIf an AC straddles two codelines, place it in the one where the primary implementation work lives.\n\nRESPOND WITH JSON ONLY \u2014 no explanation, no markdown fences:\n{\n \"verdict\": \"sufficient\" | \"enrichable\" | \"insufficient\",\n \"reason\": \"<one sentence explaining the verdict>\",\n \"codeline\": __CODELINE_LIST__ | \"both\",\n \"gaps\": [\"<gap 1>\", ...],\n \"enrichedAcs\": [\"<expanded AC 1>\", ...],\n__SCHEMA_AC_FIELDS__\n}\n\n\"enrichedAcs\" is required when verdict is \"enrichable\". \"enrichedAcs\" should be [] otherwise.\n__SPLIT_NOTE__ are required when codeline is \"both\". All should be [] otherwise.\n\"gaps\" should be [] when verdict is \"sufficient\".\n\nENRICHMENT RULE (critical): enrichedAcs must describe OBSERVABLE BEHAVIOR to VERIFY \u2014 never HOW to implement it. Do NOT prescribe an internal mechanism or algorithm. Forbidden: \"calculate independently\", \"split\", \"halve\"/\"\u00d70.5\", \"per segment\", \"for each line item\", adding new fields/flags, or any phrasing that presumes a particular code approach. A bug ticket describes a SYMPTOM (\"the amount is not displayed for the return leg\"); keep the enriched ACs at that symptom/behavior level (what a tester observes), and enrich ONLY for clarity, testability, and genuinely-missing edge/error cases. Inventing an implementation approach in an AC misdirects the downstream code investigation toward the wrong fix.",
|
|
11
|
+
"description": "Assess whether a story's acceptance criteria are sufficient, and which codeline it belongs to.",
|
|
12
|
+
"id": "ac-classification",
|
|
13
|
+
"placeholders": [
|
|
14
|
+
"__AC_LIST__",
|
|
15
|
+
"__CODELINE_BULLETS__",
|
|
16
|
+
"__CODELINE_LIST__",
|
|
17
|
+
"__SCHEMA_AC_FIELDS__",
|
|
18
|
+
"__SPLIT_AC_LINES__",
|
|
19
|
+
"__SPLIT_NOTE__",
|
|
20
|
+
"__STORY_DESCRIPTION__",
|
|
21
|
+
"__STORY_KEY__",
|
|
22
|
+
"__STORY_TITLE__"
|
|
23
|
+
],
|
|
24
|
+
"version": 1,
|
|
25
|
+
"seams": [
|
|
26
|
+
"ac-classification"
|
|
27
|
+
],
|
|
28
|
+
"mayBeEmpty": [
|
|
29
|
+
"__SPLIT_NOTE__"
|
|
30
|
+
],
|
|
31
|
+
"$whyMayBeEmpty": "Declared 2026-08-27 by sweeping the CLASS rather than the instance, after three runs died on it one placeholder at a time. Every call site for these writes an explicit empty branch \u2014 the story is not being split, attempt one carries no forced-retry note, no documentation was fetched, the persona prefix is optional \u2014 so absence is a real state, which is the renderer's own test. Placeholders supplied by a lookup that may FAIL (`x || ''`) are deliberately NOT here: for those, empty means broken, and declaring them would hide the blank-brief defect the renderer exists to surface. Unanimity is required \u2014 one deliberate branch among several defensive lookups is not a licence."
|
|
32
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of lib/ac-gate.js on 2026-08-15 (5 of 20).",
|
|
4
|
+
"",
|
|
5
|
+
"Runs when a story arrives with NO acceptance criteria, so what it writes becomes the",
|
|
6
|
+
"contract every later stage verifies against. Rule 6 is the load-bearing one: describe",
|
|
7
|
+
"WHAT to verify, never HOW to implement — prescribing a mechanism misdirects the whole",
|
|
8
|
+
"downstream code investigation."
|
|
9
|
+
],
|
|
10
|
+
"body": "You are an acceptance-criteria writer for a brownfield software pipeline.\n\nA Jira story has NO formal acceptance criteria. Generate a complete, testable set of ACs\nso that an AI agent can implement the change without human clarification.\n\nSTORY: __STORY_KEY__ — __STORY_TITLE__\n\nDESCRIPTION:\n__STORY_DESCRIPTION__\n\nRules:\n1. Each AC must be specific and testable (observable in UI, API response, or logs).\n2. Infer \"expected\" behaviour from the description, domain knowledge, and the word \"NOT\".\n3. Include: primary success path, at least one edge case, and one error/boundary case.\n4. Do NOT invent requirements not implied by the description.\n5. Use plain English, present tense, third-person (\"The system...\", \"The UI shows...\").\n6. Describe WHAT to verify (observable behavior), never HOW to implement it. Do NOT prescribe a mechanism/algorithm — no \"calculate independently\", \"split\", \"halve\", \"per segment\", \"for each line item\", new fields, or internal approach. Keep a bug's ACs at the symptom/behavior level; prescribing an implementation misdirects the downstream code investigation.\n\nRespond with JSON only — no markdown, no preamble:\n{ \"enrichedAcs\": [\"<AC 1>\", \"<AC 2>\", ...] }",
|
|
11
|
+
"description": "Write a complete, testable set of acceptance criteria for a story that has none.",
|
|
12
|
+
"id": "ac-elaboration",
|
|
13
|
+
"placeholders": [
|
|
14
|
+
"__STORY_DESCRIPTION__",
|
|
15
|
+
"__STORY_KEY__",
|
|
16
|
+
"__STORY_TITLE__"
|
|
17
|
+
],
|
|
18
|
+
"version": 1,
|
|
19
|
+
"seams": [
|
|
20
|
+
"ac-elaboration"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of lib/ac-gate.js on 2026-08-16. Missed by the prose guard because it opens with",
|
|
4
|
+
"an imperative verb the pattern set did not carry -- one more demonstration that matching",
|
|
5
|
+
"prose reports a floor. Found by looking for the SHAPE instead: a multi-line literal.",
|
|
6
|
+
"",
|
|
7
|
+
"Routes one ticket to one codeline, or to the split value when the work spans several. The",
|
|
8
|
+
"split value is supplied rather than named here: which sentinel means 'spans codelines' is",
|
|
9
|
+
"the engine's business, and a prompt that spells it out drifts from the code that reads it."
|
|
10
|
+
],
|
|
11
|
+
"description": "Assigns a single Jira story to exactly one codeline, or marks it as spanning several.",
|
|
12
|
+
"id": "ac-gate-codeline-assignment",
|
|
13
|
+
"seams": [
|
|
14
|
+
"ac-classification"
|
|
15
|
+
],
|
|
16
|
+
"placeholders": [
|
|
17
|
+
"__JIRA_KEY__",
|
|
18
|
+
"__TITLE__",
|
|
19
|
+
"__DESCRIPTION__",
|
|
20
|
+
"__CODELINE_LIST__",
|
|
21
|
+
"__SPLIT_VALUE__"
|
|
22
|
+
],
|
|
23
|
+
"version": 1,
|
|
24
|
+
"body": "Assign this Jira story to a codeline. Answer with JSON only \u2014 no prose, no markdown fences.\n\nSTORY: __JIRA_KEY__ \u2014 __TITLE__\n\nDESCRIPTION:\n__DESCRIPTION__\n\nCODELINES:\n__CODELINE_LIST__\n- \"__SPLIT_VALUE__\" \u2014 the work spans multiple codelines\n\nChoose exactly one. Answer:\n{\"codeline\": \"<one of the values above>\"}\n",
|
|
25
|
+
"mayBeEmpty": [],
|
|
26
|
+
"$whyNotMayBeEmpty": "__DESCRIPTION__ is supplied by a lookup that can fail, so empty means BROKEN, not absent. Declaring it silenced the guard for a value the agent must actually have."
|
|
27
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "agent-name-refusal",
|
|
3
|
+
"authority": "template",
|
|
4
|
+
"_what": "What the mint is told when a proposed agent name does not carry the ending its kind requires.",
|
|
5
|
+
"_why": "Both sentences were written in JavaScript inside agent-roster.js — model-facing prose in engine code, unreviewable in the prompt layer and unchangeable per project. The shapes themselves are derived from the registry and arrive as a value; only the words live here.",
|
|
6
|
+
"_bodies": "shapes — the shapes for this kind resolved. unknown — the registry could not be read, so the requirement can be stated but not the endings; saying so beats inventing them.",
|
|
7
|
+
"placeholders": [
|
|
8
|
+
"__KIND__",
|
|
9
|
+
"__SHAPES__"
|
|
10
|
+
],
|
|
11
|
+
"bodies": {
|
|
12
|
+
"shapes": "An agent of kind \"__KIND__\" must be named ending in __SHAPES__.",
|
|
13
|
+
"unknown": "Rename it with the ending this pipeline requires for its kind."
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of src/agent/PlanMode.ts on 2026-08-16.",
|
|
4
|
+
"",
|
|
5
|
+
"It was a template literal, so the user request was interpolated into the prompt's own source",
|
|
6
|
+
"and every ${} in the prose was live. As a placeholder the substitution is explicit and the",
|
|
7
|
+
"renderer refuses to leave it unreplaced — an unreplaced one means the request silently never",
|
|
8
|
+
"reached the model.",
|
|
9
|
+
"",
|
|
10
|
+
"src/ was outside both the prompt sweep and the guard that certifies it."
|
|
11
|
+
],
|
|
12
|
+
"description": "What the planning assistant is told before it drafts a plan.",
|
|
13
|
+
"seams": [],
|
|
14
|
+
"consumer": "cli",
|
|
15
|
+
"id": "agent-plan-mode",
|
|
16
|
+
"layer": "engine",
|
|
17
|
+
"version": 1,
|
|
18
|
+
"body": "You are a meticulous planning assistant. The user wants to accomplish the following:\n\n\"__USER_REQUEST__\"\n\nCreate a detailed step-by-step plan to accomplish this task. Return ONLY a valid JSON object (no markdown, no explanations) with this exact structure:\n\n{\n \"steps\": [\n {\n \"stepNumber\": 1,\n \"description\": \"Brief description of what this step does\",\n \"affectedFiles\": [\"path/to/file1.ts\", \"path/to/file2.ts\"],\n \"estimatedComplexity\": \"low\"\n }\n ]\n}\n\nRules:\n- Each step should be actionable and specific\n- affectedFiles should list all files that will be read or modified (can be empty array if no files)\n- estimatedComplexity must be one of: \"low\", \"medium\", \"high\"\n- Order steps logically (dependencies first)\n- Be thorough but concise\n\nReturn ONLY the JSON object, nothing else.",
|
|
19
|
+
"placeholders": [
|
|
20
|
+
"__USER_REQUEST__"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of src/scaffold/prompts.ts (compiled into dist/sdk.js) on 2026-08-15. A prompt",
|
|
4
|
+
"reachable only inside a build artefact cannot be diffed, reviewed per project, corrected by",
|
|
5
|
+
"self-heal, or evaluated by a rehearsal project — whose job is to evaluate the prompts of every agent.",
|
|
6
|
+
"",
|
|
7
|
+
"BOOTSTRAP, so COPIED and never generated: the mint needs this prompt before it can run, so",
|
|
8
|
+
"it cannot be one of the prompts the mint produces. Pre-launch provisioning copies it verbatim.",
|
|
9
|
+
"",
|
|
10
|
+
"The body was derived FROM the source function byte for byte; only the injected values became",
|
|
11
|
+
"placeholders. The fixed-role list stays an engine declaration rather than prompt prose,",
|
|
12
|
+
"because a baked copy forks and then drifts in silence.",
|
|
13
|
+
"",
|
|
14
|
+
"2026-08-17: THE PROMPT AND THE SCHEMA DISAGREED, AND THE MODEL GUESSED.",
|
|
15
|
+
"This prompt declared {name, systemPrompt, rationale} while TOOL_PROJECT_AGENTS required",
|
|
16
|
+
"[name, kind, codeline, systemPrompt, rationale] with kind an enum of implementer|investigator.",
|
|
17
|
+
"It was written before investigators existed and never updated, so the model was framed to",
|
|
18
|
+
"propose implementers, handed a three-field shape, and then forced by the schema to emit two",
|
|
19
|
+
"fields the prompt never explained.",
|
|
20
|
+
"",
|
|
21
|
+
"Run 20260817T171347Z: it labelled every role 'investigator', minted two, registered zero",
|
|
22
|
+
"implementation roles, and died at assignment with nobody to write a line of code. The coupling",
|
|
23
|
+
"was perverse — a WEAK estate survey gave a weak investigator signal and the mint guessed",
|
|
24
|
+
"'implementer'; a CORRECT, investigator-rich survey made it label everything 'investigator'.",
|
|
25
|
+
"Improving the survey made the roster worse.",
|
|
26
|
+
"2026-08-17: the name rule said 'ending in \"-engineer\" or \"-specialist\"'. The invocation registry has twenty name-shape rules and `specialist` is in none of them, so every name of that shape threw at resolveSeam and killed the run at mint — a coin flip on the model's wording. The rule is now __NAME_RULE__, derived from the registry's own seamPatterns, so the mint can only be offered a shape that routes. The examples above lost their suffix for the same reason: they were a fourth copy of the same fact."
|
|
27
|
+
],
|
|
28
|
+
"body": "You are a senior engineering manager designing an AI agent team for a software project.\n\nThe following __FIXED_ROLE_COUNT__ fixed roles are ALWAYS present and must NOT be reproduced:\n__FIXED_ROLE_LIST__\n\nGiven the project manifest, tech stack, and clarification answers, propose 2-6 project-specific engineering agent roles that will implement the user stories. Each role should map to a distinct domain of the project — one per domain, e.g. a react-frontend role, a postgres-data role, an auth-security role. The exact name shape is fixed below.\n\nEvery role is one of TWO KINDS, and you must state which:\n\n- \"implementer\" — WRITES the change. This is the role that edits source and makes the work\n happen. An implementer spans the project, so its codeline is \"*\".\n- \"investigator\" — READS one codeline and characterises what is there for the implementer. It\n never writes. An investigator names exactly ONE codeline, spelled as listed in scope.\n\nYOU MUST PROPOSE AT LEAST ONE IMPLEMENTER. A team of investigators can describe the work and\ncannot do it: every story is assigned to an implementer, so a roster without one leaves every\nstory with nobody to write it and the run cannot proceed. Investigators are optional and\nadditive — propose them where a codeline genuinely needs its own reader.\n\nThe survey above recommends both: which codelines need investigating, and which need work\nwritten. Those are recommendations about the team, not instructions — you decide the roster.\n\nFor each role provide:\n__NAME_RULE__\n- kind: exactly \"implementer\" or \"investigator\"\n- codeline: for an investigator, the ONE codeline it reads; for an implementer, \"*\"\n- systemPrompt: A detailed system prompt (150-300 words) describing the agent's expertise, the project's conventions, key files/directories they own, coding patterns they follow, and tools they use. Be specific to this project.\n- rationale: One sentence explaining why THIS project needs THIS role. It is read by a human\n reviewing the team and seeds the agent's knowledge base, so it must say something.\n\nRespond with ONLY valid JSON (no markdown fences):\n{\n \"proposedAgents\": [\n { \"name\": \"<string>\", \"kind\": \"<implementer|investigator>\", \"codeline\": \"<name or *>\", \"systemPrompt\": \"<string>\", \"rationale\": \"<string>\" }\n ]\n}",
|
|
29
|
+
"description": "Phase B of scaffolding: propose this project's own engineering agent roles. THE MINT PROMPT.",
|
|
30
|
+
"id": "agent-proposal",
|
|
31
|
+
"placeholders": [
|
|
32
|
+
"__FIXED_ROLE_COUNT__",
|
|
33
|
+
"__FIXED_ROLE_LIST__",
|
|
34
|
+
"__NAME_RULE__"
|
|
35
|
+
],
|
|
36
|
+
"version": 1,
|
|
37
|
+
"seams": [
|
|
38
|
+
"agent-mint"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of run-agent-orchestration.sh on 2026-08-16.",
|
|
4
|
+
"",
|
|
5
|
+
"Nine retry prefixes, one per seam, each prepended to a prompt whose first answer was unusable.",
|
|
6
|
+
"They were written out again at every seam that needed one, and they had already diverged: some",
|
|
7
|
+
"say the response was empty, some that it was unparseable, some that the previous attempt",
|
|
8
|
+
"changed nothing.",
|
|
9
|
+
"",
|
|
10
|
+
"ONE BODY PER SEAM, not one shared body — because what a retry must say genuinely differs by",
|
|
11
|
+
"what went wrong, and flattening them would tell an agent its output was malformed when in fact",
|
|
12
|
+
"it had written nothing. Together in one document, the nine are now diffable against each other."
|
|
13
|
+
],
|
|
14
|
+
"description": "What an agent is told when its first answer could not be used, by seam.",
|
|
15
|
+
"seams": [
|
|
16
|
+
"impl-failure-analyst"
|
|
17
|
+
],
|
|
18
|
+
"id": "agent-retry-prefix",
|
|
19
|
+
"version": 1,
|
|
20
|
+
"bodies": {
|
|
21
|
+
"story_recovery_analyst": "RETRY (attempt 2): Your previous response was empty or unparseable. Respond with ONLY the JSON: {\"restructure\": true/false, \"reason\": \"...\", \"new_acs\": [...]}.\n\n__PROMPT__",
|
|
22
|
+
"hybrid_prephase_coordinator": "RETRY (attempt 2): The previous invocation produced no output. Use your tools to read the PRD, write coordination messages to agent-messages.jsonl, and write the summary log now.\n\n__COORD_PROMPT__",
|
|
23
|
+
"skills_coordinator": "RETRY (attempt 2): Previous attempt did not update profiles.json. Read __AGENT_PROFILES_FILE__, find the exact flagged note, and rewrite it now.\n\n__SC_PROMPT__",
|
|
24
|
+
"tools_coordinator": "RETRY (attempt 2): Previous fix left __TC_TOOL__.sh syntactically broken. bash -n reports: __TC_BN_ERR__. Fix the syntax error and write the corrected script back now.\n\n__TC_PROMPT__",
|
|
25
|
+
"phase_assessment": "RETRY (attempt 2): Your previous response was not valid JSON in the required shape. Emit ONLY the JSON object now.\n\n__ASSESSMENT_PROMPT__",
|
|
26
|
+
"lint_gate_analyst": "RETRY (attempt 2): Your previous response was empty. Read the lint log at __LINT_LOG__, identify the failing file and story, and emit ONLY the JSON output.\n\n__LINT_FINDING_PROMPT__",
|
|
27
|
+
"lint_remediator": "RETRY (attempt 2): Your previous response was empty or missing the 'new_acs' field. Emit ONLY the JSON: {\"story_id\":\"...\",\"new_acs\":[\"...\"]}.\n\n__LINT_AC_PROMPT__",
|
|
28
|
+
"gate_finding_analyst": "RETRY (attempt 2): Your previous response was empty. Use ReadFile to read the gate log at __GLOG__, extract the finding, and emit ONLY the JSON output.\n\n__FINDING_PROMPT__",
|
|
29
|
+
"ac_remediator": "RETRY (attempt 2): Your previous response was empty or missing the 'acs' field. Emit ONLY the JSON: {\"acs_added\": N, \"acs\": [\"...\"]}.\n\n__AC_PROMPT__"
|
|
30
|
+
},
|
|
31
|
+
"placeholders": [
|
|
32
|
+
"__PROMPT__",
|
|
33
|
+
"__COORD_PROMPT__",
|
|
34
|
+
"__AGENT_PROFILES_FILE__",
|
|
35
|
+
"__SC_PROMPT__",
|
|
36
|
+
"__TC_BN_ERR__",
|
|
37
|
+
"__TC_TOOL__",
|
|
38
|
+
"__TC_PROMPT__",
|
|
39
|
+
"__ASSESSMENT_PROMPT__",
|
|
40
|
+
"__LINT_FINDING_PROMPT__",
|
|
41
|
+
"__LINT_LOG__",
|
|
42
|
+
"__LINT_AC_PROMPT__",
|
|
43
|
+
"__FINDING_PROMPT__",
|
|
44
|
+
"__GLOG__",
|
|
45
|
+
"__AC_PROMPT__"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of spec-mode-runner.js on 2026-08-16.",
|
|
4
|
+
"",
|
|
5
|
+
"Two rules here were each written after a live failure, and both are about the same thing:",
|
|
6
|
+
"an assignment that looks complete and delivers nothing. A story listing three codelines",
|
|
7
|
+
"needs three assignments, because the repositories differ and so can the right owner. And",
|
|
8
|
+
"the assignee must be the role that EDITS FILES -- on 2026-08-07 a story went to the one",
|
|
9
|
+
"role of three that owned no source, and all such a role can produce is a configuration note."
|
|
10
|
+
],
|
|
11
|
+
"description": "Assigns an implementation role to every (story, codeline) pair.",
|
|
12
|
+
"id": "assign-agent-roles",
|
|
13
|
+
"seams": [
|
|
14
|
+
"role-assigner"
|
|
15
|
+
],
|
|
16
|
+
"placeholders": [
|
|
17
|
+
"__ROLE_BLOCK__",
|
|
18
|
+
"__STORY_BLOCK__"
|
|
19
|
+
],
|
|
20
|
+
"version": 1,
|
|
21
|
+
"body": "Assign an implementation agent role to every story below.\n\nAVAILABLE ROLES — these are this project's own engineering roles. Choose from these and\nnothing else; the name you return must match one of them verbatim:\n__ROLE_BLOCK__\n\nSTORIES — a story listing more than one codeline needs ONE ASSIGNMENT PER CODELINE:\n__STORY_BLOCK__\n\nPick the role whose stated expertise actually covers the work the story describes. If two\nroles could plausibly own a story, prefer the one whose brief names the surface the story\ntouches.\n\nTHE UNIT OF ASSIGNMENT IS A (STORY, CODELINE) PAIR, NOT A STORY. A story listing three\ncodelines needs THREE assignments — the repositories differ, so the right owner can differ.\nCount the codelines listed against each story and return exactly that many assignments for it,\nnaming the codeline on every one. A story is not assigned until every codeline it lists is.\n\nTHE OWNER MUST AUTHOR THE CODE. Assign the role that will EDIT THE FILES this story changes —\nthe one whose brief names those files or directories. A role whose brief is about settings in\na vendor's console, or about documentation, cannot deliver a story here: the agent's output is\na change in a repository. Live 2026-08-07: this story went to the one role of three that owned\nno source files, and all such a role can produce is a configuration note. Where the story needs\nboth console configuration and code, the assignment goes to the role that authors the code, and the configuration work is part of that story rather than a reason to reassign it."
|
|
22
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$why": [
|
|
3
|
+
"Moved out of run-agent-orchestration.sh Step 3.08 on 2026-08-16.",
|
|
4
|
+
"",
|
|
5
|
+
"When a story's tests fail, the pipeline SYNTHESISES A NEW STORY to fix them and appends it to",
|
|
6
|
+
"the PRD. The title and description of that story were shell string literals, and the writer",
|
|
7
|
+
"agent that picks the story up reads the description as its instructions. So this was a prompt,",
|
|
8
|
+
"living in a 10,000-line shell script, where no prompt review would ever find it.",
|
|
9
|
+
"",
|
|
10
|
+
"It also named vitest. A bug-fix story on a Rust, Python or Ruby codeline told the writer to fix",
|
|
11
|
+
"'the failing vitest tests' in a repository that has never run vitest — the pipeline instructing",
|
|
12
|
+
"an agent to look for something that is not there. The runner is a fact of the codeline and",
|
|
13
|
+
"arrives as a value.",
|
|
14
|
+
"",
|
|
15
|
+
"The constraint about minimum change is the point of the whole story: a writer handed a failing",
|
|
16
|
+
"file and no bound rewrites it, loses the original story's work, and passes its tests by",
|
|
17
|
+
"deleting them."
|
|
18
|
+
],
|
|
19
|
+
"description": "The title and instructions of the story the pipeline synthesises to fix a failing test run.",
|
|
20
|
+
"seams": [],
|
|
21
|
+
"consumer": "engine",
|
|
22
|
+
"id": "bug-fix-story",
|
|
23
|
+
"version": 1,
|
|
24
|
+
"bodies": {
|
|
25
|
+
"title": "Bug fix: failing tests in __FAILING_FILE__",
|
|
26
|
+
"prompt": "Fix the failing tests in __FAILING_FILE__.\n\nThe test command for this codeline is: __TEST_COMMAND__\n\nDo not rewrite the whole file. Make the minimum change that fixes the failures below, and change nothing the failures do not require. The technicalNotes carry the original story's CRITICAL constraints — they still apply, in full.\n\nDo not make a test pass by weakening, skipping or deleting it. If a test is wrong, say so in your output rather than removing it.\n\nFAILING TESTS:\n__FAILING_TESTS__\n"
|
|
27
|
+
},
|
|
28
|
+
"placeholders": [
|
|
29
|
+
"__FAILING_FILE__",
|
|
30
|
+
"__TEST_COMMAND__",
|
|
31
|
+
"__FAILING_TESTS__"
|
|
32
|
+
]
|
|
33
|
+
}
|