@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
|
@@ -128,8 +128,15 @@
|
|
|
128
128
|
"url": { "type": "string", "format": "uri" },
|
|
129
129
|
"fileKey": { "type": ["string", "null"] },
|
|
130
130
|
"nodeId": { "type": ["string", "null"] },
|
|
131
|
-
"screenshotUrl": {
|
|
132
|
-
|
|
131
|
+
"screenshotUrl": {
|
|
132
|
+
"type": ["string", "null"],
|
|
133
|
+
"description": "Local PNG path or signed render URL for this node."
|
|
134
|
+
},
|
|
135
|
+
"tier": {
|
|
136
|
+
"type": ["integer", "null"],
|
|
137
|
+
"enum": [1, 2, 3, null],
|
|
138
|
+
"description": "Figma access tier used to capture this record (mirrors state.figmaAccess.tier)."
|
|
139
|
+
},
|
|
133
140
|
"frames": {
|
|
134
141
|
"type": "array",
|
|
135
142
|
"items": {
|
|
@@ -202,14 +209,23 @@
|
|
|
202
209
|
"properties": {
|
|
203
210
|
"nodeId": { "type": "string" },
|
|
204
211
|
"name": { "type": ["string", "null"] },
|
|
205
|
-
"designText": {
|
|
206
|
-
|
|
212
|
+
"designText": {
|
|
213
|
+
"type": ["string", "null"],
|
|
214
|
+
"description": "The visible-layer text at this node (often a placeholder)."
|
|
215
|
+
},
|
|
216
|
+
"raw": {
|
|
217
|
+
"type": ["string", "null"],
|
|
218
|
+
"description": "The raw annotation label/labelMarkdown before parsing."
|
|
219
|
+
},
|
|
207
220
|
"parsed": {
|
|
208
221
|
"type": "object",
|
|
209
222
|
"description": "Parsed copy keyed by language code (lowercased), e.g. { tr, en }.",
|
|
210
223
|
"additionalProperties": { "type": "string" }
|
|
211
224
|
},
|
|
212
|
-
"mode": {
|
|
225
|
+
"mode": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"enum": ["prefixed", "two-line", "single", "empty"]
|
|
228
|
+
}
|
|
213
229
|
}
|
|
214
230
|
}
|
|
215
231
|
}
|
|
@@ -231,7 +247,10 @@
|
|
|
231
247
|
"additionalProperties": false,
|
|
232
248
|
"required": ["method", "path"],
|
|
233
249
|
"properties": {
|
|
234
|
-
"method": {
|
|
250
|
+
"method": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE"]
|
|
253
|
+
},
|
|
235
254
|
"path": { "type": "string" },
|
|
236
255
|
"summary": { "type": ["string", "null"] },
|
|
237
256
|
"auth": { "type": ["string", "null"] },
|
|
@@ -363,7 +382,10 @@
|
|
|
363
382
|
"enum": ["names", "schema", "console"],
|
|
364
383
|
"description": "Sub-type: names (comma list), schema (local JSON), console (reference-only URL)."
|
|
365
384
|
},
|
|
366
|
-
"source": {
|
|
385
|
+
"source": {
|
|
386
|
+
"type": ["string", "null"],
|
|
387
|
+
"description": "Original input string (path, URL, or comma list)."
|
|
388
|
+
},
|
|
367
389
|
"events": {
|
|
368
390
|
"type": "array",
|
|
369
391
|
"items": {
|
|
@@ -387,7 +409,10 @@
|
|
|
387
409
|
},
|
|
388
410
|
"platformsEmitting": {
|
|
389
411
|
"type": "array",
|
|
390
|
-
"items": {
|
|
412
|
+
"items": {
|
|
413
|
+
"type": "string",
|
|
414
|
+
"enum": ["ios", "android", "backend", "frontend"]
|
|
415
|
+
}
|
|
391
416
|
},
|
|
392
417
|
"citation": { "type": ["string", "null"] }
|
|
393
418
|
}
|
|
@@ -415,7 +440,10 @@
|
|
|
415
440
|
"name": { "type": "string" },
|
|
416
441
|
"file": { "type": "string" },
|
|
417
442
|
"line": { "type": ["integer", "null"] },
|
|
418
|
-
"tag": {
|
|
443
|
+
"tag": {
|
|
444
|
+
"type": "string",
|
|
445
|
+
"enum": ["direct-match", "same-domain", "cross-cutting"]
|
|
446
|
+
}
|
|
419
447
|
}
|
|
420
448
|
}
|
|
421
449
|
}
|
|
@@ -493,29 +521,89 @@
|
|
|
493
521
|
"additionalProperties": false,
|
|
494
522
|
"description": "v3 template - 23 main sections + 3 footer. Each section is either filled (object) or omitted (null). Omitted sections do not appear in the output document. Sections 1, 2, 4, 9, 13, 14, 20, 21 are never omitted (Locked 2).",
|
|
495
523
|
"properties": {
|
|
496
|
-
"summary":
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
"
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
"
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
"
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
"
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
"
|
|
517
|
-
|
|
518
|
-
|
|
524
|
+
"summary": {
|
|
525
|
+
"type": ["object", "null"],
|
|
526
|
+
"description": "Section 1 - Geliştirme Özeti / Summary. Never null."
|
|
527
|
+
},
|
|
528
|
+
"goalsAndNonGoals": {
|
|
529
|
+
"type": ["object", "null"],
|
|
530
|
+
"description": "Section 2 - Hedefler ve Karşı Hedefler. Never null. Both columns mandatory (Locked 13)."
|
|
531
|
+
},
|
|
532
|
+
"flowChart": {
|
|
533
|
+
"type": ["object", "null"],
|
|
534
|
+
"description": "Section 3 - Akış Diyagramı. Mermaid blocks."
|
|
535
|
+
},
|
|
536
|
+
"userStories": {
|
|
537
|
+
"type": ["object", "null"],
|
|
538
|
+
"description": "Section 4 - Kullanıcı Hikayeleri. Gherkin format (Locked 12). Never null."
|
|
539
|
+
},
|
|
540
|
+
"designReference": {
|
|
541
|
+
"type": ["object", "null"],
|
|
542
|
+
"description": "Section 5 - Tasarım Referansı. All Figma variants drilled (Locked 18). Screenshots embedded (Locked 17)."
|
|
543
|
+
},
|
|
544
|
+
"componentInventory": {
|
|
545
|
+
"type": ["object", "null"],
|
|
546
|
+
"description": "Section 6 - Bileşen Envanteri."
|
|
547
|
+
},
|
|
548
|
+
"designTokens": {
|
|
549
|
+
"type": ["object", "null"],
|
|
550
|
+
"description": "Section 7 - Tasarım Token'ları."
|
|
551
|
+
},
|
|
552
|
+
"assetInventory": {
|
|
553
|
+
"type": ["object", "null"],
|
|
554
|
+
"description": "Section 8 - Asset Envanteri. SVG default for new assets (Locked 15)."
|
|
555
|
+
},
|
|
556
|
+
"apiContracts": {
|
|
557
|
+
"type": ["object", "null"],
|
|
558
|
+
"description": "Section 9 - API Kontratları. All response variants enumerated (Locked 17)."
|
|
559
|
+
},
|
|
560
|
+
"localization": {
|
|
561
|
+
"type": ["object", "null"],
|
|
562
|
+
"description": "Section 10 - Lokalizasyon. 8-locale full coverage for new keys (Locked 20)."
|
|
563
|
+
},
|
|
564
|
+
"analytics": { "type": ["object", "null"], "description": "Section 11 - Analytics." },
|
|
565
|
+
"deeplinkPush": {
|
|
566
|
+
"type": ["object", "null"],
|
|
567
|
+
"description": "Section 12 - Deeplink ve Push Notification. Conditional."
|
|
568
|
+
},
|
|
569
|
+
"architecturePlan": {
|
|
570
|
+
"type": ["object", "null"],
|
|
571
|
+
"description": "Section 13 - Mimari Plan. Never null. Concept table filled by Pass B (Locked 22 + 24)."
|
|
572
|
+
},
|
|
573
|
+
"filesToAdd": {
|
|
574
|
+
"type": ["object", "null"],
|
|
575
|
+
"description": "Section 14 - Eklenecek Dosyalar. Never null. Every row carries Reuse / Add new / Modify tag (Locked 16)."
|
|
576
|
+
},
|
|
577
|
+
"testPlan": { "type": ["object", "null"], "description": "Section 15 - Test Planı." },
|
|
578
|
+
"accessibility": {
|
|
579
|
+
"type": ["object", "null"],
|
|
580
|
+
"description": "Section 16 - Erişilebilirlik."
|
|
581
|
+
},
|
|
582
|
+
"securityAndPrivacy": {
|
|
583
|
+
"type": ["object", "null"],
|
|
584
|
+
"description": "Section 17 - Güvenlik ve Gizlilik."
|
|
585
|
+
},
|
|
586
|
+
"rolloutPlan": { "type": ["object", "null"], "description": "Section 18 - Yayılım Planı." },
|
|
587
|
+
"alternativesConsidered": {
|
|
588
|
+
"type": ["object", "null"],
|
|
589
|
+
"description": "Section 19 - Değerlendirilen Alternatifler. ADR format."
|
|
590
|
+
},
|
|
591
|
+
"risksAndOpenQuestions": {
|
|
592
|
+
"type": ["object", "null"],
|
|
593
|
+
"description": "Section 20 - Riskler ve Açık Sorular. Never null. Auto-populated from conventionRisks + reuse competitors."
|
|
594
|
+
},
|
|
595
|
+
"references": {
|
|
596
|
+
"type": ["object", "null"],
|
|
597
|
+
"description": "Section 21 - Referanslar. Never null. User-supplied input table at the bottom (Locked 21)."
|
|
598
|
+
},
|
|
599
|
+
"glossary": {
|
|
600
|
+
"type": ["object", "null"],
|
|
601
|
+
"description": "Section 22 - Sözlük (footer). Optional in Lite mode."
|
|
602
|
+
},
|
|
603
|
+
"changelog": {
|
|
604
|
+
"type": ["object", "null"],
|
|
605
|
+
"description": "Section 23 - Değişiklik Geçmişi (footer)."
|
|
606
|
+
}
|
|
519
607
|
},
|
|
520
608
|
"required": [
|
|
521
609
|
"summary",
|
|
@@ -49,9 +49,19 @@
|
|
|
49
49
|
"additionalProperties": false,
|
|
50
50
|
"required": ["label"],
|
|
51
51
|
"properties": {
|
|
52
|
-
"label":
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
"label": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "The choice text (≤ 60 chars; longer wraps awkwardly in AskUserQuestion)."
|
|
55
|
+
},
|
|
56
|
+
"recommended": {
|
|
57
|
+
"type": "boolean",
|
|
58
|
+
"default": false,
|
|
59
|
+
"description": "True for the conventional default. At most one option per question carries this flag."
|
|
60
|
+
},
|
|
61
|
+
"reason": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "One-line tradeoff hint - why this choice would or would not be the right pick."
|
|
64
|
+
}
|
|
55
65
|
}
|
|
56
66
|
}
|
|
57
67
|
},
|
|
@@ -67,8 +77,8 @@
|
|
|
67
77
|
"description": "Filled in AFTER the orchestrator runs AskUserQuestion. Keys are question IDs (q1, q2, ...) and values are the selected label or free-text response. Empty during the agent's own emission.",
|
|
68
78
|
"additionalProperties": { "type": "string" }
|
|
69
79
|
},
|
|
70
|
-
"tokens_in":
|
|
71
|
-
"tokens_out":
|
|
80
|
+
"tokens_in": { "type": "integer", "minimum": 0 },
|
|
81
|
+
"tokens_out": { "type": "integer", "minimum": 0 },
|
|
72
82
|
"duration_ms": { "type": "integer", "minimum": 0 }
|
|
73
83
|
}
|
|
74
84
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://github.com/mmerterden/multi-agent-pipeline/pipeline/schemas/design-check-config.schema.json",
|
|
4
4
|
"title": "Design Check Configuration",
|
|
5
|
-
"description": "Optional per-project config for /multi-agent:design-check. Stored at ~/.claude/projects/{slug}/design-check-config.json. Never committed. Everything here is optional: design_mock_detect auto-detects mock support and design_scenario_inventory auto-enumerates state drivers at run time; this file only overrides or augments that detection (extra mock switch keys, extra launch args / targets no source signal reveals, explicit variant->Figma-node mappings, status-bar crop, coverage floor, Confluence toggle). Keeps the engine generic
|
|
5
|
+
"description": "Optional per-project config for /multi-agent:design-check. Stored at ~/.claude/projects/{slug}/design-check-config.json. Never committed. Everything here is optional: design_mock_detect auto-detects mock support and design_scenario_inventory auto-enumerates state drivers at run time; this file only overrides or augments that detection (extra mock switch keys, extra launch args / targets no source signal reveals, explicit variant->Figma-node mappings, status-bar crop, coverage floor, Confluence toggle). Keeps the engine generic - project specifics live here, never in shipped code.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": ["schemaVersion"],
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"inventory": {
|
|
41
41
|
"type": "object",
|
|
42
42
|
"additionalProperties": false,
|
|
43
|
-
"description": "Augments design_scenario_inventory, which decides the audit's target set. Only for states no source signal can reveal
|
|
43
|
+
"description": "Augments design_scenario_inventory, which decides the audit's target set. Only for states no source signal can reveal - everything detectable is detected.",
|
|
44
44
|
"properties": {
|
|
45
45
|
"extraLaunchArgs": {
|
|
46
46
|
"type": "array",
|
|
@@ -55,10 +55,16 @@
|
|
|
55
55
|
"additionalProperties": false,
|
|
56
56
|
"required": ["id"],
|
|
57
57
|
"properties": {
|
|
58
|
-
"id": {
|
|
58
|
+
"id": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"description": "Stable target id, e.g. 'config:seatmap-3d'."
|
|
61
|
+
},
|
|
59
62
|
"kind": { "type": "string", "description": "Target kind label (default 'config')." },
|
|
60
63
|
"label": { "type": "string" },
|
|
61
|
-
"screen": {
|
|
64
|
+
"screen": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"description": "Screen this target belongs to (groups the coverage report)."
|
|
67
|
+
},
|
|
62
68
|
"driver": {
|
|
63
69
|
"type": "object",
|
|
64
70
|
"additionalProperties": true,
|
|
@@ -70,7 +76,7 @@
|
|
|
70
76
|
"ignoreTargets": {
|
|
71
77
|
"type": "array",
|
|
72
78
|
"items": { "type": "string" },
|
|
73
|
-
"description": "Target ids to drop from the inventory entirely (dead drivers, states retired in code but still referenced). Unlike a skip, these never enter the coverage gate
|
|
79
|
+
"description": "Target ids to drop from the inventory entirely (dead drivers, states retired in code but still referenced). Unlike a skip, these never enter the coverage gate - use sparingly and prefer a skip with a reason."
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
82
|
},
|
|
@@ -88,7 +94,7 @@
|
|
|
88
94
|
"confirmAbove": {
|
|
89
95
|
"type": "integer",
|
|
90
96
|
"default": 25,
|
|
91
|
-
"description": "Relaunch count (inventory.relaunchCount for the scoped set, NOT the target count) above which Phase 0 asks for confirmation. Relaunches are the run's real cost: one relaunch serves every in-app target on that screen. Whole-module remains the intended default
|
|
97
|
+
"description": "Relaunch count (inventory.relaunchCount for the scoped set, NOT the target count) above which Phase 0 asks for confirmation. Relaunches are the run's real cost: one relaunch serves every in-app target on that screen. Whole-module remains the intended default - this threshold estimates cost, it does not invite shrinking the audit."
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
100
|
},
|
|
@@ -97,7 +103,10 @@
|
|
|
97
103
|
"additionalProperties": false,
|
|
98
104
|
"description": "Figma frame + variant mapping overrides.",
|
|
99
105
|
"properties": {
|
|
100
|
-
"url": {
|
|
106
|
+
"url": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"description": "Default Figma MCP URL for this module's frame/page."
|
|
109
|
+
},
|
|
101
110
|
"frameSize": {
|
|
102
111
|
"type": "object",
|
|
103
112
|
"additionalProperties": false,
|
|
@@ -114,9 +123,15 @@
|
|
|
114
123
|
"additionalProperties": false,
|
|
115
124
|
"required": ["id", "figmaNodeId"],
|
|
116
125
|
"properties": {
|
|
117
|
-
"id": {
|
|
126
|
+
"id": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "Mock variant id (matches a variantsHint / fixture name)."
|
|
129
|
+
},
|
|
118
130
|
"label": { "type": "string" },
|
|
119
|
-
"figmaNodeId": {
|
|
131
|
+
"figmaNodeId": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"description": "Figma node id for this variant's frame."
|
|
134
|
+
},
|
|
120
135
|
"activation": {
|
|
121
136
|
"type": "object",
|
|
122
137
|
"additionalProperties": true,
|
|
@@ -130,7 +145,10 @@
|
|
|
130
145
|
"additionalProperties": false,
|
|
131
146
|
"description": "Capture / comparison tuning.",
|
|
132
147
|
"properties": {
|
|
133
|
-
"cropTopLive": {
|
|
148
|
+
"cropTopLive": {
|
|
149
|
+
"type": "number",
|
|
150
|
+
"description": "Pixels to crop from the top of the live capture (status bar)."
|
|
151
|
+
},
|
|
134
152
|
"tolerancePx": { "type": "number", "default": 2 },
|
|
135
153
|
"colorTolerance": { "type": "number", "default": 3 },
|
|
136
154
|
"maxDiffPct": { "type": "number", "default": 1.0 }
|
|
@@ -141,7 +159,10 @@
|
|
|
141
159
|
"additionalProperties": false,
|
|
142
160
|
"description": "Report output + export.",
|
|
143
161
|
"properties": {
|
|
144
|
-
"outputRoot": {
|
|
162
|
+
"outputRoot": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"description": "Report root dir (default ~/DesignChecks)."
|
|
165
|
+
},
|
|
145
166
|
"formats": {
|
|
146
167
|
"type": "array",
|
|
147
168
|
"items": { "type": "string", "enum": ["html", "pdf", "confluence"] },
|
|
@@ -33,8 +33,14 @@
|
|
|
33
33
|
"required": ["status"],
|
|
34
34
|
"properties": {
|
|
35
35
|
"status": { "type": "string", "enum": ["pass", "fail", "skipped"] },
|
|
36
|
-
"skip_reason": {
|
|
37
|
-
|
|
36
|
+
"skip_reason": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Required when status == 'skipped'. E.g. 'xcodebuild not installed on this runner'."
|
|
39
|
+
},
|
|
40
|
+
"error_summary": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "First failure line + count when status == 'fail'."
|
|
43
|
+
}
|
|
38
44
|
}
|
|
39
45
|
},
|
|
40
46
|
"lint": {
|
|
@@ -84,11 +90,20 @@
|
|
|
84
90
|
"required": ["severity", "file", "issue"],
|
|
85
91
|
"properties": {
|
|
86
92
|
"severity": { "type": "string", "enum": ["blocking", "important", "suggestion"] },
|
|
87
|
-
"file": {
|
|
93
|
+
"file": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "Repo-relative path. For multi-repo tasks, prefixed with '<repo-name>/'."
|
|
96
|
+
},
|
|
88
97
|
"line": { "type": "integer", "minimum": 1 },
|
|
89
|
-
"rule": {
|
|
98
|
+
"rule": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Citation. Format: 'rules/<file>.md#<anchor>' or 'gate/<name>'."
|
|
101
|
+
},
|
|
90
102
|
"issue": { "type": "string", "description": "Short, one-sentence description." },
|
|
91
|
-
"fix": {
|
|
103
|
+
"fix": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"description": "Concrete suggestion the generator can act on without re-reading the rule."
|
|
106
|
+
}
|
|
92
107
|
}
|
|
93
108
|
}
|
|
94
109
|
},
|
|
@@ -283,10 +283,22 @@
|
|
|
283
283
|
"additionalProperties": false,
|
|
284
284
|
"properties": {
|
|
285
285
|
"mode": { "type": "string", "enum": ["native", "custom"], "default": "native" },
|
|
286
|
-
"router": {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
286
|
+
"router": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"description": "Router type that dispatches routes (custom mode)."
|
|
289
|
+
},
|
|
290
|
+
"routeEnum": {
|
|
291
|
+
"type": "string",
|
|
292
|
+
"description": "Exhaustive cross-surface route enum (custom mode)."
|
|
293
|
+
},
|
|
294
|
+
"sceneType": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"description": "Headless screen container type (custom mode, optional)."
|
|
297
|
+
},
|
|
298
|
+
"navigatorProtocol": {
|
|
299
|
+
"type": "string",
|
|
300
|
+
"description": "DI'd selection/present API (custom mode, optional)."
|
|
301
|
+
}
|
|
290
302
|
}
|
|
291
303
|
},
|
|
292
304
|
"overlaySystem": {
|
|
@@ -294,8 +306,15 @@
|
|
|
294
306
|
"additionalProperties": false,
|
|
295
307
|
"properties": {
|
|
296
308
|
"mode": { "type": "string", "enum": ["native", "custom"], "default": "native" },
|
|
297
|
-
"center": {
|
|
298
|
-
|
|
309
|
+
"center": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "DI'd overlay center protocol callable from VM/coordinator (custom mode)."
|
|
312
|
+
},
|
|
313
|
+
"surfaces": {
|
|
314
|
+
"type": "array",
|
|
315
|
+
"items": { "type": "string" },
|
|
316
|
+
"description": "Independent render surfaces, e.g. root/currentScene (custom mode, optional)."
|
|
317
|
+
}
|
|
299
318
|
}
|
|
300
319
|
},
|
|
301
320
|
"sheetSystem": {
|
|
@@ -303,11 +322,24 @@
|
|
|
303
322
|
"additionalProperties": false,
|
|
304
323
|
"properties": {
|
|
305
324
|
"mode": { "type": "string", "enum": ["native", "custom"], "default": "native" },
|
|
306
|
-
"brandedModifier": {
|
|
307
|
-
|
|
325
|
+
"brandedModifier": {
|
|
326
|
+
"type": "string",
|
|
327
|
+
"description": "Branded sheet entry modifier, e.g. bottomSheet (custom mode)."
|
|
328
|
+
},
|
|
329
|
+
"headlessModifiers": {
|
|
330
|
+
"type": "array",
|
|
331
|
+
"items": { "type": "string" },
|
|
332
|
+
"description": "Headless sheet modifiers, e.g. modalSheet/dockedSheet/expandableSheet/detentNavigationSheet (custom mode)."
|
|
333
|
+
},
|
|
308
334
|
"detentType": { "type": "string", "description": "Detent enum type (custom mode)." },
|
|
309
|
-
"backdropType": {
|
|
310
|
-
|
|
335
|
+
"backdropType": {
|
|
336
|
+
"type": "string",
|
|
337
|
+
"description": "Backdrop enum type (custom mode)."
|
|
338
|
+
},
|
|
339
|
+
"cornerRadiusToken": {
|
|
340
|
+
"type": "string",
|
|
341
|
+
"description": "Branded top-corner radius token (custom mode)."
|
|
342
|
+
}
|
|
311
343
|
}
|
|
312
344
|
}
|
|
313
345
|
}
|
|
@@ -9,8 +9,16 @@
|
|
|
9
9
|
"required": ["v", "ts", "repo_slug", "kind", "scope", "statement"],
|
|
10
10
|
"properties": {
|
|
11
11
|
"v": { "type": "string", "description": "Row schema version." },
|
|
12
|
-
"ts": {
|
|
13
|
-
|
|
12
|
+
"ts": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"format": "date-time",
|
|
15
|
+
"description": "When the entry was recorded."
|
|
16
|
+
},
|
|
17
|
+
"repo_slug": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1,
|
|
20
|
+
"description": "Repo the knowledge belongs to."
|
|
21
|
+
},
|
|
14
22
|
"kind": {
|
|
15
23
|
"type": "string",
|
|
16
24
|
"enum": ["fact", "convention", "rejected-preference"],
|
|
@@ -30,10 +30,7 @@ export function migrate(prev) {
|
|
|
30
30
|
if (prev.board.projectId && !next.github.projectV2Id) {
|
|
31
31
|
next.github.projectV2Id = prev.board.projectId;
|
|
32
32
|
}
|
|
33
|
-
if (
|
|
34
|
-
prev.board.customFields &&
|
|
35
|
-
!next.github.projectV2Fields
|
|
36
|
-
) {
|
|
33
|
+
if (prev.board.customFields && !next.github.projectV2Fields) {
|
|
37
34
|
next.github.projectV2Fields = { ...prev.board.customFields };
|
|
38
35
|
}
|
|
39
36
|
}
|
|
@@ -25,9 +25,16 @@ export default function migrate(data) {
|
|
|
25
25
|
|
|
26
26
|
// keychainMapping defaults (10 services)
|
|
27
27
|
const kmDefaults = {
|
|
28
|
-
jira: null,
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
jira: null,
|
|
29
|
+
bitbucket_token: null,
|
|
30
|
+
bitbucket_user: null,
|
|
31
|
+
github: null,
|
|
32
|
+
confluence: null,
|
|
33
|
+
figma: null,
|
|
34
|
+
figma_mcp: null,
|
|
35
|
+
fortify: null,
|
|
36
|
+
firebase: null,
|
|
37
|
+
jenkins: null,
|
|
31
38
|
};
|
|
32
39
|
const km = out.global.keychainMapping || {};
|
|
33
40
|
for (const [k, v] of Object.entries(kmDefaults)) {
|
|
@@ -55,13 +62,23 @@ export default function migrate(data) {
|
|
|
55
62
|
if (!out.global.serviceStatus) out.global.serviceStatus = {};
|
|
56
63
|
if (!out.global.settings) {
|
|
57
64
|
out.global.settings = {
|
|
58
|
-
branchTtlDays: 15,
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
branchTtlDays: 15,
|
|
66
|
+
pushRetryMax: 5,
|
|
67
|
+
buildRetryMax: 3,
|
|
68
|
+
serviceStatusCacheSeconds: 300,
|
|
69
|
+
repoScanDays: 90,
|
|
70
|
+
identityRoutingEnabled: false,
|
|
71
|
+
multiRepoEnabled: false,
|
|
72
|
+
pushMustSucceed: true,
|
|
61
73
|
};
|
|
62
74
|
}
|
|
63
75
|
if (!out.global.triageCrossCheck) {
|
|
64
|
-
out.global.triageCrossCheck = {
|
|
76
|
+
out.global.triageCrossCheck = {
|
|
77
|
+
enabled: false,
|
|
78
|
+
samplePct: 10,
|
|
79
|
+
model: "sonnet",
|
|
80
|
+
blockOnDisagreement: false,
|
|
81
|
+
};
|
|
65
82
|
}
|
|
66
83
|
if (!out.global.promptLanguage) out.global.promptLanguage = "en";
|
|
67
84
|
|
|
@@ -45,11 +45,14 @@
|
|
|
45
45
|
"description": "Array of todo IDs that must reach `completed` (or `skipped`) before this one can move to `in_progress`. Empty for parallelizable steps.",
|
|
46
46
|
"items": { "type": "string", "pattern": "^t[0-9]+$" }
|
|
47
47
|
},
|
|
48
|
-
"startedAt":
|
|
48
|
+
"startedAt": { "type": "string", "format": "date-time" },
|
|
49
49
|
"completedAt": { "type": "string", "format": "date-time" },
|
|
50
|
-
"notes":
|
|
50
|
+
"notes": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Free-text outcome - commit hash, test count, anything Phase 7 should echo."
|
|
53
|
+
},
|
|
51
54
|
"failureReason": { "type": "string" },
|
|
52
|
-
"skipReason":
|
|
55
|
+
"skipReason": { "type": "string" },
|
|
53
56
|
"estimatedMinutes": {
|
|
54
57
|
"type": "integer",
|
|
55
58
|
"minimum": 1,
|
|
@@ -20,7 +20,11 @@
|
|
|
20
20
|
"additionalProperties": false,
|
|
21
21
|
"required": ["id", "title", "type", "files"],
|
|
22
22
|
"properties": {
|
|
23
|
-
"id": {
|
|
23
|
+
"id": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"pattern": "^T[0-9]+$",
|
|
26
|
+
"description": "Local task id, e.g. T1, T2."
|
|
27
|
+
},
|
|
24
28
|
"title": { "type": "string", "minLength": 4 },
|
|
25
29
|
"type": {
|
|
26
30
|
"type": "string",
|