@sdd-method/sdd-cli 1.42.0 → 1.44.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/NOTICE +1 -1
- package/README.md +16 -70
- package/dist/author-bin.d.ts +3 -0
- package/dist/author-bin.d.ts.map +1 -0
- package/dist/author-bin.js +8 -0
- package/dist/author-bin.js.map +1 -0
- package/dist/author-program.d.ts +8 -0
- package/dist/author-program.d.ts.map +1 -0
- package/dist/author-program.js +99 -0
- package/dist/author-program.js.map +1 -0
- package/dist/cli.js +0 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-harness.d.ts +11 -8
- package/dist/lib/agent-harness.d.ts.map +1 -1
- package/dist/lib/agent-harness.js +17 -8
- package/dist/lib/agent-harness.js.map +1 -1
- package/dist/lib/briefing/index.d.ts +1 -1
- package/dist/lib/briefing/index.d.ts.map +1 -1
- package/dist/lib/briefing/index.js +1 -1
- package/dist/lib/briefing/index.js.map +1 -1
- package/dist/lib/briefing/render.d.ts +18 -1
- package/dist/lib/briefing/render.d.ts.map +1 -1
- package/dist/lib/briefing/render.js +17 -8
- package/dist/lib/briefing/render.js.map +1 -1
- package/dist/lib/catalogue/aggregate.js +6 -6
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/aggregation-manifest-loader.js +4 -4
- package/dist/lib/catalogue/aggregation-manifest-loader.js.map +1 -1
- package/dist/lib/catalogue/build.js +1 -1
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/c4-components.js +1 -1
- package/dist/lib/catalogue/builders/c4-components.js.map +1 -1
- package/dist/lib/catalogue/builders/c4-containers.d.ts +1 -1
- package/dist/lib/catalogue/builders/c4-containers.js +1 -1
- package/dist/lib/catalogue/builders/c4-l1-candidates.js +1 -1
- package/dist/lib/catalogue/builders/c4-l1-candidates.js.map +1 -1
- package/dist/lib/catalogue/builders/container-dependency.d.ts +1 -1
- package/dist/lib/catalogue/builders/container-dependency.js +1 -1
- package/dist/lib/catalogue/builders/data-store-mapping.js +1 -1
- package/dist/lib/catalogue/builders/data-store-mapping.js.map +1 -1
- package/dist/lib/catalogue/builders/screen-tree.d.ts +1 -1
- package/dist/lib/catalogue/builders/screen-tree.js +1 -1
- package/dist/lib/catalogue/contract-path-resolution.d.ts +2 -2
- package/dist/lib/catalogue/contract-path-resolution.js +2 -2
- package/dist/lib/catalogue/dedupe-keyed-tables.d.ts +1 -1
- package/dist/lib/catalogue/dedupe-keyed-tables.js +0 -0
- package/dist/lib/catalogue/dedupe-keyed-tables.js.map +1 -1
- package/dist/lib/catalogue/freshness.d.ts +1 -0
- package/dist/lib/catalogue/freshness.d.ts.map +1 -1
- package/dist/lib/catalogue/freshness.js +4 -3
- package/dist/lib/catalogue/freshness.js.map +1 -1
- package/dist/lib/catalogue/scores-coverage.js +1 -1
- package/dist/lib/catalogue/scores-coverage.js.map +1 -1
- package/dist/lib/catalogue/service-contract-aliases-loader.d.ts +1 -1
- package/dist/lib/catalogue/service-contract-aliases-loader.js +1 -1
- package/dist/lib/ci-binding/index.d.ts.map +1 -1
- package/dist/lib/ci-binding/index.js +44 -5
- package/dist/lib/ci-binding/index.js.map +1 -1
- package/dist/lib/ci-binding/module.d.ts +10 -0
- package/dist/lib/ci-binding/module.d.ts.map +1 -1
- package/dist/lib/ci-binding/module.js +74 -2
- package/dist/lib/ci-binding/module.js.map +1 -1
- package/dist/lib/context-pull/index.d.ts +15 -9
- package/dist/lib/context-pull/index.d.ts.map +1 -1
- package/dist/lib/context-pull/index.js +79 -39
- package/dist/lib/context-pull/index.js.map +1 -1
- package/dist/lib/context-pull/retired-mcp-setup.d.ts +7 -0
- package/dist/lib/context-pull/retired-mcp-setup.d.ts.map +1 -0
- package/dist/lib/context-pull/retired-mcp-setup.js +7 -0
- package/dist/lib/context-pull/retired-mcp-setup.js.map +1 -0
- package/dist/lib/hooks-seed/entries.d.ts +41 -2
- package/dist/lib/hooks-seed/entries.d.ts.map +1 -1
- package/dist/lib/hooks-seed/entries.js +55 -4
- package/dist/lib/hooks-seed/entries.js.map +1 -1
- package/dist/lib/hooks-seed/index.d.ts +5 -9
- package/dist/lib/hooks-seed/index.d.ts.map +1 -1
- package/dist/lib/hooks-seed/index.js +4 -7
- package/dist/lib/hooks-seed/index.js.map +1 -1
- package/dist/lib/hooks-seed/merge.d.ts +7 -0
- package/dist/lib/hooks-seed/merge.d.ts.map +1 -1
- package/dist/lib/hooks-seed/merge.js +31 -0
- package/dist/lib/hooks-seed/merge.js.map +1 -1
- package/dist/lib/init/app.d.ts +0 -1
- package/dist/lib/init/app.d.ts.map +1 -1
- package/dist/lib/init/app.js +0 -7
- package/dist/lib/init/app.js.map +1 -1
- package/dist/lib/init/ci-workflow.js +26 -2
- package/dist/lib/init/ci-workflow.js.map +1 -1
- package/dist/lib/init/integration.d.ts +0 -1
- package/dist/lib/init/integration.d.ts.map +1 -1
- package/dist/lib/init/integration.js +0 -7
- package/dist/lib/init/integration.js.map +1 -1
- package/dist/lib/init/platform.d.ts +2 -10
- package/dist/lib/init/platform.d.ts.map +1 -1
- package/dist/lib/init/platform.js +7 -13
- package/dist/lib/init/platform.js.map +1 -1
- package/dist/lib/lock-file.d.ts +7 -0
- package/dist/lib/lock-file.d.ts.map +1 -1
- package/dist/lib/lock-file.js +10 -0
- package/dist/lib/lock-file.js.map +1 -1
- package/dist/lib/pack/builder.d.ts +14 -0
- package/dist/lib/pack/builder.d.ts.map +1 -1
- package/dist/lib/pack/builder.js +56 -4
- package/dist/lib/pack/builder.js.map +1 -1
- package/dist/lib/pack/index.d.ts +3 -1
- package/dist/lib/pack/index.d.ts.map +1 -1
- package/dist/lib/pack/index.js +1 -0
- package/dist/lib/pack/index.js.map +1 -1
- package/dist/lib/pack/publish-transform.js +1 -1
- package/dist/lib/pack/publish-transform.js.map +1 -1
- package/dist/lib/plan/index.d.ts.map +1 -1
- package/dist/lib/plan/index.js +4 -4
- package/dist/lib/plan/index.js.map +1 -1
- package/dist/lib/plan/read-sdd.js +1 -1
- package/dist/lib/plan/render-template.d.ts +8 -0
- package/dist/lib/plan/render-template.d.ts.map +1 -1
- package/dist/lib/plan/render-template.js +27 -3
- package/dist/lib/plan/render-template.js.map +1 -1
- package/dist/lib/sdd-index/repo-config.d.ts +1 -1
- package/dist/lib/sdd-index/repo-config.js +1 -1
- package/dist/lib/{mcp/reader.d.ts → sdd-reader.d.ts} +3 -5
- package/dist/lib/sdd-reader.d.ts.map +1 -0
- package/dist/lib/{mcp/reader.js → sdd-reader.js} +3 -5
- package/dist/lib/sdd-reader.js.map +1 -0
- package/dist/lib/snapshot/targets.js +1 -1
- package/dist/lib/snapshot/targets.js.map +1 -1
- package/dist/lib/sync/briefing-merge.d.ts +1 -1
- package/dist/lib/sync/briefing-merge.d.ts.map +1 -1
- package/dist/lib/sync/briefing-merge.js +50 -34
- package/dist/lib/sync/briefing-merge.js.map +1 -1
- package/dist/lib/sync/diff.js +1 -1
- package/dist/lib/sync/diff.js.map +1 -1
- package/dist/lib/sync/index.d.ts +14 -6
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +46 -72
- package/dist/lib/sync/index.js.map +1 -1
- package/dist/lib/sync/settings-merge.d.ts +29 -49
- package/dist/lib/sync/settings-merge.d.ts.map +1 -1
- package/dist/lib/sync/settings-merge.js +71 -163
- package/dist/lib/sync/settings-merge.js.map +1 -1
- package/dist/lib/validate/plan.d.ts +10 -1
- package/dist/lib/validate/plan.d.ts.map +1 -1
- package/dist/lib/validate/plan.js +6 -3
- package/dist/lib/validate/plan.js.map +1 -1
- package/dist/maintain-program.d.ts.map +1 -1
- package/dist/maintain-program.js +6 -3
- package/dist/maintain-program.js.map +1 -1
- package/dist/maintain-version.json +2 -2
- package/dist/verbs/catalogue-check.d.ts +10 -0
- package/dist/verbs/catalogue-check.d.ts.map +1 -0
- package/dist/verbs/catalogue-check.js +28 -0
- package/dist/verbs/catalogue-check.js.map +1 -0
- package/dist/verbs/catalogue.d.ts.map +1 -1
- package/dist/verbs/catalogue.js +2 -0
- package/dist/verbs/catalogue.js.map +1 -1
- package/dist/verbs/context.js +1 -1
- package/dist/verbs/context.js.map +1 -1
- package/dist/verbs/pack-build.d.ts.map +1 -1
- package/dist/verbs/pack-build.js +22 -0
- package/dist/verbs/pack-build.js.map +1 -1
- package/dist/verbs/plan.js +1 -1
- package/dist/verbs/plan.js.map +1 -1
- package/dist/verbs/sync.d.ts.map +1 -1
- package/dist/verbs/sync.js +17 -0
- package/dist/verbs/sync.js.map +1 -1
- package/dist/verbs/validate.d.ts.map +1 -1
- package/dist/verbs/validate.js +6 -1
- package/dist/verbs/validate.js.map +1 -1
- package/dist/verify-program.js +2 -2
- package/dist/verify-program.js.map +1 -1
- package/dist/verify-version.json +2 -2
- package/package.json +5 -13
- package/scripts/README.md +1 -1
- package/scripts/author-acceptance.mjs +170 -0
- package/scripts/author-version.json +4 -0
- package/scripts/build-persona-package.mjs +46 -13
- package/scripts/maintain-acceptance.mjs +3 -2
- package/scripts/maintain-version.json +2 -2
- package/scripts/publish-release.mjs +117 -0
- package/scripts/release-gate.mjs +19 -8
- package/scripts/verify-version.json +2 -2
- package/scripts/vitest-tmpdir.mjs +26 -0
- package/dist/lib/catalogue/advisory-container-type.d.ts +0 -13
- package/dist/lib/catalogue/advisory-container-type.d.ts.map +0 -1
- package/dist/lib/catalogue/advisory-container-type.js +0 -56
- package/dist/lib/catalogue/advisory-container-type.js.map +0 -1
- package/dist/lib/hooks-seed/copilot.d.ts +0 -93
- package/dist/lib/hooks-seed/copilot.d.ts.map +0 -1
- package/dist/lib/hooks-seed/copilot.js +0 -167
- package/dist/lib/hooks-seed/copilot.js.map +0 -1
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts +0 -12
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts.map +0 -1
- package/dist/lib/hooks-seed/lifecycle-mapping.js +0 -28
- package/dist/lib/hooks-seed/lifecycle-mapping.js.map +0 -1
- package/dist/lib/mcp/build-info.d.ts +0 -7
- package/dist/lib/mcp/build-info.d.ts.map +0 -1
- package/dist/lib/mcp/build-info.js +0 -10
- package/dist/lib/mcp/build-info.js.map +0 -1
- package/dist/lib/mcp/errors.d.ts +0 -23
- package/dist/lib/mcp/errors.d.ts.map +0 -1
- package/dist/lib/mcp/errors.js +0 -25
- package/dist/lib/mcp/errors.js.map +0 -1
- package/dist/lib/mcp/parse/frontmatter.d.ts +0 -22
- package/dist/lib/mcp/parse/frontmatter.d.ts.map +0 -1
- package/dist/lib/mcp/parse/frontmatter.js +0 -49
- package/dist/lib/mcp/parse/frontmatter.js.map +0 -1
- package/dist/lib/mcp/parse/gate-registry.d.ts +0 -78
- package/dist/lib/mcp/parse/gate-registry.d.ts.map +0 -1
- package/dist/lib/mcp/parse/gate-registry.js +0 -164
- package/dist/lib/mcp/parse/gate-registry.js.map +0 -1
- package/dist/lib/mcp/parse/paths.d.ts +0 -21
- package/dist/lib/mcp/parse/paths.d.ts.map +0 -1
- package/dist/lib/mcp/parse/paths.js +0 -84
- package/dist/lib/mcp/parse/paths.js.map +0 -1
- package/dist/lib/mcp/pin/errors.d.ts +0 -11
- package/dist/lib/mcp/pin/errors.d.ts.map +0 -1
- package/dist/lib/mcp/pin/errors.js +0 -32
- package/dist/lib/mcp/pin/errors.js.map +0 -1
- package/dist/lib/mcp/pin/index.d.ts +0 -18
- package/dist/lib/mcp/pin/index.d.ts.map +0 -1
- package/dist/lib/mcp/pin/index.js +0 -29
- package/dist/lib/mcp/pin/index.js.map +0 -1
- package/dist/lib/mcp/pin/read.d.ts +0 -24
- package/dist/lib/mcp/pin/read.d.ts.map +0 -1
- package/dist/lib/mcp/pin/read.js +0 -64
- package/dist/lib/mcp/pin/read.js.map +0 -1
- package/dist/lib/mcp/pin/resolve.d.ts +0 -12
- package/dist/lib/mcp/pin/resolve.d.ts.map +0 -1
- package/dist/lib/mcp/pin/resolve.js +0 -33
- package/dist/lib/mcp/pin/resolve.js.map +0 -1
- package/dist/lib/mcp/prompts/evaluate-cascade.d.ts +0 -14
- package/dist/lib/mcp/prompts/evaluate-cascade.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/evaluate-cascade.js +0 -147
- package/dist/lib/mcp/prompts/evaluate-cascade.js.map +0 -1
- package/dist/lib/mcp/prompts/index.d.ts +0 -9
- package/dist/lib/mcp/prompts/index.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/index.js +0 -23
- package/dist/lib/mcp/prompts/index.js.map +0 -1
- package/dist/lib/mcp/prompts/propose-adr.d.ts +0 -12
- package/dist/lib/mcp/prompts/propose-adr.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/propose-adr.js +0 -100
- package/dist/lib/mcp/prompts/propose-adr.js.map +0 -1
- package/dist/lib/mcp/prompts/review-data-model-change.d.ts +0 -10
- package/dist/lib/mcp/prompts/review-data-model-change.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/review-data-model-change.js +0 -134
- package/dist/lib/mcp/prompts/review-data-model-change.js.map +0 -1
- package/dist/lib/mcp/prompts/template-loader.d.ts +0 -29
- package/dist/lib/mcp/prompts/template-loader.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/template-loader.js +0 -44
- package/dist/lib/mcp/prompts/template-loader.js.map +0 -1
- package/dist/lib/mcp/prompts/types.d.ts +0 -17
- package/dist/lib/mcp/prompts/types.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/types.js +0 -10
- package/dist/lib/mcp/prompts/types.js.map +0 -1
- package/dist/lib/mcp/prompts/write-capability-spec.d.ts +0 -8
- package/dist/lib/mcp/prompts/write-capability-spec.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/write-capability-spec.js +0 -85
- package/dist/lib/mcp/prompts/write-capability-spec.js.map +0 -1
- package/dist/lib/mcp/prompts/write-feature-spec.d.ts +0 -10
- package/dist/lib/mcp/prompts/write-feature-spec.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/write-feature-spec.js +0 -94
- package/dist/lib/mcp/prompts/write-feature-spec.js.map +0 -1
- package/dist/lib/mcp/prompts/write-work-order.d.ts +0 -7
- package/dist/lib/mcp/prompts/write-work-order.d.ts.map +0 -1
- package/dist/lib/mcp/prompts/write-work-order.js +0 -69
- package/dist/lib/mcp/prompts/write-work-order.js.map +0 -1
- package/dist/lib/mcp/reader.d.ts.map +0 -1
- package/dist/lib/mcp/reader.js.map +0 -1
- package/dist/lib/mcp/resources/adrs.d.ts +0 -3
- package/dist/lib/mcp/resources/adrs.d.ts.map +0 -1
- package/dist/lib/mcp/resources/adrs.js +0 -97
- package/dist/lib/mcp/resources/adrs.js.map +0 -1
- package/dist/lib/mcp/resources/catalogue.d.ts +0 -19
- package/dist/lib/mcp/resources/catalogue.d.ts.map +0 -1
- package/dist/lib/mcp/resources/catalogue.js +0 -240
- package/dist/lib/mcp/resources/catalogue.js.map +0 -1
- package/dist/lib/mcp/resources/data-models.d.ts +0 -14
- package/dist/lib/mcp/resources/data-models.d.ts.map +0 -1
- package/dist/lib/mcp/resources/data-models.js +0 -81
- package/dist/lib/mcp/resources/data-models.js.map +0 -1
- package/dist/lib/mcp/resources/gates.d.ts +0 -9
- package/dist/lib/mcp/resources/gates.d.ts.map +0 -1
- package/dist/lib/mcp/resources/gates.js +0 -76
- package/dist/lib/mcp/resources/gates.js.map +0 -1
- package/dist/lib/mcp/resources/glossary.d.ts +0 -16
- package/dist/lib/mcp/resources/glossary.d.ts.map +0 -1
- package/dist/lib/mcp/resources/glossary.js +0 -87
- package/dist/lib/mcp/resources/glossary.js.map +0 -1
- package/dist/lib/mcp/resources/specs.d.ts +0 -23
- package/dist/lib/mcp/resources/specs.d.ts.map +0 -1
- package/dist/lib/mcp/resources/specs.js +0 -151
- package/dist/lib/mcp/resources/specs.js.map +0 -1
- package/dist/lib/mcp/resources/version.d.ts +0 -3
- package/dist/lib/mcp/resources/version.d.ts.map +0 -1
- package/dist/lib/mcp/resources/version.js +0 -45
- package/dist/lib/mcp/resources/version.js.map +0 -1
- package/dist/lib/mcp/server.d.ts +0 -29
- package/dist/lib/mcp/server.d.ts.map +0 -1
- package/dist/lib/mcp/server.js +0 -108
- package/dist/lib/mcp/server.js.map +0 -1
- package/dist/lib/mcp/tools/cascade-impact.d.ts +0 -22
- package/dist/lib/mcp/tools/cascade-impact.d.ts.map +0 -1
- package/dist/lib/mcp/tools/cascade-impact.js +0 -53
- package/dist/lib/mcp/tools/cascade-impact.js.map +0 -1
- package/dist/lib/mcp/tools/catalogue.d.ts +0 -16
- package/dist/lib/mcp/tools/catalogue.d.ts.map +0 -1
- package/dist/lib/mcp/tools/catalogue.js +0 -268
- package/dist/lib/mcp/tools/catalogue.js.map +0 -1
- package/dist/lib/mcp/tools/find-consumers-of-contract.d.ts +0 -7
- package/dist/lib/mcp/tools/find-consumers-of-contract.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-consumers-of-contract.js +0 -70
- package/dist/lib/mcp/tools/find-consumers-of-contract.js.map +0 -1
- package/dist/lib/mcp/tools/find-consumers.d.ts +0 -7
- package/dist/lib/mcp/tools/find-consumers.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-consumers.js +0 -52
- package/dist/lib/mcp/tools/find-consumers.js.map +0 -1
- package/dist/lib/mcp/tools/find-dependencies.d.ts +0 -8
- package/dist/lib/mcp/tools/find-dependencies.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-dependencies.js +0 -101
- package/dist/lib/mcp/tools/find-dependencies.js.map +0 -1
- package/dist/lib/mcp/tools/find-dependents.d.ts +0 -8
- package/dist/lib/mcp/tools/find-dependents.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-dependents.js +0 -89
- package/dist/lib/mcp/tools/find-dependents.js.map +0 -1
- package/dist/lib/mcp/tools/find-producers.d.ts +0 -8
- package/dist/lib/mcp/tools/find-producers.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-producers.js +0 -57
- package/dist/lib/mcp/tools/find-producers.js.map +0 -1
- package/dist/lib/mcp/tools/find-related-specs.d.ts +0 -9
- package/dist/lib/mcp/tools/find-related-specs.d.ts.map +0 -1
- package/dist/lib/mcp/tools/find-related-specs.js +0 -92
- package/dist/lib/mcp/tools/find-related-specs.js.map +0 -1
- package/dist/lib/mcp/tools/list-adrs.d.ts +0 -3
- package/dist/lib/mcp/tools/list-adrs.d.ts.map +0 -1
- package/dist/lib/mcp/tools/list-adrs.js +0 -73
- package/dist/lib/mcp/tools/list-adrs.js.map +0 -1
- package/dist/lib/mcp/tools/query-gate-status.d.ts +0 -3
- package/dist/lib/mcp/tools/query-gate-status.d.ts.map +0 -1
- package/dist/lib/mcp/tools/query-gate-status.js +0 -68
- package/dist/lib/mcp/tools/query-gate-status.js.map +0 -1
- package/dist/lib/mcp/tools/search-specs.d.ts +0 -12
- package/dist/lib/mcp/tools/search-specs.d.ts.map +0 -1
- package/dist/lib/mcp/tools/search-specs.js +0 -151
- package/dist/lib/mcp/tools/search-specs.js.map +0 -1
- package/dist/lib/mcp/workspace.d.ts +0 -31
- package/dist/lib/mcp/workspace.d.ts.map +0 -1
- package/dist/lib/mcp/workspace.js +0 -146
- package/dist/lib/mcp/workspace.js.map +0 -1
- package/dist/lib/mcp-seed/entries.d.ts +0 -32
- package/dist/lib/mcp-seed/entries.d.ts.map +0 -1
- package/dist/lib/mcp-seed/entries.js +0 -14
- package/dist/lib/mcp-seed/entries.js.map +0 -1
- package/dist/lib/mcp-seed/index.d.ts +0 -36
- package/dist/lib/mcp-seed/index.d.ts.map +0 -1
- package/dist/lib/mcp-seed/index.js +0 -28
- package/dist/lib/mcp-seed/index.js.map +0 -1
- package/dist/lib/mcp-seed/merge.d.ts +0 -34
- package/dist/lib/mcp-seed/merge.d.ts.map +0 -1
- package/dist/lib/mcp-seed/merge.js +0 -99
- package/dist/lib/mcp-seed/merge.js.map +0 -1
- package/dist/lib/mcp-seed/types.d.ts +0 -24
- package/dist/lib/mcp-seed/types.d.ts.map +0 -1
- package/dist/lib/mcp-seed/types.js +0 -13
- package/dist/lib/mcp-seed/types.js.map +0 -1
- package/dist/lib/sdd-index/cascade.d.ts +0 -46
- package/dist/lib/sdd-index/cascade.d.ts.map +0 -1
- package/dist/lib/sdd-index/cascade.js +0 -91
- package/dist/lib/sdd-index/cascade.js.map +0 -1
- package/dist/lib/sdd-index/contracts.d.ts +0 -29
- package/dist/lib/sdd-index/contracts.d.ts.map +0 -1
- package/dist/lib/sdd-index/contracts.js +0 -216
- package/dist/lib/sdd-index/contracts.js.map +0 -1
- package/dist/lib/sdd-index/data-model.d.ts +0 -13
- package/dist/lib/sdd-index/data-model.d.ts.map +0 -1
- package/dist/lib/sdd-index/data-model.js +0 -23
- package/dist/lib/sdd-index/data-model.js.map +0 -1
- package/dist/lib/sdd-index/execution-map.d.ts +0 -34
- package/dist/lib/sdd-index/execution-map.d.ts.map +0 -1
- package/dist/lib/sdd-index/execution-map.js +0 -105
- package/dist/lib/sdd-index/execution-map.js.map +0 -1
- package/dist/lib/sdd-index/graph.d.ts +0 -28
- package/dist/lib/sdd-index/graph.d.ts.map +0 -1
- package/dist/lib/sdd-index/graph.js +0 -122
- package/dist/lib/sdd-index/graph.js.map +0 -1
- package/dist/lib/sdd-index/index.d.ts +0 -29
- package/dist/lib/sdd-index/index.d.ts.map +0 -1
- package/dist/lib/sdd-index/index.js +0 -79
- package/dist/lib/sdd-index/index.js.map +0 -1
- package/dist/lib/sdd-index/watch.d.ts +0 -24
- package/dist/lib/sdd-index/watch.d.ts.map +0 -1
- package/dist/lib/sdd-index/watch.js +0 -112
- package/dist/lib/sdd-index/watch.js.map +0 -1
- package/dist/lib/sync/copilot-hooks-merge.d.ts +0 -36
- package/dist/lib/sync/copilot-hooks-merge.d.ts.map +0 -1
- package/dist/lib/sync/copilot-hooks-merge.js +0 -108
- package/dist/lib/sync/copilot-hooks-merge.js.map +0 -1
- package/dist/verbs/mcp.d.ts +0 -3
- package/dist/verbs/mcp.d.ts.map +0 -1
- package/dist/verbs/mcp.js +0 -22
- package/dist/verbs/mcp.js.map +0 -1
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* # services). Use when the federated SDD lacks a services.csv to
|
|
28
28
|
* # gate emission and consumes rows would otherwise dangle at the
|
|
29
29
|
* # aggregator with unresolved service_id.
|
|
30
|
-
* - postman-
|
|
30
|
+
* - postman-stock
|
|
31
31
|
* - smoke-tests
|
|
32
32
|
*
|
|
33
33
|
* same_product_inference:
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* # services). Use when the federated SDD lacks a services.csv to
|
|
28
28
|
* # gate emission and consumes rows would otherwise dangle at the
|
|
29
29
|
* # aggregator with unresolved service_id.
|
|
30
|
-
* - postman-
|
|
30
|
+
* - postman-stock
|
|
31
31
|
* - smoke-tests
|
|
32
32
|
*
|
|
33
33
|
* same_product_inference:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/ci-binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQhD,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGxG,eAAO,MAAM,WAAW,0CAA2C,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,EAAE,SAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAGxD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAErD;AAED,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,+EAA+E;IAC/E,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IAC5D,+EAA+E;IAC/E,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;CAC5D;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/ci-binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQhD,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGxG,eAAO,MAAM,WAAW,0CAA2C,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,EAAE,SAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAGxD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAErD;AAED,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,+EAA+E;IAC/E,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IAC5D,+EAA+E;IAC/E,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;CAC5D;AA8GD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAmBxD,CAAC;AAEF,2GAA2G;AAC3G,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAMrF;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,iEAAiE;IACjE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,iFAAiF;IACjF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yFAAyF;AACzF,wBAAsB,aAAa,CAAC,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiFzF;AAWD,mGAAmG;AACnG,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASvF"}
|
|
@@ -14,7 +14,7 @@ import { createHash } from "node:crypto";
|
|
|
14
14
|
import { dirname, join } from "node:path";
|
|
15
15
|
import { BLOCK_BEGIN, BLOCK_END, WORKFLOW_REL_PATH, renderMethodManagedWorkflowBlock, renderMethodValidationWorkflow, } from "../init/ci-workflow.js";
|
|
16
16
|
import { detectBlockDrift, writeMarkedBlockFile } from "../sync/yaml-block-merge.js";
|
|
17
|
-
import { DAGGER_VERSION, MODULE_CALL, MODULE_DIR, moduleSha256, renderModuleFiles } from "./module.js";
|
|
17
|
+
import { DAGGER_VERSION, MODULE_CALL, MODULE_DIR, REBUILD_FLAG, REBUILD_SCRIPT, moduleSha256, renderModuleFiles } from "./module.js";
|
|
18
18
|
export const CI_BINDINGS = ["github", "gitlab", "jenkins"];
|
|
19
19
|
/** M-ADR 0219 §8.2 (ruled 2026-10-16): what every SDD has before it chooses. */
|
|
20
20
|
export const DEFAULT_CI_BINDING = "github";
|
|
@@ -34,6 +34,18 @@ export function isCiBinding(s) {
|
|
|
34
34
|
const HASH = { begin: BLOCK_BEGIN, end: BLOCK_END };
|
|
35
35
|
// Groovy has no '#' comments.
|
|
36
36
|
const SLASH = { begin: "// method-managed: begin", end: "// method-managed: end" };
|
|
37
|
+
// How each host's adopter switches the catalogue rebuild on (M-ADR 0220 §4.4): the variable the method names.
|
|
38
|
+
const REBUILD_SETUP = {
|
|
39
|
+
"#": [
|
|
40
|
+
"set the masked (not protected) CI variable",
|
|
41
|
+
"SDD_CATALOGUE_PUSH_TOKEN to a project or group access token with write_repository.",
|
|
42
|
+
],
|
|
43
|
+
"//": [
|
|
44
|
+
"set the job's environment variable",
|
|
45
|
+
"SDD_CATALOGUE_PUSH_CREDENTIAL to the ID of a username-and-password credential (a token",
|
|
46
|
+
"with write) for the repository's https remote.",
|
|
47
|
+
],
|
|
48
|
+
};
|
|
37
49
|
function header(comment, profile) {
|
|
38
50
|
return [
|
|
39
51
|
`${comment} Method Validation per M-ADR 0129, run by the method's Dagger module (M-ADR 0219).`,
|
|
@@ -47,6 +59,11 @@ function header(comment, profile) {
|
|
|
47
59
|
comment,
|
|
48
60
|
`${comment} Run it locally:`,
|
|
49
61
|
`${comment} ${MODULE_CALL}`,
|
|
62
|
+
comment,
|
|
63
|
+
`${comment} Catalogue rebuild (M-ADR 0220 §4.4), off until you configure it:`,
|
|
64
|
+
...REBUILD_SETUP[comment].map((l) => `${comment} ${l}`),
|
|
65
|
+
`${comment} The job then rebuilds the catalogues and pushes them to the branch it is`,
|
|
66
|
+
`${comment} building (never a fork's), and the freshness step gates.`,
|
|
50
67
|
];
|
|
51
68
|
}
|
|
52
69
|
// GitLab: a Docker-in-Docker service, the shape GitLab documents for Dagger. The runner must allow
|
|
@@ -71,10 +88,16 @@ function gitlabBlock(profile, runner) {
|
|
|
71
88
|
' - if: $CI_PIPELINE_SOURCE == "merge_request_event"',
|
|
72
89
|
" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH",
|
|
73
90
|
" before_script:",
|
|
74
|
-
" - apk add --no-cache curl",
|
|
91
|
+
" - apk add --no-cache curl git",
|
|
75
92
|
` - curl -fsSL https://dl.dagger.io/dagger/install.sh | BIN_DIR=/usr/local/bin DAGGER_VERSION=${DAGGER_VERSION} sh`,
|
|
76
93
|
" script:",
|
|
77
|
-
|
|
94
|
+
" - |",
|
|
95
|
+
' if [ -n "${SDD_CATALOGUE_PUSH_TOKEN:-}" ] && [ "${CI_MERGE_REQUEST_SOURCE_PROJECT_ID:-$CI_PROJECT_ID}" = "$CI_PROJECT_ID" ]; then',
|
|
96
|
+
' SDD_REBUILD_BRANCH="${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}" \\',
|
|
97
|
+
' SDD_REBUILD_PUSH_URL="${CI_SERVER_PROTOCOL}://oauth2:${SDD_CATALOGUE_PUSH_TOKEN}@${CI_SERVER_URL#*://}/${CI_PROJECT_PATH}.git" \\',
|
|
98
|
+
` sh ${REBUILD_SCRIPT}`,
|
|
99
|
+
" fi",
|
|
100
|
+
` - ${MODULE_CALL} ${REBUILD_FLAG}`,
|
|
78
101
|
HASH.end,
|
|
79
102
|
].join("\n");
|
|
80
103
|
}
|
|
@@ -92,7 +115,18 @@ function jenkinsBlock(profile, runner) {
|
|
|
92
115
|
" stage('Method Validation') {",
|
|
93
116
|
" steps {",
|
|
94
117
|
` sh 'curl -fsSL https://dl.dagger.io/dagger/install.sh | BIN_DIR="$WORKSPACE@tmp/dagger" DAGGER_VERSION=${DAGGER_VERSION} sh'`,
|
|
95
|
-
|
|
118
|
+
" script {",
|
|
119
|
+
" if (env.SDD_CATALOGUE_PUSH_CREDENTIAL && !env.CHANGE_FORK) {",
|
|
120
|
+
" withCredentials([usernamePassword(credentialsId: env.SDD_CATALOGUE_PUSH_CREDENTIAL, usernameVariable: 'SDD_PUSH_USER', passwordVariable: 'SDD_PUSH_TOKEN')]) {",
|
|
121
|
+
" sh '''",
|
|
122
|
+
' export SDD_REBUILD_BRANCH="${CHANGE_BRANCH:-${BRANCH_NAME:-${GIT_BRANCH#origin/}}}"',
|
|
123
|
+
' export SDD_REBUILD_PUSH_URL="$(git config --get remote.origin.url | sed "s#^https://#https://${SDD_PUSH_USER}:${SDD_PUSH_TOKEN}@#")"',
|
|
124
|
+
` PATH="$WORKSPACE@tmp/dagger:$PATH" sh ${REBUILD_SCRIPT}`,
|
|
125
|
+
" '''",
|
|
126
|
+
" }",
|
|
127
|
+
" }",
|
|
128
|
+
" }",
|
|
129
|
+
` sh 'PATH="$WORKSPACE@tmp/dagger:$PATH" ${MODULE_CALL} ${REBUILD_FLAG}'`,
|
|
96
130
|
" }",
|
|
97
131
|
" }",
|
|
98
132
|
" }",
|
|
@@ -160,7 +194,12 @@ export async function syncCiBinding(o) {
|
|
|
160
194
|
onDisk.push([rel, await tryRead(join(o.targetRepo, MODULE_DIR, rel))]);
|
|
161
195
|
const present = onDisk.some(([, c]) => c !== null);
|
|
162
196
|
const matches = rendered.every(([rel, c], i) => onDisk[i][0] === rel && onDisk[i][1] === c);
|
|
163
|
-
|
|
197
|
+
// Pristine when the files on disk hash to the lock's digest. The render may list a file the last sync
|
|
198
|
+
// never wrote (the generator gained one): it is absent, not edited, so the digest over the files present
|
|
199
|
+
// decides. A file the adopter deleted still changes that digest, so it is still drift.
|
|
200
|
+
const lockSha = o.prevLock?.ciModuleSha256;
|
|
201
|
+
const modulePristine = lockSha !== undefined &&
|
|
202
|
+
(moduleSha256(onDisk) === lockSha || moduleSha256(onDisk.filter(([, c]) => c !== null)) === lockSha);
|
|
164
203
|
if (present && !matches && modulePristine) {
|
|
165
204
|
log.push(`${MODULE_DIR}/: unmodified since the last sync (digest matches the lock); re-rendering it for this sdd-cli.`);
|
|
166
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/ci-binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAqB,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/ci-binding/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,16 @@ export declare const MODULE_DIR = ".dagger/method-validation";
|
|
|
20
20
|
export declare const DAGGER_VERSION = "0.21.10";
|
|
21
21
|
/** The command every host wrapper runs. */
|
|
22
22
|
export declare const MODULE_CALL = "dagger call -m .dagger/method-validation method-validation --source .";
|
|
23
|
+
/** The pipeline catalogue rebuild (M-ADR 0220 §4.4): a method-managed script in the module, run by every host wrapper. */
|
|
24
|
+
export declare const REBUILD_SCRIPT = ".dagger/method-validation/catalogue-rebuild.sh";
|
|
25
|
+
/**
|
|
26
|
+
* Left in the git directory by REBUILD_SCRIPT when the rebuild ran, whether or not it pushed. Every
|
|
27
|
+
* wrapper turns it into the module's --catalogue-rebuild, so the freshness step gates exactly where
|
|
28
|
+
* the rebuild ran (sdm-jts.9's ruling) and the wrapper holds no condition of its own.
|
|
29
|
+
*/
|
|
30
|
+
export declare const REBUILD_RAN_MARKER = "sdd-catalogue-rebuild-ran";
|
|
31
|
+
/** What every wrapper appends to MODULE_CALL: --catalogue-rebuild when, and only when, the rebuild ran. */
|
|
32
|
+
export declare const REBUILD_FLAG = "$(test -f \"$(git rev-parse --git-dir)/sdd-catalogue-rebuild-ran\" && echo --catalogue-rebuild)";
|
|
23
33
|
/**
|
|
24
34
|
* The module's files, relative to MODULE_DIR, in a fixed order. Pins default to the versions released
|
|
25
35
|
* with this sdd-cli (M-ADR 0218 §4.6); the parity harness passes candidate versions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/lib/ci-binding/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,4EAA4E;AAC5E,eAAO,MAAM,UAAU,8BAA8B,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC,2CAA2C;AAC3C,eAAO,MAAM,WAAW,0EAA8D,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/lib/ci-binding/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,4EAA4E;AAC5E,eAAO,MAAM,UAAU,8BAA8B,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC,2CAA2C;AAC3C,eAAO,MAAM,WAAW,0EAA8D,CAAC;AAEvF,0HAA0H;AAC1H,eAAO,MAAM,cAAc,mDAAuC,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,8BAA8B,CAAC;AAE9D,2GAA2G;AAC3G,eAAO,MAAM,YAAY,oGAA8F,CAAC;AAiOxH;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,GAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAyE,GAChH,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAUzB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAM1E"}
|
|
@@ -22,6 +22,16 @@ export const MODULE_DIR = ".dagger/method-validation";
|
|
|
22
22
|
export const DAGGER_VERSION = "0.21.10";
|
|
23
23
|
/** The command every host wrapper runs. */
|
|
24
24
|
export const MODULE_CALL = `dagger call -m ${MODULE_DIR} method-validation --source .`;
|
|
25
|
+
/** The pipeline catalogue rebuild (M-ADR 0220 §4.4): a method-managed script in the module, run by every host wrapper. */
|
|
26
|
+
export const REBUILD_SCRIPT = `${MODULE_DIR}/catalogue-rebuild.sh`;
|
|
27
|
+
/**
|
|
28
|
+
* Left in the git directory by REBUILD_SCRIPT when the rebuild ran, whether or not it pushed. Every
|
|
29
|
+
* wrapper turns it into the module's --catalogue-rebuild, so the freshness step gates exactly where
|
|
30
|
+
* the rebuild ran (sdm-jts.9's ruling) and the wrapper holds no condition of its own.
|
|
31
|
+
*/
|
|
32
|
+
export const REBUILD_RAN_MARKER = "sdd-catalogue-rebuild-ran";
|
|
33
|
+
/** What every wrapper appends to MODULE_CALL: --catalogue-rebuild when, and only when, the rebuild ran. */
|
|
34
|
+
export const REBUILD_FLAG = `$(test -f "$(git rev-parse --git-dir)/${REBUILD_RAN_MARKER}" && echo --catalogue-rebuild)`;
|
|
25
35
|
const VERIFY_PIN = "@@VERIFY_CLI_VERSION@@";
|
|
26
36
|
// The module's SDK import, substituted at render: written literally, the persona builds' import-closure
|
|
27
37
|
// scan would read this text as an import of the CLI's own and refuse a dependency it does not declare.
|
|
@@ -39,7 +49,8 @@ const INDEX_TS = String.raw `/**
|
|
|
39
49
|
*
|
|
40
50
|
* The steps are the method's job plan, read at run time from "sdd-verify validate --list". Every
|
|
41
51
|
* step runs even after an earlier one fails, so one red step never hides the verdicts after it. The
|
|
42
|
-
* job fails only when a non-advisory step fails; the catalogue freshness step is advisory
|
|
52
|
+
* job fails only when a non-advisory step fails; the catalogue freshness step is advisory unless the
|
|
53
|
+
* pipeline rebuilt the catalogues on this run (catalogue-rebuild.sh, M-ADR 0220 §4.4).
|
|
43
54
|
*/
|
|
44
55
|
import { dag, Container, Directory, File, object, func, ReturnType } from ${DAGGER_SDK}
|
|
45
56
|
|
|
@@ -102,12 +113,14 @@ export class MethodValidation {
|
|
|
102
113
|
maintainVersion: string = "${MAINTAIN_PIN}",
|
|
103
114
|
verifyTarball?: File,
|
|
104
115
|
maintainTarball?: File,
|
|
116
|
+
catalogueRebuild: boolean = false,
|
|
105
117
|
): Promise<string> {
|
|
106
118
|
const base = this.toolchain(verifyVersion, maintainVersion, verifyTarball, maintainTarball)
|
|
107
119
|
.withMountedDirectory("/src", source)
|
|
108
120
|
.withWorkdir("/src")
|
|
109
121
|
const versions = (await base.withExec(["sh", "-c", "sdd-verify --version; sdd-maintain --version"]).stdout()).split("\n")
|
|
110
|
-
const
|
|
122
|
+
const listArgs = ["sdd-verify", "validate", "--list"]
|
|
123
|
+
const plan = JSON.parse(await base.withExec(catalogueRebuild ? [...listArgs, "--catalogue-rebuild"] : listArgs).stdout()) as {
|
|
111
124
|
profile: string
|
|
112
125
|
steps: PlanStep[]
|
|
113
126
|
}
|
|
@@ -130,8 +143,66 @@ export class MethodValidation {
|
|
|
130
143
|
if (failed > 0) throw new Error(report)
|
|
131
144
|
return report
|
|
132
145
|
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Rebuild the committed catalogues from the specifications (M-ADR 0220 §4.4) and return the whole
|
|
149
|
+
* new catalogues directory: every file sdd-maintain catalogue build produces, plus every file
|
|
150
|
+
* already there except a .csv the build no longer produces, the freshness check's own rule. The
|
|
151
|
+
* host wrapper's catalogue-rebuild.sh exports it over catalogues/ and pushes only if it changed.
|
|
152
|
+
*/
|
|
153
|
+
@func()
|
|
154
|
+
catalogueRebuild(source: Directory, maintainVersion: string = "${MAINTAIN_PIN}", maintainTarball?: File): Directory {
|
|
155
|
+
return this.toolchain(undefined, maintainVersion, undefined, maintainTarball)
|
|
156
|
+
.withMountedDirectory("/src", source)
|
|
157
|
+
.withWorkdir("/src")
|
|
158
|
+
.withExec(["sdd-maintain", "catalogue", "build", "--sdd-path", ".", "--out", "/rebuilt"])
|
|
159
|
+
.withExec([
|
|
160
|
+
"sh",
|
|
161
|
+
"-c",
|
|
162
|
+
"mkdir -p /next && if [ -d catalogues ]; then cp -a catalogues/. /next/; fi && " +
|
|
163
|
+
"for f in /next/*.csv; do [ -e \"$f\" ] || continue; [ -e \"/rebuilt/$(basename \"$f\")\" ] || rm \"$f\"; done && " +
|
|
164
|
+
"cp -a /rebuilt/. /next/",
|
|
165
|
+
])
|
|
166
|
+
.directory("/next")
|
|
167
|
+
}
|
|
133
168
|
}
|
|
134
169
|
`;
|
|
170
|
+
// Run by every host wrapper, and only where the adopter has provided the push credential. Plain
|
|
171
|
+
// strings, not a template: the shell's own \${...} must reach the file as written.
|
|
172
|
+
const REBUILD_SH = [
|
|
173
|
+
"#!/bin/sh",
|
|
174
|
+
"# Pipeline catalogue rebuild (M-ADR 0220 §4.4). Written by sdd-cli sync and method-managed, like the",
|
|
175
|
+
"# rest of this module. The host wrapper runs it only where the adopter has provided the push",
|
|
176
|
+
"# credential, and sets:",
|
|
177
|
+
"# SDD_REBUILD_BRANCH the branch this pipeline builds, which the rebuild is pushed to",
|
|
178
|
+
"# SDD_REBUILD_PUSH_URL the repository's URL, carrying the credential",
|
|
179
|
+
"#",
|
|
180
|
+
"# A rebuild that changes nothing pushes nothing, so the push cannot loop: the pipeline it starts",
|
|
181
|
+
"# rebuilds the same catalogues, finds no change, and runs Method Validation.",
|
|
182
|
+
"set -eu",
|
|
183
|
+
': "${SDD_REBUILD_BRANCH:?the host wrapper sets it}" "${SDD_REBUILD_PUSH_URL:?the host wrapper sets it}"',
|
|
184
|
+
"",
|
|
185
|
+
"# A merge the pipeline made (a merged-results or merge-with-target build) is not the branch's head,",
|
|
186
|
+
"# and pushing it would put that merge on the branch. The branch's own pipeline rebuilds instead.",
|
|
187
|
+
'if [ "$(git rev-list --parents -n 1 HEAD | wc -w)" -gt 2 ]; then',
|
|
188
|
+
' echo "Catalogue rebuild: skipped, HEAD is a merge commit this pipeline made; the branch pipeline rebuilds."',
|
|
189
|
+
" exit 0",
|
|
190
|
+
"fi",
|
|
191
|
+
"",
|
|
192
|
+
"dagger call -m " + MODULE_DIR + " catalogue-rebuild --source . export --path catalogues --wipe >/dev/null",
|
|
193
|
+
'touch "$(git rev-parse --git-dir)/' + REBUILD_RAN_MARKER + '"',
|
|
194
|
+
"git add -A catalogues",
|
|
195
|
+
"if git diff --cached --quiet; then",
|
|
196
|
+
' echo "Catalogue rebuild: the committed catalogues already match the specifications; nothing to push."',
|
|
197
|
+
" exit 0",
|
|
198
|
+
"fi",
|
|
199
|
+
"git diff --cached --stat",
|
|
200
|
+
'git -c user.name="sdd-method catalogue rebuild" -c user.email="catalogue-rebuild@sdd-method.invalid" \\',
|
|
201
|
+
' commit -q -m "Rebuild catalogues from the specifications (Method Validation, M-ADR 0220 §4.4)"',
|
|
202
|
+
'git push -q "$SDD_REBUILD_PUSH_URL" "HEAD:refs/heads/$SDD_REBUILD_BRANCH"',
|
|
203
|
+
'echo "Catalogue rebuild: pushed $(git rev-parse --short HEAD) to $SDD_REBUILD_BRANCH; Method Validation runs on it there too."',
|
|
204
|
+
"",
|
|
205
|
+
].join("\n");
|
|
135
206
|
const DAGGER_JSON = `{
|
|
136
207
|
"name": "method-validation",
|
|
137
208
|
"engineVersion": "v${DAGGER_VERSION}",
|
|
@@ -183,6 +254,7 @@ const GITIGNORE = `/sdk
|
|
|
183
254
|
export function renderModuleFiles(pins = { verify: getVerifyCliVersion(), maintain: getMaintainCliVersion() }) {
|
|
184
255
|
return [
|
|
185
256
|
[".gitignore", GITIGNORE],
|
|
257
|
+
["catalogue-rebuild.sh", REBUILD_SH],
|
|
186
258
|
["dagger.json", DAGGER_JSON],
|
|
187
259
|
["package.json", PACKAGE_JSON],
|
|
188
260
|
["src/index.ts", INDEX_TS.split(VERIFY_PIN).join(pins.verify).split(MAINTAIN_PIN).join(pins.maintain).split(DAGGER_SDK).join('"@dagger.io' + '/dagger"')],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/lib/ci-binding/module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,UAAU,+BAA+B,CAAC;AAEvF,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,wGAAwG;AACxG,uGAAuG;AACvG,MAAM,UAAU,GAAG,gBAAgB,CAAC;AACpC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,gGAAgG;AAChG,+EAA+E;AAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/lib/ci-binding/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `sdd-cli context pull` — write the code-repo briefing
|
|
3
|
-
*
|
|
2
|
+
* `sdd-cli context pull` — write the code-repo briefing into a code repository from its upstream
|
|
3
|
+
* SDD (M-ADR 0220 §4.5, re-homing M-ADR 0150 §4.4 Phase D).
|
|
4
4
|
*
|
|
5
|
-
* The successor to the code-repo half of `generate-claude-md.sh
|
|
6
|
-
*
|
|
7
|
-
* server's job. A sibling verb to `generate-briefing`, not an extension of it:
|
|
5
|
+
* The successor to the code-repo half of `generate-claude-md.sh`. No dynamic content is baked
|
|
6
|
+
* in: the briefing points at the SDD's files. A sibling verb to `generate-briefing`, not an extension of it:
|
|
8
7
|
* `generate-briefing` needs the target to be an SDD (marker, lock, synced
|
|
9
8
|
* templates), and a code repository is none of those. They share the
|
|
10
9
|
* placeholder substitution and the wrapper's marker-block merge.
|
|
11
10
|
*
|
|
12
11
|
* What it writes, and nothing else (M-ADR 0218 §4.3 item 9, a MAINTAIN verb):
|
|
13
12
|
* agent-instructions.md whole file, method-managed
|
|
14
|
-
* CLAUDE.md
|
|
15
|
-
*
|
|
16
|
-
* Templates are read from the SDD, which carries them via its baseline bundle.
|
|
13
|
+
* CLAUDE.md, AGENTS.md the method-managed block only; adopter content survives (AGENTS.md is
|
|
14
|
+
* the pointer, M-ADR 0220 §4.6, when the SDD's baseline carries it)
|
|
15
|
+
* Templates are read from the SDD, which carries them via its baseline bundle. MCP_SETUP.md is no
|
|
16
|
+
* longer written (M-ADR 0220 §4.5); a copy this verb wrote earlier is removed when it still
|
|
17
|
+
* matches the method's last render, and left with a notice when it does not.
|
|
17
18
|
*/
|
|
18
19
|
import type { AgentHarness } from "../agent-harness.js";
|
|
19
20
|
export declare const CODE_REPO_BRIEFING_ROOT = "orchestration/templates/briefing/code-repo";
|
|
20
|
-
export declare const MCP_SETUP_TEMPLATE = "orchestration/templates/mcp/code-repo/MCP_SETUP.md.hbs";
|
|
21
21
|
export declare const MCP_SETUP_REL_PATH = "MCP_SETUP.md";
|
|
22
22
|
export interface ContextPullOptions {
|
|
23
23
|
/** The code repository to write into. */
|
|
@@ -34,6 +34,12 @@ export interface ContextPullResult {
|
|
|
34
34
|
readonly exitCode: number;
|
|
35
35
|
}
|
|
36
36
|
export declare function runContextPull(opts: ContextPullOptions, out?: (line: string) => void): Promise<ContextPullResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Remove an MCP_SETUP.md this verb wrote before M-ADR 0220, when it is byte-identical to the
|
|
39
|
+
* method's last template rendered with the values its own header records. Anything else is the
|
|
40
|
+
* adopter's now, and stays.
|
|
41
|
+
*/
|
|
42
|
+
export declare function retireMcpSetup(codeRepo: string): Promise<"absent" | "removed" | "kept">;
|
|
37
43
|
/** `{{name}}` substitution over an open variable set (the briefing renderer's is closed to four). */
|
|
38
44
|
export declare function substituteAll(template: string, vars: Readonly<Record<string, string>>): string;
|
|
39
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/context-pull/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/context-pull/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAiBxD,eAAO,MAAM,uBAAuB,+CAA+C,CAAC;AACpF,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAMjD,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrD,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,kBAAkB,EACxB,GAAG,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACjE,OAAO,CAAC,iBAAiB,CAAC,CA2H5B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,CAiB7F;AAED,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAE9F"}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `sdd-cli context pull` — write the code-repo briefing
|
|
3
|
-
*
|
|
2
|
+
* `sdd-cli context pull` — write the code-repo briefing into a code repository from its upstream
|
|
3
|
+
* SDD (M-ADR 0220 §4.5, re-homing M-ADR 0150 §4.4 Phase D).
|
|
4
4
|
*
|
|
5
|
-
* The successor to the code-repo half of `generate-claude-md.sh
|
|
6
|
-
*
|
|
7
|
-
* server's job. A sibling verb to `generate-briefing`, not an extension of it:
|
|
5
|
+
* The successor to the code-repo half of `generate-claude-md.sh`. No dynamic content is baked
|
|
6
|
+
* in: the briefing points at the SDD's files. A sibling verb to `generate-briefing`, not an extension of it:
|
|
8
7
|
* `generate-briefing` needs the target to be an SDD (marker, lock, synced
|
|
9
8
|
* templates), and a code repository is none of those. They share the
|
|
10
9
|
* placeholder substitution and the wrapper's marker-block merge.
|
|
11
10
|
*
|
|
12
11
|
* What it writes, and nothing else (M-ADR 0218 §4.3 item 9, a MAINTAIN verb):
|
|
13
12
|
* agent-instructions.md whole file, method-managed
|
|
14
|
-
* CLAUDE.md
|
|
15
|
-
*
|
|
16
|
-
* Templates are read from the SDD, which carries them via its baseline bundle.
|
|
13
|
+
* CLAUDE.md, AGENTS.md the method-managed block only; adopter content survives (AGENTS.md is
|
|
14
|
+
* the pointer, M-ADR 0220 §4.6, when the SDD's baseline carries it)
|
|
15
|
+
* Templates are read from the SDD, which carries them via its baseline bundle. MCP_SETUP.md is no
|
|
16
|
+
* longer written (M-ADR 0220 §4.5); a copy this verb wrote earlier is removed when it still
|
|
17
|
+
* matches the method's last render, and left with a notice when it does not.
|
|
17
18
|
*/
|
|
18
|
-
import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
19
|
+
import { access, mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
19
20
|
import { basename, dirname, join, resolve } from "node:path";
|
|
20
|
-
import { AGENT_INSTRUCTIONS_REL_PATH, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, findUnresolvedPlaceholders, harnessWrapperOutputPath, resolveBriefingVariables, splitWrapperTemplate, } from "../briefing/index.js";
|
|
21
|
+
import { AGENT_INSTRUCTIONS_REL_PATH, AGENTS_POINTER, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, findUnresolvedPlaceholders, harnessWrapperOutputPath, resolveBriefingVariables, splitWrapperTemplate, } from "../briefing/index.js";
|
|
21
22
|
import { readLockFile } from "../lock-file.js";
|
|
22
23
|
import { readRepoKind } from "../repo-kind.js";
|
|
23
24
|
import { writeMarkedBlockFile } from "../sync/yaml-block-merge.js";
|
|
24
25
|
import { defaultSearchRoots, resolveCodeRepoName, resolveSdd } from "./resolve.js";
|
|
26
|
+
import { RETIRED_MCP_SETUP_TEMPLATE } from "./retired-mcp-setup.js";
|
|
25
27
|
export const CODE_REPO_BRIEFING_ROOT = "orchestration/templates/briefing/code-repo";
|
|
26
|
-
export const MCP_SETUP_TEMPLATE = "orchestration/templates/mcp/code-repo/MCP_SETUP.md.hbs";
|
|
27
28
|
export const MCP_SETUP_REL_PATH = "MCP_SETUP.md";
|
|
28
29
|
const WRAPPER_TEMPLATE = {
|
|
29
30
|
"claude-code": "claude-code/CLAUDE.md.hbs",
|
|
30
|
-
"github-copilot-cli": "github-copilot-cli/AGENTS.md.hbs",
|
|
31
31
|
};
|
|
32
32
|
export async function runContextPull(opts, out = (line) => process.stdout.write(line)) {
|
|
33
33
|
const codeRepo = resolve(opts.codeRepo);
|
|
@@ -73,21 +73,23 @@ export async function runContextPull(opts, out = (line) => process.stdout.write(
|
|
|
73
73
|
repo_kind: sdd.repo_kind,
|
|
74
74
|
baseline_version: sdd.baseline_version,
|
|
75
75
|
pull_date: opts.pullDate ?? new Date().toISOString().slice(0, 10),
|
|
76
|
-
// MCP_SETUP.md's own names, kept so the template the bash generator rendered still renders.
|
|
77
|
-
upstream_sdd_name: basename(sddRoot),
|
|
78
|
-
sdd_method_baseline_version: sdd.baseline_version,
|
|
79
76
|
};
|
|
80
77
|
const aiTemplate = join(sddRoot, CODE_REPO_BRIEFING_ROOT, "agent-instructions.md.hbs");
|
|
81
78
|
const wrapperTemplate = join(sddRoot, CODE_REPO_BRIEFING_ROOT, WRAPPER_TEMPLATE[opts.agentHarness]);
|
|
82
|
-
const
|
|
83
|
-
for (const t of [aiTemplate, wrapperTemplate, mcpTemplate]) {
|
|
79
|
+
for (const t of [aiTemplate, wrapperTemplate]) {
|
|
84
80
|
if (!(await exists(t))) {
|
|
85
81
|
out(fail(`${sddRoot} does not carry ${t.slice(sddRoot.length + 1)}: its method baseline predates context pull. Sync the SDD to a baseline that ships the code-repo templates.`));
|
|
86
82
|
return { exitCode: 1 };
|
|
87
83
|
}
|
|
88
84
|
}
|
|
85
|
+
// The AGENTS.md pointer (M-ADR 0220 §4.6) arrived later than the other code-repo templates: an SDD
|
|
86
|
+
// whose baseline does not carry it yet gets no pointer, and everything else proceeds.
|
|
87
|
+
const pointerTemplate = join(sddRoot, CODE_REPO_BRIEFING_ROOT, AGENTS_POINTER.templateRel);
|
|
88
|
+
const wrapperSources = [[harnessWrapperOutputPath(opts.agentHarness), wrapperTemplate]];
|
|
89
|
+
if (await exists(pointerTemplate))
|
|
90
|
+
wrapperSources.push([AGENTS_POINTER.outputRel, pointerTemplate]);
|
|
89
91
|
const rendered = {};
|
|
90
|
-
for (const [rel, path] of [[AGENT_INSTRUCTIONS_REL_PATH, aiTemplate],
|
|
92
|
+
for (const [rel, path] of [[AGENT_INSTRUCTIONS_REL_PATH, aiTemplate], ...wrapperSources]) {
|
|
91
93
|
const content = substituteAll(await readFile(path, "utf8"), vars);
|
|
92
94
|
const unresolved = findUnresolvedPlaceholders(content);
|
|
93
95
|
if (unresolved.length > 0) {
|
|
@@ -96,30 +98,37 @@ export async function runContextPull(opts, out = (line) => process.stdout.write(
|
|
|
96
98
|
}
|
|
97
99
|
rendered[rel] = content;
|
|
98
100
|
}
|
|
99
|
-
// The
|
|
100
|
-
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
out(fail(`${
|
|
101
|
+
// The wrappers first: they are the only writes that can be refused, and a refusal must leave
|
|
102
|
+
// nothing written, so every wrapper is checked before any is written.
|
|
103
|
+
const existingOf = {};
|
|
104
|
+
for (const [rel] of wrapperSources) {
|
|
105
|
+
const path = join(codeRepo, rel);
|
|
106
|
+
const existing = (await exists(path)) ? await readFile(path, "utf8") : null;
|
|
107
|
+
existingOf[rel] = existing;
|
|
108
|
+
const hasMarkers = existing !== null && existing.includes(WRAPPER_BLOCK_BEGIN) && existing.includes(WRAPPER_BLOCK_END);
|
|
109
|
+
if (existing !== null && !hasMarkers && !opts.allowOverwrite) {
|
|
110
|
+
// No markers: a pre-briefing-layer file (the bash generator wrote these whole) or adopter-authored.
|
|
111
|
+
out(fail(`${rel} exists without method-managed markers, so it is treated as adopter-authored. Nothing was written. Re-run with --allow-overwrite to replace it with the rendered wrapper (move anything worth keeping below its markers afterwards).`));
|
|
110
112
|
return { exitCode: 1 };
|
|
111
113
|
}
|
|
112
|
-
await writeFile(wrapperPath, rendered[wrapperRel], "utf8");
|
|
113
|
-
wrapperChanged = existing !== rendered[wrapperRel];
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
const merge = await writeMarkedBlockFile(wrapperPath, existing === null ? rendered[wrapperRel] : parts.block, { begin: WRAPPER_BLOCK_BEGIN, end: WRAPPER_BLOCK_END }, opts.allowOverwrite, existing === null ? undefined : { pre: parts.pre, post: parts.post });
|
|
117
|
-
wrapperChanged = merge.changed;
|
|
118
114
|
}
|
|
119
115
|
const changed = [];
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
116
|
+
for (const [rel] of wrapperSources) {
|
|
117
|
+
const path = join(codeRepo, rel);
|
|
118
|
+
const existing = existingOf[rel] ?? null;
|
|
119
|
+
const hasMarkers = existing !== null && existing.includes(WRAPPER_BLOCK_BEGIN) && existing.includes(WRAPPER_BLOCK_END);
|
|
120
|
+
if (existing !== null && !hasMarkers) {
|
|
121
|
+
await writeFile(path, rendered[rel], "utf8");
|
|
122
|
+
if (existing !== rendered[rel])
|
|
123
|
+
changed.push(rel);
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const parts = splitWrapperTemplate(rendered[rel]);
|
|
127
|
+
const merge = await writeMarkedBlockFile(path, existing === null ? rendered[rel] : parts.block, { begin: WRAPPER_BLOCK_BEGIN, end: WRAPPER_BLOCK_END }, opts.allowOverwrite, existing === null ? undefined : { pre: parts.pre, post: parts.post });
|
|
128
|
+
if (merge.changed)
|
|
129
|
+
changed.push(rel);
|
|
130
|
+
}
|
|
131
|
+
for (const rel of [AGENT_INSTRUCTIONS_REL_PATH]) {
|
|
123
132
|
const path = join(codeRepo, rel);
|
|
124
133
|
const before = (await exists(path)) ? await readFile(path, "utf8") : null;
|
|
125
134
|
if (before !== rendered[rel]) {
|
|
@@ -128,10 +137,41 @@ export async function runContextPull(opts, out = (line) => process.stdout.write(
|
|
|
128
137
|
changed.push(rel);
|
|
129
138
|
}
|
|
130
139
|
}
|
|
140
|
+
const mcpSetup = await retireMcpSetup(codeRepo);
|
|
131
141
|
out(info(`Code repo "${repoName}" is specified by ${sdd.sdd_name} (${sdd.repo_kind}, ${sdd.baseline_version}) at ${sddRoot}.`));
|
|
132
|
-
out(info(changed.length > 0 ? `Wrote ${changed.join(", ")}.` : `Already current: ${AGENT_INSTRUCTIONS_REL_PATH
|
|
142
|
+
out(info(changed.length > 0 ? `Wrote ${changed.join(", ")}.` : `Already current: ${[AGENT_INSTRUCTIONS_REL_PATH, ...wrapperSources.map(([rel]) => rel)].join(", ")}.`));
|
|
143
|
+
if (mcpSetup === "removed")
|
|
144
|
+
out(info(`Removed ${MCP_SETUP_REL_PATH}: the method no longer ships it (M-ADR 0220), and this copy was unedited.`));
|
|
145
|
+
if (mcpSetup === "kept")
|
|
146
|
+
out(info(`${MCP_SETUP_REL_PATH} is no longer written (M-ADR 0220). This copy differs from the method's last render, so it was left; delete it if nothing in it is yours.`));
|
|
133
147
|
return { exitCode: 0 };
|
|
134
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Remove an MCP_SETUP.md this verb wrote before M-ADR 0220, when it is byte-identical to the
|
|
151
|
+
* method's last template rendered with the values its own header records. Anything else is the
|
|
152
|
+
* adopter's now, and stays.
|
|
153
|
+
*/
|
|
154
|
+
export async function retireMcpSetup(codeRepo) {
|
|
155
|
+
const path = join(codeRepo, MCP_SETUP_REL_PATH);
|
|
156
|
+
if (!(await exists(path)))
|
|
157
|
+
return "absent";
|
|
158
|
+
const text = await readFile(path, "utf8");
|
|
159
|
+
const repo = /^\* \*\*Emitted by:\*\* `sdd-cli context pull`, for code repo `([^`]*)`$/m.exec(text);
|
|
160
|
+
const upstream = /^\* \*\*Upstream SDD:\*\* `([^`]*)` at `([^`]*)`$/m.exec(text);
|
|
161
|
+
const baseline = /^\* \*\*Baseline version:\*\* `([^`]*)`$/m.exec(text);
|
|
162
|
+
if (!repo || !upstream || !baseline)
|
|
163
|
+
return "kept";
|
|
164
|
+
const render = substituteAll(RETIRED_MCP_SETUP_TEMPLATE, {
|
|
165
|
+
repo_name: repo[1],
|
|
166
|
+
upstream_sdd_name: upstream[1],
|
|
167
|
+
sdd_root: upstream[2],
|
|
168
|
+
sdd_method_baseline_version: baseline[1],
|
|
169
|
+
});
|
|
170
|
+
if (render !== text)
|
|
171
|
+
return "kept";
|
|
172
|
+
await rm(path);
|
|
173
|
+
return "removed";
|
|
174
|
+
}
|
|
135
175
|
/** `{{name}}` substitution over an open variable set (the briefing renderer's is closed to four). */
|
|
136
176
|
export function substituteAll(template, vars) {
|
|
137
177
|
return template.replace(/\{\{\s*([a-z_][a-z0-9_]*)\s*\}\}/g, (full, key) => (key in vars ? vars[key] : full));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/context-pull/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/context-pull/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The last MCP_SETUP.md template the method shipped (sdd-method 52bbc36), kept so `context pull`
|
|
3
|
+
* can tell a copy it wrote from one an adopter edited after M-ADR 0220 §4.5 retired the file.
|
|
4
|
+
* The SDD's own baseline stops carrying the template, so the comparison cannot read it from there.
|
|
5
|
+
*/
|
|
6
|
+
export declare const RETIRED_MCP_SETUP_TEMPLATE: string;
|
|
7
|
+
//# sourceMappingURL=retired-mcp-setup.d.ts.map
|