@mmerterden/multi-agent-pipeline 11.2.0 → 11.3.1
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 +68 -0
- package/README.md +2 -2
- package/docs/FIGMA_PIPELINE.md +12 -25
- package/docs/architecture.md +3 -5
- package/docs/features.md +8 -8
- package/install/_dev-only-files.mjs +0 -6
- package/install/claude.mjs +39 -17
- package/install/copilot.mjs +22 -16
- package/install/templates/copilot-instructions.md +3 -3
- package/package.json +1 -1
- package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
- package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
- package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
- package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
- package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
- package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
- package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
- package/pipeline/lib/credential-store.sh +8 -4
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
- package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
- package/pipeline/preferences-template.json +17 -1
- package/pipeline/rules/figma-pipeline.md +2 -2
- package/pipeline/schemas/prefs.schema.json +0 -34
- package/pipeline/scripts/README.md +1 -3
- package/pipeline/scripts/build-skills-index.mjs +3 -6
- package/pipeline/scripts/eval-mine-corpus.mjs +187 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- package/pipeline/scripts/lint-skills.mjs +26 -1
- package/pipeline/scripts/phase-banner.sh +2 -2
- package/pipeline/scripts/review-scope.mjs +94 -0
- package/pipeline/scripts/scan-agent-config.sh +2 -2
- package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
- package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
- package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
- package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
- package/pipeline/scripts/smoke-channels-flow.sh +5 -5
- package/pipeline/scripts/smoke-clarify.sh +1 -1
- package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
- package/pipeline/scripts/smoke-community-gates.sh +1 -1
- package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
- package/pipeline/scripts/smoke-cost-summary.sh +1 -1
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
- package/pipeline/scripts/smoke-dev-critic.sh +1 -1
- package/pipeline/scripts/smoke-diff-explain.sh +1 -1
- package/pipeline/scripts/smoke-diff-risk.sh +1 -1
- package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
- package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
- package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
- package/pipeline/scripts/smoke-generate-issue.sh +8 -8
- package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
- package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
- package/pipeline/scripts/smoke-intent-guard.sh +1 -1
- package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
- package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
- package/pipeline/scripts/smoke-language-axis.sh +6 -6
- package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
- package/pipeline/scripts/smoke-model-fallback.sh +3 -3
- package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
- package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
- package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
- package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
- package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
- package/pipeline/scripts/smoke-plan-todos.sh +3 -3
- package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
- package/pipeline/scripts/smoke-prefs-language.sh +1 -1
- package/pipeline/scripts/smoke-progress-contract.sh +2 -2
- package/pipeline/scripts/smoke-push-retry.sh +1 -1
- package/pipeline/scripts/smoke-repo-map.sh +2 -2
- package/pipeline/scripts/smoke-shadow-git.sh +1 -1
- package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
- package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
- package/pipeline/scripts/smoke-test-gap.sh +1 -1
- package/pipeline/scripts/smoke-token-budget.sh +1 -1
- package/pipeline/scripts/smoke-token-preflight.sh +2 -2
- package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
- package/pipeline/scripts/smoke-triage-memory.sh +2 -2
- package/pipeline/scripts/smoke-update-check.sh +1 -1
- package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
- package/pipeline/scripts/smoke-validator-gates.sh +1 -1
- package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
- package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
- package/pipeline/scripts/smoke-work-summary.sh +1 -1
- package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
- package/pipeline/scripts/test-integrity-gate.mjs +83 -0
- package/pipeline/scripts/uninstall.mjs +17 -6
- package/pipeline/skills/.skill-manifest.json +40 -160
- package/pipeline/skills/.skills-index.json +3 -373
- package/pipeline/skills/shared/README.md +1 -1
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
- package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
- package/pipeline/skills/skills-index.md +3 -44
- package/pipeline/commands/multi-agent/refactor.md +0 -188
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
- package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
- package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
- package/pipeline/scripts/smoke-figma-sync.sh +0 -149
- package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
- package/pipeline/skills/figma-android/README.md +0 -38
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
- package/pipeline/skills/figma-common/README.md +0 -64
- package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
- package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
- package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
- package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
- package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
- package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
- package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
- package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
- package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
- /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
- /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
set -uo pipefail
|
|
19
19
|
|
|
20
20
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
21
|
-
CLAUDE_CMD="$ROOT/pipeline/commands/multi-agent/channels.md"
|
|
21
|
+
CLAUDE_CMD="$ROOT/pipeline/commands/multi-agent/channels/SKILL.md"
|
|
22
22
|
COPILOT_SKILL="$ROOT/pipeline/skills/shared/core/multi-agent-channels/SKILL.md"
|
|
23
|
-
ENRICH_CMD="$ROOT/pipeline/commands/multi-agent/enrich.md"
|
|
23
|
+
ENRICH_CMD="$ROOT/pipeline/commands/multi-agent/enrich/SKILL.md"
|
|
24
24
|
ENRICH_SKILL_DIR="$ROOT/pipeline/skills/shared/core/multi-agent-enrich"
|
|
25
|
-
PHASE7="$ROOT/pipeline/
|
|
26
|
-
MODES="$ROOT/pipeline/
|
|
27
|
-
WIKI_CAPTURE="$ROOT/pipeline/
|
|
25
|
+
PHASE7="$ROOT/pipeline/multi-agent-refs/phases/phase-7-report.md"
|
|
26
|
+
MODES="$ROOT/pipeline/multi-agent-refs/phases/modes.md"
|
|
27
|
+
WIKI_CAPTURE="$ROOT/pipeline/multi-agent-refs/wiki-capture.md"
|
|
28
28
|
SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
29
29
|
MIGRATE="$ROOT/pipeline/scripts/migrate-prefs.mjs"
|
|
30
30
|
TEMPLATE="$ROOT/pipeline/preferences-template.json"
|
|
@@ -24,7 +24,7 @@ ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
|
24
24
|
AGENT="$ROOT/pipeline/agents/task-clarifier.md"
|
|
25
25
|
SCHEMA="$ROOT/pipeline/schemas/clarify-output.schema.json"
|
|
26
26
|
PREFS_SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
27
|
-
PHASE_DOC="$ROOT/pipeline/
|
|
27
|
+
PHASE_DOC="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
|
|
28
28
|
|
|
29
29
|
pass=0
|
|
30
30
|
fail=0
|
|
@@ -36,7 +36,7 @@ fail() { FAIL=$((FAIL+1)); echo " ✗ $1"; }
|
|
|
36
36
|
# Underscore-prefixed files (e.g. _account-picker.md) are internal fragments
|
|
37
37
|
# loaded by other commands via Read; they're not invocable slash commands and
|
|
38
38
|
# intentionally have no matching skill.
|
|
39
|
-
CMDS=$(find "$CMDS_DIR" -
|
|
39
|
+
CMDS=$(find "$CMDS_DIR" -mindepth 2 -maxdepth 2 -name "SKILL.md" -exec dirname {} \; | xargs -n1 basename | sort)
|
|
40
40
|
|
|
41
41
|
# help.md in commands maps to multi-agent-help skill; the main "multi-agent"
|
|
42
42
|
# skill covers the behavior documented across multiple command files, so we
|
|
@@ -67,7 +67,7 @@ echo "→ Checking that every multi-agent-* skill has a corresponding command"
|
|
|
67
67
|
SKILLS=$(find "$SKILLS_DIR" -maxdepth 1 -type d -name "multi-agent-*" -exec basename {} \; | sed 's/^multi-agent-//' | sort)
|
|
68
68
|
|
|
69
69
|
for skill in $SKILLS; do
|
|
70
|
-
cmd_file="$CMDS_DIR/$skill.md"
|
|
70
|
+
cmd_file="$CMDS_DIR/$skill/SKILL.md"
|
|
71
71
|
# A few skills are Copilot-CLI-style conveniences without a Claude slash equivalent:
|
|
72
72
|
case "$skill" in
|
|
73
73
|
autopilot | dev-autopilot) # dash-style shortcut skills, the flags are documented in help.md
|
|
@@ -76,7 +76,7 @@ for skill in $SKILLS; do
|
|
|
76
76
|
;;
|
|
77
77
|
esac
|
|
78
78
|
if [ -f "$cmd_file" ]; then
|
|
79
|
-
pass "skills/shared/multi-agent-$skill/ ↔ commands/multi-agent/$skill.md"
|
|
79
|
+
pass "skills/shared/multi-agent-$skill/ ↔ commands/multi-agent/$skill/SKILL.md"
|
|
80
80
|
else
|
|
81
81
|
fail "skills/shared/multi-agent-$skill/ has no matching command"
|
|
82
82
|
fi
|
|
@@ -24,9 +24,9 @@ APPLE_SKILL="$ROOT/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md
|
|
|
24
24
|
GOOGLE_SKILL="$ROOT/pipeline/skills/shared/core/google-play-compliance/SKILL.md"
|
|
25
25
|
SIM_TEST="$ROOT/pipeline/commands/sim-test.md"
|
|
26
26
|
SEC_AUDITOR="$ROOT/pipeline/agents/security-auditor.md"
|
|
27
|
-
REVIEW_CMD="$ROOT/pipeline/commands/multi-agent/review.md"
|
|
27
|
+
REVIEW_CMD="$ROOT/pipeline/commands/multi-agent/review/SKILL.md"
|
|
28
28
|
REVIEW_SKILL="$ROOT/pipeline/skills/shared/core/multi-agent-review/SKILL.md"
|
|
29
|
-
CHANNELS_CMD="$ROOT/pipeline/commands/multi-agent/channels.md"
|
|
29
|
+
CHANNELS_CMD="$ROOT/pipeline/commands/multi-agent/channels/SKILL.md"
|
|
30
30
|
CHANNELS_SKILL="$ROOT/pipeline/skills/shared/core/multi-agent-channels/SKILL.md"
|
|
31
31
|
|
|
32
32
|
PASS=0
|
|
@@ -18,7 +18,7 @@ ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
|
18
18
|
RENDERER="$ROOT/pipeline/scripts/render-cost-summary.sh"
|
|
19
19
|
TABLE="$ROOT/pipeline/scripts/cost-table.json"
|
|
20
20
|
SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
21
|
-
CHANNELS_DOC="$ROOT/pipeline/commands/multi-agent/channels.md"
|
|
21
|
+
CHANNELS_DOC="$ROOT/pipeline/commands/multi-agent/channels/SKILL.md"
|
|
22
22
|
|
|
23
23
|
pass=0
|
|
24
24
|
fail=0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# smoke-cross-cli-behavior.sh - enforces the cross-CLI parity invariant
|
|
3
|
-
# defined in ~/.claude/
|
|
3
|
+
# defined in ~/.claude/multi-agent-refs/cross-cli-contract.md.
|
|
4
4
|
#
|
|
5
5
|
# This is a behavioral complement to smoke-sync-parity.sh (which tests the
|
|
6
6
|
# parity checker itself). This script asserts the actual Claude Code and
|
|
@@ -41,7 +41,10 @@ fi
|
|
|
41
41
|
# Underscore-prefixed Claude files (e.g. _account-picker.md) are internal
|
|
42
42
|
# fragments lazy-loaded by other commands; they're not invocable on either CLI
|
|
43
43
|
# and intentionally have no Copilot skill counterpart.
|
|
44
|
-
|
|
44
|
+
# Also exclude local-only alias wrappers (frontmatter `local-only: true`) - personal
|
|
45
|
+
# aliases to private marketplace-plugin skills, intentionally Claude-only, no Copilot peer.
|
|
46
|
+
CLAUDE_LIST=$(find "$CLAUDE_CMDS" -mindepth 2 -maxdepth 2 -name "SKILL.md" 2>/dev/null \
|
|
47
|
+
| while IFS= read -r f; do grep -q "^local-only: true" "$f" || basename "$(dirname "$f")"; done | sort)
|
|
45
48
|
COPILOT_LIST=$(find "$COPILOT_SKILLS" -maxdepth 1 -type d -name "multi-agent-*" -exec basename {} \; 2>/dev/null | sed 's/^multi-agent-//' | sort)
|
|
46
49
|
|
|
47
50
|
if [ "$CLAUDE_LIST" = "$COPILOT_LIST" ]; then
|
|
@@ -69,7 +72,7 @@ DEPRECATED=(
|
|
|
69
72
|
)
|
|
70
73
|
for p in "${DEPRECATED[@]}"; do
|
|
71
74
|
# grep -l returns filenames; empty = no matches
|
|
72
|
-
FOUND=$(grep -l -F -- "$p" "$CLAUDE_CMDS"
|
|
75
|
+
FOUND=$(grep -l -F -- "$p" $(find "$CLAUDE_CMDS" -name SKILL.md 2>/dev/null) 2>/dev/null || true)
|
|
73
76
|
if [ -z "$FOUND" ]; then
|
|
74
77
|
pass "no '$p' in Claude commands"
|
|
75
78
|
else
|
|
@@ -85,7 +88,7 @@ PERSONAL_HARDCODES=(
|
|
|
85
88
|
"${USER}_tkgithub"
|
|
86
89
|
)
|
|
87
90
|
for p in "${PERSONAL_HARDCODES[@]}"; do
|
|
88
|
-
FOUND=$(grep -l -F -- "$p" "$CLAUDE_CMDS"
|
|
91
|
+
FOUND=$(grep -l -F -- "$p" $(find "$CLAUDE_CMDS" -name SKILL.md 2>/dev/null) 2>/dev/null || true)
|
|
89
92
|
if [ -z "$FOUND" ]; then
|
|
90
93
|
pass "no '$p' leaked into Claude commands"
|
|
91
94
|
else
|
|
@@ -97,13 +100,13 @@ done
|
|
|
97
100
|
echo ""
|
|
98
101
|
echo "→ 4. Canonical placeholders present (sanity)"
|
|
99
102
|
# These MUST exist (regressions would mean someone undid a drift fix)
|
|
100
|
-
if grep -q -F "{owner}" "$CLAUDE_CMDS/sync.md" 2>/dev/null; then
|
|
103
|
+
if grep -q -F "{owner}" "$CLAUDE_CMDS/sync/SKILL.md" 2>/dev/null; then
|
|
101
104
|
pass "sync.md uses canonical '{owner}'"
|
|
102
105
|
else
|
|
103
106
|
fail "sync.md missing '{owner}' - drift fix may have regressed"
|
|
104
107
|
fi
|
|
105
108
|
|
|
106
|
-
if grep -q -F "{website-host}" "$CLAUDE_CMDS/sync.md" 2>/dev/null; then
|
|
109
|
+
if grep -q -F "{website-host}" "$CLAUDE_CMDS/sync/SKILL.md" 2>/dev/null; then
|
|
107
110
|
pass "sync.md uses canonical '{website-host}'"
|
|
108
111
|
else
|
|
109
112
|
fail "sync.md missing '{website-host}' - drift fix may have regressed"
|
|
@@ -114,7 +117,7 @@ echo ""
|
|
|
114
117
|
echo "→ 5. Canonical project-name vocabulary in log.md"
|
|
115
118
|
CANONICAL_PROJECTS=("my-ui-components" "my-figma-app" "my-ios-app")
|
|
116
119
|
for c in "${CANONICAL_PROJECTS[@]}"; do
|
|
117
|
-
if grep -q -F -- "$c" "$CLAUDE_CMDS/log.md" 2>/dev/null; then
|
|
120
|
+
if grep -q -F -- "$c" "$CLAUDE_CMDS/log/SKILL.md" 2>/dev/null; then
|
|
118
121
|
pass "log.md references '$c'"
|
|
119
122
|
else
|
|
120
123
|
fail "log.md missing canonical '$c'"
|
|
@@ -124,7 +127,7 @@ done
|
|
|
124
127
|
# ──────────────────────────────────────────────────────────────────────────
|
|
125
128
|
echo ""
|
|
126
129
|
echo "→ 6. Contract doc exists (required source of truth)"
|
|
127
|
-
CONTRACT="$
|
|
130
|
+
CONTRACT="$HOME/.claude/multi-agent-refs/cross-cli-contract.md"
|
|
128
131
|
if [ -f "$CONTRACT" ]; then
|
|
129
132
|
SIZE=$(wc -l < "$CONTRACT" | tr -d ' ')
|
|
130
133
|
if [ "$SIZE" -ge 100 ]; then
|
|
@@ -138,40 +141,11 @@ fi
|
|
|
138
141
|
|
|
139
142
|
# ──────────────────────────────────────────────────────────────────────────
|
|
140
143
|
echo ""
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
for tree in "${FIGMA_TREES[@]}"; do
|
|
147
|
-
claude_tree="$CLAUDE_SKILLS/$tree"
|
|
148
|
-
claude_note=""
|
|
149
|
-
# /multi-agent:stack parks inactive-platform trees under skills-inactive/.
|
|
150
|
-
# A parked tree is still deployed - count it from its parked location so
|
|
151
|
-
# iOS-stack machines don't fail on the android tree (and vice versa).
|
|
152
|
-
if [ ! -d "$claude_tree" ] && [ -d "$HOME/.claude/skills-inactive/$tree" ]; then
|
|
153
|
-
claude_tree="$HOME/.claude/skills-inactive/$tree"
|
|
154
|
-
claude_note=" (claude: parked by /multi-agent:stack)"
|
|
155
|
-
fi
|
|
156
|
-
copilot_tree="$COPILOT_SKILLS/$tree"
|
|
157
|
-
if [ -d "$claude_tree" ] && [ -d "$copilot_tree" ]; then
|
|
158
|
-
claude_count=$(find "$claude_tree" -maxdepth 1 -mindepth 1 -type d | wc -l | tr -d ' ')
|
|
159
|
-
copilot_count=$(find "$copilot_tree" -maxdepth 1 -mindepth 1 -type d | wc -l | tr -d ' ')
|
|
160
|
-
if [ "$claude_count" -eq "$copilot_count" ]; then
|
|
161
|
-
pass "$tree deployed to both CLIs ($claude_count skills each)$claude_note"
|
|
162
|
-
else
|
|
163
|
-
fail "$tree count mismatch (claude=$claude_count copilot=$copilot_count)$claude_note"
|
|
164
|
-
fi
|
|
165
|
-
elif [ -d "$claude_tree" ] || [ -d "$copilot_tree" ]; then
|
|
166
|
-
fail "$tree deployed to only ONE CLI"
|
|
167
|
-
else
|
|
168
|
-
echo " (tree not installed on either CLI - run \`node install.js --all\` to deploy)"
|
|
169
|
-
fi
|
|
170
|
-
done
|
|
171
|
-
|
|
172
|
-
# ──────────────────────────────────────────────────────────────────────────
|
|
173
|
-
echo ""
|
|
174
|
-
echo "→ 8. Agent personas deployed to both CLIs"
|
|
144
|
+
# Figma/component skill trees no longer ship in the pipeline (v11.2.0+): they
|
|
145
|
+
# live in the marketplace component plugins (ai-ios-engineering-toolkit /
|
|
146
|
+
# multi-agent-plugins), which each CLI loads through its own plugin channel.
|
|
147
|
+
# The pipeline therefore has no figma tree to deploy or parity-check here.
|
|
148
|
+
echo "→ 7. Agent personas deployed to both CLIs"
|
|
175
149
|
|
|
176
150
|
CLAUDE_AGENTS="$HOME/.claude/agents"
|
|
177
151
|
COPILOT_AGENTS="$HOME/.copilot/agents"
|
|
@@ -207,7 +181,7 @@ fi
|
|
|
207
181
|
# drift across the phase doc, the schema, and the consensus block.
|
|
208
182
|
echo "→ reviewer-count contract (Claude=2, Copilot=3)"
|
|
209
183
|
REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
210
|
-
P4="$REPO_ROOT/pipeline/
|
|
184
|
+
P4="$REPO_ROOT/pipeline/multi-agent-refs/phases/phase-4-review.md"
|
|
211
185
|
REVSCHEMA="$REPO_ROOT/pipeline/schemas/reviewer-output.schema.json"
|
|
212
186
|
TRSCHEMA="$REPO_ROOT/pipeline/schemas/triage-output.schema.json"
|
|
213
187
|
if grep -qiE "Claude Code (dispatches|=|:) ?2|2-model" "$P4" && grep -qiE "Copilot CLI (dispatches|=|:) ?3|3-model" "$P4"; then
|
|
@@ -16,7 +16,7 @@ set -euo pipefail
|
|
|
16
16
|
|
|
17
17
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
18
18
|
AGENT="$ROOT/pipeline/agents/dev-critic.md"
|
|
19
|
-
PHASE_DOC="$ROOT/pipeline/
|
|
19
|
+
PHASE_DOC="$ROOT/pipeline/multi-agent-refs/phases/phase-3-dev.md"
|
|
20
20
|
PREFS_SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
21
21
|
CRITIC_SCHEMA="$ROOT/pipeline/schemas/dev-critic-output.schema.json"
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ TMP=$(mktemp -d)
|
|
|
28
28
|
|
|
29
29
|
# ──────────────────────────────────────────────────────────────────────────
|
|
30
30
|
echo "→ 1. Command + skill files exist"
|
|
31
|
-
[ -f "$REPO_ROOT/pipeline/commands/multi-agent/diff-explain.md" ] && pass "diff-explain.md present" || fail "diff-explain.md missing"
|
|
31
|
+
[ -f "$REPO_ROOT/pipeline/commands/multi-agent/diff-explain/SKILL.md" ] && pass "diff-explain.md present" || fail "diff-explain.md missing"
|
|
32
32
|
[ -f "$REPO_ROOT/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md" ] && pass "multi-agent-diff-explain SKILL.md present" || fail "Copilot peer missing"
|
|
33
33
|
[ -x "$SCRIPT" ] && pass "diff-explain.mjs is executable" || fail "diff-explain.mjs not executable"
|
|
34
34
|
|
|
@@ -22,7 +22,7 @@ ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
|
22
22
|
SCORE="$ROOT/pipeline/scripts/diff-risk-score.mjs"
|
|
23
23
|
VALIDATE="$ROOT/pipeline/scripts/validate-diff-risk.mjs"
|
|
24
24
|
SCHEMA="$ROOT/pipeline/schemas/diff-risk.schema.json"
|
|
25
|
-
PHASE4="$ROOT/pipeline/
|
|
25
|
+
PHASE4="$ROOT/pipeline/multi-agent-refs/phases/phase-4-review.md"
|
|
26
26
|
REVIEWER="$ROOT/pipeline/agents/code-reviewer.md"
|
|
27
27
|
PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
28
28
|
FIX_IOS="$ROOT/pipeline/scripts/fixtures/diff-risk-ios.diff"
|
|
@@ -80,7 +80,7 @@ echo ""
|
|
|
80
80
|
echo "→ 5. Wiring: phase docs reference the gate"
|
|
81
81
|
GREP_HITS=0
|
|
82
82
|
for doc in phase-3-dev phase-4-review phase-6-commit; do
|
|
83
|
-
grep -q "evidence-gate" "$ROOT/pipeline/
|
|
83
|
+
grep -q "evidence-gate" "$ROOT/pipeline/multi-agent-refs/phases/$doc.md" && GREP_HITS=$((GREP_HITS+1))
|
|
84
84
|
done
|
|
85
85
|
if [ "$GREP_HITS" -ge 2 ]; then
|
|
86
86
|
pass "evidence-gate referenced in $GREP_HITS phase docs"
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# smoke-figma-dispatch.sh - Phase 3 component dispatch contract.
|
|
2
|
+
# smoke-figma-dispatch.sh - Phase 3 component dispatch contract (plugin-based).
|
|
3
3
|
#
|
|
4
|
-
# Verifies that multi-agent Phase 3
|
|
5
|
-
#
|
|
4
|
+
# Verifies that multi-agent Phase 3 dispatches component tasks to the
|
|
5
|
+
# ai-<platform>-engineering-toolkit MARKETPLACE PLUGIN (create-component,
|
|
6
|
+
# fallback create-ui-component) instead of a bundled figma-to-component skill.
|
|
6
7
|
#
|
|
7
|
-
# Runs offline - scans docs only, no
|
|
8
|
+
# Runs offline - scans docs only, no skill invocation.
|
|
8
9
|
|
|
9
10
|
set -euo pipefail
|
|
10
11
|
|
|
11
12
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
12
13
|
ROOT="$(cd "$HERE/../.." && pwd)"
|
|
13
|
-
PHASE0="$ROOT/pipeline/
|
|
14
|
-
PHASE3="$ROOT/pipeline/
|
|
15
|
-
DISPATCH="$ROOT/pipeline/
|
|
16
|
-
ORCH_IOS="$ROOT/pipeline/skills/figma-ios/figma-to-component/SKILL.md"
|
|
14
|
+
PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
|
|
15
|
+
PHASE3="$ROOT/pipeline/multi-agent-refs/phases/phase-3-dev.md"
|
|
16
|
+
DISPATCH="$ROOT/pipeline/multi-agent-refs/component-dispatch.md"
|
|
17
17
|
|
|
18
18
|
PASS=0
|
|
19
19
|
FAIL=0
|
|
@@ -22,62 +22,47 @@ fail() { FAIL=$((FAIL+1)); echo " ✗ $1"; }
|
|
|
22
22
|
|
|
23
23
|
[ -f "$PHASE0" ] || { echo "error: $PHASE0 missing" >&2; exit 1; }
|
|
24
24
|
[ -f "$PHASE3" ] || { echo "error: $PHASE3 missing" >&2; exit 1; }
|
|
25
|
-
[ -f "$DISPATCH" ] || { echo "error: $DISPATCH missing
|
|
26
|
-
[ -f "$ORCH_IOS" ] || { echo "error: orchestrator skill missing at $ORCH_IOS (run WS-2 import first)" >&2; exit 1; }
|
|
25
|
+
[ -f "$DISPATCH" ] || { echo "error: $DISPATCH missing" >&2; exit 1; }
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
grep -Fq "$1" "$PHASE3" || grep -Fq "$1" "$DISPATCH"
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
echo "→ 1. Phase 0 classification routes component → figma-to-component"
|
|
35
|
-
if grep -Fq "pipeline/skills/figma-ios/figma-to-component" "$PHASE0"; then
|
|
36
|
-
pass "Phase 0 references the new orchestrator path"
|
|
37
|
-
else
|
|
38
|
-
fail "Phase 0 does NOT reference pipeline/skills/figma-ios/figma-to-component"
|
|
39
|
-
fi
|
|
40
|
-
|
|
41
|
-
if grep -Fq "figma-to-swiftui" "$PHASE0"; then
|
|
42
|
-
fail "Phase 0 still references legacy 'figma-to-swiftui' (expected 'figma-to-component')"
|
|
27
|
+
echo "→ 1. no bundled figma orchestrator remains in the tree"
|
|
28
|
+
if [ -e "$ROOT/pipeline/skills/figma-ios" ] || [ -e "$ROOT/pipeline/skills/figma-android" ] || [ -e "$ROOT/pipeline/skills/figma-common" ]; then
|
|
29
|
+
fail "bundled pipeline/skills/figma-* tree still present (should be plugin-only)"
|
|
43
30
|
else
|
|
44
|
-
pass "
|
|
31
|
+
pass "no pipeline/skills/figma-* tree (component skills live in the plugin)"
|
|
45
32
|
fi
|
|
46
33
|
|
|
47
34
|
echo ""
|
|
48
|
-
echo "→ 2. Phase
|
|
49
|
-
if grep -Fq "
|
|
50
|
-
pass "Phase
|
|
35
|
+
echo "→ 2. Phase 0 routes component tasks to the plugin component skill"
|
|
36
|
+
if grep -Fq "create-component" "$PHASE0"; then
|
|
37
|
+
pass "Phase 0 references the plugin create-component skill"
|
|
51
38
|
else
|
|
52
|
-
fail "Phase
|
|
39
|
+
fail "Phase 0 does NOT reference create-component"
|
|
53
40
|
fi
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
pass "dispatch contract mentions taskType guard"
|
|
41
|
+
if grep -Fq "figma-to-swiftui" "$PHASE0" || grep -Fq "skills/figma-ios/figma-to-component" "$PHASE0"; then
|
|
42
|
+
fail "Phase 0 still references a legacy/bundled figma orchestrator path"
|
|
57
43
|
else
|
|
58
|
-
|
|
44
|
+
pass "Phase 0 has no legacy/bundled figma orchestrator reference"
|
|
59
45
|
fi
|
|
60
46
|
|
|
61
47
|
echo ""
|
|
62
|
-
echo "→ 3. dispatch
|
|
63
|
-
if grep -Fq
|
|
64
|
-
pass "dispatch
|
|
48
|
+
echo "→ 3. dispatch guards taskType and resolves the plugin (dual-name)"
|
|
49
|
+
if grep -Fq 'taskType === "component"' "$DISPATCH"; then
|
|
50
|
+
pass "dispatch mentions taskType guard"
|
|
65
51
|
else
|
|
66
|
-
fail "dispatch missing
|
|
52
|
+
fail "dispatch missing taskType guard"
|
|
67
53
|
fi
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
echo "→ 4. dispatch delegates subphase tracking to orchestrator"
|
|
71
|
-
if grep -Fq "subphases[]" "$DISPATCH" || grep -Fq 'subphases\[\]' "$DISPATCH"; then
|
|
72
|
-
pass "dispatch documents state.phases[3].subphases[] report"
|
|
54
|
+
if grep -Fq "create-component" "$DISPATCH" && grep -Fq "create-ui-component" "$DISPATCH"; then
|
|
55
|
+
pass "dispatch documents dual-name resolution (create-component / create-ui-component)"
|
|
73
56
|
else
|
|
74
|
-
fail "dispatch missing
|
|
57
|
+
fail "dispatch missing dual-name plugin resolution"
|
|
75
58
|
fi
|
|
76
59
|
|
|
77
|
-
|
|
78
|
-
|
|
60
|
+
echo ""
|
|
61
|
+
echo "→ 4. dispatch layer owns subphase state + phase-tracker"
|
|
62
|
+
if grep -Fq 'subphases[]' "$DISPATCH" && grep -Fq "phase-tracker" "$DISPATCH"; then
|
|
63
|
+
pass "dispatch documents state.phases[3].subphases[] + phase-tracker"
|
|
79
64
|
else
|
|
80
|
-
fail "dispatch missing phase-tracker
|
|
65
|
+
fail "dispatch missing subphases[]/phase-tracker documentation"
|
|
81
66
|
fi
|
|
82
67
|
|
|
83
68
|
echo ""
|
|
@@ -87,7 +72,6 @@ if grep -Fq "<!-- progress-contract: applied -->" "$PHASE3"; then
|
|
|
87
72
|
else
|
|
88
73
|
fail "Phase 3 missing the adoption marker"
|
|
89
74
|
fi
|
|
90
|
-
|
|
91
75
|
if grep -Fq "<!-- progress-contract: applied -->" "$PHASE0"; then
|
|
92
76
|
pass "Phase 0 carries the adoption marker"
|
|
93
77
|
else
|
|
@@ -95,28 +79,33 @@ else
|
|
|
95
79
|
fi
|
|
96
80
|
|
|
97
81
|
echo ""
|
|
98
|
-
echo "→ 6. Phase 3 emits dispatch progress
|
|
99
|
-
if grep -qE '→ dispatching
|
|
100
|
-
pass "Phase 3 documents '→ dispatching
|
|
82
|
+
echo "→ 6. Phase 3 emits the plugin dispatch progress line"
|
|
83
|
+
if grep -qE '→ dispatching create-component' "$PHASE3"; then
|
|
84
|
+
pass "Phase 3 documents '→ dispatching create-component <name>' emission"
|
|
101
85
|
else
|
|
102
86
|
fail "Phase 3 missing dispatch progress line"
|
|
103
87
|
fi
|
|
104
88
|
|
|
105
89
|
echo ""
|
|
106
|
-
echo "→ 7. dispatch has failure + retry semantics
|
|
107
|
-
if grep -Fq "retryCount" "$DISPATCH"
|
|
108
|
-
pass "dispatch documents retryCount
|
|
90
|
+
echo "→ 7. dispatch has failure + retry semantics"
|
|
91
|
+
if grep -Fq "retryCount" "$DISPATCH"; then
|
|
92
|
+
pass "dispatch documents retryCount"
|
|
109
93
|
else
|
|
110
|
-
fail "dispatch missing
|
|
94
|
+
fail "dispatch missing retryCount documentation"
|
|
111
95
|
fi
|
|
112
96
|
|
|
113
97
|
echo ""
|
|
114
|
-
echo "→ 8. dispatch covers multi-repo
|
|
115
|
-
if grep -Fq
|
|
98
|
+
echo "→ 8. dispatch covers multi-repo + intentional cross-CLI divergence"
|
|
99
|
+
if grep -Fq 'state.projects[]' "$DISPATCH"; then
|
|
116
100
|
pass "dispatch documents multi-repo report"
|
|
117
101
|
else
|
|
118
102
|
fail "dispatch missing multi-repo report paragraph"
|
|
119
103
|
fi
|
|
104
|
+
if grep -Fiq "Copilot" "$DISPATCH"; then
|
|
105
|
+
pass "dispatch documents the Copilot cross-CLI divergence"
|
|
106
|
+
else
|
|
107
|
+
fail "dispatch missing cross-CLI divergence note"
|
|
108
|
+
fi
|
|
120
109
|
|
|
121
110
|
echo ""
|
|
122
111
|
echo "══ figma-dispatch smoke: $PASS passed, $FAIL failed ══"
|
|
@@ -62,7 +62,7 @@ else
|
|
|
62
62
|
fi
|
|
63
63
|
|
|
64
64
|
# 4. picker-contract documents the hook template + the phase-enforced caveat
|
|
65
|
-
PC="$ROOT/pipeline/
|
|
65
|
+
PC="$ROOT/pipeline/multi-agent-refs/picker-contract.md"
|
|
66
66
|
if grep -q "claude-hooks.json" "$PC" && grep -q "phase-enforced" "$PC"; then
|
|
67
67
|
pass "picker-contract references the template + the phase-enforced gates caveat"
|
|
68
68
|
else
|
|
@@ -16,13 +16,13 @@ set -euo pipefail
|
|
|
16
16
|
|
|
17
17
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
18
18
|
ROOT="$(cd "$HERE/../.." && pwd)"
|
|
19
|
-
CMD="$ROOT/pipeline/commands/multi-agent/generate.md"
|
|
20
|
-
REF="$ROOT/pipeline/
|
|
19
|
+
CMD="$ROOT/pipeline/commands/multi-agent/generate/SKILL.md"
|
|
20
|
+
REF="$ROOT/pipeline/multi-agent-refs/generate-issue.md"
|
|
21
21
|
SKILL="$ROOT/pipeline/skills/shared/core/multi-agent-generate/SKILL.md"
|
|
22
|
-
DISPATCHER="$ROOT/pipeline/commands/multi-agent.md"
|
|
23
|
-
CONTRACT="$ROOT/pipeline/
|
|
24
|
-
SYNC="$ROOT/pipeline/commands/multi-agent/sync.md"
|
|
25
|
-
HELP="$ROOT/pipeline/commands/multi-agent/help.md"
|
|
22
|
+
DISPATCHER="$ROOT/pipeline/commands/multi-agent/SKILL.md"
|
|
23
|
+
CONTRACT="$ROOT/pipeline/multi-agent-refs/cross-cli-contract.md"
|
|
24
|
+
SYNC="$ROOT/pipeline/commands/multi-agent/sync/SKILL.md"
|
|
25
|
+
HELP="$ROOT/pipeline/commands/multi-agent/help/SKILL.md"
|
|
26
26
|
|
|
27
27
|
PASS=0
|
|
28
28
|
FAIL=0
|
|
@@ -34,7 +34,7 @@ for f in "$CMD" "$REF" "$SKILL"; do
|
|
|
34
34
|
if [ -f "$f" ]; then pass "exists: ${f#$ROOT/}"; else fail "missing: ${f#$ROOT/}"; fi
|
|
35
35
|
done
|
|
36
36
|
# old split commands must be gone
|
|
37
|
-
for f in "$ROOT/pipeline/commands/multi-agent/generate-task.md" "$ROOT/pipeline/commands/multi-agent/generate-bug.md"; do
|
|
37
|
+
for f in "$ROOT/pipeline/commands/multi-agent/generate-task/SKILL.md" "$ROOT/pipeline/commands/multi-agent/generate-bug/SKILL.md"; do
|
|
38
38
|
if [ -f "$f" ]; then fail "stale file present: ${f#$ROOT/}"; else pass "removed: ${f##*/}"; fi
|
|
39
39
|
done
|
|
40
40
|
[ "$FAIL" -eq 0 ] || { echo "══ generate-issue smoke: $PASS passed, $FAIL failed ══"; exit 1; }
|
|
@@ -90,7 +90,7 @@ grep -Fqi "swagger" "$REF" && pass "swagger context present" || fail "swagger co
|
|
|
90
90
|
echo ""
|
|
91
91
|
echo "→ 8. registration + count consistency (36)"
|
|
92
92
|
grep -Fq '| `generate ' "$DISPATCHER" && pass "dispatcher routing: generate" || fail "dispatcher routing missing: generate"
|
|
93
|
-
grep -Fq "generate.md" "$DISPATCHER" && pass "dispatcher loading row" || fail "dispatcher loading row missing"
|
|
93
|
+
grep -Fq "generate/SKILL.md" "$DISPATCHER" && pass "dispatcher loading row" || fail "dispatcher loading row missing"
|
|
94
94
|
grep -Fq "## 1. Command Inventory (36 commands)" "$CONTRACT" && pass "contract count = 36" || fail "contract count wrong"
|
|
95
95
|
grep -Eq '(^|[ ,])generate, help([ ,]|$)' "$CONTRACT" && pass "contract list has generate" || fail "contract list missing generate"
|
|
96
96
|
grep -Fq "**36 commands are synced**" "$SYNC" && pass "sync count = 36" || fail "sync count wrong"
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
set -euo pipefail
|
|
13
13
|
|
|
14
14
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
15
|
-
OPS="$ROOT/pipeline/
|
|
16
|
-
LOGFMT="$ROOT/pipeline/
|
|
17
|
-
RESUME="$ROOT/pipeline/commands/multi-agent/resume.md"
|
|
15
|
+
OPS="$ROOT/pipeline/multi-agent-refs/phases/operations.md"
|
|
16
|
+
LOGFMT="$ROOT/pipeline/multi-agent-refs/phases/log-format.md"
|
|
17
|
+
RESUME="$ROOT/pipeline/commands/multi-agent/resume/SKILL.md"
|
|
18
18
|
|
|
19
19
|
pass=0
|
|
20
20
|
fail=0
|
|
@@ -16,8 +16,8 @@ set -uo pipefail
|
|
|
16
16
|
# machines that haven't re-run install.js after a pipeline update.
|
|
17
17
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
18
18
|
ROOT="$(cd "$HERE/../.." && pwd)"
|
|
19
|
-
PHASE0="$ROOT/pipeline/
|
|
20
|
-
SETUP="$ROOT/pipeline/commands/multi-agent/setup.md"
|
|
19
|
+
PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
|
|
20
|
+
SETUP="$ROOT/pipeline/commands/multi-agent/setup/SKILL.md"
|
|
21
21
|
PREFS_SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
22
22
|
|
|
23
23
|
PASS=0; FAIL=0
|
|
@@ -14,7 +14,7 @@ set -uo pipefail
|
|
|
14
14
|
|
|
15
15
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
16
16
|
CLASSIFY="$ROOT/pipeline/lib/classify-intent.sh"
|
|
17
|
-
PHASE0="$ROOT/pipeline/
|
|
17
|
+
PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
|
|
18
18
|
PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
19
19
|
|
|
20
20
|
PASS=0
|
|
@@ -19,8 +19,8 @@ cd "$PIPELINE_ROOT"
|
|
|
19
19
|
|
|
20
20
|
FAIL=0
|
|
21
21
|
|
|
22
|
-
TEMPLATE="
|
|
23
|
-
PHASE7="
|
|
22
|
+
TEMPLATE="multi-agent-refs/channels/issue-comment.md"
|
|
23
|
+
PHASE7="multi-agent-refs/phases/phase-7-report.md"
|
|
24
24
|
|
|
25
25
|
# 1. Template file exists.
|
|
26
26
|
if [ ! -f "$TEMPLATE" ]; then
|
|
@@ -14,9 +14,9 @@ set -euo pipefail
|
|
|
14
14
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
15
15
|
ROOT="$(cd "$HERE/../.." && pwd)"
|
|
16
16
|
PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
|
|
17
|
-
PHASE0="$ROOT/pipeline/
|
|
18
|
-
PHASE7="$ROOT/pipeline/
|
|
19
|
-
TRIAD="$ROOT/pipeline/
|
|
17
|
+
PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
|
|
18
|
+
PHASE7="$ROOT/pipeline/multi-agent-refs/phases/phase-7-report.md"
|
|
19
|
+
TRIAD="$ROOT/pipeline/multi-agent-refs/issue-jira-triad.md"
|
|
20
20
|
|
|
21
21
|
PASS=0
|
|
22
22
|
FAIL=0
|
|
@@ -59,7 +59,7 @@ fi
|
|
|
59
59
|
|
|
60
60
|
echo ""
|
|
61
61
|
echo "→ 4. Channels Wiki adapter documents wiki → Jira auto-link"
|
|
62
|
-
CHANNELS="$(cd "$HERE/../.." && pwd)/pipeline/commands/multi-agent/channels.md"
|
|
62
|
+
CHANNELS="$(cd "$HERE/../.." && pwd)/pipeline/commands/multi-agent/channels/SKILL.md"
|
|
63
63
|
if grep -Fq "Wiki → Jira" "$CHANNELS" || grep -Fq "wiki summary to Jira" "$CHANNELS" \
|
|
64
64
|
|| grep -Fq "Wiki → Jira comment" "$CHANNELS" || grep -Fq "wiki pages" "$CHANNELS"; then
|
|
65
65
|
pass "channels.md documents the wiki → Jira report"
|
|
@@ -42,7 +42,7 @@ declare -a FORBIDDEN_PHRASES=(
|
|
|
42
42
|
# (it's the rule source), CHANGELOG (history), STABILITY-FIX-PLAN (history),
|
|
43
43
|
# and feedback memory (notes the rule, can quote it).
|
|
44
44
|
TARGETS=(
|
|
45
|
-
"
|
|
45
|
+
"multi-agent-refs/phases/*.md"
|
|
46
46
|
"commands/multi-agent/*.md"
|
|
47
47
|
"skills/shared/core/multi-agent/SKILL.md"
|
|
48
48
|
)
|
|
@@ -51,10 +51,10 @@ TARGETS=(
|
|
|
51
51
|
# setup.md (Step 0 sets the language and explains why label stays English),
|
|
52
52
|
# refs/picker-contract.md (UI contract spec).
|
|
53
53
|
declare -a ALLOWLIST=(
|
|
54
|
-
"
|
|
55
|
-
"commands/multi-agent/language.md"
|
|
56
|
-
"commands/multi-agent/setup.md"
|
|
57
|
-
"
|
|
54
|
+
"multi-agent-refs/rules.md"
|
|
55
|
+
"commands/multi-agent/language/SKILL.md"
|
|
56
|
+
"commands/multi-agent/setup/SKILL.md"
|
|
57
|
+
"multi-agent-refs/picker-contract.md"
|
|
58
58
|
)
|
|
59
59
|
|
|
60
60
|
is_allowlisted() {
|
|
@@ -83,7 +83,7 @@ for pattern in "${FORBIDDEN_PHRASES[@]}"; do
|
|
|
83
83
|
done
|
|
84
84
|
|
|
85
85
|
# Positive assertion: rules.md must contain the per-field language matrix.
|
|
86
|
-
RULES="
|
|
86
|
+
RULES="multi-agent-refs/rules.md"
|
|
87
87
|
if [ -f "pipeline/$RULES" ]; then
|
|
88
88
|
if ! grep -q "Per-field language matrix" "pipeline/$RULES"; then
|
|
89
89
|
echo "FAIL [smoke-language-axis]: $RULES must contain the 'Per-field language matrix' section"
|
|
@@ -75,9 +75,9 @@ echo "$briefA" | grep -q 'repoB only fact' && fail "repoA brief leaked repoB con
|
|
|
75
75
|
|
|
76
76
|
echo ""
|
|
77
77
|
echo "→ 5. wiring + docs"
|
|
78
|
-
grep -q 'learnings-ledger.mjs' "$ROOT/pipeline/
|
|
79
|
-
grep -q 'learnings-ledger.mjs' "$ROOT/pipeline/
|
|
80
|
-
grep -q 'learnings-ledger.mjs' "$ROOT/pipeline/
|
|
78
|
+
grep -q 'learnings-ledger.mjs' "$ROOT/pipeline/multi-agent-refs/phases/phase-1-analysis.md" && pass "phase-1 injects the brief" || fail "phase-1 wiring missing"
|
|
79
|
+
grep -q 'learnings-ledger.mjs' "$ROOT/pipeline/multi-agent-refs/phases/phase-4-review.md" && pass "phase-4 triage injects rejected prefs" || fail "phase-4 wiring missing"
|
|
80
|
+
grep -q 'learnings-ledger.mjs' "$ROOT/pipeline/multi-agent-refs/phases/phase-7-report.md" && pass "phase-7 distills the ledger" || fail "phase-7 wiring missing"
|
|
81
81
|
grep -q '"learningsLedger"' "$ROOT/pipeline/schemas/prefs.schema.json" && pass "prefs exposes learningsLedger" || fail "prefs toggle missing"
|
|
82
82
|
[ -f "$ROOT/pipeline/schemas/learnings-ledger.schema.json" ] && pass "ledger schema present" || fail "ledger schema missing"
|
|
83
83
|
|