@mmerterden/multi-agent-pipeline 20.33.0 → 20.35.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 +98 -1
- package/README.md +3 -1
- package/README.tr.md +2 -1
- package/docs/adr/0018-cross-repo-links-not-a-global-graph.md +43 -0
- package/docs/adr/README.md +2 -1
- package/docs/facts.json +5 -4
- package/docs/features.md +1 -1
- package/install/_dev-only-files.mjs +1 -0
- package/install/catalog-history.json +1 -1
- package/install/claude.mjs +24 -2
- package/install/templates/claude-hooks.json +34 -1
- package/manifest.json +393 -339
- package/package.json +3 -1
- package/pipeline/agents/bulk-reader.md +3 -0
- package/pipeline/agents/code-reviewer.md +9 -0
- package/pipeline/agents/explorer.md +4 -0
- package/pipeline/agents/plan-critic.md +4 -2
- package/pipeline/commands/multi-agent/SKILL.md +17 -136
- package/pipeline/commands/multi-agent/channels/SKILL.md +16 -298
- package/pipeline/commands/multi-agent/graph/SKILL.md +5 -2
- package/pipeline/commands/multi-agent/language/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/office-on/SKILL.md +7 -3
- package/pipeline/commands/multi-agent/office-status/SKILL.md +3 -2
- package/pipeline/commands/multi-agent/resume/SKILL.md +8 -22
- package/pipeline/commands/multi-agent/review/SKILL.md +7 -131
- package/pipeline/commands/multi-agent/setup/SKILL.md +19 -224
- package/pipeline/contract/CHANGELOG.md +9 -0
- package/pipeline/contract/README.md +6 -2
- package/pipeline/contract/fixtures/error-invalid-request.json +1 -1
- package/pipeline/contract/fixtures/error-unauthorized.json +1 -1
- package/pipeline/contract/fixtures/error-unsigned.json +1 -1
- package/pipeline/contract/manifest.json +14 -1
- package/pipeline/contract/types/index.d.ts +24 -2
- package/pipeline/lib/json-file-lock.mjs +61 -15
- package/pipeline/lib/office-remote.mjs +228 -0
- package/pipeline/lib/qr-code.mjs +360 -0
- package/pipeline/lib/repo-hygiene.sh +1 -0
- package/pipeline/lib/run-completion.mjs +17 -0
- package/pipeline/multi-agent-refs/channels/generator.md +146 -0
- package/pipeline/multi-agent-refs/channels/issue-comment.md +1 -1
- package/pipeline/multi-agent-refs/channels/menu.md +55 -0
- package/pipeline/multi-agent-refs/channels/multi-repo.md +6 -0
- package/pipeline/multi-agent-refs/channels/preview.md +25 -0
- package/pipeline/multi-agent-refs/channels/reference.md +98 -0
- package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +1 -1
- package/pipeline/multi-agent-refs/features/code-graph.md +27 -0
- package/pipeline/multi-agent-refs/features/office-remote-protocol.md +166 -0
- package/pipeline/multi-agent-refs/features/office-threat-model.md +2 -2
- package/pipeline/multi-agent-refs/features/plan-critic.md +5 -2
- package/pipeline/multi-agent-refs/features/review-delta.md +4 -1
- package/pipeline/multi-agent-refs/features/scope-check.md +25 -1
- package/pipeline/multi-agent-refs/features/verify-by-test.md +10 -0
- package/pipeline/multi-agent-refs/keychain.md +7 -0
- package/pipeline/multi-agent-refs/knowledge.md +9 -0
- package/pipeline/multi-agent-refs/orchestrator/dispatcher.md +163 -0
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +6 -2
- package/pipeline/multi-agent-refs/phases/phase-1-plan.md +8 -10
- package/pipeline/multi-agent-refs/phases/phase-2-dev.md +18 -20
- package/pipeline/multi-agent-refs/phases/phase-3-review.md +20 -14
- package/pipeline/multi-agent-refs/phases/phase-4-commit.md +8 -7
- package/pipeline/multi-agent-refs/phases/phase-5-report.md +6 -3
- package/pipeline/multi-agent-refs/picker-contract.md +1 -1
- package/pipeline/multi-agent-refs/resume/details.md +35 -0
- package/pipeline/multi-agent-refs/review/inputs.md +87 -0
- package/pipeline/multi-agent-refs/review/module-guides.md +25 -0
- package/pipeline/multi-agent-refs/review/valven.md +42 -0
- package/pipeline/multi-agent-refs/rules.md +3 -2
- package/pipeline/multi-agent-refs/setup/accounts.md +27 -0
- package/pipeline/multi-agent-refs/setup/app-store-connect.md +5 -0
- package/pipeline/multi-agent-refs/setup/firebase.md +5 -0
- package/pipeline/multi-agent-refs/setup/google-play.md +4 -0
- package/pipeline/multi-agent-refs/setup/hooks-and-plugins.md +21 -0
- package/pipeline/multi-agent-refs/setup/language.md +46 -0
- package/pipeline/multi-agent-refs/setup/multi-repo-group.md +51 -0
- package/pipeline/multi-agent-refs/setup/summaries.md +63 -0
- package/pipeline/multi-agent-refs/setup/token-save-flow.md +51 -0
- package/pipeline/multi-agent-refs/tracker-contract.md +1 -1
- package/pipeline/office/NOTICE.md +4 -1
- package/pipeline/office/assets/char_12.png +0 -0
- package/pipeline/office/assets/char_13.png +0 -0
- package/pipeline/office/assets/char_14.png +0 -0
- package/pipeline/office/assets/char_15.png +0 -0
- package/pipeline/office/assets/char_16.png +0 -0
- package/pipeline/office/assets/char_17.png +0 -0
- package/pipeline/office/assets/char_18.png +0 -0
- package/pipeline/office/assets/char_19.png +0 -0
- package/pipeline/office/assets/char_20.png +0 -0
- package/pipeline/office/assets/char_21.png +0 -0
- package/pipeline/office/assets/char_22.png +0 -0
- package/pipeline/office/assets/char_23.png +0 -0
- package/pipeline/office/assets/char_24.png +0 -0
- package/pipeline/office/assets/char_25.png +0 -0
- package/pipeline/office/assets/char_26.png +0 -0
- package/pipeline/office/assets/char_27.png +0 -0
- package/pipeline/office/assets/char_28.png +0 -0
- package/pipeline/office/assets/char_29.png +0 -0
- package/pipeline/office/assets/char_30.png +0 -0
- package/pipeline/office/index.html +304 -55
- package/pipeline/office/toolkit.json +1 -1
- package/pipeline/rules/response-shape.md +6 -7
- package/pipeline/schemas/agent-state.schema.json +36 -0
- package/pipeline/schemas/phases.json +4 -4
- package/pipeline/schemas/plan-critique.schema.json +9 -2
- package/pipeline/schemas/planning-output.schema.json +43 -2
- package/pipeline/schemas/pr-reach.schema.json +55 -0
- package/pipeline/schemas/prefs.schema.json +37 -8
- package/pipeline/schemas/reviewer-output.schema.json +20 -2
- package/pipeline/schemas/token-budget.json +4 -4
- package/pipeline/schemas/triage-output.schema.json +32 -3
- package/pipeline/schemas/unattended-policy.json +2 -1
- package/pipeline/scripts/_graph-analysis.mjs +270 -0
- package/pipeline/scripts/_guard_rules.py +449 -1
- package/pipeline/scripts/_memory-policy.mjs +165 -0
- package/pipeline/scripts/_secret-scan.mjs +105 -0
- package/pipeline/scripts/_test-gaming.mjs +36 -0
- package/pipeline/scripts/_unified-diff.mjs +2 -2
- package/pipeline/scripts/agent-guard.py +79 -19
- package/pipeline/scripts/anonymize-findings.mjs +99 -0
- package/pipeline/scripts/answer-check.mjs +113 -0
- package/pipeline/scripts/answer-check.sh +20 -0
- package/pipeline/scripts/autopilot-publish.mjs +9 -2
- package/pipeline/scripts/capture-flush.sh +12 -2
- package/pipeline/scripts/check-read-size.sh +9 -0
- package/pipeline/scripts/code-graph-rules/android.json +8 -3
- package/pipeline/scripts/contract-server.mjs +71 -16
- package/pipeline/scripts/debt-ledger.mjs +323 -0
- package/pipeline/scripts/file-context.mjs +261 -0
- package/pipeline/scripts/file-context.sh +20 -0
- package/pipeline/scripts/gate-ledger.mjs +144 -21
- package/pipeline/scripts/graph-links.mjs +230 -0
- package/pipeline/scripts/graph-query.mjs +133 -1
- package/pipeline/scripts/graph-report.mjs +65 -0
- package/pipeline/scripts/learn-from-transcripts.mjs +12 -48
- package/pipeline/scripts/learnings-ledger.mjs +143 -24
- package/pipeline/scripts/office-build.mjs +276 -5
- package/pipeline/scripts/office-control.mjs +70 -10
- package/pipeline/scripts/office-pair.mjs +407 -0
- package/pipeline/scripts/office-remote-client.mjs +463 -0
- package/pipeline/scripts/phase-tracker.sh +8 -0
- package/pipeline/scripts/phase0-exit-gate.mjs +40 -37
- package/pipeline/scripts/phone-devices.mjs +9 -1
- package/pipeline/scripts/plan-critique-gate.mjs +11 -2
- package/pipeline/scripts/pre-commit-check.sh +28 -2
- package/pipeline/scripts/pre-push-check.sh +6 -12
- package/pipeline/scripts/rework-base.mjs +87 -0
- package/pipeline/scripts/rework-rulings.mjs +106 -0
- package/pipeline/scripts/run-commit-check.mjs +104 -0
- package/pipeline/scripts/run-scope-guard.mjs +58 -3
- package/pipeline/scripts/run-scope-guard.sh +13 -1
- package/pipeline/scripts/scope-check-gate.mjs +213 -2
- package/pipeline/scripts/task-mirror.mjs +106 -15
- package/pipeline/scripts/task-mirror.sh +3 -2
- package/pipeline/scripts/test-stability-gate.mjs +112 -0
- package/pipeline/scripts/triage-memory.mjs +64 -37
- package/pipeline/scripts/update-check.sh +7 -1
- package/pipeline/scripts/update-issue-progress.sh +73 -8
- package/pipeline/scripts/validate-planning.mjs +172 -4
- package/pipeline/scripts/validate-reviewer.mjs +20 -0
- package/pipeline/scripts/validate-triage.mjs +149 -4
- package/pipeline/scripts/work-items.mjs +119 -1
- package/pipeline/scripts/worktree-prepare-all.mjs +200 -0
- package/pipeline/scripts/worktree-prepare.sh +40 -4
- package/pipeline/scripts/write-state.mjs +67 -24
- package/pipeline/skills/.skill-manifest.json +9 -9
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +5 -5
- package/pipeline/skills/shared/core/google-play-compliance/references/rules.yml +1 -1
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-graph/SKILL.md +5 -2
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +4 -4
- package/pipeline/skills/shared/core/multi-agent-office-status/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +2 -0
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +4 -4
- package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +14 -0
- package/pipeline/skills/shared/external/android-architecture/references/patterns.md +6 -0
- package/pipeline/skills/shared/external/android-build-quality-gates/references/patterns.md +10 -0
- package/pipeline/skills/shared/external/android-datastore/references/patterns.md +11 -0
- package/pipeline/skills/shared/external/android-design-tokens-codegen/references/patterns.md +8 -0
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/references/patterns.md +6 -0
- package/pipeline/skills/shared/external/android-mvi-viewmodel/references/patterns.md +10 -0
- package/pipeline/skills/shared/external/android-performance/references/patterns.md +13 -0
- package/pipeline/skills/shared/external/android-security/references/patterns.md +16 -0
- package/pipeline/skills/shared/external/api-patterns/references/contract-details.md +9 -0
- package/pipeline/skills/shared/external/api-security-best-practices/references/abuse-controls.md +12 -0
- package/pipeline/skills/shared/external/api-security-best-practices/references/identity-and-access.md +13 -0
- package/pipeline/skills/shared/external/api-security-best-practices/references/request-handling.md +12 -0
- package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +9 -0
- package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +8 -0
- package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +10 -0
- package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +21 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +9 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +7 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +2 -2
- package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +10 -0
- package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +10 -1
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +22 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +17 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +22 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +17 -0
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +9 -0
- package/pipeline/skills/shared/external/authentication/references/passkeys.md +11 -0
- package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +13 -0
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +9 -0
- package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +10 -0
- package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +15 -0
- package/pipeline/skills/shared/external/compose-components/references/patterns.md +7 -0
- package/pipeline/skills/shared/external/compose-navigation/references/patterns.md +7 -0
- package/pipeline/skills/shared/external/compose-testing/references/patterns.md +15 -0
- package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +9 -0
- package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +11 -0
- package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +10 -0
- package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +13 -0
- package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +20 -0
- package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +16 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +16 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +14 -0
- package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +13 -0
- package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +10 -0
- package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +10 -0
- package/pipeline/skills/shared/external/fastapi-pro/references/app-structure.md +10 -0
- package/pipeline/skills/shared/external/gradle-kotlin-dsl/references/patterns.md +17 -0
- package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +12 -0
- package/pipeline/skills/shared/external/hig-app-icons/references/icon-workflow.md +10 -0
- package/pipeline/skills/shared/external/hig-components-content/references/content-views.md +10 -0
- package/pipeline/skills/shared/external/hig-components-layout/references/bars-and-tabs.md +11 -0
- package/pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md +13 -0
- package/pipeline/skills/shared/external/hig-foundations/references/type-color-spacing.md +13 -0
- package/pipeline/skills/shared/external/hig-patterns/references/onboarding-and-states.md +11 -0
- package/pipeline/skills/shared/external/hig-platforms/references/ipad-layout.md +12 -0
- package/pipeline/skills/shared/external/hig-technologies/references/technologies.md +16 -0
- package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +9 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +18 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/large-content-and-appearance.md +9 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +9 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +7 -0
- package/pipeline/skills/shared/external/ios-coding-standard/references/STANDARD.md +13 -0
- package/pipeline/skills/shared/external/ios-design-review/references/appearance-matrix.md +9 -0
- package/pipeline/skills/shared/external/ios-design-review/references/checklist.md +15 -0
- package/pipeline/skills/shared/external/ios-haptics/references/core-haptics.md +11 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/references/api-map.md +11 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/references/fixed-assumptions.md +15 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/references/poses-and-panes.md +11 -0
- package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +18 -0
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +19 -0
- package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +15 -0
- package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +7 -0
- package/pipeline/skills/shared/external/ios-networking/references/lightweight-clients.md +8 -0
- package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +12 -0
- package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +17 -0
- package/pipeline/skills/shared/external/ios-security/references/app-review-guidelines.md +8 -0
- package/pipeline/skills/shared/external/ios-security/references/cryptokit-advanced.md +14 -0
- package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -0
- package/pipeline/skills/shared/external/ios-security/references/privacy-manifest.md +9 -0
- package/pipeline/skills/shared/external/ios-sf-symbols/references/effects-and-custom-symbols.md +9 -0
- package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +13 -0
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/references/patterns.md +8 -0
- package/pipeline/skills/shared/external/live-activities/references/activitykit-patterns.md +21 -0
- package/pipeline/skills/shared/external/localization-reuse-map/reference/format-and-output.md +9 -0
- package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +12 -0
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-corelocation-patterns.md +16 -0
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +21 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +10 -0
- package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +9 -0
- package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +12 -0
- package/pipeline/skills/shared/external/nodejs-backend-patterns/references/runtime-patterns.md +11 -0
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +11 -0
- package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +18 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +11 -0
- package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +11 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/av-playback.md +15 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +14 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +14 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/photokit-patterns.md +14 -0
- package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +14 -0
- package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +10 -0
- package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +12 -0
- package/pipeline/skills/shared/external/retrofit-networking/references/patterns.md +14 -0
- package/pipeline/skills/shared/external/room-database/references/patterns.md +16 -0
- package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +10 -0
- package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +10 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +14 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +19 -0
- package/pipeline/skills/shared/external/storekit/references/core-patterns.md +13 -0
- package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +31 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +8 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +9 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +10 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +8 -0
- package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +24 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +8 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/concurrency-patterns.md +14 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +12 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +10 -0
- package/pipeline/skills/shared/external/swift-concurrency-expert/references/swift-6-2-concurrency.md +8 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +10 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +7 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +10 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +11 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +9 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +13 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +7 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +14 -0
- package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +16 -0
- package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +17 -0
- package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +19 -0
- package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +16 -0
- package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +19 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +18 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +16 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +17 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +17 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +17 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +18 -0
- package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +21 -0
- package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +16 -0
- package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +16 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +9 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +24 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +9 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +11 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +13 -0
- package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +8 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +17 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +12 -0
- package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +11 -0
- package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +7 -0
- package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +13 -0
- package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +24 -0
- package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +12 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +15 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +15 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/scroll-effects.md +12 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/accessibility-patterns.md +11 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md +7 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md +13 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md +9 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +9 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +17 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +9 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +10 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +12 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +12 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +13 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +12 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +12 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/performance-patterns.md +7 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/scroll-patterns.md +9 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/sheet-navigation-patterns.md +10 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +18 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +16 -0
- package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +11 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +8 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +14 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +9 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +22 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/references/uikit-glass.md +14 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +10 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +10 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/sheets.md +13 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +10 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +14 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +30 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +16 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +11 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +11 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +10 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/code-smells.md +8 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/app-wiring.md +12 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/menu-bar.md +10 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/navigationstack.md +11 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/scroll-reveal.md +12 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/sheets.md +14 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/tabview.md +10 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +10 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +13 -0
- package/pipeline/skills/shared/external/swiftui-view-refactor/references/mv-patterns.md +12 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/loading-and-observation.md +8 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/navigation-and-javascript.md +8 -0
- package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +14 -0
- package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +17 -0
- package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +11 -0
- package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +11 -0
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +27 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +9 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +7 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +9 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +14 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +8 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +14 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +9 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +13 -0
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
## Reply shape
|
|
2
2
|
|
|
3
|
-
For replies
|
|
3
|
+
For conversation replies. Reports, PR, Jira and Confluence bodies keep
|
|
4
4
|
their own templates; the humanizer governs their wording.
|
|
5
5
|
|
|
6
6
|
- First line: the answer or the next action. No preamble, no recap of the ask.
|
|
7
7
|
- Steps: numbered, one action each. Items: at most five shown, the rest named
|
|
8
8
|
as a count. That limit shapes the display only; never drop a finding, a
|
|
9
|
-
failure or a verification note to fit it
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
failure or a verification note to fit it, and never shorten away a negation,
|
|
10
|
+
a number, a unit or a path.
|
|
11
|
+
- Errors: cause, then fix. Finished work: what changed, how it was checked.
|
|
12
12
|
- Tangents wait for the end, as one line.
|
|
13
|
-
- Last line:
|
|
14
|
-
pleasantries.
|
|
13
|
+
- Last line: the next step or the user's decision. No closing pleasantries.
|
|
15
14
|
- An explanation asked for runs as long as it needs; a destructive step is
|
|
16
15
|
confirmed first; real ambiguity gets one question.
|
|
17
16
|
|
|
18
|
-
Detail
|
|
17
|
+
Detail: `$HOME/.claude/multi-agent-refs/response-shape.md`.
|
|
@@ -1268,6 +1268,20 @@
|
|
|
1268
1268
|
"minimum": 0,
|
|
1269
1269
|
"maximum": 3
|
|
1270
1270
|
},
|
|
1271
|
+
"trackerStatus": {
|
|
1272
|
+
"type": "object",
|
|
1273
|
+
"additionalProperties": false,
|
|
1274
|
+
"required": ["status", "at"],
|
|
1275
|
+
"description": "Phase 2 Step 1: the issue's move to In Progress (Jira) / In Develop (Projects V2), re-read after the write. verified = the re-read showed it; declined = the user refused the write; not-tracked = the run has no board to move; failed = the write or its re-read did not land. write-state.mjs refuses to leave Phase 2 in an attended run with a tracked issue unless this is verified, declined or not-tracked.",
|
|
1276
|
+
"properties": {
|
|
1277
|
+
"status": {
|
|
1278
|
+
"type": "string",
|
|
1279
|
+
"enum": ["verified", "declined", "not-tracked", "failed"]
|
|
1280
|
+
},
|
|
1281
|
+
"observed": { "type": "string", "description": "The status the re-read returned." },
|
|
1282
|
+
"at": { "type": "string", "format": "date-time" }
|
|
1283
|
+
}
|
|
1284
|
+
},
|
|
1271
1285
|
"subStep": {
|
|
1272
1286
|
"type": "string",
|
|
1273
1287
|
"description": "Sub-step checkpoint for long phases (2, 5) so resume re-does only the unfinished tail instead of the whole phase. Short token, e.g. 'red'|'green'|'build'|'pr-opened'|'confluence-synced'. See operations.md 'Sub-step checkpoints'."
|
|
@@ -1408,6 +1422,24 @@
|
|
|
1408
1422
|
"type": "string",
|
|
1409
1423
|
"enum": ["fix", "accept", "escalate"]
|
|
1410
1424
|
},
|
|
1425
|
+
"rulings": {
|
|
1426
|
+
"type": "array",
|
|
1427
|
+
"description": "Written by rework-rulings.mjs when the rework cap is reached: one ruling per accepted finding still open. escalate stops the run for the user; parked carries the finding into Phase 4 Step 0b and the PR follow-ups.",
|
|
1428
|
+
"items": {
|
|
1429
|
+
"type": "object",
|
|
1430
|
+
"additionalProperties": false,
|
|
1431
|
+
"required": ["ruling", "reason"],
|
|
1432
|
+
"properties": {
|
|
1433
|
+
"fingerprint": { "type": ["string", "null"] },
|
|
1434
|
+
"file": { "type": ["string", "null"] },
|
|
1435
|
+
"line": { "type": ["integer", "null"] },
|
|
1436
|
+
"severity": { "type": ["string", "null"] },
|
|
1437
|
+
"ruling": { "enum": ["escalate", "parked"] },
|
|
1438
|
+
"reason": { "type": "string" },
|
|
1439
|
+
"issue": { "type": "string" }
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
},
|
|
1411
1443
|
"reworkEscalation": {
|
|
1412
1444
|
"type": "object",
|
|
1413
1445
|
"additionalProperties": false,
|
|
@@ -1891,6 +1923,10 @@
|
|
|
1891
1923
|
"minimum": 0,
|
|
1892
1924
|
"description": "v2.1.0+ push-must-succeed retry counter. Increments per rebase-retry."
|
|
1893
1925
|
},
|
|
1926
|
+
"pushStatus": {
|
|
1927
|
+
"enum": ["pushed", "rebase-pushed", "skipped", "paused"],
|
|
1928
|
+
"description": "Phase 4 push outcome for this repo. A commit counts as delivered once this is pushed, rebase-pushed or skipped (left to the user and reported in Phase 5), or the repo has a pr; run-completion.mjs refuses complete otherwise."
|
|
1929
|
+
},
|
|
1894
1930
|
"buildStatus": {
|
|
1895
1931
|
"description": "Latest Phase 3 build outcome for this repo. A string in early phases ('pending'/'green'/'passed'/'failed') or null before any attempt; once Phase 3 runs a build it becomes a {ok, attempts, lastError} object (see phase-2-dev.md). run-metrics.mjs reads both the string and object forms.",
|
|
1896
1932
|
"anyOf": [
|
|
@@ -42,25 +42,25 @@
|
|
|
42
42
|
"id": 3,
|
|
43
43
|
"name": "Review",
|
|
44
44
|
"doc": "phase-3-review.md",
|
|
45
|
-
"maxTokens":
|
|
45
|
+
"maxTokens": 17260,
|
|
46
46
|
"was": [4, 5]
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
"id": 4,
|
|
50
50
|
"name": "Commit",
|
|
51
51
|
"doc": "phase-4-commit.md",
|
|
52
|
-
"maxTokens":
|
|
52
|
+
"maxTokens": 6650,
|
|
53
53
|
"was": [6]
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"id": 5,
|
|
57
57
|
"name": "Report",
|
|
58
58
|
"doc": "phase-5-report.md",
|
|
59
|
-
"maxTokens":
|
|
59
|
+
"maxTokens": 5710,
|
|
60
60
|
"was": [7]
|
|
61
61
|
}
|
|
62
62
|
],
|
|
63
|
-
"totalMaxTokens":
|
|
63
|
+
"totalMaxTokens": 63710,
|
|
64
64
|
"modes": {
|
|
65
65
|
"full": {
|
|
66
66
|
"phases": [0, 1, 2, 3, 4, 5],
|
|
@@ -47,8 +47,15 @@
|
|
|
47
47
|
"properties": {
|
|
48
48
|
"id": { "type": "string", "pattern": "^OBJ-[0-9]{2,3}$" },
|
|
49
49
|
"lens": {
|
|
50
|
-
"enum": [
|
|
51
|
-
|
|
50
|
+
"enum": [
|
|
51
|
+
"scope",
|
|
52
|
+
"feasibility",
|
|
53
|
+
"security",
|
|
54
|
+
"alternative",
|
|
55
|
+
"unstated-input",
|
|
56
|
+
"underspecified"
|
|
57
|
+
],
|
|
58
|
+
"description": "scope: the plan does more or less than the analysis asks. feasibility: a step cannot work as planned. security: a step opens a hole. alternative: a cheaper plan reaches the same result. unstated-input: an input the spec implies (empty, boundary, expired, concurrent) that no task's tests exercise. underspecified: a decision the plan leaves to the task's implementer that the analysis or the user should make."
|
|
52
59
|
},
|
|
53
60
|
"claim": {
|
|
54
61
|
"type": "string",
|
|
@@ -1,9 +1,9 @@
|
|
|
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/planning-output.schema.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"title": "Multi-Agent Pipeline - Phase 1 planning output",
|
|
6
|
-
"description": "Contract for Phase
|
|
6
|
+
"description": "Contract for the Phase 1 task decomposition. Consumed by the Phase 2 TDD cycles - each task becomes one red→green→refactor iteration. 1.1.0 adds the plan-level reviewFocus[] and globalConstraints[].",
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
|
9
9
|
"required": ["tasks", "approved"],
|
|
@@ -71,6 +71,24 @@
|
|
|
71
71
|
"items": { "type": "string", "minLength": 1 },
|
|
72
72
|
"description": "Interfaces or symbols this task calls or relies on without changing them. Paired against other tasks' produces and removes."
|
|
73
73
|
},
|
|
74
|
+
"design": {
|
|
75
|
+
"type": "object",
|
|
76
|
+
"additionalProperties": false,
|
|
77
|
+
"required": ["component", "mapping"],
|
|
78
|
+
"description": "The design source of a UI task. validate-planning.mjs --spec checks the component against the analysis Section 6 (Component Inventory) rows.",
|
|
79
|
+
"properties": {
|
|
80
|
+
"component": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"minLength": 1,
|
|
83
|
+
"description": "The component name exactly as its Section 6 row names it."
|
|
84
|
+
},
|
|
85
|
+
"mapping": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"enum": ["code-connect", "new", "best-fit"],
|
|
88
|
+
"description": "code-connect = the Code Connect mapped component, used verbatim; new = a Section 6 row marked not existing; best-fit = no mapping, pending design review (needs a Risk row; Phase 3 gates it review_blocking)."
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
},
|
|
74
92
|
"complexity": {
|
|
75
93
|
"type": "object",
|
|
76
94
|
"additionalProperties": false,
|
|
@@ -100,6 +118,29 @@
|
|
|
100
118
|
}
|
|
101
119
|
}
|
|
102
120
|
},
|
|
121
|
+
"reviewFocus": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"maxItems": 5,
|
|
124
|
+
"description": "Inputs or failure modes the spec implies but no task's tests exercise, each given to the task that owns the code so a test covers it. validate-planning.mjs fails an owner id that is not a task.",
|
|
125
|
+
"items": {
|
|
126
|
+
"type": "object",
|
|
127
|
+
"additionalProperties": false,
|
|
128
|
+
"required": ["input", "ownerTaskId"],
|
|
129
|
+
"properties": {
|
|
130
|
+
"input": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"minLength": 4,
|
|
133
|
+
"description": "The input or failure mode, concretely (an empty list, a token that expired mid-request)."
|
|
134
|
+
},
|
|
135
|
+
"ownerTaskId": { "type": "string", "pattern": "^T[0-9]+$" }
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"globalConstraints": {
|
|
140
|
+
"type": "array",
|
|
141
|
+
"items": { "type": "string", "minLength": 1 },
|
|
142
|
+
"description": "Project-wide values every task must respect, copied verbatim (a minimum OS version, a naming rule, a module boundary), because each task's implementer sees only its own task."
|
|
143
|
+
},
|
|
103
144
|
"approved": {
|
|
104
145
|
"type": "boolean",
|
|
105
146
|
"description": "User approved the plan (true) or changes requested (false → loop with feedback)."
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/mmerterden/multi-agent-pipeline/pipeline/schemas/pr-reach.schema.json",
|
|
4
|
+
"title": "Pull request reach",
|
|
5
|
+
"description": "What GET /v1/prs/reach returns (`work-items.mjs reach`): for each open GitHub pull request (at most 20), how many files in the repository's own code graph depend on what it changes, widest first. Changed paths serve only as keys into the local graph and are never returned. A pull request that cannot be measured carries reach null and its reason.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["contractVersion", "depth", "items"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"contractVersion": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"pattern": "^1\\.[0-9]+\\.[0-9]+$",
|
|
13
|
+
"x-sensitivity": "none"
|
|
14
|
+
},
|
|
15
|
+
"depth": {
|
|
16
|
+
"type": "integer",
|
|
17
|
+
"minimum": 1,
|
|
18
|
+
"description": "Reverse-dependency depth the count was taken at."
|
|
19
|
+
},
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"maxItems": 20,
|
|
23
|
+
"items": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"required": ["source", "repo", "number", "project", "reach"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"source": { "enum": ["github", "bitbucket"] },
|
|
29
|
+
"repo": { "type": "string" },
|
|
30
|
+
"number": { "type": "integer" },
|
|
31
|
+
"project": {
|
|
32
|
+
"type": ["string", "null"],
|
|
33
|
+
"description": "The knowledge-folder project whose graph answered, or null."
|
|
34
|
+
},
|
|
35
|
+
"changed": {
|
|
36
|
+
"type": "integer",
|
|
37
|
+
"minimum": 0,
|
|
38
|
+
"description": "Files the pull request changes."
|
|
39
|
+
},
|
|
40
|
+
"inGraph": {
|
|
41
|
+
"type": "integer",
|
|
42
|
+
"minimum": 0,
|
|
43
|
+
"description": "Of those, files the graph knows."
|
|
44
|
+
},
|
|
45
|
+
"reach": {
|
|
46
|
+
"type": ["integer", "null"],
|
|
47
|
+
"minimum": 0,
|
|
48
|
+
"description": "Files that depend on the changed ones, within depth. Null when not measured."
|
|
49
|
+
},
|
|
50
|
+
"reason": { "type": "string", "description": "Why reach is null." }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
},
|
|
312
312
|
"office": {
|
|
313
313
|
"type": "object",
|
|
314
|
-
"description": "The office panel (/multi-agent:office-on). page overrides the installed panel page; toolkitVersion pins an @latest toolkit registration for the panel's tool calls; remote
|
|
314
|
+
"description": "The office panel (/multi-agent:office-on). page overrides the installed panel page; toolkitVersion pins an @latest toolkit registration for the panel's tool calls; remote configures the office remote layer (features/office-remote-protocol.md), which stays off until office-pair pairs a phone.",
|
|
315
315
|
"additionalProperties": false,
|
|
316
316
|
"properties": {
|
|
317
317
|
"page": {
|
|
@@ -324,7 +324,13 @@
|
|
|
324
324
|
},
|
|
325
325
|
"remote": {
|
|
326
326
|
"type": "object",
|
|
327
|
-
"description": "
|
|
327
|
+
"description": "The office remote layer. relayUrl is the origin office-pair registers pairings with and the phone page is served from.",
|
|
328
|
+
"properties": {
|
|
329
|
+
"relayUrl": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"pattern": "^https://[^/?#@]+$"
|
|
332
|
+
}
|
|
333
|
+
}
|
|
328
334
|
}
|
|
329
335
|
}
|
|
330
336
|
},
|
|
@@ -906,7 +912,7 @@
|
|
|
906
912
|
"type": "string",
|
|
907
913
|
"enum": ["en", "tr"],
|
|
908
914
|
"default": "en",
|
|
909
|
-
"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).
|
|
915
|
+
"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). PR, Jira, issue and wiki bodies follow it too; commits, branch names, agent prompts and the CLI host's own picker and error UI stay English. Set via `/multi-agent:language output <en|tr>` or answered on first run by `/multi-agent:setup`."
|
|
910
916
|
},
|
|
911
917
|
"progressVerbosity": {
|
|
912
918
|
"type": "string",
|
|
@@ -1891,6 +1897,29 @@
|
|
|
1891
1897
|
"enabled": false
|
|
1892
1898
|
}
|
|
1893
1899
|
},
|
|
1900
|
+
"memory": {
|
|
1901
|
+
"type": "object",
|
|
1902
|
+
"additionalProperties": false,
|
|
1903
|
+
"description": "Limits on the per-repo memory stores under ~/.claude/memory/multi-agent/<repo-slug>/.",
|
|
1904
|
+
"properties": {
|
|
1905
|
+
"excludeProjects": {
|
|
1906
|
+
"type": "array",
|
|
1907
|
+
"items": { "type": "string", "minLength": 1 },
|
|
1908
|
+
"description": "Repo slugs whose learnings ledger, triage corpus and debt list are never written. Reads still work on what is already there."
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
},
|
|
1912
|
+
"fileContext": {
|
|
1913
|
+
"type": "object",
|
|
1914
|
+
"additionalProperties": false,
|
|
1915
|
+
"description": "After a Read, hand the model what the repo's memory says about that file: ledger facts whose scope covers it, its latest review findings and its open known limits (debt-ledger.mjs), at most six lines, once per file per session, inside an <untrusted-data> block and after the secret scan. The hook is pipeline/scripts/file-context.sh, PostToolUse on Read (Claude Code). It never blocks.",
|
|
1916
|
+
"properties": {
|
|
1917
|
+
"enabled": {
|
|
1918
|
+
"type": "boolean",
|
|
1919
|
+
"description": "Absent = only inside a pipeline run bound to the session. true = in every session. false = never."
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1922
|
+
},
|
|
1894
1923
|
"stopGuard": {
|
|
1895
1924
|
"type": "object",
|
|
1896
1925
|
"additionalProperties": false,
|
|
@@ -1915,17 +1944,17 @@
|
|
|
1915
1944
|
"attendedCommitGate": {
|
|
1916
1945
|
"type": "object",
|
|
1917
1946
|
"additionalProperties": false,
|
|
1918
|
-
"description": "What pre-commit-check.sh does with an attended `git commit` inside a pipeline run whose gate ledger holds no passing build and test verdict (evidence-gate/build, evidence-gate/test) for HEAD. evidence-gate.mjs records both in an attended run, marked attended. Read by gate-ledger.mjs `evidence`; a commit outside a run, or in a mode that commits nothing, is never checked. Unattended commits are held to the full ledger regardless of this setting.",
|
|
1947
|
+
"description": "What pre-commit-check.sh does with an attended `git commit` inside a pipeline run whose gate ledger holds no passing build and test verdict (evidence-gate/build, evidence-gate/test) for HEAD, or, from Phase 4 on, no passing review-decision. evidence-gate.mjs records both in an attended run, marked attended. Read by gate-ledger.mjs `evidence`; a commit outside a run, or in a mode that commits nothing, is never checked. Unattended commits are held to the full ledger regardless of this setting.",
|
|
1919
1948
|
"properties": {
|
|
1920
1949
|
"mode": {
|
|
1921
1950
|
"type": "string",
|
|
1922
|
-
"enum": ["off", "warn", "block"],
|
|
1923
|
-
"default": "
|
|
1924
|
-
"description": "warn = say so on stderr and let the commit through. block = refuse the commit (exit 2) until the evidence is recorded. off = no check."
|
|
1951
|
+
"enum": ["off", "warn", "block", "auto"],
|
|
1952
|
+
"default": "auto",
|
|
1953
|
+
"description": "auto = block when the committing session is the one driving the run (its hostSessionId or launch sessionId), warn otherwise. warn = say so on stderr and let the commit through. block = refuse the commit (exit 2) until the evidence is recorded. off = no check."
|
|
1925
1954
|
}
|
|
1926
1955
|
},
|
|
1927
1956
|
"default": {
|
|
1928
|
-
"mode": "
|
|
1957
|
+
"mode": "auto"
|
|
1929
1958
|
}
|
|
1930
1959
|
},
|
|
1931
1960
|
"mutationProbe": {
|
|
@@ -1,9 +1,9 @@
|
|
|
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/reviewer-output.schema.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.6.0",
|
|
5
5
|
"title": "Multi-Agent Pipeline - Phase 3 reviewer output",
|
|
6
|
-
"description": "Contract for a single code-reviewer subagent's JSON output in Phase 4 Step 2. Every host dispatches 3 parallel reviewers; the middle slot is CLI-aware: Claude Code (Fable, Opus, Sonnet); Copilot CLI (Opus, GPT-5.4, Sonnet); Codex CLI dispatches 3 (gpt-5.6 at xhigh, gpt-5.4, gpt-5.6 at medium). Every reviewer must return an object matching this shape before Opus triage merges them. v1.1.0 adds the rule-ID conformance checklist: when the orchestrator supplies a ${CRITERIA} block (Phase 3 Step 1.78), the reviewer must return one conformance row per selected rule ID. Findings alone cannot answer 'was this applied completely' - a reviewer that opened nothing returns the same empty findings array as one that checked everything. v1.2.0 adds the optional per-finding fingerprint (Phase 3 Step 2.1): the stable id a finding keeps across review rounds. v1.4.0 adds the optional per-finding `security` envelope (OWASP + CWE + CVSS + evidence + remediation): the security-auditor emits reviewer-output objects whose findings carry it, so a blocking security finding merges at Step 3.0 and blocks Phase 4 like any reviewer blocker. General reviewers omit it. Its shape mirrors security-finding.schema.json, kept in step by smoke-security-schema-parity.sh. v1.5.0 adds the optional per-finding `quote`, `preExisting` and `baselineEvidence` (see triage-output.schema.json).",
|
|
6
|
+
"description": "Contract for a single code-reviewer subagent's JSON output in Phase 4 Step 2. Every host dispatches 3 parallel reviewers; the middle slot is CLI-aware: Claude Code (Fable, Opus, Sonnet); Copilot CLI (Opus, GPT-5.4, Sonnet); Codex CLI dispatches 3 (gpt-5.6 at xhigh, gpt-5.4, gpt-5.6 at medium). Every reviewer must return an object matching this shape before Opus triage merges them. v1.1.0 adds the rule-ID conformance checklist: when the orchestrator supplies a ${CRITERIA} block (Phase 3 Step 1.78), the reviewer must return one conformance row per selected rule ID. Findings alone cannot answer 'was this applied completely' - a reviewer that opened nothing returns the same empty findings array as one that checked everything. v1.2.0 adds the optional per-finding fingerprint (Phase 3 Step 2.1): the stable id a finding keeps across review rounds. v1.4.0 adds the optional per-finding `security` envelope (OWASP + CWE + CVSS + evidence + remediation): the security-auditor emits reviewer-output objects whose findings carry it, so a blocking security finding merges at Step 3.0 and blocks Phase 4 like any reviewer blocker. General reviewers omit it. Its shape mirrors security-finding.schema.json, kept in step by smoke-security-schema-parity.sh. v1.5.0 adds the optional per-finding `quote`, `preExisting` and `baselineEvidence` (see triage-output.schema.json). v1.6.0 adds the optional `cannotVerify[]`: requirements that live in code the diff does not touch, which triage must settle.",
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
|
9
9
|
"required": ["findings", "approved"],
|
|
@@ -15,6 +15,24 @@
|
|
|
15
15
|
"$ref": "#/$defs/finding"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
+
"cannotVerify": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"description": "Requirements the reviewer could not verify from the diff because they live in unchanged code (a caller that must also change, a config read elsewhere). Triage settles each one; a reviewer never marks the change correct on the assumption.",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"required": ["requirement", "where", "why"],
|
|
25
|
+
"properties": {
|
|
26
|
+
"requirement": { "type": "string", "minLength": 4 },
|
|
27
|
+
"where": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1,
|
|
30
|
+
"description": "The unchanged file or symbol that holds it."
|
|
31
|
+
},
|
|
32
|
+
"why": { "type": "string", "minLength": 4, "description": "What the diff does not show." }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
18
36
|
"approved": {
|
|
19
37
|
"type": "boolean",
|
|
20
38
|
"description": "Reviewer's own verdict. MUST be false if any finding has severity=blocking, true otherwise. Triage may override."
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"max_tokens": 10650
|
|
14
14
|
},
|
|
15
15
|
"phase-3-review": {
|
|
16
|
-
"max_tokens":
|
|
16
|
+
"max_tokens": 17260
|
|
17
17
|
},
|
|
18
18
|
"phase-4-commit": {
|
|
19
|
-
"max_tokens":
|
|
19
|
+
"max_tokens": 6650
|
|
20
20
|
},
|
|
21
21
|
"phase-5-report": {
|
|
22
|
-
"max_tokens":
|
|
22
|
+
"max_tokens": 5710
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
|
-
"total_max_tokens":
|
|
25
|
+
"total_max_tokens": 63710
|
|
26
26
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
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/triage-output.schema.json",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.6.0",
|
|
5
5
|
"title": "Multi-Agent Pipeline - Phase 3 triage output",
|
|
6
|
-
"description": "Contract for the Opus triage agent's JSON output in Phase 4 Step 3. Triage consumes merged reviewer findings and splits them into accepted/deferred/rejected. Only `accepted` blocking/important items trigger Phase 3 rework. v3.1.0 adds the optional `consensus` block so triage can surface reviewer-agreement risk (false consensus among same-base-model reviewers) instead of silently merging. v3.2.0 adds the optional per-finding `verification` block written by Phase 3 Step 3.7 (verify-by-test): the empirical repro-test outcome for accepted blocking findings. v3.3.0 carries ruleId + criteriaSource through triage so a finding that cites a stable rule ID keeps that citation into Phase 4 and Phase 5, and the lesson loop can key durable learnings by rule. v3.4.0 adds the optional per-finding fingerprint (finding-fingerprint.mjs) so review-delta.mjs can tell still-present, resolved and new findings apart between rounds. v3.5.0 adds the optional per-finding `quote` (matched against the cited line by verify-citations.mjs) and `preExisting` + `baselineEvidence` on findings and on deferred/rejected items, so a pre-existing claim in an unattended run can be checked against the base commit.",
|
|
6
|
+
"description": "Contract for the Opus triage agent's JSON output in Phase 4 Step 3. Triage consumes merged reviewer findings and splits them into accepted/deferred/rejected. Only `accepted` blocking/important items trigger Phase 3 rework. v3.1.0 adds the optional `consensus` block so triage can surface reviewer-agreement risk (false consensus among same-base-model reviewers) instead of silently merging. v3.2.0 adds the optional per-finding `verification` block written by Phase 3 Step 3.7 (verify-by-test): the empirical repro-test outcome for accepted blocking findings. v3.3.0 carries ruleId + criteriaSource through triage so a finding that cites a stable rule ID keeps that citation into Phase 4 and Phase 5, and the lesson loop can key durable learnings by rule. v3.4.0 adds the optional per-finding fingerprint (finding-fingerprint.mjs) so review-delta.mjs can tell still-present, resolved and new findings apart between rounds. v3.5.0 adds the optional per-finding `quote` (matched against the cited line by verify-citations.mjs) and `preExisting` + `baselineEvidence` on findings and on deferred/rejected items, so a pre-existing claim in an unattended run can be checked against the base commit. v3.6.0 adds the optional `cannotVerify[]`: one settled row per requirement a reviewer could not verify from the diff.",
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
|
9
9
|
"required": ["accepted", "deferred", "rejected", "approved"],
|
|
@@ -73,6 +73,24 @@
|
|
|
73
73
|
},
|
|
74
74
|
"consensus": {
|
|
75
75
|
"$ref": "#/$defs/consensus"
|
|
76
|
+
},
|
|
77
|
+
"cannotVerify": {
|
|
78
|
+
"type": "array",
|
|
79
|
+
"description": "One row per reviewer cannotVerify requirement, settled before Phase 4: verified (checked in the unchanged code), finding (it is broken; the finding is in accepted or deferred) or out-of-scope. validate-triage.mjs --reviewers or --reviewers-dir fails a requirement with no row.",
|
|
80
|
+
"items": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"additionalProperties": false,
|
|
83
|
+
"required": ["requirement", "resolution", "evidence"],
|
|
84
|
+
"properties": {
|
|
85
|
+
"requirement": { "type": "string", "minLength": 4 },
|
|
86
|
+
"resolution": { "enum": ["verified", "finding", "out-of-scope"] },
|
|
87
|
+
"evidence": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"minLength": 4,
|
|
90
|
+
"description": "verified: the file:line read. finding: the file:line of the accepted or deferred finding it became. out-of-scope: why. validate-triage.mjs checks the first two."
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
76
94
|
}
|
|
77
95
|
},
|
|
78
96
|
"if": {
|
|
@@ -102,6 +120,11 @@
|
|
|
102
120
|
"type": "string",
|
|
103
121
|
"enum": ["blocking", "important", "suggestion"]
|
|
104
122
|
},
|
|
123
|
+
"foundBy": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"pattern": "^(Source [A-Z]|security-auditor)$",
|
|
126
|
+
"description": "The anonymized source label triage judged the finding under, carried through verbatim. anonymize-findings.mjs --restore writes the reviewer family back from the label map after validation; validate-triage.mjs --anonymized refuses a verdict that names a reviewer itself."
|
|
127
|
+
},
|
|
105
128
|
"reviewer": {
|
|
106
129
|
"type": "string",
|
|
107
130
|
"enum": ["fable", "opus", "sonnet", "gpt"],
|
|
@@ -214,6 +237,9 @@
|
|
|
214
237
|
"reviewer": {
|
|
215
238
|
"$ref": "#/$defs/reviewer"
|
|
216
239
|
},
|
|
240
|
+
"foundBy": {
|
|
241
|
+
"$ref": "#/$defs/foundBy"
|
|
242
|
+
},
|
|
217
243
|
"verification": {
|
|
218
244
|
"$ref": "#/$defs/verification"
|
|
219
245
|
},
|
|
@@ -254,7 +280,7 @@
|
|
|
254
280
|
{
|
|
255
281
|
"type": "object",
|
|
256
282
|
"additionalProperties": false,
|
|
257
|
-
"required": ["severity", "file", "line", "issue", "
|
|
283
|
+
"required": ["severity", "file", "line", "issue", "fix"],
|
|
258
284
|
"properties": {
|
|
259
285
|
"severity": {
|
|
260
286
|
"$ref": "#/$defs/severity"
|
|
@@ -274,6 +300,9 @@
|
|
|
274
300
|
"reviewer": {
|
|
275
301
|
"$ref": "#/$defs/reviewer"
|
|
276
302
|
},
|
|
303
|
+
"foundBy": {
|
|
304
|
+
"$ref": "#/$defs/foundBy"
|
|
305
|
+
},
|
|
277
306
|
"fix": {
|
|
278
307
|
"type": "string",
|
|
279
308
|
"minLength": 4,
|
|
@@ -135,6 +135,7 @@
|
|
|
135
135
|
"credential-store.sh": ["get", "set", "delete"],
|
|
136
136
|
"keychain.py": ["get", "set", "delete"],
|
|
137
137
|
"gate-ledger.mjs": ["append"],
|
|
138
|
-
"phone-devices.mjs": ["add", "revoke", "launch"]
|
|
138
|
+
"phone-devices.mjs": ["add", "revoke", "launch"],
|
|
139
|
+
"office-pair.mjs": null
|
|
139
140
|
}
|
|
140
141
|
}
|