@mmerterden/multi-agent-pipeline 20.21.0 → 20.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/docs/adr/0017-change-impact-from-the-graph.md +69 -0
- package/docs/adr/README.md +1 -0
- package/docs/ecosystem.md +6 -5
- package/docs/facts.json +4 -3
- package/install/catalog-history.json +1 -1
- package/install/templates/copilot-instructions.md +1 -0
- package/manifest.json +44 -40
- package/package.json +1 -1
- package/pipeline/commands/multi-agent/review/SKILL.md +2 -1
- package/pipeline/commands/multi-agent/setup/SKILL.md +6 -15
- package/pipeline/multi-agent-refs/_dev-context.md +15 -0
- package/pipeline/multi-agent-refs/analysis/evidence.md +5 -3
- package/pipeline/multi-agent-refs/analysis/locked.md +1 -1
- package/pipeline/multi-agent-refs/cross-cli-contract.md +1 -0
- package/pipeline/multi-agent-refs/features/code-graph.md +27 -0
- package/pipeline/multi-agent-refs/features/product-context.md +238 -0
- package/pipeline/multi-agent-refs/knowledge.md +2 -0
- package/pipeline/multi-agent-refs/phases/phase-1-plan.md +7 -12
- package/pipeline/multi-agent-refs/phases/phase-2-dev.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-3-review.md +7 -6
- package/pipeline/multi-agent-refs/platform-parity.md +23 -9
- package/pipeline/multi-agent-refs/setup/token-save-flow.md +24 -0
- package/pipeline/schemas/agent-state.schema.json +31 -0
- package/pipeline/schemas/analysis-spec.schema.json +14 -0
- package/pipeline/schemas/code-graph.schema.json +12 -1
- package/pipeline/schemas/diff-risk.schema.json +2 -1
- package/pipeline/schemas/prefs.schema.json +58 -0
- package/pipeline/scripts/_code-graph.mjs +76 -3
- package/pipeline/scripts/_diff-impact.mjs +312 -0
- package/pipeline/scripts/capture-flush.sh +58 -3
- package/pipeline/scripts/diff-risk-score.mjs +80 -9
- package/pipeline/scripts/graph-affected.mjs +167 -36
- package/pipeline/scripts/graph-query.mjs +16 -4
- package/pipeline/scripts/product-context.mjs +539 -0
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +39 -1
- package/pipeline/scripts/validate-code-graph.mjs +2 -1
- package/pipeline/scripts/validate-diff-risk.mjs +1 -0
- package/pipeline/skills/.skill-manifest.json +3 -3
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +5 -1
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +8 -6
package/manifest.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "20.
|
|
4
|
-
"commit": "
|
|
5
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"version": "20.22.0",
|
|
4
|
+
"commit": "03ec5c2c13457c10b8531763fb36cf24a3f50a5a",
|
|
5
|
+
"generatedAt": "2026-10-12T23:07:06.881Z",
|
|
6
6
|
"algorithm": "sha256",
|
|
7
|
-
"fileCount":
|
|
7
|
+
"fileCount": 1364,
|
|
8
8
|
"files": {
|
|
9
|
-
"CHANGELOG.md": "
|
|
9
|
+
"CHANGELOG.md": "f5a379e2ae91bb3475d61749b8b192b8cf5ce48d37f1d299f303b9de912acfaa",
|
|
10
10
|
"LICENSE": "8d8c51aaf1e1538b180c69965fa038db71be86798cc3e26a143bebfefe16a43e",
|
|
11
11
|
"README.md": "4cb9fee0aed62bd1467bdc09954e011612b0de6e7895d663f297bc8778e00b2e",
|
|
12
12
|
"README.tr.md": "f30edbc26e51e311077fbb5b64234e70285db92340e6dadc259cfd673f104326",
|
|
@@ -28,12 +28,13 @@
|
|
|
28
28
|
"docs/adr/0014-six-phase-consolidation.md": "83db6bfd0a19800d53af241a72df21525f3bcfb6d4e8d0c8941faae152ee1acd",
|
|
29
29
|
"docs/adr/0015-one-pipeline-no-depth-answer.md": "cf7b97e92a5b6b7df14067477fa4fa2e8425ea67a14307553343a6359d66e7a6",
|
|
30
30
|
"docs/adr/0016-the-run-shape-is-asked-not-typed.md": "c8236b9d319f53ba1e5e948608b09c6b0ae21db4d42d3fd5111eef01cbf5dfa8",
|
|
31
|
-
"docs/adr/
|
|
31
|
+
"docs/adr/0017-change-impact-from-the-graph.md": "b8fab10ea308f833a8bca7fa566910a24ff4d2af6975b0f6296b217b0783baa6",
|
|
32
|
+
"docs/adr/README.md": "986c3de8dd67853eb978041490baf3b271b4c4d0e113cfdb5230228d6696a22c",
|
|
32
33
|
"docs/architecture.md": "04fe9630d51646962bc5b660b4c82a8a8199984dc14d993aaf5c147c4c8f6968",
|
|
33
34
|
"docs/best-practices.md": "f8b75b0d38b5896a6a852bb30a1edddeb24dab8b5b7b1d9313290e1241c72024",
|
|
34
|
-
"docs/ecosystem.md": "
|
|
35
|
+
"docs/ecosystem.md": "328a56a9f48514bca380d311a8e62246d85ccb18668f873047a883596153395f",
|
|
35
36
|
"docs/engineering.md": "550528cd47c7d2c921729c68d0782a00ac8e77a4bdfec479f6749f9c3235d188",
|
|
36
|
-
"docs/facts.json": "
|
|
37
|
+
"docs/facts.json": "535fb530e718e489bad8a010d7ab2d13b92c005e3ab31cd7cfc95899d348da8e",
|
|
37
38
|
"docs/features.md": "17e9971ba14b940a562c99df727150fadc8688d793a8dda4b8204482d51c30a4",
|
|
38
39
|
"docs/performance.md": "bbf2f3922c25dcba0c1a9e69ef420e3871a729af5b35009a49b48a5d3c5cd151",
|
|
39
40
|
"docs/recovery-guide.md": "59a8f1b66b34cb9ff5507b3d54dac3b9915e184aa044d9c758d18cac818d510e",
|
|
@@ -52,18 +53,18 @@
|
|
|
52
53
|
"install/_telemetry.mjs": "5433d753f909beed2c8789272bba05e245482c472f83d3444f58000c4c9a634b",
|
|
53
54
|
"install/_unattended-profile.mjs": "e1ed82bde35d19105ee12c2a551eb778912b0e5c93ab227fd15c993098d98de0",
|
|
54
55
|
"install/_xcode-skills.mjs": "1a7e20f1e6743324b941c5d3ecac9f94c65fff1534ffd9c63b39cbea4f8d101a",
|
|
55
|
-
"install/catalog-history.json": "
|
|
56
|
+
"install/catalog-history.json": "8fcb7fcd3b19c1e9bf9685af6031d6f128717f7efdd81d049a0ff158d2633e26",
|
|
56
57
|
"install/claude.mjs": "106ce353ebc19c8319d057ce342e1f989519510465c798399076b5f3d8727904",
|
|
57
58
|
"install/codex.mjs": "08925fe9f3ecdf509b37f01105652c847475d20fcde2db0d679b9a7d663ca145",
|
|
58
59
|
"install/copilot.mjs": "41dc394b8a3ae77cfd194ce0ca9bbcafce9bdce349f1f72eeb86569f993e15fe",
|
|
59
60
|
"install/index.mjs": "07ec26ecdd81cc983f146faf4b7095c98edce39c89a6fd83c24ce43229d2d9e7",
|
|
60
61
|
"install/templates/claude-hooks.json": "12d6bb0c3cd7d71b1d2029e2eb4370ca7b5ee55bd88f96b09c927d8119a87be7",
|
|
61
62
|
"install/templates/codex-instructions.md": "dd78eb9553e725c039380457245793a5fc748ae37ebf5ccfe11be5ed5b9a4025",
|
|
62
|
-
"install/templates/copilot-instructions.md": "
|
|
63
|
+
"install/templates/copilot-instructions.md": "2450ca338960e298a231fde7b0e0a08001cbefc0da94d850a6a686eaee8c9b94",
|
|
63
64
|
"install/templates/multi-agent-autopilot-awake.plist.template": "ddd25c76c56fcbb38a89de8e35637372d70ace993d6bc487a88ca9cfb702fe1f",
|
|
64
65
|
"install/templates/multi-agent-autopilot.plist.template": "122c8a61cd927edd99375d6e3da40f1d42bcceed5b6641785c8b28bb930bc77e",
|
|
65
66
|
"install/unattended-profile-legacy.json": "f52e86b998956f09ad306b1735a6c10b58580d7082d8a55665a4c6bb15c3aa1f",
|
|
66
|
-
"package.json": "
|
|
67
|
+
"package.json": "c98f4e94e6d67e82f3f2656f3e82bbb4f45243aa9e750c5881cc66439ffbbaf9",
|
|
67
68
|
"pipeline/agents/android-architect.md": "11fb74543cb0ebcf9525ca6654fe95d53da7229e0bf4a1149b31fd9005abc453",
|
|
68
69
|
"pipeline/agents/backend-architect.md": "b02a606c301e4714131aed70ae6d16eeb77fbc819a001e2752cff2488d4246de",
|
|
69
70
|
"pipeline/agents/bulk-reader.md": "6597052cd7d205bac2b1c7633f5232fe1a40730664a913b8eb77efd5a786dc25",
|
|
@@ -117,7 +118,7 @@
|
|
|
117
118
|
"pipeline/commands/multi-agent/review-analysis/SKILL.md": "2ba4ee67a56bd5f7041a02fcd227b5475b39f6e6a39b1f693cdf4bd5302c6e17",
|
|
118
119
|
"pipeline/commands/multi-agent/review-issue/SKILL.md": "7ae7fe774c02114840cc21fb303f98c9a36bc2903f1db4cfc2cebe213ca70f1b",
|
|
119
120
|
"pipeline/commands/multi-agent/review-jira/SKILL.md": "db8ecc7ec8c7040aac9c71dcf40dae194a76f146ab227833b909b45580b5347a",
|
|
120
|
-
"pipeline/commands/multi-agent/review/SKILL.md": "
|
|
121
|
+
"pipeline/commands/multi-agent/review/SKILL.md": "d151f423115648363edf2a5b6471ecd2c3d0e2f8f67d3d1b430501a41618d11d",
|
|
121
122
|
"pipeline/commands/multi-agent/route-off/SKILL.md": "aa8b677898b0efde1bd19c50383497da43a83b3b811e36f60695675d845c2de8",
|
|
122
123
|
"pipeline/commands/multi-agent/route-on/SKILL.md": "009668650f618daafe78db728f82ebac5b3af7fe34600283e18480b01ece572c",
|
|
123
124
|
"pipeline/commands/multi-agent/route-status/SKILL.md": "feeb453a21f56699df148ae944a6fa6c75dcb1a57061fef736e5c6a7273daf3c",
|
|
@@ -129,7 +130,7 @@
|
|
|
129
130
|
"pipeline/commands/multi-agent/search/SKILL.md": "231f0dd266907423cc45feeadc4170852dc6fd45239e0bee3ee4e08d4d0f5958",
|
|
130
131
|
"pipeline/commands/multi-agent/security-review/SKILL.md": "dfc2fad484c81169912062391f7ad97500ef113d95741902e5e18e7dd60b6da1",
|
|
131
132
|
"pipeline/commands/multi-agent/serve/SKILL.md": "e931219d8be258a155a692d23c2b275c2e7e0a761b3f0354c943e26d2ce7b035",
|
|
132
|
-
"pipeline/commands/multi-agent/setup/SKILL.md": "
|
|
133
|
+
"pipeline/commands/multi-agent/setup/SKILL.md": "825de99f84b31f021c43e7d081b9e8c1d1af763570edc8cb6c81e5de1c42fd0f",
|
|
133
134
|
"pipeline/commands/multi-agent/stack/SKILL.md": "26ecb48b28b61250330edb26fdfd014e401992e4f1329c572766ba4e2dc6e35d",
|
|
134
135
|
"pipeline/commands/multi-agent/status/SKILL.md": "b08338841a5282f8ae2494751001aa31cbf4829146a58ed2c395b1c062b48443",
|
|
135
136
|
"pipeline/commands/multi-agent/steer/SKILL.md": "07e738c228ba328f717f86e97e7af207df090b16433e28e613d430c3ff0aee3e",
|
|
@@ -242,14 +243,14 @@
|
|
|
242
243
|
"pipeline/lib/workspace-trust.mjs": "baa33eb4bef709578c554fb6f1c5952d838a3fe154422e7e671ac485e49518dc",
|
|
243
244
|
"pipeline/lib/xcode-plugin.mjs": "79d1bef0ec5c7909f970ff8772c8422adbaf6217b6f72c44c531a124d1a12fd0",
|
|
244
245
|
"pipeline/multi-agent-refs/_account-picker.md": "42715ba746e1fc681a57436d72fc643e3f16de023f0409fee8782b013f7a144a",
|
|
245
|
-
"pipeline/multi-agent-refs/_dev-context.md": "
|
|
246
|
+
"pipeline/multi-agent-refs/_dev-context.md": "8b6557682da99a2801f568696d75398420786842a87193ad9d70b5bc90146e25",
|
|
246
247
|
"pipeline/multi-agent-refs/_input-parser.md": "4cf222b1c4a405bd71521f5290f45408cc8a47913a0a39166c68210104e90cc5",
|
|
247
248
|
"pipeline/multi-agent-refs/_repo-picker.md": "c325e86d00fa5e26893eeafcfae8c809f62e34e2ec643b4b364ac4c6f9caca45",
|
|
248
249
|
"pipeline/multi-agent-refs/analysis-template-corporate.md": "ffccd6ba4b8db4e1492c5b569dbd14f1953dd8da6a3aa5825e7563506b820779",
|
|
249
250
|
"pipeline/multi-agent-refs/analysis-template.md": "7062312f153aa9219a1ced9f0b60ac3583b4a2034d9d205cf7144ac9bf70ef17",
|
|
250
|
-
"pipeline/multi-agent-refs/analysis/evidence.md": "
|
|
251
|
+
"pipeline/multi-agent-refs/analysis/evidence.md": "30033b52c4f298791f21275b8c0382b5d76fc1b6780e4af66753237005de55c9",
|
|
251
252
|
"pipeline/multi-agent-refs/analysis/intake.md": "f5fb9e16620acb63fa41d14165d04f0fa6f5f7e178250a6f2b5b6d921d176f53",
|
|
252
|
-
"pipeline/multi-agent-refs/analysis/locked.md": "
|
|
253
|
+
"pipeline/multi-agent-refs/analysis/locked.md": "c914d3da5182bfbb3ba613299cf38f12832fda2f17e1968e5a8fd7b32d867bdf",
|
|
253
254
|
"pipeline/multi-agent-refs/analysis/redesign.md": "6314fc1e14e05166efbea4819d5b07adb838d0704bde61b4b69cef637f251d58",
|
|
254
255
|
"pipeline/multi-agent-refs/analysis/render.md": "a65f2957623c1cef0f61cda4c89626524c703e5fb4070db446a13c091cdb4c5c",
|
|
255
256
|
"pipeline/multi-agent-refs/analysis/resolve.md": "2e3631a8a9af999e01c66455378020e2134e6ca91bed3a40cd94717da94a34cb",
|
|
@@ -272,7 +273,7 @@
|
|
|
272
273
|
"pipeline/multi-agent-refs/component-dispatch.md": "2ab9094aa716397e4840cd48f736c3f4fc3e7c4f9ccc5c7c7c52f9e8b0a28fb5",
|
|
273
274
|
"pipeline/multi-agent-refs/component-generation.md": "04fdb3fd0f1c129e1df8243184a3225cebd9c4f63511d6015eb356a92eda8891",
|
|
274
275
|
"pipeline/multi-agent-refs/conventions-defaults.md": "608a05ec6332fc19ee12c0418fbf25165f80e6c06cfee9efed7f27fab185d97d",
|
|
275
|
-
"pipeline/multi-agent-refs/cross-cli-contract.md": "
|
|
276
|
+
"pipeline/multi-agent-refs/cross-cli-contract.md": "a8d5cbbf56862ee2a897e2961b1a7f5adc502765747e639bed43276b9ebd10f8",
|
|
276
277
|
"pipeline/multi-agent-refs/design-check/build-launch.md": "0ac64d07ef7389e22f7443f79c70a0a4f8bb87dcff6dbc94c63e034febe194ea",
|
|
277
278
|
"pipeline/multi-agent-refs/design-check/compare.md": "2a0a89542a8bfefcfeaf1068dd91edb6947392f911f23e8b4857e4ace8fd15d7",
|
|
278
279
|
"pipeline/multi-agent-refs/design-check/drive-capture.md": "dee4cd6230a401bc9e9dc82fc08109803dd2630c872c5b77a43cf17db062b05f",
|
|
@@ -287,7 +288,7 @@
|
|
|
287
288
|
"pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md": "b2bd47d55a2af66da15c5ad8d066ec2990ebf9b3af3c0c38cc48b0ad0210565b",
|
|
288
289
|
"pipeline/multi-agent-refs/features/autopilot-operations.md": "1883d06b7e4ecc20d957fa0adf029abd22b6c89d1ff6576b74e7f0a56ba884c8",
|
|
289
290
|
"pipeline/multi-agent-refs/features/base-branch-evidence.md": "7b875d61cf11ecc9119b440037be0e849931b0c00f4c102640590f7e59e1646b",
|
|
290
|
-
"pipeline/multi-agent-refs/features/code-graph.md": "
|
|
291
|
+
"pipeline/multi-agent-refs/features/code-graph.md": "0223d6e3117c924b246dd42fbdf91109bd1950464a35092b08b73ce53c1b56eb",
|
|
291
292
|
"pipeline/multi-agent-refs/features/code-intelligence.md": "f115b9e983d8617e64208326a3c858b59b6c5e960caaf35f97ac13b16bfc4c59",
|
|
292
293
|
"pipeline/multi-agent-refs/features/constitution.md": "2144d1b35ac42a6d64edc292440c9dacdf70c86d190874566e1db9a02244bd77",
|
|
293
294
|
"pipeline/multi-agent-refs/features/cost-analysis.md": "42f1b90b41ef454f29ccfd3f93c959920f0e74cbca65e140695e9a30d6d90b87",
|
|
@@ -305,6 +306,7 @@
|
|
|
305
306
|
"pipeline/multi-agent-refs/features/plan-critic.md": "d218c8599d893211480a412d46efdbba4aa48e3b18e8bb0ebfd66782f3b8ebc5",
|
|
306
307
|
"pipeline/multi-agent-refs/features/plan-todos.md": "8780d80b4541daee2b05080759a0694ef7e6270abe9a4621deb92ec7bac94e8e",
|
|
307
308
|
"pipeline/multi-agent-refs/features/prior-fix-detection.md": "9bd172fa116b0c334576ee3df2dc478810a7e282422410e045be74ac2299253d",
|
|
309
|
+
"pipeline/multi-agent-refs/features/product-context.md": "6342a9adba460ed3ee50e33bc78974c78258d7f1a56beee6b73ed966c66ce81c",
|
|
308
310
|
"pipeline/multi-agent-refs/features/repo-map.md": "9102f95d5c819c3bce3dc992cc98c67657e83f1fbc77d2e9b3d16b040bfab9f6",
|
|
309
311
|
"pipeline/multi-agent-refs/features/repo-profile.md": "6080ba20a4246c448d675d4712c63c16892b0baadca18cebdc6887696edb5e30",
|
|
310
312
|
"pipeline/multi-agent-refs/features/research.md": "776c9f3b644f8ff355108000b4a7381ff173e38811e8e2a73ef66e756d60c169",
|
|
@@ -333,7 +335,7 @@
|
|
|
333
335
|
"pipeline/multi-agent-refs/help/tr.md": "227fc73ff4e6cbc164072b17eee8c1212dc5e17dac841bbbca689c583d739df8",
|
|
334
336
|
"pipeline/multi-agent-refs/issue-jira-triad.md": "a12f4e3b75badf8a466e0c3531a5f0e12e44a1dd7799522fb03ff11068ce391d",
|
|
335
337
|
"pipeline/multi-agent-refs/keychain.md": "d2c6a915595f25570dfc5c24ba1d86a133003af517fa348e077da4643664e43c",
|
|
336
|
-
"pipeline/multi-agent-refs/knowledge.md": "
|
|
338
|
+
"pipeline/multi-agent-refs/knowledge.md": "12a31305d0fcf607be7e9f8fd586af8d3d40079c47425390cd089925bca22dbb",
|
|
337
339
|
"pipeline/multi-agent-refs/multi-repo-integration-build.md": "ff4ad08d382d1d31f5c4f3c382cb340058bbe5cb1cffbfef520500cad7b9c05c",
|
|
338
340
|
"pipeline/multi-agent-refs/orchestrator/operations.md": "7e6e969e3d62eafaf489e0383748529b7798e28a1f7f62f0a71dcd507800752f",
|
|
339
341
|
"pipeline/multi-agent-refs/orchestrator/phase-0-projects.md": "eb8ff77eadd0daf83c9673a5b396d7869642b5fc3a39d67e5fc3250401e9abad",
|
|
@@ -347,13 +349,13 @@
|
|
|
347
349
|
"pipeline/multi-agent-refs/phases/modes.md": "0733e20dce458c09f30343db9149fc93bc5a4c9531670b93952f223811dcb1aa",
|
|
348
350
|
"pipeline/multi-agent-refs/phases/operations.md": "9506a26684abfff1e332d92c2321e840544fd4f049aff9f118731e198dabca94",
|
|
349
351
|
"pipeline/multi-agent-refs/phases/phase-0-init.md": "b8ac6727242ca0cd4c46cc3f83f048569af320d2bc1223e6b9f2ea84c6570a2e",
|
|
350
|
-
"pipeline/multi-agent-refs/phases/phase-1-plan.md": "
|
|
351
|
-
"pipeline/multi-agent-refs/phases/phase-2-dev.md": "
|
|
352
|
-
"pipeline/multi-agent-refs/phases/phase-3-review.md": "
|
|
352
|
+
"pipeline/multi-agent-refs/phases/phase-1-plan.md": "a8ebd49abb7868e1fb2b0979fbc04c405ddec1bed966acd617b9b8bf714fa8e2",
|
|
353
|
+
"pipeline/multi-agent-refs/phases/phase-2-dev.md": "239749d4af2417f058586987ed64aa29bef7cc4981db8f403fd4a2499ed0925d",
|
|
354
|
+
"pipeline/multi-agent-refs/phases/phase-3-review.md": "6e2eb55448d33e6cd64d00826a37547b9b33c4cc8c69beb0c020e6e1a210ae0c",
|
|
353
355
|
"pipeline/multi-agent-refs/phases/phase-4-commit.md": "e0a4f3126f30fe8cee5a765a1220a3e5eaf67d344b0b4f03d0ced7cf1e451144",
|
|
354
356
|
"pipeline/multi-agent-refs/phases/phase-5-report.md": "3d333dc4b072c98eda3f287f884e12de62cda7255b12de7725a72903cefa6016",
|
|
355
357
|
"pipeline/multi-agent-refs/picker-contract.md": "bf1b3043946e4aa588203060d47d182ca1ee58b10dec27a85a7b74afde3565ed",
|
|
356
|
-
"pipeline/multi-agent-refs/platform-parity.md": "
|
|
358
|
+
"pipeline/multi-agent-refs/platform-parity.md": "5ff185f06cd99fa99cbbc32841512090a23c128f0a6adccfc4fc430e75caf46b",
|
|
357
359
|
"pipeline/multi-agent-refs/progress-contract.md": "d1dc3c117aeb880cd44b3439062e9fe7d5e2042ba00c49fd495f70a6bdc1addc",
|
|
358
360
|
"pipeline/multi-agent-refs/prompt-assembly.md": "5be25fe3e91ab4f997735907b53c8284fad289c60960e71445e0e8632d2704d1",
|
|
359
361
|
"pipeline/multi-agent-refs/readiness-review.md": "1413e47dc97a54c0a2bd597f996203f24ee8a356f3d5d8690b42b2dad47ddc40",
|
|
@@ -371,7 +373,7 @@
|
|
|
371
373
|
"pipeline/multi-agent-refs/setup/google-play.md": "c60117fb8b13c709da93d379064aa0d56869bfde88fc5d5737996b7c1fc02ff7",
|
|
372
374
|
"pipeline/multi-agent-refs/setup/identity-routing.md": "299870880a1d4f27986d09ce912288472d35cc333382301536ea25bc13289c70",
|
|
373
375
|
"pipeline/multi-agent-refs/setup/repo-discovery.md": "06944e7b7677d998b6d169fbf5bebcac08c0f5eab808f9f1f3e5b6b2dc6a1f55",
|
|
374
|
-
"pipeline/multi-agent-refs/setup/token-save-flow.md": "
|
|
376
|
+
"pipeline/multi-agent-refs/setup/token-save-flow.md": "924c8b793a0088db8c1191977df0ee5c68bf3d6ed41b77741a95149dd949fd25",
|
|
375
377
|
"pipeline/multi-agent-refs/store-ready/build.md": "a19e09b544a2f00d62d0687c0274a0c029a065dd11cccafd35ac746e37826594",
|
|
376
378
|
"pipeline/multi-agent-refs/store-ready/gate-1-static.md": "026e1be646820449234d640db91049cfa676792d7a0f64d795b9862dc140010d",
|
|
377
379
|
"pipeline/multi-agent-refs/store-ready/gate-3-policy.md": "bdd05019001d7f6115fc813295e21fcddae763b815e0ae3069909defbd8ac1e8",
|
|
@@ -401,9 +403,9 @@
|
|
|
401
403
|
"pipeline/rules/swiftui-qa.md": "8c4afe9e72413e7bdab655f3d17588469e80ac34cb7ad2a690901fc5b6534818",
|
|
402
404
|
"pipeline/rules/tdd.md": "4c1b3114506aa9794c9bb1e1aee1b1bbb4a993d192342e5697cc00bc2f6ea4a2",
|
|
403
405
|
"pipeline/rules/testing.md": "695be5520b65451f0aa300a9643df2c05e607ff6ad372201ea34798dc5998bd5",
|
|
404
|
-
"pipeline/schemas/agent-state.schema.json": "
|
|
406
|
+
"pipeline/schemas/agent-state.schema.json": "e7c967f9b0034eb261fadc908e80ebafdd389514226ae6b84bc58fe95dcbd354",
|
|
405
407
|
"pipeline/schemas/analysis-output.schema.json": "41826f4bf7c96778f8cdbcc68531e984087897d438b7b49ac5a93fc29db47916",
|
|
406
|
-
"pipeline/schemas/analysis-spec.schema.json": "
|
|
408
|
+
"pipeline/schemas/analysis-spec.schema.json": "43770223266be1c94e2cdea585efb6783043353bc5a374613b554596f46e1bcd",
|
|
407
409
|
"pipeline/schemas/answer-request.schema.json": "29d4211a2a05a230e0707b171b73341d2e56f6b83edb178b731905211aab4e23",
|
|
408
410
|
"pipeline/schemas/answer-result.schema.json": "7e998e8dcd48d6152c867fd178c6c1107e97c21d19429e67554e7d7a3aa42a28",
|
|
409
411
|
"pipeline/schemas/autopilot-config.schema.json": "c183332327520026c02f87f65377a1838e5de9cb9210337e6c4a6aaa7a0706c5",
|
|
@@ -413,7 +415,7 @@
|
|
|
413
415
|
"pipeline/schemas/bug-bash-verification.schema.json": "5f9e7033b7d5d966dfa609a7fae79ba17a8bd7393aedbc35d2a782462f80ce01",
|
|
414
416
|
"pipeline/schemas/bulk-read-output.schema.json": "468d447ee69d5576d16835cdd167a9191bf33d2b6e3af89373907582ef93f49e",
|
|
415
417
|
"pipeline/schemas/clarify-output.schema.json": "13c3d933d24d9541a97fe7630f97587157c92e420794d6dea359726377c986a6",
|
|
416
|
-
"pipeline/schemas/code-graph.schema.json": "
|
|
418
|
+
"pipeline/schemas/code-graph.schema.json": "821323d94a538b1bdb1e22c2a319cca0f11e9eaf6f166a1e03d4e333a08f3c55",
|
|
417
419
|
"pipeline/schemas/command-parameters.schema.json": "739a7ea14d2f17bfe8503bc26e547653e3a11794c26da774205ae4e5510ea533",
|
|
418
420
|
"pipeline/schemas/complaint-analysis-spec.schema.json": "6dd5c4ebbfcd64408329bf69fc4f6b372e89be651c7ff394ae301b5cd9f6a1f4",
|
|
419
421
|
"pipeline/schemas/constitution.schema.json": "d40d7da71a36973d4f934aac98b7cb550e4a33af31e9307a57286d31555bf738",
|
|
@@ -422,7 +424,7 @@
|
|
|
422
424
|
"pipeline/schemas/criteria-manifest.schema.json": "a741931b1268200f8b9c4bfd470e082722fcc7b55203abeddaec016091679d5b",
|
|
423
425
|
"pipeline/schemas/design-check-config.schema.json": "2501dc6b2f9198a37fbbfc69aebd38e91192f2157d17f1ec7a12f5d7e14117ea",
|
|
424
426
|
"pipeline/schemas/dev-critic-output.schema.json": "2797ff79154b57f7539f8ae0181f9bf70e63e5f997b06a4aa05a5917ae50d1c8",
|
|
425
|
-
"pipeline/schemas/diff-risk.schema.json": "
|
|
427
|
+
"pipeline/schemas/diff-risk.schema.json": "3b4e00bec49f43400161de06936daa08d45571795d8b3286e5f227d67038310e",
|
|
426
428
|
"pipeline/schemas/explore-run.schema.json": "e5e848fa638b14d0d630893c58746563f1d7a27b2f4cdc83ad0f2e51c97c9083",
|
|
427
429
|
"pipeline/schemas/figma-project-config.schema.json": "5e2b61e1f165a507d1dc7a1b8b3df71a39a7034534376723b7f835212687d6b5",
|
|
428
430
|
"pipeline/schemas/gc-request.schema.json": "a7c14b517973dafbc858c07a10cec957af3efc164263752281645180e3d95272",
|
|
@@ -455,7 +457,7 @@
|
|
|
455
457
|
"pipeline/schemas/plan-todos.schema.json": "f1dcf8df338b29bbc1d874addd3408c0841a5f869c0b6075efd9242e3e8552d6",
|
|
456
458
|
"pipeline/schemas/planning-output.schema.json": "bc6eda32ecd435cf84d846078f9d38347f8f741f8a427cff15913dd6c380d4b8",
|
|
457
459
|
"pipeline/schemas/pr-request.schema.json": "ae75c4856349d62834802b1189af516bb6fb3d36646831b7ff2fa61d938afcd0",
|
|
458
|
-
"pipeline/schemas/prefs.schema.json": "
|
|
460
|
+
"pipeline/schemas/prefs.schema.json": "732cae37445f866a13f170e1698e1438a33f19b6162d76342bee23a89739e123",
|
|
459
461
|
"pipeline/schemas/repo-profile.schema.json": "1a74ef8330da9a26a5a70955f6f9cbb20eda54a8615efaf86c7993d420a7f04e",
|
|
460
462
|
"pipeline/schemas/repos.schema.json": "a9bf56f25c66201c170912e3389bd73e4a3f61922410f83e31a6c6ba47aee861",
|
|
461
463
|
"pipeline/schemas/research-output.schema.json": "54e3ba1b04fdc20fbaa84333b943a8ab95d1395c7b0e0aedc67929184cb49523",
|
|
@@ -490,9 +492,10 @@
|
|
|
490
492
|
"pipeline/scripts/_autopilot-config.mjs": "0f42d2791f1d71c4aad5a0735ca56fef1ed27d275b72f99d8ca8f95fcb8aa83a",
|
|
491
493
|
"pipeline/scripts/_autopilot-ops.mjs": "5e84d628482434c8f09dc69601c73ab70e928af15c2f068d998d2f61bd692d1a",
|
|
492
494
|
"pipeline/scripts/_autopilot-outcomes.mjs": "5b2423814d979ed5c657473290083b296f7245d40507c866e7931b2771001236",
|
|
493
|
-
"pipeline/scripts/_code-graph.mjs": "
|
|
495
|
+
"pipeline/scripts/_code-graph.mjs": "513643c753a033818083f059c06a47d32664822a0cc716cb61fd0071b50c569a",
|
|
494
496
|
"pipeline/scripts/_command-contract.mjs": "e97a5c624e0768769da54d4175e9f7655f1de1dcd0832468bc66bf140b0f5a6f",
|
|
495
497
|
"pipeline/scripts/_cost.mjs": "bdf03835af4719b72e4574f2d5ca827e94f9d80e49527a8e9e200a0aa4ecd7a9",
|
|
498
|
+
"pipeline/scripts/_diff-impact.mjs": "49dad7013ec098252418718cd72e398b494928cf68b9f78158ed759147041212",
|
|
496
499
|
"pipeline/scripts/_fingerprint.mjs": "d8c63b062a3be0e138b6675aa031824fcd96f5517cf0f7b477378913c1db7d73",
|
|
497
500
|
"pipeline/scripts/_notices.mjs": "1f78037b0849ab3cf8a85ca353ed1610c2895250ac21a1d50ac1fb9732be4300",
|
|
498
501
|
"pipeline/scripts/_path-match.mjs": "880b27d90351441b4f3c05e1a87ace62cd1caab3ec7a286663efb2176cb69a69",
|
|
@@ -532,7 +535,7 @@
|
|
|
532
535
|
"pipeline/scripts/build-stack-plugins.mjs": "bd7b7f9a3983d4daaf5e4468abc79c0f195877a02a390dcccfb529d79e8c39c7",
|
|
533
536
|
"pipeline/scripts/bulk-read.sh": "eb13ef378768e98a7624dc14c83e0cdc83ac01476567bcca16e390368f5706d0",
|
|
534
537
|
"pipeline/scripts/capture-evidence.sh": "2f7657786e07c17c302b76d4ea6bafe391b65be3dd891901b78019af3a7e38e1",
|
|
535
|
-
"pipeline/scripts/capture-flush.sh": "
|
|
538
|
+
"pipeline/scripts/capture-flush.sh": "ea5074dfdf69bef4182bed4a073c8f3a499c0d41f7ec0b6bde87f2870b40c910",
|
|
536
539
|
"pipeline/scripts/capture-resume.sh": "4934ff7961e2b8eabcd154ca06dd53c1d4aab03986a39dff287b8c16f5cea7ee",
|
|
537
540
|
"pipeline/scripts/check-derived-drift.mjs": "6716f1354b5b17d0314e5bbe18d987c5143ffeadd0825ff35d7414b3d7a516ad",
|
|
538
541
|
"pipeline/scripts/check-read-size.py": "fa094f7fcc3ea830411a55f4acda12ffe5a2323c8fd105033ef238e13bc04c99",
|
|
@@ -554,7 +557,7 @@
|
|
|
554
557
|
"pipeline/scripts/council-view.mjs": "f904aa3a71fe31f7b02a00c603186e251f66a652950d285e934b591571db56cc",
|
|
555
558
|
"pipeline/scripts/crush-json.mjs": "303382670f8f170c8c6710202853a2de2915625813cd157185f9be4e2b27258e",
|
|
556
559
|
"pipeline/scripts/diff-explain.mjs": "194d0635639607cb1af3de064453162e01c0d59dc0c2e187d21d45bae3bc559c",
|
|
557
|
-
"pipeline/scripts/diff-risk-score.mjs": "
|
|
560
|
+
"pipeline/scripts/diff-risk-score.mjs": "70bac656acc6154a13cc20a8174101b133531b9d1963f40f16bb162622d0017d",
|
|
558
561
|
"pipeline/scripts/doctor.mjs": "4905cedb5a71e9890f6b9994d6097d840fccc4afcff2b4fbdc69aefb8017a2cb",
|
|
559
562
|
"pipeline/scripts/estimate.mjs": "9847e412dd74ac19a5c3b84bed343f79d25f256022b2df98e3eb1296db45ed3a",
|
|
560
563
|
"pipeline/scripts/evidence-gate.mjs": "347a8d3fa1d17d996de345585c216bd7071f4c1d687999daf6e48881720ea5df",
|
|
@@ -574,10 +577,10 @@
|
|
|
574
577
|
"pipeline/scripts/git-path.mjs": "c035624f1ab924039b37e0911f56c6a1fa781ac41dc89fadfdaa4305f4359c12",
|
|
575
578
|
"pipeline/scripts/github-ssh-setup.sh": "5a9e1836d80e4e176806c143a3c8ba4c1b9c4274ed49aac71f33bd40de31968b",
|
|
576
579
|
"pipeline/scripts/glob-match.mjs": "c01722f2f60ef70838cbfeef55dfb8381b49c358c7a808a5b297a92cdeccf033",
|
|
577
|
-
"pipeline/scripts/graph-affected.mjs": "
|
|
580
|
+
"pipeline/scripts/graph-affected.mjs": "fc57496969bbf1bb7a91051c0e273b029085ce5fe807ad841c2d9c26fa782699",
|
|
578
581
|
"pipeline/scripts/graph-build.mjs": "b81a0149d0c8ad8a9747dd7c2eecf3cc51195a6b47c23ded09f0bbb30ac60ea8",
|
|
579
582
|
"pipeline/scripts/graph-mermaid.mjs": "8b68a9123174bd8ef38a64c0e653b8b53e6b1e8bcb4f94db171f66bd32225ee9",
|
|
580
|
-
"pipeline/scripts/graph-query.mjs": "
|
|
583
|
+
"pipeline/scripts/graph-query.mjs": "47f571b6ebb9417b816d75217a48f3b6c705b5109947d640040b16f866254310",
|
|
581
584
|
"pipeline/scripts/graph-report.mjs": "d76ba06796eabbbb0f9a06929d322fa9cbd580131ca34c3c9d78cabd9772ce6a",
|
|
582
585
|
"pipeline/scripts/issues.mjs": "66c787f1d6be924a61cb8b1504354dd7fb0de89a2afee744aa31435b834ef383",
|
|
583
586
|
"pipeline/scripts/jira-attach.sh": "50f210e4747446790d40c61be84e06b423c13fb7edf6778d7d383c513f821277",
|
|
@@ -617,6 +620,7 @@
|
|
|
617
620
|
"pipeline/scripts/pre-push-check.sh": "4a1554a625df4745a829c0df294db7ce450fbe44fe624e562008e9912be78925",
|
|
618
621
|
"pipeline/scripts/probe-evidence-capability.sh": "ac74252eed6b773fdbc7ec475a63606925f1ba7b5e7c6f911329f46fd920eae7",
|
|
619
622
|
"pipeline/scripts/probe-store-key.mjs": "b46dfcf444c95d0bb61de36823314945dacaaacb8f35841d153dcfcde8e4df1a",
|
|
623
|
+
"pipeline/scripts/product-context.mjs": "97a19f35ec340f739c8f22b8bed8496b937539221961582aec2ec6b7489f4443",
|
|
620
624
|
"pipeline/scripts/prune-logs.sh": "c5587b33104c7253e07be8cce8249b50014c52dfdf232de637811ffdd88e95e4",
|
|
621
625
|
"pipeline/scripts/purge.sh": "95c60b272ae47209893dba9b17528538592bb5636da47940a02734cd9b4f0ce5",
|
|
622
626
|
"pipeline/scripts/record-phase.mjs": "041dc262e54f38b66299f45c44db7918812e599a773f5a3dc78cfd09ab5e155e",
|
|
@@ -649,7 +653,7 @@
|
|
|
649
653
|
"pipeline/scripts/skill-candidates.mjs": "800df17b4a4ad8edc700d5d7bfac512ae861b3e20cf27a92a18c9d12729bc6ab",
|
|
650
654
|
"pipeline/scripts/skill-conformance.mjs": "98081feb69107033191dc236773fce4d0e5aee6307f1ae1e36c68be1d3654859",
|
|
651
655
|
"pipeline/scripts/skill-siblings.mjs": "5f7cbe1e80db64bc246e6fe899e8a8c03647a55a54047387feaa00923c78c29b",
|
|
652
|
-
"pipeline/scripts/smoke-cross-cli-behavior.sh": "
|
|
656
|
+
"pipeline/scripts/smoke-cross-cli-behavior.sh": "4212e39ab4c2be160cd0b19fcd5d61ace226dcdff57431bf93a15aa28400d587",
|
|
653
657
|
"pipeline/scripts/smoke-schema-validation.sh": "1898953b68d5ef655502c32679e0883da7038ccd657082b34978e8ba19f217ff",
|
|
654
658
|
"pipeline/scripts/spec-consistency-gate.mjs": "16a302d61b562cabb754f72a2b65d376e2e39c98f6f68374c50e4015637b1055",
|
|
655
659
|
"pipeline/scripts/symbol-existence-gate.mjs": "01cf577a9966cc3eb9ca65ac87ffe18eec7664023c783a0155bb73a4716cb2f9",
|
|
@@ -674,9 +678,9 @@
|
|
|
674
678
|
"pipeline/scripts/usage-report.mjs": "bc330b3a5657aa99f4ec19dbf9fcca0590d02166f242b40a51b55ac3c0cc1b83",
|
|
675
679
|
"pipeline/scripts/validate-analysis-doc.mjs": "3300212d6d7387f4f2f63e2712dad7dacc53d8c133d575a286d3d4bf06bca431",
|
|
676
680
|
"pipeline/scripts/validate-analysis.mjs": "d2dc9ccf45f6ca2702908761939edd830d18b3b273016a4b449f26fe285d5ea1",
|
|
677
|
-
"pipeline/scripts/validate-code-graph.mjs": "
|
|
681
|
+
"pipeline/scripts/validate-code-graph.mjs": "80d66905b5b2122824206395b8da5c162ae22191bbe703f48f45c9830e21af87",
|
|
678
682
|
"pipeline/scripts/validate-complaint-doc.mjs": "a6ffcab3bbe917c59edc035922393c106454ecea41693c19d3e458adc47d548e",
|
|
679
|
-
"pipeline/scripts/validate-diff-risk.mjs": "
|
|
683
|
+
"pipeline/scripts/validate-diff-risk.mjs": "cf53943f71a717fddaacf7426dea9d5eb4e0ec7bdb27bdfb91915176df9fee99",
|
|
680
684
|
"pipeline/scripts/validate-planning.mjs": "bf8c250c2d18d775a8a7af6e7afa348460646cf0a2e18481b3e4c4ca02694331",
|
|
681
685
|
"pipeline/scripts/validate-reviewer.mjs": "491fdcd01bd8692419157abfeb91da813505f099ede8cf150557f8aeaad04d86",
|
|
682
686
|
"pipeline/scripts/validate-state.mjs": "ac2cfde75fe216a7549ba476c58f777f27d36e068de3796909926d68de2fb65a",
|
|
@@ -694,7 +698,7 @@
|
|
|
694
698
|
"pipeline/scripts/worktrees.mjs": "90dfd09b70fffe9b56c331a4ae2692cc248f4898f4ee6aee4239ef0b20888a90",
|
|
695
699
|
"pipeline/scripts/write-state.mjs": "e1198bf970eace07d3eff22b394808a526e473df65d3d58aa2d5a12cfdac8b49",
|
|
696
700
|
"pipeline/scripts/write-store-config.mjs": "b994a061f6febb2ca3d396074d8b51d2c1c1f991d3072d321703380da3639a56",
|
|
697
|
-
"pipeline/skills/.skill-manifest.json": "
|
|
701
|
+
"pipeline/skills/.skill-manifest.json": "a3855be72470070e382c3c45457569cdc8d4bce1efbc163f7d3aacb751018c57",
|
|
698
702
|
"pipeline/skills/.skills-index.json": "b2917fa44e273b939549f1c3ab3dd81c26ba8168772bc7644c9fa076116d8a4c",
|
|
699
703
|
"pipeline/skills/shared/README.md": "928fe4292be729c3b7d7d0898cade8be0dfa868f208e0c6d1fe7b2c6bd6223c5",
|
|
700
704
|
"pipeline/skills/shared/core/apple-archive-compliance/SKILL.md": "7239fef717ea45b79276bfcc2c3903acd57950b6e00dd6a2a66399c4b09cbd51",
|
|
@@ -739,7 +743,7 @@
|
|
|
739
743
|
"pipeline/skills/shared/core/multi-agent-review-analysis/SKILL.md": "6c3428841fa62d7e5f36dd80465b09d6f695a2e89608cbb49a0d44cc3c7d289f",
|
|
740
744
|
"pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md": "7409755903a3c71c55643001f784c1c044ca153097f8ca6612c54b87f4ebcbb5",
|
|
741
745
|
"pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md": "a17a1f11fcf6c75640452e53ddddaaf906ff9e3ebfeda73e333f44db02515352",
|
|
742
|
-
"pipeline/skills/shared/core/multi-agent-review/SKILL.md": "
|
|
746
|
+
"pipeline/skills/shared/core/multi-agent-review/SKILL.md": "1a22618e6d3d9d07b267bd61fc591bb33726e1d7ef8567285401f61bc7be0ad5",
|
|
743
747
|
"pipeline/skills/shared/core/multi-agent-route-off/SKILL.md": "a30c0b9b73d5101c70c147599273019cf357969c37bc799017a9f6de4b8686a8",
|
|
744
748
|
"pipeline/skills/shared/core/multi-agent-route-on/SKILL.md": "97c76d711454e6bc9edfd47344bbeab7f73cf72c116cca92cffacdcda7fe96b1",
|
|
745
749
|
"pipeline/skills/shared/core/multi-agent-route-status/SKILL.md": "869689dbf84edece67168a892a61b51459ff6c15cbf7dafe40c2b774f875b9f0",
|
|
@@ -751,7 +755,7 @@
|
|
|
751
755
|
"pipeline/skills/shared/core/multi-agent-search/SKILL.md": "5f5177cd28cbb13583441fb98402cfa251c78e69de693540584e9a1dcc7692cb",
|
|
752
756
|
"pipeline/skills/shared/core/multi-agent-security-review/SKILL.md": "3c483d5942f2c2b81c0537d4db0b36804c13cabd66fd7fae2972d07a8f239f69",
|
|
753
757
|
"pipeline/skills/shared/core/multi-agent-serve/SKILL.md": "90e4dd7225e10e670118ed05d0c8a9e346112c4bbbdb24a7fe7c5c334a83e848",
|
|
754
|
-
"pipeline/skills/shared/core/multi-agent-setup/SKILL.md": "
|
|
758
|
+
"pipeline/skills/shared/core/multi-agent-setup/SKILL.md": "79a4afa655df12221a25bc386a32e61c38016d2de660dd618b404ca8bb0b28d3",
|
|
755
759
|
"pipeline/skills/shared/core/multi-agent-stack/SKILL.md": "ac964cd00dd6ed06512530489d867efbc51d7d7614265f9aa022679325d5defe",
|
|
756
760
|
"pipeline/skills/shared/core/multi-agent-status/SKILL.md": "444c3773b52e6786e40bc67c8833ea6aecadbcd4459b01127b4aff152157040a",
|
|
757
761
|
"pipeline/skills/shared/core/multi-agent-steer/SKILL.md": "20f332bd2fe2745da5341f8d8187211fc47c06b4b5f5031e217affee0282ddb5",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.22.0",
|
|
4
4
|
"description": "6-phase AI development pipeline with full orchestration on Claude Code, Copilot CLI and Codex CLI. Analysis, planning, TDD, CLI-aware parallel review with consensus surfacing + Fable triage, default-FAIL evidence gates, secret + intent guards, per-phase cost ledger, persistent learnings memory, wiki generation, commit automation. Token-preserving uninstall.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -287,7 +287,8 @@ the diff touches a screen, a service, a request model or a localization file,
|
|
|
287
287
|
compare the change against that repo on four axes: endpoints called, parameters
|
|
288
288
|
sent, business rules around the call, localization keys used.
|
|
289
289
|
|
|
290
|
-
|
|
290
|
+
In a product, counterparts are its other repos via `product-context.mjs refs`
|
|
291
|
+
and `repo_*`. Otherwise the counterpart is resolved automatically, in both directions (ios ↔ android),
|
|
291
292
|
from four sources in this order, first hit wins: `--with <path|owner/repo>` (a
|
|
292
293
|
one-off override, remembered like any other resolution), then a remembered
|
|
293
294
|
`prefs.projects[<slug>].counterpartRoots[]`, then the primary checkout's sibling
|
|
@@ -24,6 +24,10 @@ node "$HOME/.claude/scripts/doctor.mjs"
|
|
|
24
24
|
|
|
25
25
|
Run it before the first question and again at the end. The first run turns setup from a fixed script into a targeted one: there is no point asking for a token that is already mapped and answering. The second run is the only honest way to end - "setup complete" is a claim, and the doctor's exit code is the evidence for or against it. Report both in `outputLanguage`, and if the second run still shows a BLOCK, say so plainly rather than closing on the word "complete".
|
|
26
26
|
|
|
27
|
+
## Sections
|
|
28
|
+
|
|
29
|
+
`/multi-agent:setup hosts`: the Step 3.5 host prompt per mapped hosted service, then Token Save Flow Step 3.7 per mapped GitHub/Bitbucket token. `accounts`: Step 3.6. `jira-keys`: the Jira key mapping. Tokens are left alone.
|
|
30
|
+
|
|
27
31
|
## Setup (Credential Store + Git Identity Onboarding)
|
|
28
32
|
|
|
29
33
|
Uses `$HOME/.claude/lib/credential-store.sh` to read/write secrets in the macOS Keychain (`security`, built in). The pipeline is macOS only (ADR-0012).
|
|
@@ -214,7 +218,7 @@ The Step 2 discovery summary is never the end of setup. Immediately after showin
|
|
|
214
218
|
Loop rules:
|
|
215
219
|
|
|
216
220
|
- **One prompt per service.** Never collapse the list into a single "add missing tokens now?" yes/no, and never offer one multi-select covering all services: each service has its own source URL, key name, identity binding and host prompt, so each gets its own Token Save Flow pass.
|
|
217
|
-
- **Each service pass asks, in order: token → author → host.** Step A/B collect the secret, Step C binds the git identity (author) - Bitbucket and GitHub included; every saved token gets an author - and Step 3.5 asks the host domain inline for hosted services (jira, confluence, bitbucket, fortify, graylog) - plus the Fortify project versions and the optional Graylog test instance. GitHub and Figma skip the host question (fixed domains); `bitbucket_user` skips author binding (username, not a PAT). Never end a service pass with the token saved but the author or a required host unasked.
|
|
221
|
+
- **Each service pass asks, in order: token → author → host → read binding (GitHub, Bitbucket; Token Save Flow Step 3.7).** Step A/B collect the secret, Step C binds the git identity (author) - Bitbucket and GitHub included; every saved token gets an author - and Step 3.5 asks the host domain inline for hosted services (jira, confluence, bitbucket, fortify, graylog) - plus the Fortify project versions and the optional Graylog test instance. GitHub and Figma skip the host question (fixed domains); `bitbucket_user` skips author binding (username, not a PAT). Never end a service pass with the token saved but the author or a required host unasked.
|
|
218
222
|
- **Skip is per-service.** A Skip answer leaves that service's `keychainMapping` at `null` and the loop continues with the next service. Skips never abort the loop.
|
|
219
223
|
- **`figma` and `figma_mcp` are distinct credentials for distinct tiers - ask both.** Skipping the PAT does not imply skipping MCP, and vice versa. The `figma_mcp` pass opens with a Remote / Local mode question instead of a clipboard paste (see "Figma MCP Setup" below): Remote generates a `figu_` OAuth token for the current user, Local wires the PAT-based local server.
|
|
220
224
|
- The loop ends only when every missing service has been asked exactly once; then continue to Step 4 (Verify all).
|
|
@@ -257,23 +261,10 @@ Use the global default ({hosts.jira}) or set a per-account host?
|
|
|
257
261
|
2) Set per-account host
|
|
258
262
|
```
|
|
259
263
|
|
|
260
|
-
If `2`, prompt for `jiraHost` / `bitbucketHost` / `confluenceHost` (each optional). Save to `prefs.global.accounts[]
|
|
261
|
-
|
|
262
|
-
```json
|
|
263
|
-
{
|
|
264
|
-
"global": {
|
|
265
|
-
"accounts": [
|
|
266
|
-
{ "id": "personal", "jiraHost": "personal.atlassian.net" },
|
|
267
|
-
{ "id": "client-x", "jiraHost": "client-x.atlassian.net", "bitbucketHost": "bitbucket.client-x.com" }
|
|
268
|
-
]
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
```
|
|
264
|
+
If `2`, prompt for `jiraHost` / `bitbucketHost` / `confluenceHost` (each optional). Save to `prefs.global.accounts[]` as `{ \"id\": \"client-x\", \"jiraHost\": \"client-x.atlassian.net\", \"bitbucketHost\": \"bitbucket.client-x.com\" }`.
|
|
272
265
|
|
|
273
266
|
`account-resolver.sh` reads this on every invocation; per-account override wins over `global.hosts.*`. Skip this step on autopilot - `accounts[]` stays empty until the user opts in via `/multi-agent:setup accounts`.
|
|
274
267
|
|
|
275
|
-
**Re-run / update**: `/multi-agent:setup accounts` opens the editor for this block without re-running token discovery.
|
|
276
|
-
|
|
277
268
|
---
|
|
278
269
|
|
|
279
270
|
### Step 4 - Verify all
|
|
@@ -81,6 +81,21 @@ Selects extra repos the pipeline may touch beyond the primary repo(s) - typica
|
|
|
81
81
|
| node $HOME/.claude/scripts/write-state.mjs "$STATE_FILE"
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
+
6. **Product map (once per project, attended only).** If the project has never
|
|
85
|
+
answered, offer to map the product it belongs to, so Phase 1 can read the
|
|
86
|
+
other repositories of it:
|
|
87
|
+
```bash
|
|
88
|
+
PRIMARY_REMOTE=$(git -C "$REPO_PATH" remote get-url origin)
|
|
89
|
+
node $HOME/.claude/scripts/product-context.mjs needs-mapping --project "$PRIMARY_REPO_NAME" --developed "$PRIMARY_REMOTE"
|
|
90
|
+
```
|
|
91
|
+
Exit 3 = already answered, or the remote is already in a product: skip. Exit
|
|
92
|
+
0: list candidates with `repo-cache.sh` and `product-context.mjs suggest`
|
|
93
|
+
(commands in the contract). One multi-select of the suggestions (each with a stack the user sets; no
|
|
94
|
+
stack is guessed from a name), plus "not part of a product". Confirmed →
|
|
95
|
+
`product-context.mjs learn`; declined → `product-context.mjs decline`, which
|
|
96
|
+
stops the offer for good. Autopilot skips this step and uses the map as it
|
|
97
|
+
is. Contract: `$HOME/.claude/multi-agent-refs/features/product-context.md`.
|
|
98
|
+
|
|
84
99
|
## Web repos - `webRepos`
|
|
85
100
|
|
|
86
101
|
Web repos are rarely submodules of the app repo, so submodule detection never finds them. `prefs.projects[<key>].webRepos[]` (or the pre-rename `frontendRepos[]`) is the primary source for them and is merged into the candidate list alongside the detected submodules. Only `/multi-agent:analysis` used to read this key, which meant the pipeline's own dev-context picker could not offer a web repo at all.
|
|
@@ -29,7 +29,9 @@ For each entry in `state.analysisSpec.contextLinks[]`, fan out by `type`. Entrie
|
|
|
29
29
|
|
|
30
30
|
**Long sources:** with the free chain on, summarize long confluence/document/jira/generic-doc texts via `llm_delegate` first (`features/free-models.md`).
|
|
31
31
|
|
|
32
|
-
For each repo in `state.analysisSpec.repos[]`, run parallel greps (lightweight surface scan; the deeper 13-bucket extraction happens in Phase 1b)
|
|
32
|
+
For each repo in `state.analysisSpec.repos[]`, run parallel greps (lightweight surface scan; the deeper 13-bucket extraction happens in Phase 1b).
|
|
33
|
+
|
|
34
|
+
Other repos are read at their latest branch via `repo_*` (`features/product-context.md`), shas in `evidence.repoShas[]`.
|
|
33
35
|
|
|
34
36
|
```bash
|
|
35
37
|
# Localization
|
|
@@ -204,9 +206,9 @@ Phase 2 Section 20 Risks reads this list and emits one open question per entry.
|
|
|
204
206
|
|
|
205
207
|
**Fallback source**: when `confidence == "none"` AND `evidence.standards[]` does not contain an explicit rule for that field, the renderer reads `$HOME/.claude/multi-agent-refs/conventions-defaults.md` and applies the platform default.
|
|
206
208
|
|
|
207
|
-
**Caching (Locked 26)**: compute `evidence_digest = sha256(featureName || sorted(platforms) || options.redesign || hash(evidence.repoEvidence) || hash(evidence.conventions))`. `options.redesign` is
|
|
209
|
+
**Caching (Locked 26)**: compute `evidence_digest = sha256(featureName || sorted(platforms) || options.redesign || evidence.repoShas || hash(evidence.repoEvidence) || hash(evidence.conventions))`. `options.redesign` is an input so a redesign never reuses a normal run's cache, which would skip Phase 1b and render an empty current-behaviour table. Cache key on disk: `/tmp/multi-agent-analysis-cache/<digest>.json` with mtime <= 24h. Cache hit skips Phase 1b and Phase 1c. `--no-cache` flag forces re-run.
|
|
208
210
|
|
|
209
|
-
Phase 1d is not a digest input: community signal changes hourly
|
|
211
|
+
Phase 1d is not a digest input: community signal changes hourly and would invalidate the cache, re-running the two costly repo phases, every run. A hit reuses yesterday's advisory rows; `--no-cache` refreshes them.
|
|
210
212
|
|
|
211
213
|
### Phase 1d - Outside facts (optional, analyst toolkit)
|
|
212
214
|
|
|
@@ -72,7 +72,7 @@ behind.
|
|
|
72
72
|
23. **Convention extraction mandatory (Phase 1c).** After Phase 1b repo evidence, Phase 1c extracts seven pattern groups (folder structure, class naming, UI state model, test method naming, accessibility identifier, localization key, DI registration) per selected repo via `~/.claude/lib/extract-conventions.sh`. Output lands in `state.analysisSpec.evidence.conventions[<repo>]` with confidence levels (high / medium / low / none) and evidence file citations.
|
|
73
73
|
24. **Pass B cell footnote mandatory.** Every cell Pass B fills in Section 13 (Architecture Plan concept table) and any other per-platform projection carries a footnote of the form `^[<convention-key> <confidence>: <evidence-source>]` pointing back to Phase 1c output. Cells with `confidence: low | none` cite `conventions-defaults.md:C<n>-<platform>` and emit a row in Section 20 Risks ("convention fallback applied"). Footnote-less cells fail the dispatch gate.
|
|
74
74
|
25. **Pass B preview before render.** Phase 2a presents the resolved convention table to the user before Phase 2b emits any platform file. The user can approve, override individual cells, or cancel. Empty answers do not imply consent (`feedback_no-inferred-defaults-from-empty-answer`); the picker re-asks on empty submit.
|
|
75
|
-
26. **Evidence digest caches Phase 1b and 1c.** `evidence_digest = sha256(featureName || sorted(platforms) || repoEvidence.summary || conventions.summary)`. When the same feature name is invoked again against the same set of repos and the digest matches, Phase 1b and 1c are skipped and the cached `evidence.repoEvidence` / `evidence.conventions` is reused. Cache TTL is 24 hours; manual invalidation via `--no-cache` flag.
|
|
75
|
+
26. **Evidence digest caches Phase 1b and 1c.** `evidence_digest = sha256(featureName || sorted(platforms) || repoShas || repoEvidence.summary || conventions.summary)`. When the same feature name is invoked again against the same set of repos and the digest matches, Phase 1b and 1c are skipped and the cached `evidence.repoEvidence` / `evidence.conventions` is reused. Cache TTL is 24 hours; manual invalidation via `--no-cache` flag.
|
|
76
76
|
27. **SwiftUI Preview block mandatory (iOS projection, SwiftUI only).** When the iOS file is produced AND the affected view is a SwiftUI view (detected via `import SwiftUI` + `: View` protocol conformance in `evidence.repoEvidence[<repo>].buckets.uiComponents`), Section 13.6 renders a Preview block table covering at minimum: canonical default (LTR Light), Dark, RTL, Dynamic Type accessibilityLarge, and one error variant. Loading state and edge-case variants are added when distinct from canonical. UIKit-only features (no SwiftUI view artefact) drop Section 13.6 with note `(N/A: UIKit-only feature)`. Preview macro convention (`#Preview` for Swift 5.9+ vs legacy `PreviewProvider`) is read from `evidence.conventions[<repo>].previewMacro`. Each Preview variant listed in Section 13.6 must have a matching row in Section 15.2 Snapshot Tests; a Preview without a snapshot row triggers a Section 20 Risk.
|
|
77
77
|
28. **Variant usage explicit and bounded.** Section 6 inventory rows list which variants this feature consumes per component (concrete enum case + bool value). New Section 6.X (Variant Usage Matrix) catalogues the full variant axis vs. used subset with a rationale per excluded variant. Sections 13.6 (Preview) and 15.2 (Snapshot) cover only the used subset; expanding the variant set requires updating Section 6.X first.
|
|
78
78
|
29. **Analysis as self-contained design bridge - no MCP outside analysis phase (BLOCKING, pipeline-wide).** The analysis document is the sole design source for every downstream phase. After Phase 1 of `/multi-agent:analysis` produces `analysis/<feature>-<platform>.md`, Phase 1 Plan, Phase 2 Dev, Phase 3 Review, Phase 4 Commit, and Phase 5 Report consume only the analysis document plus repo Code Connect mappings (`*.figma.swift` / `*.figma.kt`). Calling `mcp__claude_ai_Figma__*`, hitting `api.figma.com`, or fetching a `figma.com/design/...` URL during Phase 2+ is a violation. Applies to every mode that runs Phase 2+ (`/multi-agent` and `/multi-agent:autopilot`), in either workspace. Hard requirement (v9.0.0): Phase 2 Pre-item and Phase 3 Pre-item (BLOCKING) abort the run when the analysis document is missing. Memory: `[[mcp-only-in-analysis]]`. Generic rule rationale and access matrix: see `$HOME/.claude/rules/figma-pipeline.md` "MUST: No MCP outside analysis phase".
|
|
@@ -116,6 +116,7 @@ it does not. Contracts: `features/exploratory-testing.md`,
|
|
|
116
116
|
| Document fetch and crawl | `web_scrape` (formats, cache, `change_tracking`), `url` / `sitemap` / `include_paths` / `llms_txt` on `web_crawl` and `web_map` | ≥ v3.20.0 |
|
|
117
117
|
| Research modes and threads | `mode`, `recency`, `domains`, `sources`, `thread_id` on `research_ask`; `arxiv` and `fetch_content` on `research_search` | ≥ v3.20.0 |
|
|
118
118
|
| Free-model delegation | `llm_delegate`, `llm_providers`; `ESCALATE_TO_CLAUDE`; the `multi-agent-toolkit-llm` CLI (`delegate`, `providers`, `probe`, `usage`) | ≥ v3.21.0 |
|
|
119
|
+
| Related repositories | `repo_resolve`, `repo_grep`, `repo_read`, `repo_ls`, `repo_log`, `repo_find_keys`; `stale`, `not_found_at_sha` (`features/product-context.md`) | ≥ v3.22.1 |
|
|
119
120
|
|
|
120
121
|
---
|
|
121
122
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- toc -->
|
|
4
4
|
- [Phase 1 Step 2.6 - query before dispatching Explore](#phase-1-step-26---query-before-dispatching-explore)
|
|
5
|
+
- [Impact of a change, not of a name](#impact-of-a-change-not-of-a-name)
|
|
5
6
|
- [Phase 5 Step 3 - refresh after the branch changed code](#phase-5-step-3---refresh-after-the-branch-changed-code)
|
|
6
7
|
- [What the report answers that a file-level view cannot](#what-the-report-answers-that-a-file-level-view-cannot)
|
|
7
8
|
- [The graph is drawable, and one place already asks for it](#the-graph-is-drawable-and-one-place-already-asks-for-it)
|
|
@@ -56,6 +57,32 @@ already spells out. Measured on a 4,300-file Swift app at a fixed 30k retrieval
|
|
|
56
57
|
budget, it roughly doubled coverage at under half the cost on domain-word
|
|
57
58
|
questions and lost narrowly to `grep -lw` on exact type names.
|
|
58
59
|
|
|
60
|
+
### Impact of a change, not of a name
|
|
61
|
+
|
|
62
|
+
`graph-affected --diff <base>` (or `<base>..<head>`, or `--diff-file <path>`)
|
|
63
|
+
seeds the reverse walk from the change itself. Each hunk maps onto the
|
|
64
|
+
innermost declaration it touches, through spans derived from indentation
|
|
65
|
+
(`endLine`, schema 1.1.0); enclosing declarations are seeded too, because
|
|
66
|
+
references point at types and a method alone has no dependents. The walk
|
|
67
|
+
continues through what each dependent file declares, so the answer is the full
|
|
68
|
+
blast radius to `--depth`, and the defining file is never reported as its own
|
|
69
|
+
dependent. The JSON names `changedSymbols`, `notIndexed` (changed files the
|
|
70
|
+
graph does not contain), `fileLevel` (files from a pre-1.1.0 graph, seeded
|
|
71
|
+
whole) and `freshness`.
|
|
72
|
+
|
|
73
|
+
`freshness` is how far the graph is behind the tree: files edited since the
|
|
74
|
+
build (by size and mtime against the manifest, uncommitted work included),
|
|
75
|
+
files removed, and whether HEAD moved. `stale: true` means the answer describes
|
|
76
|
+
the tree as it was; say so, or rebuild first. A full build takes seconds.
|
|
77
|
+
Spans are line numbers in the tree the graph was built from, so a stale graph
|
|
78
|
+
reads the diff on its old side (`side: "old"`): a graph built on the base
|
|
79
|
+
checkout maps a branch's diff correctly, and a deleted file still reaches its
|
|
80
|
+
dependents.
|
|
81
|
+
|
|
82
|
+
Phase 3 Step 1.75 passes the graph to `diff-risk-score.mjs --graph`, which adds
|
|
83
|
+
`dependents_reached`: the distinct non-test files two rings out, capped so a
|
|
84
|
+
hub cannot outweigh a security path. No graph, no signal, nothing fails.
|
|
85
|
+
|
|
59
86
|
### Phase 5 Step 3 - refresh after the branch changed code
|
|
60
87
|
|
|
61
88
|
Runs when `prefs.global.codeGraph.enabled` and `prefs.global.codeGraph.autoRefresh`
|