@sdd-method/sdd-cli 1.42.0 → 1.43.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.
Files changed (114) hide show
  1. package/README.md +4 -57
  2. package/dist/author-bin.d.ts +3 -0
  3. package/dist/author-bin.d.ts.map +1 -0
  4. package/dist/author-bin.js +8 -0
  5. package/dist/author-bin.js.map +1 -0
  6. package/dist/author-program.d.ts +8 -0
  7. package/dist/author-program.d.ts.map +1 -0
  8. package/dist/author-program.js +99 -0
  9. package/dist/author-program.js.map +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +0 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/agent-harness.d.ts +11 -8
  14. package/dist/lib/agent-harness.d.ts.map +1 -1
  15. package/dist/lib/agent-harness.js +17 -8
  16. package/dist/lib/agent-harness.js.map +1 -1
  17. package/dist/lib/briefing/index.d.ts +1 -1
  18. package/dist/lib/briefing/index.d.ts.map +1 -1
  19. package/dist/lib/briefing/index.js +1 -1
  20. package/dist/lib/briefing/index.js.map +1 -1
  21. package/dist/lib/briefing/render.d.ts +18 -1
  22. package/dist/lib/briefing/render.d.ts.map +1 -1
  23. package/dist/lib/briefing/render.js +17 -8
  24. package/dist/lib/briefing/render.js.map +1 -1
  25. package/dist/lib/catalogue/aggregation-manifest-loader.js +4 -4
  26. package/dist/lib/catalogue/aggregation-manifest-loader.js.map +1 -1
  27. package/dist/lib/catalogue/freshness.d.ts +1 -0
  28. package/dist/lib/catalogue/freshness.d.ts.map +1 -1
  29. package/dist/lib/catalogue/freshness.js +4 -3
  30. package/dist/lib/catalogue/freshness.js.map +1 -1
  31. package/dist/lib/context-pull/index.d.ts +15 -9
  32. package/dist/lib/context-pull/index.d.ts.map +1 -1
  33. package/dist/lib/context-pull/index.js +79 -39
  34. package/dist/lib/context-pull/index.js.map +1 -1
  35. package/dist/lib/context-pull/retired-mcp-setup.d.ts +7 -0
  36. package/dist/lib/context-pull/retired-mcp-setup.d.ts.map +1 -0
  37. package/dist/lib/context-pull/retired-mcp-setup.js +7 -0
  38. package/dist/lib/context-pull/retired-mcp-setup.js.map +1 -0
  39. package/dist/lib/hooks-seed/entries.d.ts +15 -0
  40. package/dist/lib/hooks-seed/entries.d.ts.map +1 -1
  41. package/dist/lib/hooks-seed/entries.js +30 -1
  42. package/dist/lib/hooks-seed/entries.js.map +1 -1
  43. package/dist/lib/hooks-seed/index.d.ts +4 -9
  44. package/dist/lib/hooks-seed/index.d.ts.map +1 -1
  45. package/dist/lib/hooks-seed/index.js +4 -7
  46. package/dist/lib/hooks-seed/index.js.map +1 -1
  47. package/dist/lib/hooks-seed/merge.d.ts +7 -0
  48. package/dist/lib/hooks-seed/merge.d.ts.map +1 -1
  49. package/dist/lib/hooks-seed/merge.js +31 -0
  50. package/dist/lib/hooks-seed/merge.js.map +1 -1
  51. package/dist/lib/init/app.d.ts +0 -1
  52. package/dist/lib/init/app.d.ts.map +1 -1
  53. package/dist/lib/init/app.js +0 -7
  54. package/dist/lib/init/app.js.map +1 -1
  55. package/dist/lib/init/integration.d.ts +0 -1
  56. package/dist/lib/init/integration.d.ts.map +1 -1
  57. package/dist/lib/init/integration.js +0 -7
  58. package/dist/lib/init/integration.js.map +1 -1
  59. package/dist/lib/init/platform.d.ts +2 -10
  60. package/dist/lib/init/platform.d.ts.map +1 -1
  61. package/dist/lib/init/platform.js +6 -13
  62. package/dist/lib/init/platform.js.map +1 -1
  63. package/dist/lib/plan/index.d.ts.map +1 -1
  64. package/dist/lib/plan/index.js +4 -4
  65. package/dist/lib/plan/index.js.map +1 -1
  66. package/dist/lib/plan/read-sdd.js +1 -1
  67. package/dist/lib/plan/render-template.d.ts +8 -0
  68. package/dist/lib/plan/render-template.d.ts.map +1 -1
  69. package/dist/lib/plan/render-template.js +27 -3
  70. package/dist/lib/plan/render-template.js.map +1 -1
  71. package/dist/lib/sdd-index/repo-config.d.ts +1 -1
  72. package/dist/lib/sdd-index/repo-config.js +1 -1
  73. package/dist/lib/sdd-reader.d.ts +35 -0
  74. package/dist/lib/sdd-reader.d.ts.map +1 -0
  75. package/dist/lib/sdd-reader.js +91 -0
  76. package/dist/lib/sdd-reader.js.map +1 -0
  77. package/dist/lib/sync/briefing-merge.d.ts +1 -1
  78. package/dist/lib/sync/briefing-merge.d.ts.map +1 -1
  79. package/dist/lib/sync/briefing-merge.js +50 -34
  80. package/dist/lib/sync/briefing-merge.js.map +1 -1
  81. package/dist/lib/sync/diff.js +1 -1
  82. package/dist/lib/sync/diff.js.map +1 -1
  83. package/dist/lib/sync/index.d.ts +3 -6
  84. package/dist/lib/sync/index.d.ts.map +1 -1
  85. package/dist/lib/sync/index.js +20 -70
  86. package/dist/lib/sync/index.js.map +1 -1
  87. package/dist/lib/sync/settings-merge.d.ts +26 -48
  88. package/dist/lib/sync/settings-merge.d.ts.map +1 -1
  89. package/dist/lib/sync/settings-merge.js +70 -162
  90. package/dist/lib/sync/settings-merge.js.map +1 -1
  91. package/dist/maintain-program.d.ts.map +1 -1
  92. package/dist/maintain-program.js +5 -2
  93. package/dist/maintain-program.js.map +1 -1
  94. package/dist/maintain-version.json +2 -2
  95. package/dist/verbs/catalogue-check.d.ts +10 -0
  96. package/dist/verbs/catalogue-check.d.ts.map +1 -0
  97. package/dist/verbs/catalogue-check.js +28 -0
  98. package/dist/verbs/catalogue-check.js.map +1 -0
  99. package/dist/verbs/catalogue.d.ts.map +1 -1
  100. package/dist/verbs/catalogue.js +2 -0
  101. package/dist/verbs/catalogue.js.map +1 -1
  102. package/dist/verbs/context.js +1 -1
  103. package/dist/verbs/context.js.map +1 -1
  104. package/dist/verify-program.js +1 -1
  105. package/dist/verify-program.js.map +1 -1
  106. package/dist/verify-version.json +2 -2
  107. package/package.json +5 -5
  108. package/scripts/author-acceptance.mjs +170 -0
  109. package/scripts/author-version.json +4 -0
  110. package/scripts/build-persona-package.mjs +46 -13
  111. package/scripts/maintain-version.json +2 -2
  112. package/scripts/release-gate.mjs +1 -1
  113. package/scripts/verify-version.json +2 -2
  114. package/scripts/vitest-tmpdir.mjs +26 -0
package/README.md CHANGED
@@ -18,7 +18,6 @@ uses to manage SDD repositories. It has four verbs and three profiles:
18
18
  | `validate` | Run the method-level validation suite for this SDD repository (profile-aware dispatch; platform suite = 7 core + optional `docs-all` wrapper) | TS dispatch over bundled + target-repo bash validators |
19
19
  | `list` | Enumerate SDD repositories discoverable in the workspace (text or JSON output; profile filter) | Native TS |
20
20
  | `generate-briefing` | Regenerate `agent-instructions.md` + the harness wrapper for an existing SDD repo (no bundle sync) | Native TS |
21
- | `mcp serve` | Start a local stdio Model Context Protocol (MCP) server exposing the SDD as resources and tools (ADR 0128, Phase 1) | Native TS |
22
21
 
23
22
  Every verb is local git + filesystem. No authentication, no network calls,
24
23
  no archetypes, no deploy — code-level operations are handled by `partner-cli`
@@ -81,7 +80,7 @@ sdd-cli generate-briefing --agent-harness claude-code --allow-overwrite
81
80
  Per [ADR 0148](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/ADR%200148:%20Method-Defined%20Agent%20Briefing%20Layer.md), `sdd-cli init` and `sdd-cli sync` emit two files at the SDD root:
82
81
 
83
82
  - **`agent-instructions.md`** — fully method-managed, harness-neutral briefing. Overwritten unconditionally on every sync.
84
- - **The harness wrapper** — `CLAUDE.md` under `--agent-harness claude-code`, `AGENTS.md` under `--agent-harness github-copilot-cli`. Thin pointer with `<!-- method-managed: begin/end -->` markers. The method-managed block is refreshed on sync; adopter content below survives.
83
+ - **The wrappers** — `CLAUDE.md` (the Claude Code wrapper) and `AGENTS.md` (a pointer to `agent-instructions.md`, M-ADR 0220). Thin pointers with `<!-- method-managed: begin/end -->` markers. The method-managed block is refreshed on sync; adopter content below survives.
85
84
 
86
85
  Templates ship in the bundle at `orchestration/templates/briefing/`. Older bundles that pre-date ADR 0148 sync without emitting these files (graceful skip with a log line).
87
86
 
@@ -89,66 +88,14 @@ Templates ship in the bundle at `orchestration/templates/briefing/`. Older bundl
89
88
 
90
89
  ### Agent-harness selection (`--agent-harness`)
91
90
 
92
- Per [ADR 0141](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/ADR%200141:%20Agent-Harness-Neutral%20Skills%20and%20Hooks.md), `sdd-cli init` and `sdd-cli sync` accept `--agent-harness <name>` to drive which hook configuration gets emitted. Supported values:
91
+ Claude Code is the one supported harness ([M-ADR 0220](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/) §4.6) and the default: `sdd-cli init`, `sdd-cli sync` and `context pull` accept `--agent-harness claude-code`, which seeds the `.claude/settings.json` `hooks` block (`PreToolUse` method-guard + `SessionStart` ADR-structure check, run by the verify CLI). The `github-copilot-cli` value is retired, and passing it fails.
93
92
 
94
- | Value | Hooks surface | MCP surface |
95
- |---|---|---|
96
- | `claude-code` (default, reference) | `.claude/settings.json` `hooks` block — `PreToolUse` method-guard + `SessionStart` ADR-structure check | `.claude/settings.json` `mcpServers` block |
97
- | `github-copilot-cli` | `.github/hooks/pre-tool-use.json` + `.github/hooks/session-start.json` (per `docs/method/methods/hook-contracts.md`) | not yet wired — ADR 0150 Phase 3 lands the Copilot-CLI MCP surface |
93
+ Every SDD and code repository also gets an `AGENTS.md` pointer to `agent-instructions.md`, with no flag, refreshed between method-managed markers like `CLAUDE.md`. It is a pointer, not support for another harness. Adopters binding another harness implement the portable skill and hook contracts themselves per ADR 0141 §4.5.
98
94
 
99
- Adopters using Cursor / Cline / Aider / custom harnesses implement the portable contracts themselves per ADR 0141 §4.5 — see `docs/method/onboarding/agent-harness-adopter-responsibility.md` in the method baseline.
95
+ The method seeds no MCP server (M-ADR 0220): sync removes the `sdd-mcp` entry it seeded before, and leaves every other server in the file alone.
100
96
 
101
97
  **Behavioural delta:** the flag now defaults to `claude-code` when omitted, where previous versions left it unset (no hooks seeded). The first `sdd-cli sync` after upgrading on an existing repo will start refreshing the Claude hooks block. The dedupe pre-pass shipped in v0.12.2 collapses any unmarked hand-rolled entries that match the method shape, so adopters on v0.12.2+ get sentinel-tagged-in-place rather than duplicates. Adopters on sdd-cli &lt; v0.12.2 should `npm install -g @sdd-method/sdd-cli@latest` before re-syncing.
102
98
 
103
- ## MCP server (Phase 1)
104
-
105
- `sdd-cli mcp serve` runs a local stdio Model Context Protocol server that exposes the SDD to any MCP-capable agent harness (Claude Code, Cursor, Kiro, etc.). Phase 1 of [ADR 0128](https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/adr/ADR%200128:%20Live-Query%20Context%20Extension%20via%20Model%20Context%20Protocol.md) — read-only surface, no adopter servers, no prompts, no dependency-graph tools yet.
106
-
107
- **Resources exposed**
108
-
109
- - `sdd://method/version` — distribution version, server build, SDD commit, protocol spec version
110
- - `sdd://adrs/catalogue` — parsed ADR catalogue
111
- - `sdd://adrs/{scope}/{number}` — individual ADR body (scope: `method`, `platform`, `domain:<name>`)
112
- - `sdd://specs/capability/{domain}/{capability}` — capability spec
113
- - `sdd://specs/feature/{domain}/{capability}/{feature}` — feature spec
114
- - `sdd://data-models/domain/{domain}` — domain mermaid data model
115
- - `sdd://gates/{gate}` — gate registry YAML (adr-quality, contract-quality, intent-quality, …)
116
- - `sdd://glossary/{scope}` — platform or per-domain glossary
117
- - `sdd://catalogue/schema` — canonical catalogue schema (vendored) as JSON
118
- - `sdd://catalogue/metamodel` — catalogue metamodel narrative
119
- - `sdd://catalogue/category-taxonomy` — product category taxonomy
120
- - `sdd://catalogue` — list of built catalogue names
121
- - `sdd://catalogue/{name}` — rows of one built catalogue from `catalogues/{name}.csv`
122
-
123
- **Tools exposed**
124
-
125
- - `list_adrs` — filter by scope and/or status
126
- - `search_specs` — plain-text ranking across ADRs, specs, and glossaries
127
- - `find_related_specs` — literal substring references to a given entity
128
- - `query_gate_status` — read a gate registry, optionally scoped
129
- - `query_catalogue_coverage` — row count + internal-FK pass + coverage for one catalogue
130
- - `find_products_by_category` — products filtered by category
131
- - `find_orphan_rows` — rows whose internal FK target is missing
132
- - `query_edges_for_entity` — every edge row referencing a given entity
133
-
134
- **Wiring it into Claude Code**
135
-
136
- Drop this into `.claude/settings.json` (reference template at [`orchestration/templates/mcp/claude-settings.example.json`](https://github.com/tomfosteruk/sdd-method/blob/main/orchestration/templates/mcp/claude-settings.example.json) in the method distribution):
137
-
138
- ```json
139
- {
140
- "mcpServers": {
141
- "sdd-mcp": {
142
- "command": "sdd-cli",
143
- "args": ["mcp", "serve"],
144
- "env": { "SDD_REPO_PATH": "/abs/path/to/sdd-repo" }
145
- }
146
- }
147
- }
148
- ```
149
-
150
- Precedence: `SDD_REPO_PATH` env var > `--sdd-repo` CLI flag > sibling-directory auto-discovery via the `.sdd-repo-kind` marker.
151
-
152
99
  ## Install
153
100
 
154
101
  ```bash
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=author-bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-bin.d.ts","sourceRoot":"","sources":["../src/author-bin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { runAuthor } from "./author-program.js";
3
+ runAuthor(process.argv.slice(2)).catch((err) => {
4
+ const message = err instanceof Error ? err.message : String(err);
5
+ process.stderr.write(`sdd-author: ${message}\n`);
6
+ process.exit(1);
7
+ });
8
+ //# sourceMappingURL=author-bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-bin.js","sourceRoot":"","sources":["../src/author-bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Command } from "commander";
2
+ /** The verbs the author adds to verify, as `<verb>` or `<verb> <subcommand>` (M-ADR 0220 §4.2). Asserted by test. */
3
+ export declare const AUTHOR_ONLY_SURFACE: ReadonlyArray<string>;
4
+ /** The full surface: verify's, plus the author's own. */
5
+ export declare const AUTHOR_SURFACE: ReadonlyArray<string>;
6
+ export declare function runAuthor(argv: readonly string[]): Promise<void>;
7
+ export declare function buildAuthorProgram(): Command;
8
+ //# sourceMappingURL=author-program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-program.d.ts","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAgBpD,qHAAqH;AACrH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAgBrD,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,MAAM,CAA+C,CAAC;AAMjG,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAoC5C"}
@@ -0,0 +1,99 @@
1
+ // Fifth entrypoint: the AUTHOR surface — M-ADR 0220 §4.1–4.3.
2
+ //
3
+ // The binary for the people and agents who own one SDD's content: it re-authors that content and
4
+ // cannot move the baseline or rebuild the model. Author and maintain are SIBLINGS, not a nesting
5
+ // (0220 §4.1): both carry the whole verify surface, and the author adds what 0220 §4.2 gives it —
6
+ // new artefacts and plans (`scaffold`, `plan`), the evidence and findings it triages (`contracts`,
7
+ // `conformance`, `api-surface`, the `snapshot` verbs), the projections maintain also holds
8
+ // (`render screen`, `generate-briefing`, `context pull`), and `catalogue check`, which reports a
9
+ // stale model and writes nothing.
10
+ //
11
+ // Not here, by design: `sync`, `catalogue build | aggregate | graph | diff` and `pack build`
12
+ // (maintain's), and `init`, `metamodel roundtrip` and `catalogue migration-map` (sdd-cli's,
13
+ // the ADMIN artefact). As with sdd-verify and sdd-maintain, the boundary is ABSENCE, not a menu:
14
+ // the package ships only the import closure of author-bin.js, so registration imports
15
+ // per-subcommand registrars, never a barrel that re-exports a writer.
16
+ import { Command, CommanderError } from "commander";
17
+ import { getPackageVersion } from "./lib/package-version.js";
18
+ import { registerVerifySurface, rejectOutsideSurface, VERIFY_SURFACE } from "./verify-program.js";
19
+ import { registerApiSurface } from "./verbs/api-surface.js";
20
+ import { registerCatalogueCheck } from "./verbs/catalogue-check.js";
21
+ import { registerConformance } from "./verbs/conformance.js";
22
+ import { registerContext } from "./verbs/context.js";
23
+ import { registerContracts } from "./verbs/contracts.js";
24
+ import { registerGenerateBriefing } from "./verbs/generate-briefing.js";
25
+ import { registerPlan } from "./verbs/plan.js";
26
+ import { registerRender } from "./verbs/render.js";
27
+ import { registerScaffold } from "./verbs/scaffold.js";
28
+ import { registerSnapshot } from "./verbs/snapshot.js";
29
+ const SPEC_URL = "https://github.com/tomfosteruk/sdd-method/blob/main/docs/method/cli/sdd-cli-specification.md";
30
+ /** The verbs the author adds to verify, as `<verb>` or `<verb> <subcommand>` (M-ADR 0220 §4.2). Asserted by test. */
31
+ export const AUTHOR_ONLY_SURFACE = [
32
+ "scaffold domain",
33
+ "plan",
34
+ "contracts attest",
35
+ "conformance",
36
+ "api-surface",
37
+ "snapshot fold",
38
+ "snapshot land",
39
+ "snapshot verify",
40
+ "snapshot diff",
41
+ "snapshot targets",
42
+ "snapshot advance",
43
+ "render screen",
44
+ "generate-briefing",
45
+ "context pull",
46
+ "catalogue check",
47
+ ];
48
+ /** The full surface: verify's, plus the author's own. */
49
+ export const AUTHOR_SURFACE = [...VERIFY_SURFACE, ...AUTHOR_ONLY_SURFACE];
50
+ const OUTSIDE = "is not part of sdd-author, which re-authors one SDD's content but cannot move its baseline or rebuild its model. " +
51
+ "Sync, catalogue build and pack build are in @sdd-method/maintain-cli; init and the rest are in @sdd-method/sdd-cli.";
52
+ export async function runAuthor(argv) {
53
+ const program = buildAuthorProgram();
54
+ if (argv.length === 0) {
55
+ program.outputHelp();
56
+ return;
57
+ }
58
+ rejectOutsideSurface(program, argv, OUTSIDE);
59
+ try {
60
+ await program.parseAsync([...argv], { from: "user" });
61
+ }
62
+ catch (err) {
63
+ if (err instanceof CommanderError) {
64
+ if (err.code === "commander.help" || err.code === "commander.helpDisplayed" || err.code === "commander.version") {
65
+ return;
66
+ }
67
+ }
68
+ throw err;
69
+ }
70
+ }
71
+ export function buildAuthorProgram() {
72
+ const program = new Command();
73
+ program
74
+ .name("sdd-author")
75
+ .description("Re-author one SDD's content — scaffold, plan, contracts, conformance, api-surface, snapshots, briefings, catalogue check — plus every read-only verify verb. Cannot sync the baseline or rebuild the catalogues.")
76
+ .version(getPackageVersion(), "-v, --version")
77
+ .addHelpText("after", `\nSpec: ${SPEC_URL}\nSync, catalogue build and pack build are in @sdd-method/maintain-cli; init and the administrator's verbs are in @sdd-method/sdd-cli.`)
78
+ .exitOverride()
79
+ .configureOutput({
80
+ writeOut: (str) => process.stdout.write(str),
81
+ writeErr: (str) => process.stderr.write(str),
82
+ });
83
+ // The verify surface first, from verify's own registration: verify ⊂ author is structural.
84
+ registerVerifySurface(program);
85
+ registerScaffold(program);
86
+ registerPlan(program);
87
+ registerContracts(program);
88
+ registerConformance(program);
89
+ registerApiSurface(program);
90
+ registerSnapshot(program);
91
+ registerRender(program);
92
+ registerGenerateBriefing(program);
93
+ registerContext(program);
94
+ const catalogue = program.commands.find((c) => c.name() === "catalogue");
95
+ catalogue.description("Validate and query per-SDD catalogues (ADR 0134), and check them for staleness — never rebuilds");
96
+ registerCatalogueCheck(catalogue);
97
+ return program;
98
+ }
99
+ //# sourceMappingURL=author-program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-program.js","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAyBpD,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAsCtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAwBpD,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAqCtC"}
package/dist/index.js CHANGED
@@ -8,7 +8,6 @@ import { registerContracts } from "./verbs/contracts.js";
8
8
  import { registerGenerateBriefing } from "./verbs/generate-briefing.js";
9
9
  import { registerInit } from "./verbs/init.js";
10
10
  import { registerList } from "./verbs/list.js";
11
- import { registerMcp } from "./verbs/mcp.js";
12
11
  import { registerMetamodel } from "./verbs/metamodel.js";
13
12
  import { registerPack } from "./verbs/pack.js";
14
13
  import { registerPlan } from "./verbs/plan.js";
@@ -53,7 +52,6 @@ export function buildProgram() {
53
52
  registerPlan(program);
54
53
  registerGenerateBriefing(program);
55
54
  registerContext(program);
56
- registerMcp(program);
57
55
  registerCatalogue(program);
58
56
  registerConformance(program);
59
57
  registerContracts(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,23 @@
1
1
  /**
2
2
  * Agent-harness identifiers — the value space of `--agent-harness` on
3
- * `sdd-cli init` and `sdd-cli sync` per ADR 0141 §4.6.
3
+ * `sdd-cli init`, `sdd-cli sync` and `context pull` per ADR 0141 §4.6.
4
4
  *
5
- * Claude Code is the reference implementation per ADR 0141 §4.4 and
6
- * the default. GitHub Copilot CLI is the second reference per
7
- * `docs/method/methods/hook-contracts.md`. Adopters using a different
8
- * harness implement the portable contracts themselves per ADR 0141 §4.5.
5
+ * Claude Code is the one supported harness (M-ADR 0220 §4.6) and the default. The GitHub Copilot
6
+ * CLI value is retired: passing it fails, naming that record. Every SDD and code repository also
7
+ * gets an AGENTS.md pointer to agent-instructions.md, with no flag; it is a pointer, not support
8
+ * for another harness. Adopters binding any other harness implement the portable contracts
9
+ * themselves (ADR 0141 §4.5).
9
10
  */
10
- export declare const AGENT_HARNESSES: readonly ["claude-code", "github-copilot-cli"];
11
+ export declare const AGENT_HARNESSES: readonly ["claude-code"];
11
12
  export type AgentHarness = (typeof AGENT_HARNESSES)[number];
12
13
  export declare const DEFAULT_AGENT_HARNESS: AgentHarness;
14
+ /** Retired values, each with the record that retired it. */
15
+ export declare const RETIRED_AGENT_HARNESSES: Readonly<Record<string, string>>;
13
16
  export declare function isAgentHarness(value: string): value is AgentHarness;
14
17
  /**
15
18
  * Resolve an optional CLI input to a concrete harness, falling back to
16
- * the reference default when unset. Throws on an unsupported value so
17
- * the CLI can surface a clear error to the caller.
19
+ * the reference default when unset. Throws on an unsupported or retired
20
+ * value so the CLI can surface a clear error to the caller.
18
21
  */
19
22
  export declare function resolveAgentHarness(input: string | undefined): AgentHarness;
20
23
  //# sourceMappingURL=agent-harness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-harness.d.ts","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,eAAe,gDAAiD,CAAC;AAE9E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,EAAE,YAA4B,CAAC;AAEjE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAQ3E"}
1
+ {"version":3,"file":"agent-harness.d.ts","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,eAAe,0BAA2B,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,EAAE,YAA4B,CAAC;AAEjE,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAc3E"}
@@ -1,25 +1,34 @@
1
1
  /**
2
2
  * Agent-harness identifiers — the value space of `--agent-harness` on
3
- * `sdd-cli init` and `sdd-cli sync` per ADR 0141 §4.6.
3
+ * `sdd-cli init`, `sdd-cli sync` and `context pull` per ADR 0141 §4.6.
4
4
  *
5
- * Claude Code is the reference implementation per ADR 0141 §4.4 and
6
- * the default. GitHub Copilot CLI is the second reference per
7
- * `docs/method/methods/hook-contracts.md`. Adopters using a different
8
- * harness implement the portable contracts themselves per ADR 0141 §4.5.
5
+ * Claude Code is the one supported harness (M-ADR 0220 §4.6) and the default. The GitHub Copilot
6
+ * CLI value is retired: passing it fails, naming that record. Every SDD and code repository also
7
+ * gets an AGENTS.md pointer to agent-instructions.md, with no flag; it is a pointer, not support
8
+ * for another harness. Adopters binding any other harness implement the portable contracts
9
+ * themselves (ADR 0141 §4.5).
9
10
  */
10
- export const AGENT_HARNESSES = ["claude-code", "github-copilot-cli"];
11
+ export const AGENT_HARNESSES = ["claude-code"];
11
12
  export const DEFAULT_AGENT_HARNESS = "claude-code";
13
+ /** Retired values, each with the record that retired it. */
14
+ export const RETIRED_AGENT_HARNESSES = {
15
+ "github-copilot-cli": "M-ADR 0220 §4.6",
16
+ };
12
17
  export function isAgentHarness(value) {
13
18
  return AGENT_HARNESSES.includes(value);
14
19
  }
15
20
  /**
16
21
  * Resolve an optional CLI input to a concrete harness, falling back to
17
- * the reference default when unset. Throws on an unsupported value so
18
- * the CLI can surface a clear error to the caller.
22
+ * the reference default when unset. Throws on an unsupported or retired
23
+ * value so the CLI can surface a clear error to the caller.
19
24
  */
20
25
  export function resolveAgentHarness(input) {
21
26
  if (input === undefined)
22
27
  return DEFAULT_AGENT_HARNESS;
28
+ const retired = RETIRED_AGENT_HARNESSES[input];
29
+ if (retired !== undefined) {
30
+ throw new Error(`--agent-harness "${input}" is retired (${retired}): Claude Code is the one supported harness, and every repository gets an AGENTS.md pointer to agent-instructions.md without a flag. Supported: ${AGENT_HARNESSES.join(", ")}.`);
31
+ }
23
32
  if (!isAgentHarness(input)) {
24
33
  throw new Error(`Unsupported --agent-harness "${input}". Supported: ${AGENT_HARNESSES.join(", ")}.`);
25
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAU,CAAC;AAI9E,MAAM,CAAC,MAAM,qBAAqB,GAAiB,aAAa,CAAC;AAEjE,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,qBAAqB,CAAC;IACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,iBAAiB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../../src/lib/agent-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,CAAU,CAAC;AAIxD,MAAM,CAAC,MAAM,qBAAqB,GAAiB,aAAa,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAqC;IACvE,oBAAoB,EAAE,iBAAiB;CACxC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,qBAAqB,CAAC;IACtD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,oBAAoB,KAAK,iBAAiB,OAAO,mJAAmJ,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClO,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,iBAAiB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * content below survives sync via the existing `writeMarkedBlockFile`
9
9
  * machinery.
10
10
  */
11
- export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, splitWrapperTemplate, substitute, } from "./render.js";
11
+ export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, AGENTS_POINTER, briefingWrappers, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, renderWrapper, splitWrapperTemplate, substitute, } from "./render.js";
12
12
  export type { RenderResult, WrapperTemplateParts } from "./render.js";
13
13
  export { resolveBriefingVariables } from "./variables.js";
14
14
  export type { BriefingVariables, ResolveVariablesOptions } from "./variables.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -8,6 +8,6 @@
8
8
  * content below survives sync via the existing `writeMarkedBlockFile`
9
9
  * machinery.
10
10
  */
11
- export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, splitWrapperTemplate, substitute, } from "./render.js";
11
+ export { AGENT_INSTRUCTIONS_REL_PATH, BRIEFING_TEMPLATE_ROOT, WRAPPER_BLOCK_BEGIN, WRAPPER_BLOCK_END, extractWrapperBlock, findUnresolvedPlaceholders, AGENTS_POINTER, briefingWrappers, harnessWrapperOutputPath, renderAgentInstructions, renderHarnessWrapper, renderWrapper, splitWrapperTemplate, substitute, } from "./render.js";
12
12
  export { resolveBriefingVariables } from "./variables.js";
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/briefing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -16,8 +16,23 @@ import type { AgentHarness } from "../agent-harness.js";
16
16
  import type { BriefingVariables } from "./variables.js";
17
17
  export declare const BRIEFING_TEMPLATE_ROOT = "orchestration/templates/briefing";
18
18
  export declare const AGENT_INSTRUCTIONS_REL_PATH = "agent-instructions.md";
19
- /** Output filename per harness — e.g. `CLAUDE.md` or `AGENTS.md`. */
19
+ /** Output filename per harness — `CLAUDE.md`. */
20
20
  export declare function harnessWrapperOutputPath(harness: AgentHarness): string;
21
+ /**
22
+ * The AGENTS.md pointer (M-ADR 0220 §4.6): a few lines directing any agent tool that reads a root
23
+ * AGENTS.md to agent-instructions.md. Written for every SDD and code repository with no flag, and
24
+ * rendered and refreshed exactly as the CLAUDE.md wrapper is. A pointer, not support for another
25
+ * harness. Relative to the briefing template root; code repositories read it under code-repo/.
26
+ */
27
+ export declare const AGENTS_POINTER: {
28
+ readonly templateRel: "AGENTS.md.hbs";
29
+ readonly outputRel: "AGENTS.md";
30
+ };
31
+ /** Every marker-merged wrapper a repository gets: the harness's own, then the AGENTS.md pointer. */
32
+ export declare function briefingWrappers(harness: AgentHarness): ReadonlyArray<{
33
+ templateRel: string;
34
+ outputRel: string;
35
+ }>;
21
36
  /**
22
37
  * Marker pair the wrapper templates use to delimit the method-managed
23
38
  * region. The wrapper sync path slices this region out of the freshly
@@ -44,6 +59,8 @@ export interface RenderResult {
44
59
  }
45
60
  export declare function renderAgentInstructions(targetRepo: string, vars: BriefingVariables): Promise<RenderResult | null>;
46
61
  export declare function renderHarnessWrapper(targetRepo: string, harness: AgentHarness, vars: BriefingVariables): Promise<RenderResult | null>;
62
+ /** Render one wrapper template from the briefing root; null when the baseline does not ship it. */
63
+ export declare function renderWrapper(targetRepo: string, templateRel: string, vars: BriefingVariables): Promise<RenderResult | null>;
47
64
  /**
48
65
  * A rendered wrapper template split at the method-managed markers:
49
66
  * `pre` is everything before the begin marker (the heading), `block`
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AACzE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAenE,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAI9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAe3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AACzE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAWnE,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;CAAoE,CAAC;AAEhG,oGAAoG;AACpG,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAEjH;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAE9B;AAED,mGAAmG;AACnG,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAE9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAe3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D"}
@@ -21,15 +21,22 @@ const HARNESS_WRAPPER_TEMPLATE = {
21
21
  templateRel: "claude-code/CLAUDE.md.hbs",
22
22
  outputRel: "CLAUDE.md",
23
23
  },
24
- "github-copilot-cli": {
25
- templateRel: "github-copilot-cli/AGENTS.md.hbs",
26
- outputRel: "AGENTS.md",
27
- },
28
24
  };
29
- /** Output filename per harness — e.g. `CLAUDE.md` or `AGENTS.md`. */
25
+ /** Output filename per harness — `CLAUDE.md`. */
30
26
  export function harnessWrapperOutputPath(harness) {
31
27
  return HARNESS_WRAPPER_TEMPLATE[harness].outputRel;
32
28
  }
29
+ /**
30
+ * The AGENTS.md pointer (M-ADR 0220 §4.6): a few lines directing any agent tool that reads a root
31
+ * AGENTS.md to agent-instructions.md. Written for every SDD and code repository with no flag, and
32
+ * rendered and refreshed exactly as the CLAUDE.md wrapper is. A pointer, not support for another
33
+ * harness. Relative to the briefing template root; code repositories read it under code-repo/.
34
+ */
35
+ export const AGENTS_POINTER = { templateRel: "AGENTS.md.hbs", outputRel: "AGENTS.md" };
36
+ /** Every marker-merged wrapper a repository gets: the harness's own, then the AGENTS.md pointer. */
37
+ export function briefingWrappers(harness) {
38
+ return [HARNESS_WRAPPER_TEMPLATE[harness], AGENTS_POINTER];
39
+ }
33
40
  /**
34
41
  * Marker pair the wrapper templates use to delimit the method-managed
35
42
  * region. The wrapper sync path slices this region out of the freshly
@@ -71,9 +78,11 @@ export async function renderAgentInstructions(targetRepo, vars) {
71
78
  return renderFromPath(templatePath, vars);
72
79
  }
73
80
  export async function renderHarnessWrapper(targetRepo, harness, vars) {
74
- const { templateRel } = HARNESS_WRAPPER_TEMPLATE[harness];
75
- const templatePath = join(targetRepo, BRIEFING_TEMPLATE_ROOT, templateRel);
76
- return renderFromPath(templatePath, vars);
81
+ return renderWrapper(targetRepo, HARNESS_WRAPPER_TEMPLATE[harness].templateRel, vars);
82
+ }
83
+ /** Render one wrapper template from the briefing root; null when the baseline does not ship it. */
84
+ export async function renderWrapper(targetRepo, templateRel, vars) {
85
+ return renderFromPath(join(targetRepo, BRIEFING_TEMPLATE_ROOT, templateRel), vars);
77
86
  }
78
87
  /**
79
88
  * Split a fully-rendered wrapper template at the method-managed
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/briefing/render.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  // Aggregation-manifest loader per
2
2
  // docs/method/methods/aggregation-manifest-schema.yaml.
3
3
  //
4
- // v1 supports `pull.kind: filesystem` only; other kinds (git-ref,
5
- // release-asset, mcp-resource) are schema-reserved and reject with a
4
+ // v1 supports `pull.kind: filesystem` only; the other kinds (git-ref,
5
+ // release-asset) are schema-reserved and reject with a
6
6
  // clear "deferred" error so adopters get unambiguous feedback.
7
7
  import { readFile } from "node:fs/promises";
8
8
  import { isAbsolute, relative, resolve } from "node:path";
@@ -115,8 +115,8 @@ export async function loadAggregationManifest(manifestPath, options) {
115
115
  const kind = s.pull.kind;
116
116
  if (kind !== "filesystem") {
117
117
  throw new Error(`aggregation manifest: sibling "${s.sdd_id}" uses pull.kind="${kind}"\n` +
118
- ` v1 supports filesystem only. Other kinds (git-ref, release-asset,\n` +
119
- ` mcp-resource) are schema-reserved and not yet implemented.\n` +
118
+ ` v1 supports filesystem only. The other kinds (git-ref, release-asset)\n` +
119
+ ` are schema-reserved and not yet implemented.\n` +
120
120
  ` See: docs/method/methods/aggregation-manifest-schema.yaml#pull_kinds`);
121
121
  }
122
122
  const path = s.pull.path;
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation-manifest-loader.js","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregation-manifest-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregation-manifest-loader.js","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregation-manifest-loader.ts"],"names":[],"mappings":"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"}
@@ -22,5 +22,6 @@ export declare function compareCatalogueDirs(producedDir: string, committedDir:
22
22
  export declare function checkCataloguesFresh(sddPath: string, opts: {
23
23
  strict?: boolean;
24
24
  snapshotStore?: string;
25
+ label?: string;
25
26
  }, out: (line: string) => void): Promise<FreshnessResult>;
26
27
  //# sourceMappingURL=freshness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,sIAAsI;AACtI,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBvG;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EAClD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC,eAAe,CAAC,CA4B1B"}
1
+ {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,sIAAsI;AACtI,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBvG;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAClE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC,eAAe,CAAC,CA6B1B"}
@@ -39,6 +39,7 @@ export async function compareCatalogueDirs(producedDir, committedDir) {
39
39
  return stale;
40
40
  }
41
41
  export async function checkCataloguesFresh(sddPath, opts, out) {
42
+ const label = opts.label ?? "catalogue build --check";
42
43
  const tmp = await mkdtemp(join(tmpdir(), "sdd-catalogue-check-"));
43
44
  try {
44
45
  const built = await runCatalogueBuild({
@@ -48,16 +49,16 @@ export async function checkCataloguesFresh(sddPath, opts, out) {
48
49
  ...(opts.snapshotStore !== undefined ? { snapshotStore: opts.snapshotStore } : {}),
49
50
  }, () => { });
50
51
  if (built.exitCode !== 0) {
51
- out(`[FAIL] catalogue build --check: the build itself failed (exit ${built.exitCode}); run catalogue build to see why.\n`);
52
+ out(`[FAIL] ${label}: the build itself failed (exit ${built.exitCode}); run catalogue build to see why.\n`);
52
53
  return { exitCode: built.exitCode, stale: [] };
53
54
  }
54
55
  const produced = (await readdir(tmp)).sort();
55
56
  const stale = await compareCatalogueDirs(tmp, join(sddPath, "catalogues"));
56
57
  if (stale.length === 0) {
57
- out(`[PASS] catalogue build --check: ${produced.length} catalogue file(s) reproduce byte-identically from the committed specs.\n`);
58
+ out(`[PASS] ${label}: ${produced.length} catalogue file(s) reproduce byte-identically from the committed specs.\n`);
58
59
  return { exitCode: 0, stale };
59
60
  }
60
- out(`[FAIL] catalogue build --check: ${stale.length} catalogue file(s) are stale against the committed specs — run sdd-cli catalogue build and commit the result:\n`);
61
+ out(`[FAIL] ${label}: ${stale.length} catalogue file(s) are stale against the committed specs — catalogue build (sdd-maintain or sdd-cli) rebuilds them:\n`);
61
62
  for (const s of stale)
62
63
  out(` ${s}\n`);
63
64
  return { exitCode: 1, stale };