@mmerterden/multi-agent-pipeline 17.6.0 → 19.0.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 +310 -0
- package/README.md +76 -18
- package/README.tr.md +55 -16
- package/docs/adr/0002-instruction-driven-flag.md +1 -0
- package/docs/adr/0005-lazy-phase-docs.md +11 -1
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +1 -0
- package/docs/adr/0010-own-code-graph.md +1 -0
- package/docs/adr/0011-dormant-ci.md +25 -1
- package/docs/adr/0014-six-phase-consolidation.md +134 -0
- package/docs/adr/README.md +2 -1
- package/docs/architecture.md +37 -38
- package/docs/best-practices.md +1 -1
- package/docs/ecosystem.md +37 -26
- package/docs/engineering.md +1 -1
- package/docs/facts.json +45 -0
- package/docs/features.md +54 -53
- package/docs/performance.md +5 -5
- package/docs/recovery-guide.md +9 -9
- package/docs/server-readiness.md +188 -0
- package/docs/token-budget-history.md +3 -1
- package/index.js +18 -3
- package/install/_codex-agents.mjs +1 -1
- package/install/_common.mjs +42 -17
- package/install/_dev-only-files.mjs +8 -0
- package/install/_unattended-profile.mjs +113 -0
- package/install/index.mjs +48 -0
- package/install/templates/claude-hooks.json +1 -1
- package/install/templates/codex-instructions.md +1 -1
- package/install/templates/copilot-instructions.md +28 -28
- package/manifest.json +1065 -0
- package/package.json +6 -3
- package/pipeline/agents/dev-critic.md +3 -3
- package/pipeline/commands/figma-to-swiftui.md +1 -1
- package/pipeline/commands/multi-agent/SKILL.md +8 -8
- package/pipeline/commands/multi-agent/analysis/SKILL.md +9 -9
- package/pipeline/commands/multi-agent/autopilot/SKILL.md +7 -7
- package/pipeline/commands/multi-agent/channels/SKILL.md +15 -15
- package/pipeline/commands/multi-agent/diff-explain/SKILL.md +6 -6
- package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/graph/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/help/SKILL.md +62 -62
- package/pipeline/commands/multi-agent/language/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/local/SKILL.md +11 -11
- package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +13 -13
- package/pipeline/commands/multi-agent/log/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/manual-test/SKILL.md +9 -9
- package/pipeline/commands/multi-agent/model/SKILL.md +69 -0
- package/pipeline/commands/multi-agent/refactor/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/resume/SKILL.md +4 -4
- package/pipeline/commands/multi-agent/resume-local/SKILL.md +19 -17
- package/pipeline/commands/multi-agent/review/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/route-off/SKILL.md +36 -0
- package/pipeline/commands/multi-agent/route-on/SKILL.md +74 -0
- package/pipeline/commands/multi-agent/route-status/SKILL.md +56 -0
- package/pipeline/commands/multi-agent/setup/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/status/SKILL.md +54 -23
- package/pipeline/commands/multi-agent/steer/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/sync/SKILL.md +12 -13
- package/pipeline/commands/multi-agent/test/SKILL.md +1 -1
- package/pipeline/lib/_jira-auth.sh +8 -0
- package/pipeline/lib/analysis-jira-write.sh +32 -0
- package/pipeline/lib/ask-choice.sh +13 -2
- package/pipeline/lib/autopilot-state.sh +8 -0
- package/pipeline/lib/credential-inventory.sh +1 -1
- package/pipeline/lib/fatal.mjs +129 -0
- package/pipeline/lib/fetch-fortify.sh +1 -1
- package/pipeline/lib/figma-mcp-refresh.sh +18 -0
- package/pipeline/lib/figma-screenshot.sh +18 -0
- package/pipeline/lib/invoked-directly.mjs +43 -0
- package/pipeline/lib/jira-publish.sh +42 -0
- package/pipeline/lib/md2confluence-v3.py +47 -0
- package/pipeline/lib/model-rung.sh +142 -0
- package/pipeline/lib/outbound-gate.mjs +175 -0
- package/pipeline/lib/phase-schema.mjs +88 -0
- package/pipeline/lib/plan-todos.sh +32 -11
- package/pipeline/lib/post-pr-review.sh +77 -8
- package/pipeline/lib/repo-hygiene.sh +8 -3
- package/pipeline/lib/require-jq.sh +40 -0
- package/pipeline/lib/route-state.sh +161 -0
- package/pipeline/lib/run-paths.sh +335 -0
- package/pipeline/multi-agent-refs/_account-picker.md +1 -1
- package/pipeline/multi-agent-refs/_dev-context.md +1 -1
- package/pipeline/multi-agent-refs/_input-parser.md +1 -1
- package/pipeline/multi-agent-refs/analysis/evidence.md +0 -9
- package/pipeline/multi-agent-refs/analysis/intake.md +1 -1
- package/pipeline/multi-agent-refs/analysis/locked.md +21 -22
- package/pipeline/multi-agent-refs/analysis/render.md +1 -1
- package/pipeline/multi-agent-refs/analysis/synthesis.md +12 -6
- package/pipeline/multi-agent-refs/android-guide.md +1 -1
- package/pipeline/multi-agent-refs/audit-guide.md +13 -13
- package/pipeline/multi-agent-refs/channels/issue-comment.md +2 -2
- package/pipeline/multi-agent-refs/channels/jira.md +3 -3
- package/pipeline/multi-agent-refs/channels/pr.md +4 -4
- package/pipeline/multi-agent-refs/channels/wiki.md +1 -1
- package/pipeline/multi-agent-refs/component-dispatch.md +3 -3
- package/pipeline/multi-agent-refs/cross-cli-contract.md +31 -6
- package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +74 -4
- package/pipeline/multi-agent-refs/features/code-graph.md +5 -5
- package/pipeline/multi-agent-refs/features/cost-analysis.md +93 -0
- package/pipeline/multi-agent-refs/features/design-conformance.md +1 -1
- package/pipeline/multi-agent-refs/features/dev-critic.md +3 -3
- package/pipeline/multi-agent-refs/features/doctor.md +47 -2
- package/pipeline/multi-agent-refs/features/external-context-injection.md +3 -3
- package/pipeline/multi-agent-refs/features/maturity-followup.md +3 -3
- package/pipeline/multi-agent-refs/features/model-fallback.md +5 -5
- package/pipeline/multi-agent-refs/features/plan-todos.md +1 -1
- package/pipeline/multi-agent-refs/features/repo-map.md +1 -1
- package/pipeline/multi-agent-refs/features/review-delta.md +3 -3
- package/pipeline/multi-agent-refs/features/review-multi-repo.md +1 -1
- package/pipeline/multi-agent-refs/features/scope-check.md +4 -4
- package/pipeline/multi-agent-refs/features/skill-conformance.md +2 -2
- package/pipeline/multi-agent-refs/features/stack-skill-routing.md +1 -1
- package/pipeline/multi-agent-refs/features/verify-by-test.md +4 -4
- package/pipeline/multi-agent-refs/features/verify.md +83 -0
- package/pipeline/multi-agent-refs/features/visual-evidence.md +19 -19
- package/pipeline/multi-agent-refs/features/worktree-finalize.md +6 -6
- package/pipeline/multi-agent-refs/issue-jira-triad.md +10 -10
- package/pipeline/multi-agent-refs/knowledge.md +11 -11
- package/pipeline/multi-agent-refs/multi-repo-integration-build.md +13 -13
- package/pipeline/multi-agent-refs/payload-contracts.md +8 -8
- package/pipeline/multi-agent-refs/phases/log-format.md +10 -10
- package/pipeline/multi-agent-refs/phases/modes.md +30 -30
- package/pipeline/multi-agent-refs/phases/operations.md +21 -10
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +25 -25
- package/pipeline/multi-agent-refs/phases/phase-1-plan.md +599 -0
- package/pipeline/multi-agent-refs/phases/{phase-3-dev.md → phase-2-dev.md} +129 -49
- package/pipeline/multi-agent-refs/phases/{phase-4-review.md → phase-3-review.md} +225 -107
- package/pipeline/multi-agent-refs/phases/{phase-6-commit.md → phase-4-commit.md} +23 -23
- package/pipeline/multi-agent-refs/phases/{phase-7-report.md → phase-5-report.md} +29 -29
- package/pipeline/multi-agent-refs/phases.md +44 -48
- package/pipeline/multi-agent-refs/picker-contract.md +1 -1
- package/pipeline/multi-agent-refs/progress-contract.md +6 -6
- package/pipeline/multi-agent-refs/readiness-review.md +1 -1
- package/pipeline/multi-agent-refs/rules.md +7 -7
- package/pipeline/multi-agent-refs/swiftui-guide.md +2 -2
- package/pipeline/multi-agent-refs/tracker-contract.md +31 -32
- package/pipeline/multi-agent-refs/unattended-contract.md +129 -0
- package/pipeline/multi-agent-refs/wiki-capture.md +14 -14
- package/pipeline/preferences-template.json +9 -1
- package/pipeline/rules/outside-the-pipeline.md +1 -1
- package/pipeline/schemas/agent-state.schema.json +50 -50
- package/pipeline/schemas/analysis-output.schema.json +2 -2
- package/pipeline/schemas/autopilot-config.schema.json +1 -1
- package/pipeline/schemas/code-graph.schema.json +1 -1
- package/pipeline/schemas/criteria-manifest.schema.json +1 -1
- package/pipeline/schemas/dev-critic-output.schema.json +1 -1
- package/pipeline/schemas/diff-risk.schema.json +1 -1
- package/pipeline/schemas/migrations/prefs-2.4.0-to-2.5.0.mjs +2 -2
- package/pipeline/schemas/migrations/prefs-2.6.0-to-2.7.0.mjs +31 -0
- package/pipeline/schemas/migrations/state-2.1.0-to-2.2.0.mjs +129 -0
- package/pipeline/schemas/phases.json +105 -0
- package/pipeline/schemas/plan-todos.schema.json +5 -5
- package/pipeline/schemas/planning-output.schema.json +1 -1
- package/pipeline/schemas/prefs.schema.json +100 -56
- package/pipeline/schemas/reviewer-output.schema.json +3 -3
- package/pipeline/schemas/route-config.schema.json +74 -0
- package/pipeline/schemas/scope-check.schema.json +1 -1
- package/pipeline/schemas/test-gap.schema.json +1 -1
- package/pipeline/schemas/token-budget.json +12 -18
- package/pipeline/schemas/triage-output.schema.json +6 -6
- package/pipeline/scripts/README.md +3 -3
- package/pipeline/scripts/_code-graph.mjs +2 -2
- package/pipeline/scripts/_run-paths.mjs +372 -0
- package/pipeline/scripts/_smoke-root.sh +1 -1
- package/pipeline/scripts/aggregate-metrics.mjs +65 -65
- package/pipeline/scripts/autopilot-arming.mjs +2 -1
- package/pipeline/scripts/autopilot-intake.mjs +2 -1
- package/pipeline/scripts/autopilot-runner.mjs +206 -2
- package/pipeline/scripts/build-references.mjs +2 -1
- package/pipeline/scripts/build-stack-plugins.mjs +10 -2
- package/pipeline/scripts/capture-evidence.sh +7 -2
- package/pipeline/scripts/capture-flush.sh +8 -8
- package/pipeline/scripts/capture-resume.sh +3 -3
- package/pipeline/scripts/classify-plan-safety.mjs +3 -2
- package/pipeline/scripts/cost-analyze.mjs +600 -0
- package/pipeline/scripts/cost-budget-check.mjs +4 -12
- package/pipeline/scripts/council-view.mjs +2 -1
- package/pipeline/scripts/crush-json.mjs +2 -1
- package/pipeline/scripts/diff-explain.mjs +7 -10
- package/pipeline/scripts/diff-risk-score.mjs +2 -1
- package/pipeline/scripts/doctor.mjs +140 -6
- package/pipeline/scripts/evidence-gate.mjs +9 -3
- package/pipeline/scripts/feedback-send.mjs +12 -2
- package/pipeline/scripts/gc-abandoned.sh +32 -16
- package/pipeline/scripts/gc-tmp.sh +1 -1
- package/pipeline/scripts/gc-worktrees.sh +12 -5
- package/pipeline/scripts/gen-facts.mjs +175 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +32 -37
- package/pipeline/scripts/gen-ref-toc.mjs +1 -1
- package/pipeline/scripts/github-ssh-setup.sh +64 -7
- package/pipeline/scripts/graph-mermaid.mjs +4 -2
- package/pipeline/scripts/graph-report.mjs +1 -1
- package/pipeline/scripts/jira-attach.sh +1 -1
- package/pipeline/scripts/keychain-save.sh +101 -30
- package/pipeline/scripts/learn-from-transcripts.mjs +3 -2
- package/pipeline/scripts/learning-curve.mjs +36 -31
- package/pipeline/scripts/log-metric.sh +17 -4
- package/pipeline/scripts/make-manifest.mjs +199 -0
- package/pipeline/scripts/memory-save.sh +1 -1
- package/pipeline/scripts/migrate-prefs.mjs +24 -6
- package/pipeline/scripts/migrate-state.mjs +94 -4
- package/pipeline/scripts/phase-banner.sh +26 -22
- package/pipeline/scripts/phase-tracker.sh +48 -10
- package/pipeline/scripts/plan-coverage-gate.mjs +8 -4
- package/pipeline/scripts/pre-commit-check.sh +7 -0
- package/pipeline/scripts/pre-push-check.sh +7 -0
- package/pipeline/scripts/purge.sh +23 -6
- package/pipeline/scripts/render-agent-log-cost.sh +10 -3
- package/pipeline/scripts/render-cost-summary.sh +9 -2
- package/pipeline/scripts/render-work-summary.sh +14 -7
- package/pipeline/scripts/review-file-filter.mjs +5 -3
- package/pipeline/scripts/review-scope.mjs +2 -1
- package/pipeline/scripts/routine-registry.mjs +2 -1
- package/pipeline/scripts/run-aggregator.mjs +26 -20
- package/pipeline/scripts/run-metrics.mjs +4 -2
- package/pipeline/scripts/runs-index.mjs +353 -0
- package/pipeline/scripts/scorecard-snapshot.mjs +178 -0
- package/pipeline/scripts/search-logs.sh +18 -0
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +6 -6
- package/pipeline/scripts/smoke-schema-validation.sh +26 -7
- package/pipeline/scripts/test-gap-scan.mjs +2 -1
- package/pipeline/scripts/test-integrity-gate.mjs +2 -1
- package/pipeline/scripts/token-budget-report.mjs +13 -2
- package/pipeline/scripts/triage-memory.mjs +2 -2
- package/pipeline/scripts/update-issue-progress.sh +56 -7
- package/pipeline/scripts/usage-report.mjs +12 -1
- package/pipeline/scripts/validate-analysis-doc.mjs +75 -18
- package/pipeline/scripts/validate-code-graph.mjs +6 -3
- package/pipeline/scripts/validate-complaint-doc.mjs +2 -1
- package/pipeline/scripts/validate-diff-risk.mjs +6 -3
- package/pipeline/scripts/validate-planning.mjs +1 -1
- package/pipeline/scripts/validate-reviewer.mjs +1 -1
- package/pipeline/scripts/validate-state.mjs +45 -5
- package/pipeline/scripts/validate-test-gap.mjs +6 -3
- package/pipeline/scripts/validate-triage.mjs +6 -4
- package/pipeline/scripts/verify-citations.mjs +4 -2
- package/pipeline/scripts/verify.mjs +327 -0
- package/pipeline/scripts/worktree-finalize.sh +18 -9
- package/pipeline/scripts/write-state.mjs +154 -15
- package/pipeline/skills/.skill-manifest.json +37 -21
- package/pipeline/skills/.skills-index.json +104 -5
- package/pipeline/skills/shared/README.md +15 -6
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +2 -2
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +69 -71
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +14 -14
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +5 -5
- package/pipeline/skills/shared/core/multi-agent-graph/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +25 -23
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +8 -8
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +6 -6
- package/pipeline/skills/shared/core/multi-agent-model/SKILL.md +71 -0
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-resume-local/SKILL.md +7 -7
- package/pipeline/skills/shared/core/multi-agent-route-off/SKILL.md +39 -0
- package/pipeline/skills/shared/core/multi-agent-route-on/SKILL.md +76 -0
- package/pipeline/skills/shared/core/multi-agent-route-status/SKILL.md +59 -0
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +35 -11
- package/pipeline/skills/shared/core/multi-agent-steer/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +6 -5
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/package_app.sh +4 -1
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/setup_dev_signing.sh +4 -1
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/sign-and-notarize.sh +2 -1
- package/pipeline/skills/skills-index.md +13 -4
- package/pipeline/multi-agent-refs/phases/phase-1-analysis.md +0 -263
- package/pipeline/multi-agent-refs/phases/phase-2-planning.md +0 -344
- package/pipeline/multi-agent-refs/phases/phase-5-test.md +0 -182
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "19.0.0",
|
|
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",
|
|
7
7
|
"exports": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
16
16
|
"start": "node index.js",
|
|
17
|
-
"test": "npm run format:check && node --test test/*.test.mjs && node pipeline/scripts/run-smokes.mjs && node pipeline/scripts/lint-skills.mjs && node pipeline/scripts/lint-personas.mjs && node pipeline/scripts/lint-mcp-refs.mjs && node pipeline/scripts/eval-triage.mjs && node pipeline/scripts/eval-golden-tasks.mjs && node pipeline/scripts/eval-intent.mjs && node pipeline/scripts/eval-recall.mjs && node pipeline/scripts/validate-schemas.mjs && node pipeline/scripts/validate-prefs.mjs && node pipeline/scripts/scorecard.mjs",
|
|
17
|
+
"test": "npm run format:check && npm run lint && node --test test/*.test.mjs && node pipeline/scripts/run-smokes.mjs && node pipeline/scripts/lint-skills.mjs && node pipeline/scripts/lint-personas.mjs && node pipeline/scripts/lint-mcp-refs.mjs && node pipeline/scripts/eval-triage.mjs && node pipeline/scripts/eval-golden-tasks.mjs && node pipeline/scripts/eval-intent.mjs && node pipeline/scripts/eval-recall.mjs && node pipeline/scripts/validate-schemas.mjs && node pipeline/scripts/validate-prefs.mjs && node pipeline/scripts/scorecard.mjs",
|
|
18
18
|
"test:unit": "node --test test/*.test.mjs",
|
|
19
19
|
"test:smoke": "node pipeline/scripts/run-smokes.mjs",
|
|
20
20
|
"lint:skills": "node pipeline/scripts/lint-skills.mjs",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"format": "prettier --write \"**/*.{js,mjs,json,yml}\" --ignore-path .gitignore --ignore-path .prettierignore",
|
|
26
26
|
"format:check": "prettier --check \"**/*.{js,mjs,json,yml}\" --ignore-path .gitignore --ignore-path .prettierignore",
|
|
27
27
|
"scorecard": "node pipeline/scripts/scorecard.mjs",
|
|
28
|
+
"prepack": "node pipeline/scripts/make-manifest.mjs",
|
|
28
29
|
"gate": "bash pipeline/scripts/pre-push-check.sh --run"
|
|
29
30
|
},
|
|
30
31
|
"keywords": [
|
|
@@ -69,6 +70,8 @@
|
|
|
69
70
|
],
|
|
70
71
|
"files": [
|
|
71
72
|
"index.js",
|
|
73
|
+
"manifest.json",
|
|
74
|
+
"manifest.sig",
|
|
72
75
|
"install.js",
|
|
73
76
|
"install/**/*",
|
|
74
77
|
"pipeline/**/*",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-critic
|
|
3
|
-
description: "Phase
|
|
3
|
+
description: "Phase 2.5 evaluator - runs after Dev's last edit, before Phase 4. Verifies build/test/checklist gates; returns pass | fix-list. Sonnet by default; Phase 3 orchestrator may override."
|
|
4
4
|
model: sonnet
|
|
5
5
|
preferredModel: sonnet
|
|
6
6
|
modelRationale: "Critic tier - deterministic checklist + build/test verification needs reliable JSON output and tool-use, not deep reasoning. Sonnet hits the cost/quality sweet spot. Opus override only when the diff is large (>500 LOC) or touches security-critical paths; orchestrator decides via PHASE_MODEL_OVERRIDE."
|
|
@@ -119,7 +119,7 @@ Return ONLY a JSON object conforming to `pipeline/schemas/dev-critic-output.sche
|
|
|
119
119
|
- **important**: Style/structure rule violation (missing accessibility id, force unwrap, magic-number-equivalent constant)
|
|
120
120
|
- **suggestion**: Nice-to-have improvements (variable rename, comment clarity)
|
|
121
121
|
|
|
122
|
-
Generator MUST fix all `blocking` items. `important` items SHOULD be fixed in round 1; if generator skips, they pass through to Phase
|
|
122
|
+
Generator MUST fix all `blocking` items. `important` items SHOULD be fixed in round 1; if generator skips, they pass through to Phase 3 reviewers (who then have legitimate grounds to flag them, not theatre review).
|
|
123
123
|
|
|
124
124
|
`suggestion` items are **never** sent back for round 2 - generator may apply them at its own judgement.
|
|
125
125
|
|
|
@@ -140,7 +140,7 @@ LOG_METRIC_FORWARD_TO_TRACKER=1 pipeline/scripts/log-metric.sh "$TASK_ID" 3 \
|
|
|
140
140
|
duration_ms=$D tokens_in=$TI tokens_out=$TO
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
Phase
|
|
143
|
+
Phase 5 cost rollup includes critic calls as `phase 3.5` line items so cost summary shows the savings (or surplus) vs running Phase 4 directly.
|
|
144
144
|
|
|
145
145
|
## Rationale citation
|
|
146
146
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Figma URL -> SwiftUI component generation (full
|
|
2
|
+
description: "Figma URL -> SwiftUI component generation (full 6-phase pipeline with SubPhases)"
|
|
3
3
|
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent, WebFetch, TaskCreate, TaskUpdate
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -80,7 +80,7 @@ Lib scripts (`~/.claude/lib/`):
|
|
|
80
80
|
| `analysis ["<feature>"]` | Standalone feature-spec analizi: Figma / Swagger / Confluence / Jira / repo girdileri sabit 7-bölümlük şablona dökülür, humanizer'dan geçer, Local/Confluence/Jira hedef(ler)ine post edilir. Worktree veya commit yok. Dev'e zincirleme yok. |
|
|
81
81
|
| `complaint-analysis ["<run-name>"] [--file <path>] [<jira-id\|confluence-url> ...]` | Müşteri şikayeti triyajı: şikayetler (serbest metin / csv-xlsx-txt-json dosya / Jira issue / Confluence URL) redakte edilerek alınır, trxId/conversationId ile Graylog kanıtı çekilir, seçili client + BFF repolarında salt-okunur eşleştirme yapılır; verdict: client/bff (kök neden + citation + mevcut mimariyi referans alan fix planı + hazır dev prompt'u) veya core (core ekibine yönlendirme önerisi) veya insufficient-evidence. Rapor + Stop; worktree, commit, dev zinciri yok. |
|
|
82
82
|
| `build-optimize` | iOS-only Xcode build performance wrapper. Vendored `xcode-build-orchestrator`'a dispatch eder; benchmark + compilation / project / SPM analyzer'lar + recommend-first plan `.build-benchmark/optimization-plan.md`. Non-iOS stack'lerde fail-fast. |
|
|
83
|
-
| `channels [PR-url\|#N\|Jira-url\|Jira-id] [--channels pr,jira,confluence,wiki] [--content normal,test,auto-diff,note] [--message "..."]` | Post task report to multi-select channels (PR description, Jira comment, Confluence page, Wiki pages) with multi-select content sources. Humanizer pass per-channel. Bitbucket PR updates use reviewer-preserving PUT. Phase
|
|
83
|
+
| `channels [PR-url\|#N\|Jira-url\|Jira-id] [--channels pr,jira,confluence,wiki] [--content normal,test,auto-diff,note] [--message "..."]` | Post task report to multi-select channels (PR description, Jira comment, Confluence page, Wiki pages) with multi-select content sources. Humanizer pass per-channel. Bitbucket PR updates use reviewer-preserving PUT. Phase 5 delegates to this command; also invocable post-hoc for fixes made outside the pipeline. No worktree. |
|
|
84
84
|
| `create-jira ["desc"] [figma-url] [swagger-url]` | Create a standards-compliant Jira issue: asks the type (**Task** / **Bug** / **Story**), mines the project's recent same-type issues for conventions (summary format, labels, priority, test-scenario style), detects the active sprint, drafts from a standard template with auto-sizing sections (Design Reference / API Contract / Screenshots appear only when their source is given), asks about unknown fields, then full draft preview + explicit approval before create. No worktree, no commits. |
|
|
85
85
|
| `test` or `test [args]` | UI Bug Hunter - screenshot + tap + analyze on booted simulator via MCP (read `$HOME/.claude/commands/sim-test.md`). `/multi-agent:test` also resolves here via the `commands/multi-agent/test/SKILL.md` delegate. |
|
|
86
86
|
| `test-dark-mode` · `test-accessibility` · `test-dynamic-type` · `test-screenshots [locale]` | Fixed-scenario aliases for the four parameterless / single-parameter `test` scenarios, so the tag autocompletes instead of having to be quoted. Each delegates to the same `sim-test.md` with its scenario pinned; behaviour is identical to the quoted form, which is not deprecated. |
|
|
@@ -130,7 +130,7 @@ This command uses lazy loading for token efficiency. Read the relevant sub-file
|
|
|
130
130
|
| Jetpack Compose task (Android) | `$HOME/.claude/multi-agent-refs/android-guide.md` |
|
|
131
131
|
| Backend API task | `$HOME/.claude/multi-agent-refs/backend-guide.md` |
|
|
132
132
|
| Web component task | `$HOME/.claude/multi-agent-refs/web-guide.md` |
|
|
133
|
-
| Phase 1 or Phase
|
|
133
|
+
| Phase 1 or Phase 5 (knowledge) | `$HOME/.claude/multi-agent-refs/knowledge.md` |
|
|
134
134
|
| Token lookup needed | `$HOME/.claude/multi-agent-refs/keychain.md` |
|
|
135
135
|
| Audit tools (Phase 5/6) | `$HOME/.claude/multi-agent-refs/audit-guide.md` |
|
|
136
136
|
| `test` | `$HOME/.claude/commands/sim-test.md` (colon-form `/multi-agent:test` uses the delegate at `commands/multi-agent/test/SKILL.md`) |
|
|
@@ -150,7 +150,7 @@ This command uses lazy loading for token efficiency. Read the relevant sub-file
|
|
|
150
150
|
- Multiple stacks -> load all relevant guides
|
|
151
151
|
|
|
152
152
|
**Agent definitions** (used in Phase 1 and Phase 4):
|
|
153
|
-
- `$HOME/.claude/agents/code-reviewer.md` - Phase
|
|
153
|
+
- `$HOME/.claude/agents/code-reviewer.md` - Phase 3 reviewer persona (`preferredModel: fable`; Phase 4 overrides Reviewer 3 to `sonnet`)
|
|
154
154
|
- `$HOME/.claude/agents/explorer.md` - Phase 1 codebase scan persona (`preferredModel: sonnet` - scan work, cost-efficient)
|
|
155
155
|
- `$HOME/.claude/agents/ios-architect.md` - iOS architecture review (`preferredModel: fable`)
|
|
156
156
|
- `$HOME/.claude/agents/android-architect.md` - Android architecture review (`preferredModel: fable`)
|
|
@@ -229,7 +229,7 @@ Save to `prefs.projects[{project}].branches`.
|
|
|
229
229
|
### Step 2 - Mode Selection
|
|
230
230
|
```
|
|
231
231
|
Pipeline depth (same question Phase 0 Step 7.5 asks):
|
|
232
|
-
1. Full (
|
|
232
|
+
1. Full (6 phases, Sonnet dev, parallel review + triage - CLI-aware reviewer set)
|
|
233
233
|
2. Short (Init → Dev(Opus) → Review → Test → Commit → Report - no analysis/planning)
|
|
234
234
|
Select [1/2]:
|
|
235
235
|
```
|
|
@@ -257,7 +257,7 @@ When called with `review`:
|
|
|
257
257
|
1. Detect current branch and project from cwd (or ask)
|
|
258
258
|
2. Get diff: `git diff HEAD` (unstaged + staged)
|
|
259
259
|
3. If no diff, get diff against base branch: `git diff origin/{baseBranch}...HEAD`
|
|
260
|
-
4. Launch Phase
|
|
260
|
+
4. Launch Phase 3 review (parallel + Fable triage - 3 reviewers on every host: Fable + Opus + Sonnet on Claude Code, GPT-5.4 + Opus + Sonnet on Copilot CLI) on the diff
|
|
261
261
|
5. No worktree, no state file - lightweight one-shot review
|
|
262
262
|
6. Print findings to terminal
|
|
263
263
|
|
|
@@ -281,7 +281,7 @@ Load `$HOME/.claude/multi-agent-refs/rules.md` for the full contract (Swift-spec
|
|
|
281
281
|
|
|
282
282
|
### TaskCreate ordering (strict)
|
|
283
283
|
|
|
284
|
-
**All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied** - this binds the full interactive `/multi-agent` run (all
|
|
284
|
+
**All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied** - this binds the full interactive `/multi-agent` run (all 6 phases) exactly like every mode alias. The native widget renders tiles by creation order, not by phase number; out-of-order calls produce visually scrambled tile stacks. Register every tile in order, then flip status via TaskUpdate when a phase actually starts or short-circuits. Full contract: `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
|
|
285
285
|
|
|
286
286
|
---
|
|
287
287
|
|
|
@@ -294,8 +294,8 @@ Multi-Agent Tasks
|
|
|
294
294
|
|
|
295
295
|
| ID | Project | Task | Branch | Phase | Status | Duration |
|
|
296
296
|
|----|---------|------|--------|-------|--------|----------|
|
|
297
|
-
| #1 | my-app | PROJ-12345 | feature/PROJ-12345-... |
|
|
298
|
-
| #2 | other-app | GH42 | feature/GH42-dark-mode |
|
|
297
|
+
| #1 | my-app | PROJ-12345 | feature/PROJ-12345-... | 2/5 Dev | in progress | 4m |
|
|
298
|
+
| #2 | other-app | GH42 | feature/GH42-dark-mode | 4/5 Commit | complete | 12m |
|
|
299
299
|
|
|
300
300
|
Commands: kill #N | log #N | resume #N
|
|
301
301
|
```
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Standalone feature-spec analysis. Two profiles picked at intake: global (23-section development handoff,
|
|
3
|
-
description-tr: "Bağımsız özellik-spesifikasyonu analizi. Girişte iki profil: global (23 bölümlük geliştirme dokümanı,
|
|
4
|
-
argument-hint: "[\"<analysis-name>\"] [--
|
|
2
|
+
description: "Standalone feature-spec analysis. Two profiles picked at intake: global (23-section development handoff, evidence-trimmed) or corporate (IG/UC/FG requirements document with traceability matrices). Platform-agnostic concept layer with repo-driven convention extraction (Phase 1c) and per-platform Pass B render; stack selection is optional. Collects Figma / Swagger / Confluence / Jira / Standards (Confluence + Wiki + local file) / Firebase / repo inputs. Stops after emit - does not chain into a dev run. Use when a feature needs a written specification before any code."
|
|
3
|
+
description-tr: "Bağımsız özellik-spesifikasyonu analizi. Girişte iki profil: global (23 bölümlük geliştirme dokümanı, kanıta göre budanır) veya kurumsal (izlenebilirlik matrisleriyle IG/UC/FG gereksinim dokümanı). Repo'dan konvansiyon çıkarımıyla (Faz 1c) platform-bağımsız kavram katmanı ve platform başına Pass B render; stack seçimi opsiyonel. Figma / Swagger / Confluence / Jira / Standartlar (Confluence + Wiki + yerel dosya) / Firebase / repo girdilerini toplar. Çıktıyı üretince durur - dev koşusuna zincirlenmez."
|
|
4
|
+
argument-hint: "[\"<analysis-name>\"] [--no-cache] [--preview-conventions]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# multi-agent analysis - Feature Spec Analysis (v3)
|
|
8
8
|
|
|
9
|
-
This command is **independent** from the orchestrator's Phase 1 analysis (which is a stack/findings detector inside `/multi-agent`). It produces a stakeholder-ready, platform-agnostic
|
|
9
|
+
This command is **independent** from the orchestrator's Phase 1 analysis (which is a stack/findings detector inside `/multi-agent`). It produces a stakeholder-ready, platform-agnostic feature-spec document - up to 23 sections, trimmed to whatever the evidence supports - before any implementation starts. Each per-platform file is rendered by projecting concept-layer content onto repo-extracted conventions (Pass B).
|
|
10
10
|
|
|
11
11
|
**Side-effect contract**: the command may write a local markdown file, post a Confluence page, or update a Jira description - but **never** creates branches, worktrees, commits, or PRs. It stops at the document.
|
|
12
12
|
|
|
@@ -41,7 +41,7 @@ One run emits one profile. A missing input never blocks either profile: the gap
|
|
|
41
41
|
|
|
42
42
|
## Template
|
|
43
43
|
|
|
44
|
-
v3 template at `$HOME/.claude/multi-agent-refs/analysis-template.md`. Full mode renders up to 23 main sections + footer, minus any dropped by the omission table. The analysis doc is a development handoff, so low-signal sections are default-drop even in Full: **19 Alternatives** (render only for a real 2+-option architectural decision), **22 Glossary** (render only on request or >5 unfamiliar domain terms), and **18 Rollout** (compact checklist only, dropped when the pipeline's own commit/PR/rollout phase covers it).
|
|
44
|
+
v3 template at `$HOME/.claude/multi-agent-refs/analysis-template.md`. Full mode renders up to 23 main sections + footer, minus any dropped by the omission table. The analysis doc is a development handoff, so low-signal sections are default-drop even in Full: **19 Alternatives** (render only for a real 2+-option architectural decision), **22 Glossary** (render only on request or >5 unfamiliar domain terms), and **18 Rollout** (compact checklist only, dropped when the pipeline's own commit/PR/rollout phase covers it). There is no second mode: Lite was removed in v19.0.0 because it picked a fixed list of sections while this rule picks them from evidence, and the two disagreed in both directions - a small feature with rich business rules lost Section 15, a feature with no API contract kept Section 9. Section omission rule (Locked 2): zero-evidence and default-drop sections omit entirely; numbering re-flows to stay sequential `1..N` over the rendered set.
|
|
45
45
|
|
|
46
46
|
Numbering is plain Arabic numerals: `## 1. Geliştirme Özeti` / `## 1. Summary`, `## 2. Hedefler ve Karşı Hedefler` / `## 2. Goals and Non-Goals`. No special section characters; the section sign codepoint (U+00A7) is banned by `feedback_no-section-sign`.
|
|
47
47
|
|
|
@@ -153,7 +153,7 @@ Two channels run in parallel at every phase boundary:
|
|
|
153
153
|
```bash
|
|
154
154
|
# Phase 0, very first shell call (every CLI):
|
|
155
155
|
bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
|
|
156
|
-
for p in "0:Init" "1:
|
|
156
|
+
for p in "0:Init" "1:Plan" "3:Review" "4:Commit" "5:Report"; do
|
|
157
157
|
bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
|
|
158
158
|
done
|
|
159
159
|
bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
|
|
@@ -173,7 +173,7 @@ In Claude Code the agent MUST also drive the native TaskList widget so the user
|
|
|
173
173
|
|
|
174
174
|
```text
|
|
175
175
|
# Register one tile per phase, capture the taskId, persist it:
|
|
176
|
-
for each phase in 0:Init, 1:
|
|
176
|
+
for each phase in 0:Init, 1:Plan, 3:Review, 4:Commit, 5:Report:
|
|
177
177
|
TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
|
|
178
178
|
-> returns taskId
|
|
179
179
|
bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
|
|
@@ -190,11 +190,11 @@ TaskUpdate({ taskId: <saved>, status: "completed" })
|
|
|
190
190
|
bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
`analysis` mode does NOT TaskCreate phases
|
|
193
|
+
`analysis` mode does NOT TaskCreate phases 2 - those are not part of the `analysis` phase set (`0:Init 1:Plan 3:Review 4:Commit 5:Report`). Only register tiles for the active set.
|
|
194
194
|
|
|
195
195
|
#### TaskCreate ordering (strict)
|
|
196
196
|
|
|
197
|
-
**All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `analysis` that means: Phase 0 → Phase 1 → Phase
|
|
197
|
+
**All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `analysis` that means: Phase 0 → Phase 1 → Phase 3 → Phase 4 → Phase 5. The native widget renders by creation order, not by phase number - out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
|
|
198
198
|
|
|
199
199
|
### Visual channel - Copilot CLI / plain shell
|
|
200
200
|
|
|
@@ -17,9 +17,9 @@ Run the task end-to-end with no confirmations.
|
|
|
17
17
|
| Phase | Normal | Autopilot |
|
|
18
18
|
|-----|--------|-----------|
|
|
19
19
|
| Phase 2 (Plan Approval Gate) | Clarification (max 2 rounds) + approval loop - user confirms / cancels / sends free text | **Gate skipped** - log the plan, jump straight to Phase 3 (autopilot contract: zero interaction) |
|
|
20
|
-
| Phase 5 (Test) | "Want to test?" → wait | Skip → Phase
|
|
21
|
-
| Phase
|
|
22
|
-
| Phase
|
|
20
|
+
| Phase 5 (Test) | "Want to test?" → wait | Skip → Phase 4 |
|
|
21
|
+
| Phase 4 (Commit) | "Commit?" → wait | Auto-commit + push |
|
|
22
|
+
| Phase 4 (PR) | "Open PR?" → wait | Auto-create PR |
|
|
23
23
|
|
|
24
24
|
## What is NEVER skipped
|
|
25
25
|
|
|
@@ -67,7 +67,7 @@ Two channels run in parallel at every phase boundary:
|
|
|
67
67
|
```bash
|
|
68
68
|
# Phase 0, very first shell call (every CLI):
|
|
69
69
|
bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
|
|
70
|
-
for p in "0:Init" "1:
|
|
70
|
+
for p in "0:Init" "1:Plan" "2:Dev" "3:Review" "4:Commit" "5:Report"; do
|
|
71
71
|
bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
|
|
72
72
|
done
|
|
73
73
|
bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
|
|
@@ -87,7 +87,7 @@ In Claude Code the agent MUST also drive the native TaskList widget so the user
|
|
|
87
87
|
|
|
88
88
|
```text
|
|
89
89
|
# Register one tile per phase, capture the taskId, persist it:
|
|
90
|
-
for each phase in 0:Init, 1:
|
|
90
|
+
for each phase in 0:Init, 1:Plan, 2:Dev, 3:Review, 4:Commit, 5:Report:
|
|
91
91
|
TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
|
|
92
92
|
-> returns taskId
|
|
93
93
|
bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
|
|
@@ -104,11 +104,11 @@ TaskUpdate({ taskId: <saved>, status: "completed" })
|
|
|
104
104
|
bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
`autopilot` mode
|
|
107
|
+
`autopilot` mode TaskCreates all 6 phases (no phase is skipped).
|
|
108
108
|
|
|
109
109
|
#### TaskCreate ordering (strict)
|
|
110
110
|
|
|
111
|
-
**All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `autopilot` that means: Phase 0 → Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase
|
|
111
|
+
**All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `autopilot` that means: Phase 0 → Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 5. The native widget renders by creation order, not by phase number - out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
|
|
112
112
|
|
|
113
113
|
### Visual channel - Copilot CLI / plain shell
|
|
114
114
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Multi-channel reporter - Jira/Confluence/Wiki/PR description/Board status. Multi-select channels + content, humanizer pass, reviewer-preserving Bitbucket PR PUT, GitHub Projects v2 board status move. Phase
|
|
3
|
-
description-tr: "Çok kanallı raporlayıcı - Jira/Confluence/Wiki/PR açıklaması/Board durumu. Çoklu kanal + içerik seçimi, humanizer geçişi, reviewer'ı koruyan Bitbucket PR PUT, GitHub Projects v2 board durum taşıma. Faz
|
|
2
|
+
description: "Multi-channel reporter - Jira/Confluence/Wiki/PR description/Board status. Multi-select channels + content, humanizer pass, reviewer-preserving Bitbucket PR PUT, GitHub Projects v2 board status move. Phase 5 delegates to this skill; users can invoke post-hoc by Jira ID / PR URL / branch."
|
|
3
|
+
description-tr: "Çok kanallı raporlayıcı - Jira/Confluence/Wiki/PR açıklaması/Board durumu. Çoklu kanal + içerik seçimi, humanizer geçişi, reviewer'ı koruyan Bitbucket PR PUT, GitHub Projects v2 board durum taşıma. Faz 5 bu skill'e delege eder; Jira ID / PR URL / branch ile sonradan da çağrılabilir."
|
|
4
4
|
argument-hint: '<Jira-id | PR-url | #N | Jira-url> [--channels pr,jira,confluence,wiki,board] [--content normal,technical,test,auto-diff,note] [--message "..."] [--message-file path] [--board-status <key>] [--dry-run] [--append] [--ready]'
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Grep, WebFetch, AskUserQuestion
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /multi-agent channels - Multi-Channel Reporter
|
|
9
9
|
|
|
10
|
-
> **TLDR** - Single entry point for posting task reports to external channels. Supports Jira, Confluence, Wiki (component-only), and PR description updates. Multi-select channels × multi-select content sources. Phase
|
|
10
|
+
> **TLDR** - Single entry point for posting task reports to external channels. Supports Jira, Confluence, Wiki (component-only), and PR description updates. Multi-select channels × multi-select content sources. Phase 5 of the pipeline delegates to this command; users can also invoke it post-hoc by Jira ID / PR URL / branch.
|
|
11
11
|
>
|
|
12
12
|
> Replaces the old `enrich` command - all enrich capabilities (diff auto-summarize, manual mode, reviewer-preserving Bitbucket PR PUT) preserved and extended with two additional channels.
|
|
13
13
|
|
|
@@ -135,7 +135,7 @@ Then 3b renders:
|
|
|
135
135
|
- "Wiki" unselectable unless `state.taskType === "component"` AND `figmaConfig.wiki.enabled === true`. If greyed, show reason: `"(no figma-config or taskType != component)"`.
|
|
136
136
|
- "Board" unselectable unless `figmaConfig.board.enabled === true` AND `figmaConfig.board.provider === "github-projects-v2"` AND `figmaConfig.github.projectV2Id` set. If greyed, show reason: `"(no figma-config.board or projectV2Id missing)"`. Default target column: `inReview`.
|
|
137
137
|
- "Normal analiz" + "Test senaryoları" unselectable if no pipeline log found. Reason: `"(no pipeline log for PROJ-12345)"`.
|
|
138
|
-
- "Teknik analiz" unselectable if no Phase
|
|
138
|
+
- "Teknik analiz" unselectable if no Phase 1 planning log AND no PR diff available. Reason: `"(no technical source - need Phase 1 plan or PR diff)"`.
|
|
139
139
|
- "Auto-diff" unselectable if no PR found. Reason: `"(no PR linked to this target)"`.
|
|
140
140
|
- "Manuel not" always available.
|
|
141
141
|
- "Cost özeti" unselectable if `phase-tracker.sh cost total` prints `-` (no priced token tallies; there is no `status` action) AND no `otel-spans.jsonl` exists for the task. Reason: `"(no tracker data - set MULTI_AGENT_OTEL_SPANS=1 or enable token tracking)"`.
|
|
@@ -152,7 +152,7 @@ Non-interactive in three cases - menu skipped entirely, flag values or prefs u
|
|
|
152
152
|
| Mode | Behavior |
|
|
153
153
|
|---|---|
|
|
154
154
|
| `--channels X,Y` + `--content A,B` flags | Exact flag values, no menu. |
|
|
155
|
-
| `autopilot` (Phase
|
|
155
|
+
| `autopilot` (Phase 5 delegate) | Reads `prefs.global.reportChannels` + `prefs.global.reportContent` - per Phase 5 autopilot-pause contract, Phase 5 STILL pauses before calling channels but pre-fills menu from prefs. Post-hoc `/channels` in autopilot mode uses prefs directly. |
|
|
156
156
|
| `--dry-run` | Runs menu, generates output, prints to stdout, DOES NOT post. |
|
|
157
157
|
|
|
158
158
|
### Step 5 - Generator
|
|
@@ -178,7 +178,7 @@ lead reads before deciding how wide to test.
|
|
|
178
178
|
| Content option | Generated section |
|
|
179
179
|
|---|---|
|
|
180
180
|
| Normal analiz | `### Analysis` - impact summary from Phase 1, risks from Phase 4 (pipeline-log source, high-level only) |
|
|
181
|
-
| Teknik analiz | `### Technical Details` - Changes (what/why per file group), Architecture (structural decisions, pattern changes), Dependencies (new imports/frameworks/packages). Source: Phase
|
|
181
|
+
| Teknik analiz | `### Technical Details` - Changes (what/why per file group), Architecture (structural decisions, pattern changes), Dependencies (new imports/frameworks/packages). Source: Phase 1 planning + Phase 2 dev log + `git diff --stat`. **PR and Confluence only** - never rendered into a Jira comment. |
|
|
182
182
|
| Test senaryoları | `### Test Scenarios` - precondition / steps / expected table (4-8 rows), user perspective |
|
|
183
183
|
| Auto-diff | Old enrich Output Template verbatim - Root Cause / Solution / Changed Files / Test Scenarios |
|
|
184
184
|
| Manuel not | `### Notes` - user-provided paragraph, or LLM-split into subsections if `--message` is plain text and long |
|
|
@@ -200,9 +200,9 @@ source, not that the section may be reordered or renamed.
|
|
|
200
200
|
|
|
201
201
|
### Technical Details ← if "Teknik analiz" selected
|
|
202
202
|
#### Changes
|
|
203
|
-
{Per changed-file-group, what changed + why - from Phase
|
|
203
|
+
{Per changed-file-group, what changed + why - from Phase 2 dev log}
|
|
204
204
|
#### Architecture
|
|
205
|
-
{Structural decisions, pattern changes, new file layouts - from Phase
|
|
205
|
+
{Structural decisions, pattern changes, new file layouts - from Phase 1 plan}
|
|
206
206
|
#### Dependencies
|
|
207
207
|
{New imports / frameworks / packages - from git diff --stat, or "None"}
|
|
208
208
|
|
|
@@ -353,7 +353,7 @@ Applying the Jira table to the PR body is the recurring failure of this step: it
|
|
|
353
353
|
{body}
|
|
354
354
|
```
|
|
355
355
|
|
|
356
|
-
Secondary artifacts ride along as one-line intents at the bottom of the preview: Wiki page list, wiki → Jira triad comment (when Wiki is selected and the triad is active per `$HOME/.claude/multi-agent-refs/issue-jira-triad.md`), Board status move (`{from} → {to}`), GitHub issue comment + Progress-flag sync (Phase
|
|
356
|
+
Secondary artifacts ride along as one-line intents at the bottom of the preview: Wiki page list, wiki → Jira triad comment (when Wiki is selected and the triad is active per `$HOME/.claude/multi-agent-refs/issue-jira-triad.md`), Board status move (`{from} → {to}`), GitHub issue comment + Progress-flag sync (Phase 5 Step 1.5 - same gate, see `$HOME/.claude/multi-agent-refs/phases/phase-5-report.md`).
|
|
357
357
|
|
|
358
358
|
**Then a single AskUserQuestion** (`question`/`label`/`description` in `outputLanguage`; `header` English):
|
|
359
359
|
|
|
@@ -489,18 +489,18 @@ Persist selections to `prefs.global.reportChannels` + `prefs.global.reportConten
|
|
|
489
489
|
| Jira token missing/expired | Token Save Flow inline; skip on user-skip |
|
|
490
490
|
| Wiki preconditions not met | Case B menu per `$HOME/.claude/multi-agent-refs/wiki-capture.md` |
|
|
491
491
|
|
|
492
|
-
## Phase
|
|
492
|
+
## Phase 5 delegation contract
|
|
493
493
|
|
|
494
|
-
Phase
|
|
494
|
+
Phase 5 invokes this command internally instead of running its own inline Jira/Confluence/Wiki logic. Responsibilities split:
|
|
495
495
|
|
|
496
496
|
| Who | What |
|
|
497
497
|
|---|---|
|
|
498
|
-
| Phase
|
|
498
|
+
| Phase 5 | Progress tracker (sub-steps 1-3), agent-log finalization (step 4), knowledge+memory capture (step 5), telemetry emission |
|
|
499
499
|
| `channels` | All external delivery: PR description update, Jira comment, Confluence page, Wiki pages |
|
|
500
500
|
|
|
501
|
-
Phase
|
|
501
|
+
Phase 5 passes a runtime state bundle: `{jiraId, prUrl, remoteType, taskType, figmaConfig, agentState, pipelineLogPath}`. `channels` reads these directly, skips target-resolution Step 1.
|
|
502
502
|
|
|
503
|
-
**Autopilot contract:** Phase
|
|
503
|
+
**Autopilot contract:** Phase 5 ALWAYS pauses at the channels menu (breaks generic autopilot zero-interaction). 30-min timeout → session ends cleanly, task resumable via `/multi-agent:resume`. See `$HOME/.claude/multi-agent-refs/phases/modes.md` for full contract. The Step 6 body preview + approval gate follows the same split: interactive runs approve the composed bodies before dispatch; autopilot posts directly after the menu resolves.
|
|
504
504
|
|
|
505
505
|
## Cross-CLI parity
|
|
506
506
|
|
|
@@ -515,7 +515,7 @@ Both installations read the same source file (`$HOME/.claude/commands/multi-agen
|
|
|
515
515
|
|
|
516
516
|
Prompts MUST be byte-identical. `smoke-cross-cli-behavior.sh` asserts this - spacing, brackets, numbering, log-line format.
|
|
517
517
|
|
|
518
|
-
Progress emission on Copilot (no native TaskCreate UI): `bash ~/.copilot/scripts/phase-tracker.sh sub
|
|
518
|
+
Progress emission on Copilot (no native TaskCreate UI): `bash ~/.copilot/scripts/phase-tracker.sh sub 5 <N> "<step>" <status>` - same shape as Phase 5.
|
|
519
519
|
|
|
520
520
|
## Examples
|
|
521
521
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Map Phase
|
|
3
|
-
description-tr: "Faz
|
|
2
|
+
description: "Map Phase 3 triage findings to branch diff lines. Read-only post-hoc command, used after review to answer 'which finding lines up with which code change'. Use when a review finding has to be traced to the exact lines that caused it."
|
|
3
|
+
description-tr: "Faz 3 triyaj bulgularını branch diff satırlarına eşler. Review sonrası kullanılan salt-okunur komut: hangi bulgu hangi kod değişikliğine denk geliyor sorusunu cevaplar."
|
|
4
4
|
argument-hint: "[#task-id | --triage <path> | --state <path>] [--branch <name>] [--base <name>]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# multi-agent diff-explain - Phase 4 Triage to Diff Bridge
|
|
8
8
|
|
|
9
|
-
Maps the Phase
|
|
9
|
+
Maps the Phase 3 triage output (`accepted` / `deferred` / `rejected`) onto the branch's `git diff`. Every finding lands inline with the matching file / line hunk.
|
|
10
10
|
|
|
11
11
|
**This command has no side effects.** It runs `git diff` and prints markdown.
|
|
12
12
|
|
|
13
13
|
## When to use it
|
|
14
14
|
|
|
15
15
|
- Between Phase 4 and Phase 5/6: answers "5 findings - which one belongs to which file?"
|
|
16
|
-
- Phase
|
|
16
|
+
- Phase 5 reporting: a "review summary with code context" block to embed in the Wiki / Confluence output.
|
|
17
17
|
- Post-hoc audit: for a closed PR, a "what did review flag, and how did the code change" diff.
|
|
18
18
|
|
|
19
19
|
## Steps
|
|
@@ -39,7 +39,7 @@ Maps the Phase 4 triage output (`accepted` / `deferred` / `rejected`) onto the b
|
|
|
39
39
|
|
|
40
40
|
4. **Annotate the output** (optional):
|
|
41
41
|
- Whether every blocking finding actually got touched (Phase 3 fix-coverage check)
|
|
42
|
-
- Whether every deferred finding is on the Phase
|
|
42
|
+
- Whether every deferred finding is on the Phase 5 follow-up list
|
|
43
43
|
|
|
44
44
|
## Output template
|
|
45
45
|
|
|
@@ -57,7 +57,7 @@ Maps the Phase 4 triage output (`accepted` / `deferred` / `rejected`) onto the b
|
|
|
57
57
|
> Race condition: order total computed twice without lock
|
|
58
58
|
**Fix:** Compute total once inside the existing transaction block
|
|
59
59
|
```diff
|
|
60
|
-
|
|
60
|
+
-98,5 +98,7 ...
|
|
61
61
|
const total = sum(items);
|
|
62
62
|
+ const total2 = sum(items); // duplicate
|
|
63
63
|
await chargeCard(total);
|
|
@@ -120,7 +120,7 @@ deletes nothing until you confirm.
|
|
|
120
120
|
| `unattributed` | a worktree with no run state. **Never removed, whatever the flags.** `.worktrees/` is not exclusively ours, and nothing distinguishes a hand-made worktree from a pipeline one whose log was pruned. Report the list and its size; the user decides |
|
|
121
121
|
|
|
122
122
|
Three rules hold with or without `--yes`, and they are why this is safe to
|
|
123
|
-
offer: a run waiting on you (open PR, Phase
|
|
123
|
+
offer: a run waiting on you (open PR, Phase 4/5, `awaiting_input`) is never
|
|
124
124
|
touched; a path outside `<repo>/.worktrees/` is never removed, which matters
|
|
125
125
|
because four state files on the measured machine record the REPO ROOT as
|
|
126
126
|
their `worktreePath`; and uncommitted work is stashed rather than lost.
|
|
@@ -10,7 +10,7 @@ argument-hint: "[build | refresh | ask \"<question>\" | affected \"<symbol>\" |
|
|
|
10
10
|
|
|
11
11
|
A code graph is a map of what this repo declares and what refers to what, built by
|
|
12
12
|
regex over comment-stripped source. It exists so Phase 1 can narrow its Explore
|
|
13
|
-
fan-out and Phase
|
|
13
|
+
fan-out and Phase 5 can refresh `~/.claude/knowledge/<project>/` without an LLM
|
|
14
14
|
pass. It answers "where does this live" and "what depends on this". It does not
|
|
15
15
|
answer "what calls this at runtime": call graphs and type resolution need a real
|
|
16
16
|
parser, which would be an npm runtime dependency, and ADR-0004 forbids one.
|