@mmerterden/multi-agent-pipeline 12.6.0 → 12.8.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 +209 -0
- package/README.md +18 -18
- package/docs/FIGMA_PIPELINE.md +34 -34
- package/docs/adr/0001-three-model-triage.md +12 -12
- package/docs/adr/0002-instruction-driven-flag.md +5 -5
- package/docs/adr/0003-unified-shared-skills.md +5 -5
- package/docs/adr/0004-zero-dependency-philosophy.md +5 -5
- package/docs/adr/0005-lazy-phase-docs.md +2 -2
- package/docs/adr/0006-skills-core-external-split.md +6 -6
- package/docs/adr/0007-multi-tool-adapter-framework.md +19 -19
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +19 -19
- package/docs/adr/README.md +1 -1
- package/docs/best-practices.md +3 -3
- package/docs/features.md +28 -28
- package/docs/performance.md +16 -16
- package/docs/recovery-guide.md +39 -39
- package/index.js +4 -4
- package/install/_common.mjs +53 -11
- package/install/_copilot-instructions.mjs +2 -2
- package/install/_dev-only-files.mjs +126 -6
- package/install/_platform-filter.mjs +1 -1
- package/install/_telemetry.mjs +1 -1
- package/install/claude.mjs +20 -13
- package/install/copilot.mjs +11 -23
- package/install/index.mjs +7 -15
- package/install/templates/copilot-instructions.md +54 -54
- package/install.js +1 -1
- package/package.json +29 -11
- package/pipeline/commands/multi-agent/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/analysis/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/build-optimize/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/create-jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/design-check/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-local/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/diff-explain/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/finish/SKILL.md +6 -6
- package/pipeline/commands/multi-agent/forget/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/help/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/issue/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/kill/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/language/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/local/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/log/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/manual-test/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/prune-logs/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/purge/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/refactor/SKILL.md +16 -8
- package/pipeline/commands/multi-agent/resume/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/review/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/review-issue/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/review-jira/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/routines/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/save/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/scan/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/search/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/setup/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/stack/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/status/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/sync/SKILL.md +5 -5
- package/pipeline/commands/multi-agent/test/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/uninstall/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/update/SKILL.md +3 -3
- package/pipeline/lib/account-resolver.sh +1 -1
- package/pipeline/lib/channels-multi-repo.sh +1 -1
- package/pipeline/lib/context-link-extractor.sh +1 -1
- package/pipeline/lib/credential-store.sh +21 -1
- package/pipeline/lib/fetch-confluence.sh +1 -1
- package/pipeline/lib/fetch-crashlytics.sh +1 -1
- package/pipeline/lib/fetch-fortify.sh +1 -1
- package/pipeline/lib/fetch-graylog.sh +1 -1
- package/pipeline/lib/fetch-swagger.sh +1 -1
- package/pipeline/lib/issue-fetcher.sh +1 -1
- package/pipeline/lib/multi-repo-pipeline.sh +1 -1
- package/pipeline/lib/repo-cache.sh +1 -1
- package/pipeline/lib/submodule-detector.sh +1 -1
- 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/_repo-picker.md +1 -1
- package/pipeline/multi-agent-refs/component-dispatch.md +1 -1
- package/pipeline/multi-agent-refs/component-generation.md +121 -0
- package/pipeline/multi-agent-refs/cross-cli-contract.md +1 -1
- package/pipeline/multi-agent-refs/features/model-fallback.md +2 -2
- package/pipeline/multi-agent-refs/phases/operations.md +28 -0
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +1 -0
- package/pipeline/multi-agent-refs/phases/phase-2-planning.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-3-dev.md +1 -2
- package/pipeline/multi-agent-refs/phases/phase-4-review.md +50 -5
- package/pipeline/preferences-template.json +5 -11
- package/pipeline/schemas/agent-state.schema.json +39 -9
- package/pipeline/schemas/analysis-output.schema.json +18 -4
- package/pipeline/schemas/analysis-spec.schema.json +120 -32
- package/pipeline/schemas/clarify-output.schema.json +15 -5
- package/pipeline/schemas/design-check-config.schema.json +32 -11
- package/pipeline/schemas/dev-critic-output.schema.json +20 -5
- package/pipeline/schemas/figma-project-config.schema.json +42 -10
- package/pipeline/schemas/learnings-ledger.schema.json +10 -2
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +1 -4
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +24 -7
- package/pipeline/schemas/plan-todos.schema.json +6 -3
- package/pipeline/schemas/planning-output.schema.json +5 -1
- package/pipeline/schemas/prefs.schema.json +97 -229
- package/pipeline/schemas/test-gap.schema.json +5 -5
- package/pipeline/schemas/token-budget.json +8 -8
- package/pipeline/schemas/triage-corpus.schema.json +1 -1
- package/pipeline/scripts/_smoke-root.sh +61 -0
- package/pipeline/scripts/aggregate-metrics.mjs +18 -6
- package/pipeline/scripts/audit-log.sh +25 -0
- package/pipeline/scripts/build-skills-index.mjs +6 -2
- package/pipeline/scripts/build-stack-plugins.mjs +142 -39
- package/pipeline/scripts/check-derived-drift.mjs +196 -0
- package/pipeline/scripts/classify-plan-safety.mjs +20 -7
- package/pipeline/scripts/cost-budget-check.mjs +2 -1
- package/pipeline/scripts/cost-table.json +1 -1
- package/pipeline/scripts/diff-explain.mjs +7 -3
- package/pipeline/scripts/diff-risk-score.mjs +13 -3
- package/pipeline/scripts/evidence-gate.mjs +7 -2
- package/pipeline/scripts/gen-mode-dispatch.mjs +38 -21
- package/pipeline/scripts/gen-skills-index.mjs +18 -3
- package/pipeline/scripts/learning-curve.mjs +13 -3
- package/pipeline/scripts/learnings-ledger.mjs +103 -36
- package/pipeline/scripts/localize-commands.mjs +6 -1
- package/pipeline/scripts/match-skills.mjs +15 -4
- package/pipeline/scripts/migrate-prefs.mjs +33 -16
- package/pipeline/scripts/phase-tracker.sh +3 -1
- package/pipeline/scripts/repo-map.mjs +110 -64
- package/pipeline/scripts/review-scope.mjs +7 -1
- package/pipeline/scripts/routine-registry.mjs +4 -9
- package/pipeline/scripts/run-aggregator.mjs +11 -5
- package/pipeline/scripts/run-metrics.mjs +13 -8
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +21 -7
- package/pipeline/scripts/test-gap-scan.mjs +44 -12
- package/pipeline/scripts/test-integrity-gate.mjs +5 -1
- package/pipeline/scripts/token-budget-report.mjs +44 -21
- package/pipeline/scripts/triage-memory.mjs +126 -34
- package/pipeline/scripts/uninstall.mjs +74 -30
- package/pipeline/scripts/validate-analysis-doc.mjs +15 -5
- package/pipeline/scripts/validate-diff-risk.mjs +32 -18
- package/pipeline/scripts/validate-test-gap.mjs +17 -7
- package/pipeline/scripts/validate-triage.mjs +17 -5
- package/pipeline/scripts/write-state.mjs +32 -9
- package/pipeline/skills/.skills-index.json +91 -91
- package/pipeline/skills/shared/README.md +57 -57
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +1 -1
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +26 -279
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +16 -8
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +1 -1
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -4
- package/pipeline/skills/shared/external/agentflow/SKILL.md +1 -1
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +1 -1
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +1 -1
- package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +1 -1
- package/pipeline/skills/shared/external/backlog/BACKLOG.md +1 -1
- package/pipeline/skills/shared/external/backlog/SKILL.md +12 -12
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +1 -1
- package/pipeline/skills/shared/external/context-compression/SKILL.md +1 -1
- package/pipeline/skills/shared/external/council/SKILL.md +3 -3
- package/pipeline/skills/shared/external/css-modern/SKILL.md +1 -1
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +1 -1
- package/pipeline/skills/shared/external/docker-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +1 -1
- package/pipeline/skills/shared/external/firebase/SKILL.md +1 -1
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +1 -1
- package/pipeline/skills/shared/external/help-skills/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +1 -1
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +1 -1
- package/pipeline/skills/shared/external/humanizer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +1 -1
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +1 -1
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +1 -1
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +1 -1
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +1 -1
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/observability-engineer/SKILL.md +1 -1
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -1
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +1 -1
- package/pipeline/skills/shared/external/search-first/SKILL.md +2 -2
- package/pipeline/skills/shared/external/skill-creator/SKILL.md +12 -12
- package/pipeline/skills/shared/external/skill-creator/audit.md +21 -21
- package/pipeline/skills/shared/external/skill-creator/checklist.md +3 -3
- package/pipeline/skills/shared/external/skill-creator/examples.md +10 -10
- package/pipeline/skills/shared/external/skill-creator/label-check.md +17 -17
- package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +86 -50
- package/pipeline/skills/shared/external/skill-creator/template.md +9 -9
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +1 -1
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +1 -1
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +1 -1
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-performance/SKILL.md +1 -1
- package/pipeline/skills/shared/external/web-testing/SKILL.md +1 -1
- package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +9 -49
- package/pipeline/skills/skills-index.md +57 -57
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +0 -25
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-2-plan.json +0 -30
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +0 -20
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +0 -15
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/task.json +0 -12
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-2-plan.json +0 -43
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +0 -35
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +0 -35
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +0 -12
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +0 -42
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +0 -20
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +0 -15
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +0 -12
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +0 -40
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +0 -20
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +0 -15
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +0 -12
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +0 -42
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +0 -28
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +0 -27
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +0 -12
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +0 -41
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +0 -12
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +0 -6
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +0 -12
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +0 -29
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +0 -42
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +0 -28
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +0 -27
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +0 -12
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +0 -25
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +0 -31
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +0 -12
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +0 -18
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +0 -14
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +0 -12
- package/pipeline/eval/golden-tasks/README.md +0 -65
- package/pipeline/eval/intent-cases.json +0 -40
- package/pipeline/eval/run-metrics-fixture.json +0 -46
- package/pipeline/eval/triage/01-empty-findings/expected.json +0 -6
- package/pipeline/eval/triage/01-empty-findings/input.json +0 -5
- package/pipeline/eval/triage/01-empty-findings/notes.md +0 -7
- package/pipeline/eval/triage/02-real-blocker/expected.json +0 -15
- package/pipeline/eval/triage/02-real-blocker/input.json +0 -14
- package/pipeline/eval/triage/02-real-blocker/notes.md +0 -7
- package/pipeline/eval/triage/03-out-of-scope-defer/expected.json +0 -18
- package/pipeline/eval/triage/03-out-of-scope-defer/input.json +0 -14
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +0 -10
- package/pipeline/eval/triage/04-false-positive-reject/expected.json +0 -18
- package/pipeline/eval/triage/04-false-positive-reject/input.json +0 -14
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +0 -10
- package/pipeline/eval/triage/05-mixed-classification/expected.json +0 -43
- package/pipeline/eval/triage/05-mixed-classification/input.json +0 -38
- package/pipeline/eval/triage/05-mixed-classification/notes.md +0 -17
- package/pipeline/eval/triage/06-severity-mismatch/expected.json +0 -15
- package/pipeline/eval/triage/06-severity-mismatch/input.json +0 -14
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +0 -9
- package/pipeline/eval/triage/07-duplicate-reviewers/expected.json +0 -27
- package/pipeline/eval/triage/07-duplicate-reviewers/input.json +0 -22
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +0 -9
- package/pipeline/eval/triage/08-style-misclassified/expected.json +0 -18
- package/pipeline/eval/triage/08-style-misclassified/input.json +0 -14
- package/pipeline/eval/triage/08-style-misclassified/notes.md +0 -9
- package/pipeline/eval/triage/09-cascading-finding/expected.json +0 -23
- package/pipeline/eval/triage/09-cascading-finding/input.json +0 -22
- package/pipeline/eval/triage/09-cascading-finding/notes.md +0 -9
- package/pipeline/eval/triage/10-deferred-crossref/expected.json +0 -18
- package/pipeline/eval/triage/10-deferred-crossref/input.json +0 -14
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +0 -9
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +0 -27
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +0 -22
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +0 -14
- package/pipeline/eval/triage/README.md +0 -54
- package/pipeline/scripts/benchmark-phase-0.sh +0 -128
- package/pipeline/scripts/check-md-links.mjs +0 -84
- package/pipeline/scripts/eval-golden-tasks-live.mjs +0 -297
- package/pipeline/scripts/eval-golden-tasks.mjs +0 -212
- package/pipeline/scripts/eval-intent.mjs +0 -103
- package/pipeline/scripts/eval-mine-corpus.mjs +0 -201
- package/pipeline/scripts/eval-triage.mjs +0 -171
- package/pipeline/scripts/fixtures/diff-risk-android.diff +0 -40
- package/pipeline/scripts/fixtures/diff-risk-ios.diff +0 -48
- package/pipeline/scripts/fixtures/diff-risk-test-removal.diff +0 -40
- package/pipeline/scripts/fixtures/install-layout.tsv +0 -19
- package/pipeline/scripts/fixtures/pack-expected-count.txt +0 -1
- package/pipeline/scripts/fixtures/test-gap-node.diff +0 -30
- package/pipeline/scripts/fixtures/test-gap-python.diff +0 -32
- package/pipeline/scripts/lint-mcp-refs.mjs +0 -207
- package/pipeline/scripts/lint-skills.mjs +0 -143
- package/pipeline/scripts/run-smokes.mjs +0 -76
- package/pipeline/scripts/smoke-add-detail.sh +0 -137
- package/pipeline/scripts/smoke-agent-guard.sh +0 -74
- package/pipeline/scripts/smoke-agent-log-cost.sh +0 -262
- package/pipeline/scripts/smoke-agent-model-routing.sh +0 -87
- package/pipeline/scripts/smoke-ask-choice.sh +0 -42
- package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +0 -36
- package/pipeline/scripts/smoke-bitbucket-contract.sh +0 -255
- package/pipeline/scripts/smoke-changelog-version.sh +0 -47
- package/pipeline/scripts/smoke-channels-approval-gate.sh +0 -60
- package/pipeline/scripts/smoke-channels-flow.sh +0 -130
- package/pipeline/scripts/smoke-ci-workflows.sh +0 -88
- package/pipeline/scripts/smoke-clarify.sh +0 -148
- package/pipeline/scripts/smoke-command-inventory.sh +0 -81
- package/pipeline/scripts/smoke-commands-skills-parity.sh +0 -87
- package/pipeline/scripts/smoke-community-gates.sh +0 -75
- package/pipeline/scripts/smoke-compliance-skills.sh +0 -119
- package/pipeline/scripts/smoke-config-hygiene.sh +0 -58
- package/pipeline/scripts/smoke-cost-budget.sh +0 -70
- package/pipeline/scripts/smoke-cost-summary.sh +0 -139
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +0 -128
- package/pipeline/scripts/smoke-description-tr.sh +0 -82
- package/pipeline/scripts/smoke-dev-critic.sh +0 -144
- package/pipeline/scripts/smoke-diff-explain.sh +0 -147
- package/pipeline/scripts/smoke-diff-risk.sh +0 -190
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +0 -160
- package/pipeline/scripts/smoke-eval-live.sh +0 -136
- package/pipeline/scripts/smoke-evidence-gate.sh +0 -93
- package/pipeline/scripts/smoke-extract-conventions.sh +0 -163
- package/pipeline/scripts/smoke-fetchers-offline.sh +0 -448
- package/pipeline/scripts/smoke-figma-dispatch.sh +0 -112
- package/pipeline/scripts/smoke-gate-hooks.sh +0 -74
- package/pipeline/scripts/smoke-gc-tmp.sh +0 -130
- package/pipeline/scripts/smoke-gc-worktrees.sh +0 -125
- package/pipeline/scripts/smoke-generate-issue.sh +0 -120
- package/pipeline/scripts/smoke-handoff-contract.sh +0 -92
- package/pipeline/scripts/smoke-identity-isolation.sh +0 -70
- package/pipeline/scripts/smoke-install-layout.sh +0 -248
- package/pipeline/scripts/smoke-intent-guard.sh +0 -86
- package/pipeline/scripts/smoke-issue-comment-template.sh +0 -86
- package/pipeline/scripts/smoke-issue-jira-triad.sh +0 -120
- package/pipeline/scripts/smoke-keychain.sh +0 -158
- package/pipeline/scripts/smoke-language-axis.sh +0 -109
- package/pipeline/scripts/smoke-learning-curve.sh +0 -61
- package/pipeline/scripts/smoke-learnings-ledger.sh +0 -86
- package/pipeline/scripts/smoke-lib-scripts.sh +0 -448
- package/pipeline/scripts/smoke-mcp-gate.sh +0 -68
- package/pipeline/scripts/smoke-md-links.sh +0 -8
- package/pipeline/scripts/smoke-md2confluence.sh +0 -126
- package/pipeline/scripts/smoke-metrics-cache-ratio.sh +0 -72
- package/pipeline/scripts/smoke-migrate-state.sh +0 -102
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +0 -161
- package/pipeline/scripts/smoke-model-fallback.sh +0 -89
- package/pipeline/scripts/smoke-multi-repo-integration.sh +0 -116
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +0 -61
- package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +0 -115
- package/pipeline/scripts/smoke-no-token-prompt.sh +0 -85
- package/pipeline/scripts/smoke-pack-contents.sh +0 -140
- package/pipeline/scripts/smoke-pat-audit.sh +0 -128
- package/pipeline/scripts/smoke-per-repo-memory.sh +0 -156
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +0 -170
- package/pipeline/scripts/smoke-phase-6-multi.sh +0 -79
- package/pipeline/scripts/smoke-phase-banner.sh +0 -101
- package/pipeline/scripts/smoke-phase-tracker.sh +0 -324
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +0 -241
- package/pipeline/scripts/smoke-phase4-gates.sh +0 -45
- package/pipeline/scripts/smoke-phase4-triage.sh +0 -229
- package/pipeline/scripts/smoke-plan-approval-gate.sh +0 -71
- package/pipeline/scripts/smoke-plan-safety.sh +0 -139
- package/pipeline/scripts/smoke-plan-todos.sh +0 -196
- package/pipeline/scripts/smoke-plugin-validate.sh +0 -64
- package/pipeline/scripts/smoke-pr-review-actions.sh +0 -152
- package/pipeline/scripts/smoke-pre-commit.sh +0 -170
- package/pipeline/scripts/smoke-pref-migration.sh +0 -226
- package/pipeline/scripts/smoke-prefs-language.sh +0 -134
- package/pipeline/scripts/smoke-progress-contract.sh +0 -127
- package/pipeline/scripts/smoke-prune-logs.sh +0 -137
- package/pipeline/scripts/smoke-purge.sh +0 -138
- package/pipeline/scripts/smoke-push-retry.sh +0 -75
- package/pipeline/scripts/smoke-repo-map.sh +0 -300
- package/pipeline/scripts/smoke-review-readiness.sh +0 -92
- package/pipeline/scripts/smoke-review-watch.sh +0 -146
- package/pipeline/scripts/smoke-routines.sh +0 -84
- package/pipeline/scripts/smoke-run-aggregator.sh +0 -216
- package/pipeline/scripts/smoke-run-metrics.sh +0 -50
- package/pipeline/scripts/smoke-search.sh +0 -187
- package/pipeline/scripts/smoke-shadow-git.sh +0 -224
- package/pipeline/scripts/smoke-skill-authoring.sh +0 -137
- package/pipeline/scripts/smoke-skill-language.sh +0 -83
- package/pipeline/scripts/smoke-skill-manifest.sh +0 -138
- package/pipeline/scripts/smoke-skill-scan.sh +0 -198
- package/pipeline/scripts/smoke-source-parity.sh +0 -85
- package/pipeline/scripts/smoke-subagent-validators.sh +0 -108
- package/pipeline/scripts/smoke-sync-parity.sh +0 -92
- package/pipeline/scripts/smoke-tasklist-ordering.sh +0 -112
- package/pipeline/scripts/smoke-telemetry.sh +0 -147
- package/pipeline/scripts/smoke-test-gap.sh +0 -183
- package/pipeline/scripts/smoke-token-budget.sh +0 -67
- package/pipeline/scripts/smoke-token-preflight.sh +0 -82
- package/pipeline/scripts/smoke-tracker-contract.sh +0 -191
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +0 -73
- package/pipeline/scripts/smoke-triage-memory.sh +0 -174
- package/pipeline/scripts/smoke-update-check.sh +0 -135
- package/pipeline/scripts/smoke-url-enrichment.sh +0 -70
- package/pipeline/scripts/smoke-validate-analysis-doc.sh +0 -161
- package/pipeline/scripts/smoke-validator-contradiction.sh +0 -67
- package/pipeline/scripts/smoke-validator-gates.sh +0 -164
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +0 -129
- package/pipeline/scripts/smoke-verify-by-test.sh +0 -148
- package/pipeline/scripts/smoke-wiki-integration.sh +0 -122
- package/pipeline/scripts/smoke-work-summary.sh +0 -163
- package/pipeline/scripts/smoke-workflow-audit.sh +0 -69
- package/pipeline/scripts/smoke-worktree-path-convention.sh +0 -86
- package/pipeline/scripts/smoke-wrapper-preservation.sh +0 -68
- package/pipeline/scripts/smoke-write-state.sh +0 -115
- package/pipeline/scripts/sync-parity-check.sh +0 -135
- package/pipeline/scripts/test-gap-rules/android.json +0 -25
- package/pipeline/scripts/test-gap-rules/ios.json +0 -29
- package/pipeline/scripts/test-gap-rules/node.json +0 -17
- package/pipeline/scripts/test-gap-rules/python.json +0 -19
- package/pipeline/scripts/validate-schemas.mjs +0 -88
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://github.com/mmerterden/multi-agent-pipeline/pipeline/schemas/prefs.schema.json",
|
|
4
|
-
"title": "Multi-Agent Pipeline
|
|
5
|
-
"description": "User-level preferences. Written to $HOME/.claude/multi-agent-preferences.json. Never committed. Never synced to the open-source repo
|
|
4
|
+
"title": "Multi-Agent Pipeline - multi-agent-preferences.json",
|
|
5
|
+
"description": "User-level preferences. Written to $HOME/.claude/multi-agent-preferences.json. Never committed. Never synced to the open-source repo - may contain personal data.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"patternProperties": {
|
|
@@ -10,21 +10,11 @@
|
|
|
10
10
|
"description": "Documentation-only blocks shipped in preferences-template.json (_figmaConfigTemplate, _derivedSkillSourcesTemplate, _devToolkitTemplate). Copy-paste examples, never read by the pipeline."
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
|
-
"required": [
|
|
14
|
-
"schemaVersion",
|
|
15
|
-
"global",
|
|
16
|
-
"projects"
|
|
17
|
-
],
|
|
13
|
+
"required": ["schemaVersion", "global", "projects"],
|
|
18
14
|
"properties": {
|
|
19
15
|
"schemaVersion": {
|
|
20
16
|
"type": "string",
|
|
21
|
-
"enum": [
|
|
22
|
-
"2.0.0",
|
|
23
|
-
"2.1.0",
|
|
24
|
-
"2.2.0",
|
|
25
|
-
"2.3.0",
|
|
26
|
-
"2.4.0"
|
|
27
|
-
],
|
|
17
|
+
"enum": ["2.0.0", "2.1.0", "2.2.0", "2.3.0", "2.4.0"],
|
|
28
18
|
"description": "v2.0.0: pre-v3.7. v2.1.0: v3.7+ adds identities[].servicePatMap, platformIdentityRouting, recentGroups, recentBranches, serviceStatus, settings, expanded keychainMapping. v2.2.0: v6.0.0 formalizes v5.7 / v5.8 additions (reportChannels, reportContent with technicalAnalysis, wikiScope, autopilotReportTimeoutSeconds) that had been running as 2.1.0 sub-migrations without a proper version bump."
|
|
29
19
|
},
|
|
30
20
|
"global": {
|
|
@@ -37,10 +27,7 @@
|
|
|
37
27
|
"items": {
|
|
38
28
|
"type": "object",
|
|
39
29
|
"additionalProperties": false,
|
|
40
|
-
"required": [
|
|
41
|
-
"name",
|
|
42
|
-
"email"
|
|
43
|
-
],
|
|
30
|
+
"required": ["name", "email"],
|
|
44
31
|
"properties": {
|
|
45
32
|
"name": {
|
|
46
33
|
"type": "string"
|
|
@@ -59,7 +46,7 @@
|
|
|
59
46
|
"servicePatMap": {
|
|
60
47
|
"type": "object",
|
|
61
48
|
"additionalProperties": false,
|
|
62
|
-
"description": "v2.1.0+. Maps a service name to the Keychain key name this identity owns for that service. Enables cross-identity isolation
|
|
49
|
+
"description": "v2.1.0+. Maps a service name to the Keychain key name this identity owns for that service. Enables cross-identity isolation - corporate identity's Jira PAT is not accidentally used for personal repos.",
|
|
63
50
|
"properties": {
|
|
64
51
|
"jira": {
|
|
65
52
|
"type": "string"
|
|
@@ -81,7 +68,7 @@
|
|
|
81
68
|
},
|
|
82
69
|
"firebase": {
|
|
83
70
|
"type": "string",
|
|
84
|
-
"description": "Firebase JSON (base64-encoded). project_id is parsed from the decoded JSON
|
|
71
|
+
"description": "Firebase JSON (base64-encoded). project_id is parsed from the decoded JSON - no separate firebase_project entry."
|
|
85
72
|
},
|
|
86
73
|
"fortify": {
|
|
87
74
|
"type": "string"
|
|
@@ -97,7 +84,7 @@
|
|
|
97
84
|
"gitIdentities": {
|
|
98
85
|
"type": "array",
|
|
99
86
|
"deprecated": true,
|
|
100
|
-
"description": "DEPRECATED in v2.1.0
|
|
87
|
+
"description": "DEPRECATED in v2.1.0 - renamed to 'identities'. Migration script converts automatically. Kept in schema temporarily for migration compatibility.",
|
|
101
88
|
"items": {
|
|
102
89
|
"type": "object",
|
|
103
90
|
"additionalProperties": true
|
|
@@ -109,112 +96,61 @@
|
|
|
109
96
|
"description": "Maps logical token names to actual Keychain item names. Pipeline looks up tokens via `security find-generic-password -s <mapped-name>` (or `pipeline/lib/credential-store.sh get` cross-platform). Covered keys: jira, bitbucket, bitbucket_token, bitbucket_user, github, confluence, figma, figma_pat, figma_user, figma_mcp, fortify, graylog, firebase, jenkins, npm, claude_oauth_token, claude_oauth_token_fallback.",
|
|
110
97
|
"properties": {
|
|
111
98
|
"jira": {
|
|
112
|
-
"type": [
|
|
113
|
-
"string",
|
|
114
|
-
"null"
|
|
115
|
-
]
|
|
99
|
+
"type": ["string", "null"]
|
|
116
100
|
},
|
|
117
101
|
"bitbucket": {
|
|
118
|
-
"type": [
|
|
119
|
-
"string",
|
|
120
|
-
"null"
|
|
121
|
-
],
|
|
102
|
+
"type": ["string", "null"],
|
|
122
103
|
"description": "Legacy alias for bitbucket_token."
|
|
123
104
|
},
|
|
124
105
|
"bitbucket_token": {
|
|
125
|
-
"type": [
|
|
126
|
-
"string",
|
|
127
|
-
"null"
|
|
128
|
-
]
|
|
106
|
+
"type": ["string", "null"]
|
|
129
107
|
},
|
|
130
108
|
"bitbucket_user": {
|
|
131
|
-
"type": [
|
|
132
|
-
"string",
|
|
133
|
-
"null"
|
|
134
|
-
]
|
|
109
|
+
"type": ["string", "null"]
|
|
135
110
|
},
|
|
136
111
|
"github": {
|
|
137
|
-
"type": [
|
|
138
|
-
"string",
|
|
139
|
-
"null"
|
|
140
|
-
]
|
|
112
|
+
"type": ["string", "null"]
|
|
141
113
|
},
|
|
142
114
|
"confluence": {
|
|
143
|
-
"type": [
|
|
144
|
-
"string",
|
|
145
|
-
"null"
|
|
146
|
-
]
|
|
115
|
+
"type": ["string", "null"]
|
|
147
116
|
},
|
|
148
117
|
"figma": {
|
|
149
|
-
"type": [
|
|
150
|
-
"string",
|
|
151
|
-
"null"
|
|
152
|
-
]
|
|
118
|
+
"type": ["string", "null"]
|
|
153
119
|
},
|
|
154
120
|
"figma_mcp": {
|
|
155
|
-
"type": [
|
|
156
|
-
"string",
|
|
157
|
-
"null"
|
|
158
|
-
]
|
|
121
|
+
"type": ["string", "null"]
|
|
159
122
|
},
|
|
160
123
|
"fortify": {
|
|
161
|
-
"type": [
|
|
162
|
-
"string",
|
|
163
|
-
"null"
|
|
164
|
-
]
|
|
124
|
+
"type": ["string", "null"]
|
|
165
125
|
},
|
|
166
126
|
"graylog": {
|
|
167
|
-
"type": [
|
|
168
|
-
"string",
|
|
169
|
-
"null"
|
|
170
|
-
]
|
|
127
|
+
"type": ["string", "null"]
|
|
171
128
|
},
|
|
172
129
|
"figma_pat": {
|
|
173
|
-
"type": [
|
|
174
|
-
"string",
|
|
175
|
-
"null"
|
|
176
|
-
],
|
|
130
|
+
"type": ["string", "null"],
|
|
177
131
|
"description": "Figma Personal Access Token. Tier 2 of the Figma access chain (REST API) resolves this key."
|
|
178
132
|
},
|
|
179
133
|
"figma_user": {
|
|
180
|
-
"type": [
|
|
181
|
-
"string",
|
|
182
|
-
"null"
|
|
183
|
-
],
|
|
134
|
+
"type": ["string", "null"],
|
|
184
135
|
"description": "Figma account identifier, when the REST flow needs it alongside figma_pat."
|
|
185
136
|
},
|
|
186
137
|
"claude_oauth_token": {
|
|
187
|
-
"type": [
|
|
188
|
-
"string",
|
|
189
|
-
"null"
|
|
190
|
-
],
|
|
138
|
+
"type": ["string", "null"],
|
|
191
139
|
"description": "Claude Code OAuth token used by headless / scheduled runs."
|
|
192
140
|
},
|
|
193
141
|
"claude_oauth_token_fallback": {
|
|
194
|
-
"type": [
|
|
195
|
-
"string",
|
|
196
|
-
"null"
|
|
197
|
-
],
|
|
142
|
+
"type": ["string", "null"],
|
|
198
143
|
"description": "Secondary OAuth token used when the primary is rate-limited or expired."
|
|
199
144
|
},
|
|
200
145
|
"firebase": {
|
|
201
|
-
"type": [
|
|
202
|
-
"string",
|
|
203
|
-
"null"
|
|
204
|
-
],
|
|
146
|
+
"type": ["string", "null"],
|
|
205
147
|
"description": "Firebase JSON (base64-encoded). project_id is parsed from the decoded JSON."
|
|
206
148
|
},
|
|
207
149
|
"jenkins": {
|
|
208
|
-
"type": [
|
|
209
|
-
"string",
|
|
210
|
-
"null"
|
|
211
|
-
]
|
|
150
|
+
"type": ["string", "null"]
|
|
212
151
|
},
|
|
213
152
|
"npm": {
|
|
214
|
-
"type": [
|
|
215
|
-
"string",
|
|
216
|
-
"null"
|
|
217
|
-
],
|
|
153
|
+
"type": ["string", "null"],
|
|
218
154
|
"description": "NPM registry token (npm.pkg.github.com or npmjs.com). Used by package publish flow."
|
|
219
155
|
}
|
|
220
156
|
}
|
|
@@ -222,10 +158,7 @@
|
|
|
222
158
|
"tokenScripts": {
|
|
223
159
|
"type": "object",
|
|
224
160
|
"additionalProperties": {
|
|
225
|
-
"type": [
|
|
226
|
-
"string",
|
|
227
|
-
"null"
|
|
228
|
-
]
|
|
161
|
+
"type": ["string", "null"]
|
|
229
162
|
},
|
|
230
163
|
"default": {},
|
|
231
164
|
"description": "Maps service ids to user-owned token generation scripts (absolute paths, personal - never synced). Used by the Phase 0 token pre-flight: figma_mcp silent renewal reads the .figma-oauth.json next to tokenScripts.figma_mcp; the 'Regenerate now (script)' option runs the script itself."
|
|
@@ -255,9 +188,7 @@
|
|
|
255
188
|
{
|
|
256
189
|
"type": "object",
|
|
257
190
|
"additionalProperties": false,
|
|
258
|
-
"required": [
|
|
259
|
-
"path"
|
|
260
|
-
],
|
|
191
|
+
"required": ["path"],
|
|
261
192
|
"properties": {
|
|
262
193
|
"path": {
|
|
263
194
|
"type": "string"
|
|
@@ -287,9 +218,7 @@
|
|
|
287
218
|
"items": {
|
|
288
219
|
"type": "object",
|
|
289
220
|
"additionalProperties": false,
|
|
290
|
-
"required": [
|
|
291
|
-
"branch"
|
|
292
|
-
],
|
|
221
|
+
"required": ["branch"],
|
|
293
222
|
"properties": {
|
|
294
223
|
"branch": {
|
|
295
224
|
"type": "string"
|
|
@@ -347,9 +276,7 @@
|
|
|
347
276
|
"items": {
|
|
348
277
|
"type": "object",
|
|
349
278
|
"additionalProperties": false,
|
|
350
|
-
"required": [
|
|
351
|
-
"repos"
|
|
352
|
-
],
|
|
279
|
+
"required": ["repos"],
|
|
353
280
|
"properties": {
|
|
354
281
|
"label": {
|
|
355
282
|
"type": "string",
|
|
@@ -381,9 +308,7 @@
|
|
|
381
308
|
"items": {
|
|
382
309
|
"type": "object",
|
|
383
310
|
"additionalProperties": false,
|
|
384
|
-
"required": [
|
|
385
|
-
"repoSet"
|
|
386
|
-
],
|
|
311
|
+
"required": ["repoSet"],
|
|
387
312
|
"properties": {
|
|
388
313
|
"repoSet": {
|
|
389
314
|
"type": "array",
|
|
@@ -403,11 +328,7 @@
|
|
|
403
328
|
},
|
|
404
329
|
"platform": {
|
|
405
330
|
"type": "string",
|
|
406
|
-
"enum": [
|
|
407
|
-
"ios",
|
|
408
|
-
"android",
|
|
409
|
-
"mixed"
|
|
410
|
-
]
|
|
331
|
+
"enum": ["ios", "android", "mixed"]
|
|
411
332
|
},
|
|
412
333
|
"hostScheme": {
|
|
413
334
|
"type": "string",
|
|
@@ -439,11 +360,7 @@
|
|
|
439
360
|
},
|
|
440
361
|
"lastResult": {
|
|
441
362
|
"type": "string",
|
|
442
|
-
"enum": [
|
|
443
|
-
"success",
|
|
444
|
-
"failed",
|
|
445
|
-
"skipped"
|
|
446
|
-
]
|
|
363
|
+
"enum": ["success", "failed", "skipped"]
|
|
447
364
|
}
|
|
448
365
|
}
|
|
449
366
|
},
|
|
@@ -451,14 +368,11 @@
|
|
|
451
368
|
},
|
|
452
369
|
"serviceStatus": {
|
|
453
370
|
"type": "object",
|
|
454
|
-
"description": "v2.1.0+. Ephemeral per-service reachability cache. TTL 5 minutes (settings.serviceStatusCacheSeconds). Each service is independent
|
|
371
|
+
"description": "v2.1.0+. Ephemeral per-service reachability cache. TTL 5 minutes (settings.serviceStatusCacheSeconds). Each service is independent - Jira may be reachable while Bitbucket is not.",
|
|
455
372
|
"additionalProperties": {
|
|
456
373
|
"type": "object",
|
|
457
374
|
"additionalProperties": false,
|
|
458
|
-
"required": [
|
|
459
|
-
"ok",
|
|
460
|
-
"checkedAt"
|
|
461
|
-
],
|
|
375
|
+
"required": ["ok", "checkedAt"],
|
|
462
376
|
"properties": {
|
|
463
377
|
"ok": {
|
|
464
378
|
"type": "boolean"
|
|
@@ -532,10 +446,7 @@
|
|
|
532
446
|
}
|
|
533
447
|
},
|
|
534
448
|
"defaultJiraKey": {
|
|
535
|
-
"type": [
|
|
536
|
-
"string",
|
|
537
|
-
"null"
|
|
538
|
-
],
|
|
449
|
+
"type": ["string", "null"],
|
|
539
450
|
"description": "Default Jira project key used for placeholder replacement. null until /multi-agent:setup onboards a Jira project."
|
|
540
451
|
},
|
|
541
452
|
"modelFallback": {
|
|
@@ -549,10 +460,7 @@
|
|
|
549
460
|
"description": "Master switch for tier fallback."
|
|
550
461
|
},
|
|
551
462
|
"premiumTierUntil": {
|
|
552
|
-
"type": [
|
|
553
|
-
"string",
|
|
554
|
-
"null"
|
|
555
|
-
],
|
|
463
|
+
"type": ["string", "null"],
|
|
556
464
|
"description": "ISO date after which the premium tier is assumed gone. null = no expiry known."
|
|
557
465
|
},
|
|
558
466
|
"fallbackModel": {
|
|
@@ -569,7 +477,7 @@
|
|
|
569
477
|
"hosts": {
|
|
570
478
|
"type": "object",
|
|
571
479
|
"additionalProperties": false,
|
|
572
|
-
"description": "Corporate service hosts used by Jira / Confluence / Bitbucket / email-domain placeholders. Collected inline during Token Save Flow (Step 3.5) when a hosted-service token is added for the first time. Per-user, never committed
|
|
480
|
+
"description": "Corporate service hosts used by Jira / Confluence / Bitbucket / email-domain placeholders. Collected inline during Token Save Flow (Step 3.5) when a hosted-service token is added for the first time. Per-user, never committed - lives in ~/.claude/multi-agent-preferences.json only.",
|
|
573
481
|
"properties": {
|
|
574
482
|
"jira": {
|
|
575
483
|
"type": "string",
|
|
@@ -600,27 +508,27 @@
|
|
|
600
508
|
"reportChannels": {
|
|
601
509
|
"type": "object",
|
|
602
510
|
"additionalProperties": false,
|
|
603
|
-
"description": "v5.7+
|
|
511
|
+
"description": "v5.7+ - Phase 7 / /multi-agent:channels kanal se\u00e7imi default'lar\u0131. Multi-select men\u00fcde tick'li gelecek kanallar. Her kanal ba\u011f\u0131ms\u0131z boolean. Autopilot Phase 7'de ALWAYS pauses (30-min timeout) - bu de\u011ferler sadece men\u00fcn\u00fcn \u00f6nceden se\u00e7ili halini belirler.",
|
|
604
512
|
"properties": {
|
|
605
513
|
"pr": {
|
|
606
514
|
"type": "boolean",
|
|
607
515
|
"default": true,
|
|
608
|
-
"description": "PR description update (replace/append). Default ON
|
|
516
|
+
"description": "PR description update (replace/append). Default ON - en yayg\u0131n kanal."
|
|
609
517
|
},
|
|
610
518
|
"jira": {
|
|
611
519
|
"type": "boolean",
|
|
612
520
|
"default": true,
|
|
613
|
-
"description": "Jira comment on linked issue. Default ON
|
|
521
|
+
"description": "Jira comment on linked issue. Default ON - task'a jiraId varsa tick'li gelir."
|
|
614
522
|
},
|
|
615
523
|
"confluence": {
|
|
616
524
|
"type": "boolean",
|
|
617
525
|
"default": false,
|
|
618
|
-
"description": "Confluence page creation. Default OFF
|
|
526
|
+
"description": "Confluence page creation. Default OFF - bir kez parent page se\u00e7ince LRU'dan \u00f6ner."
|
|
619
527
|
},
|
|
620
528
|
"wiki": {
|
|
621
529
|
"type": "boolean",
|
|
622
530
|
"default": false,
|
|
623
|
-
"description": "Component wiki pages (Case A scope multi-select). Default OFF
|
|
531
|
+
"description": "Component wiki pages (Case A scope multi-select). Default OFF - taskType=component + figmaConfig.wiki.enabled gerekli, yoksa men\u00fcde greyed out."
|
|
624
532
|
}
|
|
625
533
|
},
|
|
626
534
|
"default": {
|
|
@@ -633,7 +541,7 @@
|
|
|
633
541
|
"reportContent": {
|
|
634
542
|
"type": "object",
|
|
635
543
|
"additionalProperties": false,
|
|
636
|
-
"description": "v5.7+
|
|
544
|
+
"description": "v5.7+ - Phase 7 / /multi-agent:channels i\u00e7erik se\u00e7imi default'lar\u0131. Multi-select men\u00fcde tick'li gelecek content source'lar\u0131.",
|
|
637
545
|
"properties": {
|
|
638
546
|
"normalAnalysis": {
|
|
639
547
|
"type": "boolean",
|
|
@@ -653,7 +561,7 @@
|
|
|
653
561
|
"autoDiff": {
|
|
654
562
|
"type": "boolean",
|
|
655
563
|
"default": false,
|
|
656
|
-
"description": "PR diff'ten auto-generate \u00f6zet (eski enrich behavior
|
|
564
|
+
"description": "PR diff'ten auto-generate \u00f6zet (eski enrich behavior - root cause / solution / changed files / test scenarios). PR linked de\u011filse greyed out."
|
|
657
565
|
},
|
|
658
566
|
"manualNote": {
|
|
659
567
|
"type": "boolean",
|
|
@@ -663,12 +571,12 @@
|
|
|
663
571
|
"costSummary": {
|
|
664
572
|
"type": "boolean",
|
|
665
573
|
"default": false,
|
|
666
|
-
"description": "v6.1.0+
|
|
574
|
+
"description": "v6.1.0+ - Per-phase token cost summary (phase name, tokens_in, tokens_out, est. USD). Source: phase-tracker.sh token tallies + optional OTel spans (MULTI_AGENT_OTEL_SPANS=1). Greyed out if tracker has no token data for the task. Opt-in - off by default so baseline PR body stays unchanged."
|
|
667
575
|
},
|
|
668
576
|
"workSummary": {
|
|
669
577
|
"type": "boolean",
|
|
670
578
|
"default": false,
|
|
671
|
-
"description": "v7.1.0+
|
|
579
|
+
"description": "v7.1.0+ - Executive 'Work Done' summary block. Distills the whole pipeline run into a single-screen section: task + branch + base + PR number, scope delivered (\u2705/\u23f3 per Phase 2 task), changed files with +/- counts (capped at 20 rows), review outcome (accepted/deferred/rejected counts + approved flag), and a one-line phase tick strip (0 Init \u2705 \u00b7 1 Analysis \u2705 \u00b7 ...). Source: `agent-state.json` + `phase-tracker.json` + `git diff --numstat` between `baseBranch`...HEAD. Consumed by `render-work-summary.sh`. Greyed out if no state file exists for the task. Opt-in - off by default so baseline PR body stays unchanged."
|
|
672
580
|
}
|
|
673
581
|
},
|
|
674
582
|
"default": {
|
|
@@ -686,36 +594,22 @@
|
|
|
686
594
|
"default": 1800,
|
|
687
595
|
"minimum": 60,
|
|
688
596
|
"maximum": 7200,
|
|
689
|
-
"description": "v5.7+
|
|
597
|
+
"description": "v5.7+ - Phase 7'de autopilot always-pause men\u00fcs\u00fcnde kullan\u0131c\u0131 cevap vermezse session'\u0131 sonland\u0131rma s\u00fcresi (saniye). Default 1800 (30 dk). Timeout'ta external delivery aborted, internal capture (agent-log, telemetry, knowledge) yine \u00e7al\u0131\u015f\u0131r, session /multi-agent:resume ile devam ettirilebilir."
|
|
690
598
|
},
|
|
691
599
|
"wikiScope": {
|
|
692
600
|
"type": "array",
|
|
693
601
|
"items": {
|
|
694
602
|
"type": "string",
|
|
695
|
-
"enum": [
|
|
696
|
-
"main",
|
|
697
|
-
"ios",
|
|
698
|
-
"screenshots",
|
|
699
|
-
"index"
|
|
700
|
-
]
|
|
603
|
+
"enum": ["main", "ios", "screenshots", "index"]
|
|
701
604
|
},
|
|
702
|
-
"default": [
|
|
703
|
-
|
|
704
|
-
"ios",
|
|
705
|
-
"screenshots",
|
|
706
|
-
"index"
|
|
707
|
-
],
|
|
708
|
-
"description": "v5.7+ \u2014 Wiki Case A scope multi-select default'u. Component wiki dispatch'inde hangi artifact'lar yaz\u0131lacak: main (ana component sayfas\u0131), ios (iOS sub-page), screenshots (assets/ klas\u00f6r\u00fc), index (_Sidebar.md + ComponentImplementationStatus.md). Legacy wikiDefault=true \u2192 [main,ios,screenshots,index] migration; wikiDefault=false \u2192 [] (empty array = Wiki adapter Case B men\u00fcs\u00fcne d\u00fc\u015fer)."
|
|
605
|
+
"default": ["main", "ios", "screenshots", "index"],
|
|
606
|
+
"description": "v5.7+ - Wiki Case A scope multi-select default'u. Component wiki dispatch'inde hangi artifact'lar yaz\u0131lacak: main (ana component sayfas\u0131), ios (iOS sub-page), screenshots (assets/ klas\u00f6r\u00fc), index (_Sidebar.md + ComponentImplementationStatus.md). Legacy wikiDefault=true \u2192 [main,ios,screenshots,index] migration; wikiDefault=false \u2192 [] (empty array = Wiki adapter Case B men\u00fcs\u00fcne d\u00fc\u015fer)."
|
|
709
607
|
},
|
|
710
608
|
"autoJiraFromGithubIssue": {
|
|
711
609
|
"type": "string",
|
|
712
|
-
"enum": [
|
|
713
|
-
"ask",
|
|
714
|
-
"always",
|
|
715
|
-
"never"
|
|
716
|
-
],
|
|
610
|
+
"enum": ["ask", "always", "never"],
|
|
717
611
|
"default": "ask",
|
|
718
|
-
"description": "Policy for the GitHub-issue Jira auto-create (WS-6 triad, Phase 0 Step 1). `ask` prompts the user when a GitHub issue has no Jira ID. `always` auto-creates silently (and patches the GitHub issue body with the link). `never` skips and uses the `feature/GH{issueNo}-kebab` branch. Autopilot treats `ask` as `always`
|
|
612
|
+
"description": "Policy for the GitHub-issue Jira auto-create (WS-6 triad, Phase 0 Step 1). `ask` prompts the user when a GitHub issue has no Jira ID. `always` auto-creates silently (and patches the GitHub issue body with the link). `never` skips and uses the `feature/GH{issueNo}-kebab` branch. Autopilot treats `ask` as `always` - there is no interactive fallback when running unattended."
|
|
719
613
|
},
|
|
720
614
|
"wikiToJiraComment": {
|
|
721
615
|
"type": "boolean",
|
|
@@ -724,31 +618,21 @@
|
|
|
724
618
|
},
|
|
725
619
|
"promptLanguage": {
|
|
726
620
|
"type": "string",
|
|
727
|
-
"enum": [
|
|
728
|
-
"en",
|
|
729
|
-
"tr"
|
|
730
|
-
],
|
|
621
|
+
"enum": ["en", "tr"],
|
|
731
622
|
"default": "en",
|
|
732
623
|
"description": "Language used for user-facing INTERACTIVE pipeline copy: pickers (account, project, dev-context, base branch, branch name, maturity ack, channels), Phase 5 test prompt, Phase 6 local-checkout prompt, Phase 6 commit/PR confirmations, TaskCreate card subjects, and phase-banner.sh headers (`PHASE_LANG` resolves from this field via the `auto` sentinel). Canonical label table lives in `pipeline/skills/shared/multi-agent/SKILL.md`. External payloads stay English regardless of this setting: reviewer/triage system prompts, commit messages, PR titles/bodies, Jira comments, wiki content, agent-log.md payloads. Set via `/multi-agent:language prompt <en|tr>` or answered on first run by `/multi-agent:setup`."
|
|
733
624
|
},
|
|
734
625
|
"outputLanguage": {
|
|
735
626
|
"type": "string",
|
|
736
|
-
"enum": [
|
|
737
|
-
"en",
|
|
738
|
-
"tr"
|
|
739
|
-
],
|
|
627
|
+
"enum": ["en", "tr"],
|
|
740
628
|
"default": "en",
|
|
741
629
|
"description": "Language used for the assistant's NON-INTERACTIVE explanations, status updates, error messages, and pipeline-generated reports rendered to the user (e.g. `/multi-agent:help` body, `/multi-agent:status` table headers, summary blocks at the end of a run). Independent of `promptLanguage` so a user can have Turkish pickers but English summaries (or vice versa). External payloads (commits, PR/Jira/wiki) and skill-picker / confirmation / error UI exposed by the CLI host stay English regardless of this setting. Set via `/multi-agent:language output <en|tr>` or answered on first run by `/multi-agent:setup`."
|
|
742
630
|
},
|
|
743
631
|
"progressVerbosity": {
|
|
744
632
|
"type": "string",
|
|
745
|
-
"enum": [
|
|
746
|
-
"quiet",
|
|
747
|
-
"normal",
|
|
748
|
-
"verbose"
|
|
749
|
-
],
|
|
633
|
+
"enum": ["quiet", "normal", "verbose"],
|
|
750
634
|
"default": "normal",
|
|
751
|
-
"description": "Verbosity of the live progress-line contract (`refs/progress-contract.md`). `quiet` shows only phase banners and user prompts (CI-friendly). `normal` shows banners + the canonical action set per phase
|
|
635
|
+
"description": "Verbosity of the live progress-line contract (`refs/progress-contract.md`). `quiet` shows only phase banners and user prompts (CI-friendly). `normal` shows banners + the canonical action set per phase - recommended for interactive use. `verbose` shows sub-agent internal actions, file-level reads, schema validations, retry internals - forced automatically when `mode: autopilot` is set in agent state so the run remains audit-grade when the user isn't watching live."
|
|
752
636
|
},
|
|
753
637
|
"triageCrossCheck": {
|
|
754
638
|
"type": "object",
|
|
@@ -769,11 +653,9 @@
|
|
|
769
653
|
},
|
|
770
654
|
"model": {
|
|
771
655
|
"type": "string",
|
|
772
|
-
"enum": [
|
|
773
|
-
"sonnet"
|
|
774
|
-
],
|
|
656
|
+
"enum": ["sonnet"],
|
|
775
657
|
"default": "sonnet",
|
|
776
|
-
"description": "Cross-check model. Locked to Sonnet
|
|
658
|
+
"description": "Cross-check model. Locked to Sonnet - Opus would just agree with Opus."
|
|
777
659
|
},
|
|
778
660
|
"blockOnDisagreement": {
|
|
779
661
|
"type": "boolean",
|
|
@@ -785,7 +667,7 @@
|
|
|
785
667
|
"reviewDisagreementRound": {
|
|
786
668
|
"type": "boolean",
|
|
787
669
|
"default": false,
|
|
788
|
-
"description": "v6.1.0+
|
|
670
|
+
"description": "v6.1.0+ - Phase 4 Step 2.5 rebuttal round. When reviewers disagree (mixed blocker/approved verdict), each reviewer is re-prompted with the others' opposing arguments for one additional round before triage. Lifts signal quality on ambiguous findings at ~1\u00d7 Step 2 token cost. Off by default - flip for security-critical or release-branch reviews."
|
|
789
671
|
},
|
|
790
672
|
"updateCheck": {
|
|
791
673
|
"type": "object",
|
|
@@ -830,10 +712,7 @@
|
|
|
830
712
|
},
|
|
831
713
|
"model": {
|
|
832
714
|
"type": "string",
|
|
833
|
-
"enum": [
|
|
834
|
-
"sonnet",
|
|
835
|
-
"opus"
|
|
836
|
-
],
|
|
715
|
+
"enum": ["sonnet", "opus"],
|
|
837
716
|
"default": "sonnet",
|
|
838
717
|
"description": "Verifier agent model. Writing a minimal repro test is mechanical work; Sonnet is the cost-sane default."
|
|
839
718
|
},
|
|
@@ -1048,7 +927,7 @@
|
|
|
1048
927
|
"devCritic": {
|
|
1049
928
|
"type": "object",
|
|
1050
929
|
"additionalProperties": false,
|
|
1051
|
-
"description": "v8.6+
|
|
930
|
+
"description": "v8.6+ - Phase 3.5 evaluator-optimizer. After the Dev generator's last edit and BEFORE Phase 4 reviewers, dispatch agents/dev-critic.md (Sonnet by default) to run deterministic gates (build/lint/test/secrets) + the platform checklist (rules/*.md). Max 2 critic iterations, then escalate. Catches gate failures and checklist violations that would otherwise burn 2-3 Phase 4 reviewer calls + Opus triage. Off by default - introduces 1\u00d7 Sonnet call per Dev iteration; flip on for feature work, security-touching paths, or multi-file refactors. Source: Anthropic 'Building Effective Agents' (Dec 2024) evaluator-optimizer pattern.",
|
|
1052
931
|
"properties": {
|
|
1053
932
|
"enabled": {
|
|
1054
933
|
"type": "boolean",
|
|
@@ -1060,13 +939,13 @@
|
|
|
1060
939
|
"minimum": 1,
|
|
1061
940
|
"maximum": 3,
|
|
1062
941
|
"default": 2,
|
|
1063
|
-
"description": "Critic loop cap. Round 1 = full pass. Round 2 = re-check round 1 failures only. Round 3 NOT recommended
|
|
942
|
+
"description": "Critic loop cap. Round 1 = full pass. Round 2 = re-check round 1 failures only. Round 3 NOT recommended - escalate to user (interactive) or proceed with logged failure (autopilot)."
|
|
1064
943
|
},
|
|
1065
944
|
"model": {
|
|
1066
945
|
"type": "string",
|
|
1067
946
|
"enum": ["sonnet", "opus", "haiku"],
|
|
1068
947
|
"default": "sonnet",
|
|
1069
|
-
"description": "Critic model. Sonnet is the cost/quality default. Opus override only when diff > 500 LOC or touches security-critical paths. Haiku is too brittle for checklist reasoning
|
|
948
|
+
"description": "Critic model. Sonnet is the cost/quality default. Opus override only when diff > 500 LOC or touches security-critical paths. Haiku is too brittle for checklist reasoning - use only for trivial verification tasks."
|
|
1070
949
|
},
|
|
1071
950
|
"minDiffLoc": {
|
|
1072
951
|
"type": "integer",
|
|
@@ -1079,7 +958,13 @@
|
|
|
1079
958
|
"diffRiskAdvisory": {
|
|
1080
959
|
"type": "boolean",
|
|
1081
960
|
"default": true,
|
|
1082
|
-
"description": "v8.3+
|
|
961
|
+
"description": "v8.3+ - Phase 4 Step 1.75 advisory diff risk scoring. When enabled, `pipeline/scripts/diff-risk-score.mjs` runs before reviewer dispatch and the top-N risk-ranked files are injected into each reviewer's prompt as a priority hint (security paths, public API surfaces, untested source changes, schema migrations). Heuristic, deterministic, no LLM cost. Default ON - the run is sub-second and never gates the pipeline. Flip to false to skip the script and the prompt injection entirely."
|
|
962
|
+
},
|
|
963
|
+
"reviewScopeGate": {
|
|
964
|
+
"type": "boolean",
|
|
965
|
+
"default": true,
|
|
966
|
+
"description": "v12.8+ - Phase 4 Step 1.77 reviewer-scope gate. Decides the reviewer count from the deterministic diff-risk report via `pipeline/scripts/review-scope.mjs`: a diff under 20 lines of churn with max_score < 3.0 and no security_path / migration / public_api / no_test_change / test_lines_removed signal runs ONE reviewer instead of the full CLI-aware set (2 on Claude Code, 3 on Copilot CLI). No LLM. Fails safe in one direction only - any error, empty report or validator rejection resolves to the full set, because skipping a reviewer trades coverage for cost. Set false to force the full set on every diff.",
|
|
967
|
+
"$comment": "Shipped inert for a release: the script existed, was unit- and smoke-tested, and no phase doc referenced it, so every diff paid for the full reviewer set. Wired in Step 1.77; smoke-gate-wiring.sh keeps it reachable."
|
|
1083
968
|
},
|
|
1084
969
|
"priorArtEnrichment": {
|
|
1085
970
|
"type": "object",
|
|
@@ -1148,23 +1033,23 @@
|
|
|
1148
1033
|
"testGap": {
|
|
1149
1034
|
"type": "object",
|
|
1150
1035
|
"additionalProperties": false,
|
|
1151
|
-
"description": "v8.3+
|
|
1036
|
+
"description": "v8.3+ - Phase 5 Step 0 advisory test-gap detector. Walks the diff for newly added public symbols and reports those without a paired test (or test method covering them). Heuristic, deterministic, no LLM cost.",
|
|
1152
1037
|
"properties": {
|
|
1153
1038
|
"enabled": {
|
|
1154
1039
|
"type": "boolean",
|
|
1155
1040
|
"default": true,
|
|
1156
|
-
"description": "Master switch. Default ON
|
|
1041
|
+
"description": "Master switch. Default ON - the scan is sub-second."
|
|
1157
1042
|
},
|
|
1158
1043
|
"scanTree": {
|
|
1159
1044
|
"type": "boolean",
|
|
1160
1045
|
"default": false,
|
|
1161
|
-
"description": "When true, also scan the repo tree (not just the diff) for existing tests that already mention the symbol
|
|
1046
|
+
"description": "When true, also scan the repo tree (not just the diff) for existing tests that already mention the symbol - catches gaps that are technically covered by older tests outside the current diff. Slower but more accurate. Off by default - diff-only scan is sufficient for the common case."
|
|
1162
1047
|
},
|
|
1163
1048
|
"blockingThreshold": {
|
|
1164
1049
|
"type": ["integer", "null"],
|
|
1165
1050
|
"minimum": 1,
|
|
1166
1051
|
"default": null,
|
|
1167
|
-
"description": "If set, gaps where `important + blocking` count exceeds the threshold are treated as a Phase 4 rework finding (loops back to Phase 3). null = advisory only
|
|
1052
|
+
"description": "If set, gaps where `important + blocking` count exceeds the threshold are treated as a Phase 4 rework finding (loops back to Phase 3). null = advisory only - Phase 5 prints the report but never gates."
|
|
1168
1053
|
},
|
|
1169
1054
|
"promoteSeverity": {
|
|
1170
1055
|
"type": "boolean",
|
|
@@ -1182,17 +1067,17 @@
|
|
|
1182
1067
|
"perRepoMemory": {
|
|
1183
1068
|
"type": "boolean",
|
|
1184
1069
|
"default": false,
|
|
1185
|
-
"description": "v6.2.0+
|
|
1070
|
+
"description": "v6.2.0+ - Per-repo file-system memory layer. When enabled, Phase 0 reads `$PROJECT_ROOT/.multi-agent/memory/MEMORY.md` (if present) and injects it into the pipeline context, and Phase 7 dispatches a scoped synthesis subagent that may write new memory files to the same directory. Categories: user / feedback / project / reference (same taxonomy as the conversation-level auto-memory). Memory is local to each repo - never synced to remote, never committed to git (pipeline installer adds `.multi-agent/memory/` to `.gitignore`). Off by default - flip when working on a repo long enough that accumulated project context starts paying for itself."
|
|
1186
1071
|
},
|
|
1187
1072
|
"autopilotSafetyGate": {
|
|
1188
1073
|
"type": "boolean",
|
|
1189
1074
|
"default": true,
|
|
1190
|
-
"description": "v7.0.0+
|
|
1075
|
+
"description": "v7.0.0+ - Phase 2 autopilot safety classifier. Before autopilot mode consumes the user's approval skip, run `classify-plan-safety.mjs` over the approved plan. If the heuristic score \u2265 50 (e.g. >15 files touched, or security-path touch, or delete-without-test, or schema migration) inject a ONE-TIME pause asking for explicit manual approval - even in autopilot. Default ON because the risk of skipping this gate is asymmetric: a pause on a high-blast-radius plan costs seconds; a silent auto-merge of a bad one costs hours of rollback. Flip to `false` only for tightly-scoped autopilot workflows (e.g. batch figma component iteration) where the task class is known-safe."
|
|
1191
1076
|
},
|
|
1192
1077
|
"dynamicSkillLoading": {
|
|
1193
1078
|
"type": "boolean",
|
|
1194
1079
|
"default": false,
|
|
1195
|
-
"description": "v7.0.0+
|
|
1080
|
+
"description": "v7.0.0+ - Dynamic trigger-based skill loading. When enabled, the orchestrator reads `~/.claude/skills/.skills-index.json` after Phase 1 analysis and injects only the top-N matched skills into subagent prompts (via `match-skills.mjs`), instead of relying on eager-loaded SKILL.md bodies. Large token win on small tasks; no visible behavior change on big ones where many skills match. Requires either a full install (index is always shipped) or the `install.js --index-only` mode for users who want skill bodies fetched on demand. Off by default in v7.0 - flip to `true` to opt in; a future v7.x may flip the default once enough telemetry confirms no regression."
|
|
1196
1081
|
},
|
|
1197
1082
|
"derivedSkillSources": {
|
|
1198
1083
|
"type": "array",
|
|
@@ -1200,12 +1085,7 @@
|
|
|
1200
1085
|
"items": {
|
|
1201
1086
|
"type": "object",
|
|
1202
1087
|
"additionalProperties": false,
|
|
1203
|
-
"required": [
|
|
1204
|
-
"label",
|
|
1205
|
-
"localPath",
|
|
1206
|
-
"upstreamPlugin",
|
|
1207
|
-
"derivedFromVersion"
|
|
1208
|
-
],
|
|
1088
|
+
"required": ["label", "localPath", "upstreamPlugin", "derivedFromVersion"],
|
|
1209
1089
|
"properties": {
|
|
1210
1090
|
"label": {
|
|
1211
1091
|
"type": "string",
|
|
@@ -1230,11 +1110,20 @@
|
|
|
1230
1110
|
},
|
|
1231
1111
|
"derivedFromVersion": {
|
|
1232
1112
|
"type": "string",
|
|
1233
|
-
"description": "Upstream version we last synced from
|
|
1113
|
+
"description": "Upstream version we last synced from, read from the manifest named by `upstreamVersionSource`. Bumped after a drift port is applied."
|
|
1114
|
+
},
|
|
1115
|
+
"upstreamVersionSource": {
|
|
1116
|
+
"enum": ["marketplace.json", "plugin.json"],
|
|
1117
|
+
"default": "marketplace.json",
|
|
1118
|
+
"description": "Which upstream manifest carries the authoritative version. Defaults to marketplace.json because that is what a marketplace consumer resolves; some upstreams keep plugin.json deliberately unused, so reading it silently records a version nobody ships. Recording from the wrong manifest is how an entry here sat at 0.7.0 while the marketplace said 0.6.0."
|
|
1119
|
+
},
|
|
1120
|
+
"upstreamLocalClone": {
|
|
1121
|
+
"type": "string",
|
|
1122
|
+
"description": "Working copy of the upstream repository, checked before the plugin cache. The cache under ~/.claude/plugins/cache is only as fresh as the last `claude marketplace update`, so it is a mirror and never the authority. A private upstream may also be unreachable over the API from the active account, in which case this clone is the only source."
|
|
1234
1123
|
},
|
|
1235
1124
|
"upstreamRepoUrl": {
|
|
1236
1125
|
"type": "string",
|
|
1237
|
-
"description": "Used
|
|
1126
|
+
"description": "Used when neither a local clone nor the installed marketplace is available (WebFetch / gh fallback)."
|
|
1238
1127
|
}
|
|
1239
1128
|
}
|
|
1240
1129
|
}
|
|
@@ -1268,11 +1157,7 @@
|
|
|
1268
1157
|
},
|
|
1269
1158
|
"registry": {
|
|
1270
1159
|
"type": "string",
|
|
1271
|
-
"enum": [
|
|
1272
|
-
"github-packages",
|
|
1273
|
-
"npmjs",
|
|
1274
|
-
"none"
|
|
1275
|
-
],
|
|
1160
|
+
"enum": ["github-packages", "npmjs", "none"],
|
|
1276
1161
|
"default": "github-packages",
|
|
1277
1162
|
"description": "Publish target for Step 3d. `none` means commit + push only, never publish. The concrete URL comes from the repo's publishConfig; the token comes from the `npm` logical Keychain key through a throwaway --userconfig."
|
|
1278
1163
|
},
|
|
@@ -1288,9 +1173,7 @@
|
|
|
1288
1173
|
"items": {
|
|
1289
1174
|
"type": "object",
|
|
1290
1175
|
"additionalProperties": false,
|
|
1291
|
-
"required": [
|
|
1292
|
-
"id"
|
|
1293
|
-
],
|
|
1176
|
+
"required": ["id"],
|
|
1294
1177
|
"properties": {
|
|
1295
1178
|
"id": {
|
|
1296
1179
|
"type": "string",
|
|
@@ -1314,13 +1197,11 @@
|
|
|
1314
1197
|
},
|
|
1315
1198
|
"accounts": {
|
|
1316
1199
|
"type": "array",
|
|
1317
|
-
"description": "v7.4.0+. Per-account overrides
|
|
1200
|
+
"description": "v7.4.0+. Per-account overrides - host, label, default platform. Resolved by account-resolver.sh by matching `id` (e.g. my-account). When unset, hosts fall back to global.hosts.{jira,bitbucket}.",
|
|
1318
1201
|
"items": {
|
|
1319
1202
|
"type": "object",
|
|
1320
1203
|
"additionalProperties": false,
|
|
1321
|
-
"required": [
|
|
1322
|
-
"id"
|
|
1323
|
-
],
|
|
1204
|
+
"required": ["id"],
|
|
1324
1205
|
"properties": {
|
|
1325
1206
|
"id": {
|
|
1326
1207
|
"type": "string",
|
|
@@ -1343,12 +1224,7 @@
|
|
|
1343
1224
|
},
|
|
1344
1225
|
"defaultProvider": {
|
|
1345
1226
|
"type": "string",
|
|
1346
|
-
"enum": [
|
|
1347
|
-
"github",
|
|
1348
|
-
"bitbucket",
|
|
1349
|
-
"gitlab",
|
|
1350
|
-
"generic-git"
|
|
1351
|
-
]
|
|
1227
|
+
"enum": ["github", "bitbucket", "gitlab", "generic-git"]
|
|
1352
1228
|
}
|
|
1353
1229
|
}
|
|
1354
1230
|
},
|
|
@@ -1378,14 +1254,11 @@
|
|
|
1378
1254
|
"type": "string"
|
|
1379
1255
|
},
|
|
1380
1256
|
"maxItems": 10,
|
|
1381
|
-
"description": "GitHub fallback reviewers
|
|
1257
|
+
"description": "GitHub fallback reviewers - @user or org/team slug. Used only when no CODEOWNERS / branch protection surfaces reviewers."
|
|
1382
1258
|
},
|
|
1383
1259
|
"defaultPrMode": {
|
|
1384
1260
|
"type": "string",
|
|
1385
|
-
"enum": [
|
|
1386
|
-
"draft",
|
|
1387
|
-
"ready"
|
|
1388
|
-
],
|
|
1261
|
+
"enum": ["draft", "ready"],
|
|
1389
1262
|
"description": "Last-used draft/ready choice, shown as the default on next prompt."
|
|
1390
1263
|
},
|
|
1391
1264
|
"baseBranch": {
|
|
@@ -1424,12 +1297,7 @@
|
|
|
1424
1297
|
},
|
|
1425
1298
|
"remoteType": {
|
|
1426
1299
|
"type": "string",
|
|
1427
|
-
"enum": [
|
|
1428
|
-
"bitbucket",
|
|
1429
|
-
"github",
|
|
1430
|
-
"gitlab",
|
|
1431
|
-
"generic-git"
|
|
1432
|
-
],
|
|
1300
|
+
"enum": ["bitbucket", "github", "gitlab", "generic-git"],
|
|
1433
1301
|
"description": "Hint used when repo URL doesn't make platform obvious."
|
|
1434
1302
|
},
|
|
1435
1303
|
"taskCount": {
|