@wemuda/launchrail 1.18.0 → 1.20.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/README.md +2 -2
- package/assets/agents-docs/domain.md +2 -2
- package/assets/ralph.workflow.js +1 -1
- package/assets/skills/launchrail/launch-design-validation/SKILL.md +1 -1
- package/assets/skills/launchrail/launch-grill/domain-modeling.md +1 -1
- package/assets/skills/launchrail/launch-spec/SKILL.md +1 -1
- package/assets/skills/launchrail/launch-tickets/SKILL.md +1 -1
- package/dist/commands/adr.d.ts +8 -8
- package/dist/commands/adr.js +12 -29
- package/dist/commands/adr.js.map +1 -1
- package/dist/commands/doctor.js +16 -17
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/sync.js +10 -0
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +20 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/adr.d.ts +62 -15
- package/dist/lib/adr.js +163 -44
- package/dist/lib/adr.js.map +1 -1
- package/dist/lib/migrations.js +76 -1
- package/dist/lib/migrations.js.map +1 -1
- package/dist/lib/seeds.js +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -77,7 +77,7 @@ npx @wemuda/launchrail doctor # repository and environment checks
|
|
|
77
77
|
npx @wemuda/launchrail verify # deterministic verification gate
|
|
78
78
|
npx @wemuda/launchrail dev --background # start the smokeable stack from the manifest; --check proves the contract
|
|
79
79
|
npx @wemuda/launchrail eject <module|file> # opt out of management (vendor mode: --all)
|
|
80
|
-
npx @wemuda/launchrail adr index #
|
|
80
|
+
npx @wemuda/launchrail adr index # print the ADR index from the records (never committed, so ADR branches never conflict on it)
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
Initialized projects carry two files: `.launchrail.yml` (configuration) and `.launchrail-lock.json` (versions, checksums, applied migrations; committed to the repo). Full walkthrough: [docs/getting-started.md](https://github.com/wemuda/launchrail/blob/master/docs/getting-started.md). Committed, unedited example of what `init` produces: [examples/hello-launchrail](https://github.com/wemuda/launchrail/tree/master/examples/hello-launchrail).
|
|
@@ -150,7 +150,7 @@ The toolchain is stable and versioned. The full surface — `init`/`doctor`, the
|
|
|
150
150
|
See [CONTRIBUTING.md](https://github.com/wemuda/launchrail/blob/master/CONTRIBUTING.md). The short version:
|
|
151
151
|
|
|
152
152
|
- Commits follow [Conventional Commits](https://www.conventionalcommits.org/) (`type(scope): summary`); see [ADR-0002](https://github.com/wemuda/launchrail/blob/master/docs/adr/0002-conventional-commits.md). Releases and the changelog are generated from them ([docs/releasing.md](https://github.com/wemuda/launchrail/blob/master/docs/releasing.md)).
|
|
153
|
-
- Meaningful decisions are recorded as ADRs in [docs/adr/](https://github.com/wemuda/launchrail/tree/master/docs/adr/), named by decision date and slug; the registry index [docs/adr/README.md](https://github.com/wemuda/launchrail/blob/master/docs/adr/README.md)
|
|
153
|
+
- Meaningful decisions are recorded as ADRs in [docs/adr/](https://github.com/wemuda/launchrail/tree/master/docs/adr/), named by decision date and slug; `launchrail adr index` prints the registry index, which says which are live, and [docs/adr/README.md](https://github.com/wemuda/launchrail/blob/master/docs/adr/README.md) holds the live picture.
|
|
154
154
|
- The agent operating contract lives in [AGENTS.md](https://github.com/wemuda/launchrail/blob/master/AGENTS.md).
|
|
155
155
|
- Security issues go through [SECURITY.md](https://github.com/wemuda/launchrail/blob/master/SECURITY.md), not public issues.
|
|
156
156
|
|
|
@@ -11,7 +11,7 @@ How the workflow skills should consume this repo's domain documentation when exp
|
|
|
11
11
|
|
|
12
12
|
- **`CONTEXT.md`** at the repo root, or
|
|
13
13
|
- **`CONTEXT-MAP.md`** at the repo root if it exists — it points at one `CONTEXT.md` per context. Read each one relevant to the topic.
|
|
14
|
-
- **`docs/adr/README.md`** — the decision registry.
|
|
14
|
+
- **`docs/adr/README.md`** — the decision registry. Print its index first (`npx @wemuda/launchrail adr index`), then open only the ADRs that touch the area you're about to work in. An ADR records a decision, not the current system — never take one as evidence that a component exists or still works as described; verify against the code. In multi-context repos, also check `src/<context>/docs/adr/` for context-scoped decisions.
|
|
15
15
|
|
|
16
16
|
If any of these files don't exist, **proceed silently**. Don't flag their absence; don't suggest creating them upfront. The `launch-grill` skill's domain-modeling discipline creates them lazily when terms or decisions actually get resolved.
|
|
17
17
|
|
|
@@ -44,7 +44,7 @@ Multi-context repo (presence of `CONTEXT-MAP.md` at the root):
|
|
|
44
44
|
└── docs/adr/
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
ADRs use the project's own format — copy `docs/adr/0000-template.md` to `YYYY-MM-DD-short-slug.md` (the decision date, then a slug unique in the directory; no sequence number to claim), declare in its `## Status` what it amends or supersedes
|
|
47
|
+
ADRs use the project's own format — copy `docs/adr/0000-template.md` to `YYYY-MM-DD-short-slug.md` (the decision date, then a slug unique in the directory; no sequence number to claim), and declare in its `## Status` what it amends or supersedes. The registry index is printed from the records, never committed, so the record is the whole change.
|
|
48
48
|
|
|
49
49
|
## Use the glossary's vocabulary
|
|
50
50
|
|
package/assets/ralph.workflow.js
CHANGED
|
@@ -319,7 +319,7 @@ const RELEASE_SCHEMA = {
|
|
|
319
319
|
function preamble(pre) {
|
|
320
320
|
return `You are working in a Launchrail project${pre.repo ? ` (${pre.repo})` : ''}; integration base: ${pre.base}.
|
|
321
321
|
Binding docs: AGENTS.md and CLAUDE.md, plus the vision and specs under docs/. Read them before touching code.
|
|
322
|
-
Architecture decisions:
|
|
322
|
+
Architecture decisions: print the registry index (npx @wemuda/launchrail adr index) and open only the ADRs touching your ticket's area — an ADR records a decision, not the current system; the code is the evidence for what exists.
|
|
323
323
|
Tracker access from this environment: ${pre.trackerAccess}
|
|
324
324
|
Blocking edges live on tickets as "Blocked by: #n" lines.
|
|
325
325
|
Verbatim local commands: install: ${pre.installCommand}${pre.localCommands.length > 0 ? ` ; ${pre.localCommands.join(' ; ')}` : ''}
|
|
@@ -39,6 +39,6 @@ Every level answers the same question — does the specified behavior survive co
|
|
|
39
39
|
- **Screen mockups** — build one artifact page mocking the key screens and states per flow, including the empty, loading, and error states the spec claims to handle.
|
|
40
40
|
- **Claude Design** — drive it flow by flow when the session can reach it. When it can't, prepare a fully-argumented handoff — the flows, the states each must show, links to the spec and vision, and any existing design-system baseline (see `project-alignment`) — hand it to the user to run, and resume when the design artifacts land. Never silently downgrade a level-4 choice to mockups; a downgrade is the user's decision.
|
|
41
41
|
5. **Harvest findings.** For each flow record: what the design confirmed, what it contradicted in the spec, and what the spec turned out to be silent on. Ambiguities count as findings. Findings at a low level are also a signal — if the diagrams alone surface deep uncertainty, recommend re-running a flow at a higher level before revising.
|
|
42
|
-
6. **Revise the spec.** Apply the accepted findings to the spec in place. If a finding invalidates an ADR, update or supersede that ADR in the same change
|
|
42
|
+
6. **Revise the spec.** Apply the accepted findings to the spec in place. If a finding invalidates an ADR, update or supersede that ADR in the same change; the registry index (`launchrail adr index`) picks up the status change from the records. Note rejected findings and why in the handoff note, so the question does not resurface every review.
|
|
43
43
|
7. **Write the handoff note** at the end of the spec (section `## Design validation`) with: date, the level that ran, flows validated, links to the artifact pages / design artifacts, accepted changes, rejected findings with reasons, and open questions. This section is the evidence that validation happened — the ticket stage (`launch-tickets`) reads the spec as validated only if it is present.
|
|
44
44
|
8. **Hand off with the rail banner.** Confirm with the user that the revised spec is approved, save it in place — commit the file, or update the spec issue on the tracker — respecting the project's commit conventions. Then close with the banner from [`workflow.md`](../launch/workflow.md)'s phase view: the validated spec under Done, ticket creation (`launch-tickets`) as Now, and the exact command on the `➤` line.
|
|
@@ -44,4 +44,4 @@ Only offer to create an ADR when all three are true:
|
|
|
44
44
|
|
|
45
45
|
If any of the three is missing, skip the ADR — an implementation choice that fails the bar lives in the spec or the ticket, not `docs/adr/`. And when the decision refines one an existing ADR already owns, amend that ADR — a new record that declares `amends` it in its `## Status`, or a revision of the record itself — instead of minting an unrelated sibling; a corpus of revisions reads worse than a decision with a history.
|
|
46
46
|
|
|
47
|
-
ADRs use the **project's own format**: copy `docs/adr/0000-template.md` (seeded by `launchrail init`) to `YYYY-MM-DD-short-slug.md` — the decision date, then a slug unique in `docs/adr/`; there is no number to claim, so parallel sessions never collide
|
|
47
|
+
ADRs use the **project's own format**: copy `docs/adr/0000-template.md` (seeded by `launchrail init`) to `YYYY-MM-DD-short-slug.md` — the decision date, then a slug unique in `docs/adr/`; there is no number to claim, so parallel sessions never collide. The registry index is printed from the records (`launchrail adr index`), never committed, so the record is the whole change. A project whose records still follow an older `NNNN-` scheme keeps those names; only new records take dates. One format per project; do not introduce a second.
|
|
@@ -12,7 +12,7 @@ Synthesis preserves the grill's labels ([ADR-0029](https://github.com/wemuda/lau
|
|
|
12
12
|
|
|
13
13
|
## Process
|
|
14
14
|
|
|
15
|
-
1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary (`CONTEXT.md`) throughout the spec, and respect any ADRs in the area you're touching — find them through the registry index (`
|
|
15
|
+
1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary (`CONTEXT.md`) throughout the spec, and respect any ADRs in the area you're touching — find them through the registry index (`npx @wemuda/launchrail adr index`) rather than reading the whole directory, and remember an ADR records a decision, not what exists; the codebase is the evidence for current state.
|
|
16
16
|
|
|
17
17
|
2. Sketch out the seams at which you're going to test the feature. Existing seams should be preferred to new ones. Use the highest seam possible. If new seams are needed, propose them at the highest point you can. The fewer seams across the codebase, the better — the ideal number is one.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ Work from whatever is already in the conversation context. If the user passes a
|
|
|
20
20
|
|
|
21
21
|
### 2. Explore the codebase (optional)
|
|
22
22
|
|
|
23
|
-
If you have not already explored the codebase, do so to understand the current state of the code. Ticket titles and descriptions should use the project's domain glossary vocabulary (`CONTEXT.md`), and respect ADRs in the area you're touching — found through the registry index (`
|
|
23
|
+
If you have not already explored the codebase, do so to understand the current state of the code. Ticket titles and descriptions should use the project's domain glossary vocabulary (`CONTEXT.md`), and respect ADRs in the area you're touching — found through the registry index (`npx @wemuda/launchrail adr index`), not by reading the whole directory. An ADR records a decision, not what exists: when a ticket depends on a component an ADR describes, verify in the code that it is actually built before slicing on that assumption.
|
|
24
24
|
|
|
25
25
|
Look for opportunities to prefactor the code to make the implementation easier. "Make the change easy, then make the easy change."
|
|
26
26
|
|
package/dist/commands/adr.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
export interface AdrIndexOptions {
|
|
2
2
|
cwd: string;
|
|
3
|
-
/** Report whether the index is current without writing; exit 1 when it is not. */
|
|
4
|
-
check: boolean;
|
|
5
3
|
}
|
|
6
4
|
export interface AdrIndexOutcome {
|
|
7
5
|
code: number;
|
|
8
|
-
/** "current" | "updated" | "stale" (check mode) | "missing" (no registry / no index section). */
|
|
9
|
-
result: "current" | "updated" | "stale" | "missing";
|
|
10
6
|
records: number;
|
|
7
|
+
/** What was printed: the table (plus the Unclassified note when it applies), or the empty-corpus line. */
|
|
8
|
+
output: string;
|
|
11
9
|
}
|
|
12
10
|
/**
|
|
13
|
-
* `launchrail adr index` —
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* every
|
|
11
|
+
* `launchrail adr index` — print the registry index, built from the records on
|
|
12
|
+
* disk: one row per record in timeline order, each with its live status and the
|
|
13
|
+
* reverse links later records imply. Read-only, and never committed: a table
|
|
14
|
+
* every ADR-adding branch rewrites is one parallel branches conflict over
|
|
15
|
+
* (2026-10-01-adr-index-is-printed-not-committed), so the records alone are the
|
|
16
|
+
* source and the index is computed each time it is read.
|
|
17
17
|
*/
|
|
18
18
|
export declare function runAdrIndex(options: AdrIndexOptions): AdrIndexOutcome;
|
package/dist/commands/adr.js
CHANGED
|
@@ -1,35 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { ADR_REGISTRY_PATH, scanAdrs, withRegeneratedIndex } from "../lib/adr.js";
|
|
1
|
+
import { ADR_DIR, ADR_UNCLASSIFIED_NOTE, adrIndexTable, scanAdrs } from "../lib/adr.js";
|
|
4
2
|
/**
|
|
5
|
-
* `launchrail adr index` —
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* every
|
|
3
|
+
* `launchrail adr index` — print the registry index, built from the records on
|
|
4
|
+
* disk: one row per record in timeline order, each with its live status and the
|
|
5
|
+
* reverse links later records imply. Read-only, and never committed: a table
|
|
6
|
+
* every ADR-adding branch rewrites is one parallel branches conflict over
|
|
7
|
+
* (2026-10-01-adr-index-is-printed-not-committed), so the records alone are the
|
|
8
|
+
* source and the index is computed each time it is read.
|
|
9
9
|
*/
|
|
10
10
|
export function runAdrIndex(options) {
|
|
11
|
-
const registryPath = join(options.cwd, ADR_REGISTRY_PATH);
|
|
12
11
|
const entries = scanAdrs(options.cwd);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const next = withRegeneratedIndex(source, entries);
|
|
19
|
-
if (next === null) {
|
|
20
|
-
console.error(`launchrail: ${ADR_REGISTRY_PATH} has no index to regenerate — add a \`## Index\` heading with a table (or the adr-index markers) and re-run`);
|
|
21
|
-
return { code: 1, result: "missing", records: entries.length };
|
|
22
|
-
}
|
|
23
|
-
if (next === source) {
|
|
24
|
-
console.log(`adr index: current (${entries.length} record(s))`);
|
|
25
|
-
return { code: 0, result: "current", records: entries.length };
|
|
26
|
-
}
|
|
27
|
-
if (options.check) {
|
|
28
|
-
console.error(`adr index: out of date — run \`launchrail adr index\` and commit ${ADR_REGISTRY_PATH}`);
|
|
29
|
-
return { code: 1, result: "stale", records: entries.length };
|
|
30
|
-
}
|
|
31
|
-
writeFileSync(registryPath, next);
|
|
32
|
-
console.log(`adr index: updated ${ADR_REGISTRY_PATH} (${entries.length} record(s))`);
|
|
33
|
-
return { code: 0, result: "updated", records: entries.length };
|
|
12
|
+
const output = entries.length === 0
|
|
13
|
+
? `No decision records in ${ADR_DIR}/ yet.`
|
|
14
|
+
: [adrIndexTable(entries), ...(entries.some((e) => e.status === "") ? ["", ADR_UNCLASSIFIED_NOTE] : [])].join("\n");
|
|
15
|
+
console.log(output);
|
|
16
|
+
return { code: 0, records: entries.length, output };
|
|
34
17
|
}
|
|
35
18
|
//# sourceMappingURL=adr.js.map
|
package/dist/commands/adr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr.js","sourceRoot":"","sources":["../../src/commands/adr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adr.js","sourceRoot":"","sources":["../../src/commands/adr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAaxF;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,OAAwB;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,CAAC,0BAA0B,OAAO,QAAQ;QAC3C,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { ADR_REGISTRY_PATH, adrDuplicates, scanAdrs,
|
|
3
|
+
import { ADR_REGISTRY_PATH, adrDuplicates, GITATTRIBUTES_FILENAME, removeRetiredMergeDriverConfig, RETIRED_ADR_MERGE_DRIVER_NAME, scanAdrs, withoutCommittedIndex, withoutRetiredMergeAttribute, } from "../lib/adr.js";
|
|
4
4
|
import { BROWSER_DRIVER_PACKAGE, BROWSER_TESTING_MODULE, SEMANTIC_SCRIPTS } from "../lib/browser-testing.js";
|
|
5
5
|
import { sha256 } from "../lib/checksum.js";
|
|
6
6
|
import { missingImports } from "../lib/claudeImports.js";
|
|
@@ -104,7 +104,7 @@ export function runDoctor(cwd) {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
// The ADR corpus (ADR-0031, as amended by the dated-identifier ADR):
|
|
107
|
-
// filename-level invariants plus the
|
|
107
|
+
// filename-level invariants plus the registry — record contents use
|
|
108
108
|
// the project's own format and are none of doctor's business. All are
|
|
109
109
|
// project-doc hygiene, so they warn rather than fail.
|
|
110
110
|
const adrs = scanAdrs(cwd);
|
|
@@ -118,25 +118,24 @@ export function runDoctor(cwd) {
|
|
|
118
118
|
add("warn", "adr identifiers", `${detail} — each id is claimed by more than one file, so every reference by it is ambiguous; give the newer collider a dated \`YYYY-MM-DD-slug.md\` name (dated ids never collide) and update its links`);
|
|
119
119
|
}
|
|
120
120
|
if (!existsSync(join(cwd, ADR_REGISTRY_PATH))) {
|
|
121
|
-
add("warn", "adr registry", `${ADR_REGISTRY_PATH} missing — run \`launchrail sync\` to seed the
|
|
121
|
+
add("warn", "adr registry", `${ADR_REGISTRY_PATH} missing — run \`launchrail sync\` to seed the registry`);
|
|
122
|
+
}
|
|
123
|
+
else if (withoutCommittedIndex(readFileSync(join(cwd, ADR_REGISTRY_PATH), "utf8")) !== null) {
|
|
124
|
+
add("warn", "adr registry", `${ADR_REGISTRY_PATH} still commits a generated index table — run \`launchrail sync\` to drop it; the index is printed on demand (\`launchrail adr index\`), so parallel branches have no table to conflict over`);
|
|
122
125
|
}
|
|
123
126
|
else {
|
|
124
|
-
|
|
125
|
-
const unindexed = unindexedAdrs(registry, adrs);
|
|
126
|
-
if (unindexed.length > 0) {
|
|
127
|
-
add("warn", "adr registry", `${unindexed.length} record(s) missing from the index (${unindexed
|
|
128
|
-
.slice(0, 3)
|
|
129
|
-
.map((e) => e.file)
|
|
130
|
-
.join(", ")}${unindexed.length > 3 ? ", …" : ""}) — run \`launchrail adr index\``);
|
|
131
|
-
}
|
|
132
|
-
else if (withRegeneratedIndex(registry, adrs) !== registry) {
|
|
133
|
-
add("warn", "adr registry", `index table out of date — run \`launchrail adr index\` and commit ${ADR_REGISTRY_PATH}`);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
add("pass", "adr registry", "every record indexed, index current");
|
|
137
|
-
}
|
|
127
|
+
add("pass", "adr registry", "registry present; the index is printed on demand (`launchrail adr index`)");
|
|
138
128
|
}
|
|
139
129
|
}
|
|
130
|
+
// The retired index merge driver (2026-10-01-adr-index-is-printed-not-committed):
|
|
131
|
+
// the migration drops the committed .gitattributes line, and doctor drops the
|
|
132
|
+
// per-clone config so a stale binding cannot invoke a removed command.
|
|
133
|
+
if (withoutRetiredMergeAttribute(cwd) !== null) {
|
|
134
|
+
add("warn", "adr merge driver", `${GITATTRIBUTES_FILENAME} still binds ${ADR_REGISTRY_PATH} to the retired ${RETIRED_ADR_MERGE_DRIVER_NAME} merge driver — run \`launchrail sync\` to remove the line`);
|
|
135
|
+
}
|
|
136
|
+
if (detection.isGitRepo && removeRetiredMergeDriverConfig(cwd)) {
|
|
137
|
+
add("pass", "adr merge driver", `removed the retired ${RETIRED_ADR_MERGE_DRIVER_NAME} merge driver from this clone's git config`);
|
|
138
|
+
}
|
|
140
139
|
// Skills ship as managed files (ADR-0019/0020), not a plugin. Their exact
|
|
141
140
|
// contents/checksums are covered by the managed-file checks above; here give a
|
|
142
141
|
// single friendly signal that every expected skill directory is on disk.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/sync.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
import { hasRetiredMergeDriverConfig, removeRetiredMergeDriverConfig, RETIRED_ADR_MERGE_DRIVER_NAME } from "../lib/adr.js";
|
|
3
4
|
import { writeLockfile } from "../lib/lockfile.js";
|
|
4
5
|
import { MANIFEST_FILENAME, parseManifest } from "../lib/manifest.js";
|
|
5
6
|
import { applyPendingMigrations, MIGRATIONS, planPendingMigrations, } from "../lib/migrations.js";
|
|
@@ -51,6 +52,9 @@ export function runSync(opts) {
|
|
|
51
52
|
const actions = planWrites(opts.cwd, desiredSpecs(state), state.lockfile);
|
|
52
53
|
printActions(actions);
|
|
53
54
|
reportConflicts(actions);
|
|
55
|
+
if (hasRetiredMergeDriverConfig(opts.cwd)) {
|
|
56
|
+
console.log(` git-config merge.${RETIRED_ADR_MERGE_DRIVER_NAME} (remove the retired ADR index merge driver from this clone)`);
|
|
57
|
+
}
|
|
54
58
|
console.log("\nDry run — nothing was written.");
|
|
55
59
|
return { code: 0, actions, migrations: [] };
|
|
56
60
|
}
|
|
@@ -81,6 +85,12 @@ export function runSync(opts) {
|
|
|
81
85
|
const actions = planWrites(opts.cwd, desiredSpecs(state), state.lockfile);
|
|
82
86
|
printActions(actions);
|
|
83
87
|
const written = applyPlan(opts.cwd, actions, state.lockfile);
|
|
88
|
+
// The retired ADR index merge driver's config is per-clone (never committed),
|
|
89
|
+
// so it is dropped on every sync rather than once behind the migration that
|
|
90
|
+
// removes the committed .gitattributes line.
|
|
91
|
+
if (removeRetiredMergeDriverConfig(opts.cwd)) {
|
|
92
|
+
console.log(` git-config merge.${RETIRED_ADR_MERGE_DRIVER_NAME} (removed the retired ADR index merge driver)`);
|
|
93
|
+
}
|
|
84
94
|
state.lockfile.launchrailVersion = VERSION;
|
|
85
95
|
if (JSON.stringify(state.lockfile) !== lockBefore)
|
|
86
96
|
writeLockfile(opts.cwd, state.lockfile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,qBAAqB,GAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAexC,SAAS,YAAY,CAAC,OAAwB;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAwB;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,MAAM,4CAA4C,CAAC,CAAC;IAC/E,KAAK,MAAM,MAAM,IAAI,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,sGAAsG,CAAC,CAAC;AACtH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAiB;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;gBACvE,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAChG,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1E,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,uBAAuB,6BAA6B,+DAA+D,CAAC,CAAC;QACnI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,iFAAiF;IACjF,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACvE,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3F,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,EAAE,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACjH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,oCAAoC;IACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACxF,IAAI,QAAQ,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1E,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE7D,8EAA8E;IAC9E,4EAA4E;IAC5E,6CAA6C;IAC7C,IAAI,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,uBAAuB,6BAA6B,gDAAgD,CAAC,CAAC;IACpH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU;QAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3F,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC;QAC3B,CAAC,CAAC,aAAa,QAAQ,wBAAwB,OAAO,CAAC,MAAM,WAAW;QACxE,CAAC,CAAC,oDAAoD,CACzD,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
2
3
|
import { AVAILABLE_MODULES, runAdd } from "./commands/add.js";
|
|
3
4
|
import { runAdrIndex } from "./commands/adr.js";
|
|
4
5
|
import { printDiff, runDiff } from "./commands/diff.js";
|
|
@@ -24,7 +25,7 @@ Commands:
|
|
|
24
25
|
diff Preview upstream changes
|
|
25
26
|
sync Synchronize managed capabilities and run migrations
|
|
26
27
|
eject Stop managing a selected module or file
|
|
27
|
-
adr
|
|
28
|
+
adr Print the decision-record index (adr index)
|
|
28
29
|
promote Inspect potential reusable local improvements
|
|
29
30
|
|
|
30
31
|
Options:
|
|
@@ -53,7 +54,7 @@ eject usage:
|
|
|
53
54
|
launchrail eject --all [--dry-run] Vendor mode: eject everything
|
|
54
55
|
|
|
55
56
|
adr usage:
|
|
56
|
-
launchrail adr index
|
|
57
|
+
launchrail adr index Print the ADR index from the records in docs/adr/ (never written to a file)`;
|
|
57
58
|
const NOT_IMPLEMENTED = ["promote"];
|
|
58
59
|
const args = process.argv.slice(2);
|
|
59
60
|
const command = args[0];
|
|
@@ -134,11 +135,24 @@ if (command === "eject") {
|
|
|
134
135
|
process.exit(outcome.code);
|
|
135
136
|
}
|
|
136
137
|
if (command === "adr") {
|
|
137
|
-
if (args[1]
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
if (args[1] === "index") {
|
|
139
|
+
process.exit(runAdrIndex({ cwd: process.cwd() }).code);
|
|
140
|
+
}
|
|
141
|
+
if (args[1] === "merge-driver") {
|
|
142
|
+
// Retired with the committed index (2026-10-01-adr-index-is-printed-not-committed).
|
|
143
|
+
// A clone that still binds it — an older branch's .gitattributes, before
|
|
144
|
+
// sync or doctor drop the clone's config — gets git's own text merge, so a
|
|
145
|
+
// conflict shows the usual markers instead of an untouched file.
|
|
146
|
+
const [base, ours, theirs] = [args[2], args[3], args[4]];
|
|
147
|
+
if (!base || !ours || !theirs)
|
|
148
|
+
process.exit(2);
|
|
149
|
+
const merged = spawnSync("git", ["merge-file", "-L", "ours", "-L", "base", "-L", "theirs", ours, base, theirs], {
|
|
150
|
+
stdio: "inherit",
|
|
151
|
+
});
|
|
152
|
+
process.exit(merged.status ?? 1);
|
|
140
153
|
}
|
|
141
|
-
|
|
154
|
+
console.error("launchrail: usage: launchrail adr index");
|
|
155
|
+
process.exit(1);
|
|
142
156
|
}
|
|
143
157
|
if (NOT_IMPLEMENTED.includes(command)) {
|
|
144
158
|
console.error(`launchrail: "${command}" is not implemented yet.`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,IAAI,GAAG,cAAc,OAAO;;;;;;;sDAOoB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/adr.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export declare const ADR_DIR = "docs/adr";
|
|
2
2
|
export declare const ADR_TEMPLATE_FILENAME = "0000-template.md";
|
|
3
3
|
export declare const ADR_REGISTRY_PATH = "docs/adr/README.md";
|
|
4
|
+
/**
|
|
5
|
+
* The markers that once bracketed the generated table committed into the
|
|
6
|
+
* registry. The index is printed now, never committed
|
|
7
|
+
* (2026-10-01-adr-index-is-printed-not-committed); the markers survive only so
|
|
8
|
+
* the migration and doctor can find a table an older version left behind.
|
|
9
|
+
*/
|
|
4
10
|
export declare const ADR_INDEX_START = "<!-- adr-index:start \u2014 generated by `launchrail adr index`; edit the records, not this table -->";
|
|
5
11
|
export declare const ADR_INDEX_END = "<!-- adr-index:end -->";
|
|
6
12
|
export interface AdrEntry {
|
|
@@ -19,6 +25,10 @@ export interface AdrEntry {
|
|
|
19
25
|
/** The `## Status` section's first paragraph, joined on one line; empty when the record has none. */
|
|
20
26
|
status: string;
|
|
21
27
|
}
|
|
28
|
+
/** Whether a filename in docs/adr/ is a decision record (not the template, not the registry). */
|
|
29
|
+
export declare function isAdrRecordFilename(file: string): boolean;
|
|
30
|
+
/** Parse one record's file and source into an entry; null when the filename is not a record. */
|
|
31
|
+
export declare function parseAdrEntry(file: string, source: string): AdrEntry | null;
|
|
22
32
|
/**
|
|
23
33
|
* The decision records already in a repository's docs/adr/ (template and
|
|
24
34
|
* registry excluded), sorted by filename — numbered records first, dated
|
|
@@ -34,8 +44,6 @@ export declare function adrDuplicates(entries: AdrEntry[]): {
|
|
|
34
44
|
id: string;
|
|
35
45
|
files: string[];
|
|
36
46
|
}[];
|
|
37
|
-
/** Records whose filename never appears in the registry — rows the index is missing. */
|
|
38
|
-
export declare function unindexedAdrs(registrySource: string, entries: AdrEntry[]): AdrEntry[];
|
|
39
47
|
type Relation = "supersedes" | "amends" | "extends";
|
|
40
48
|
/**
|
|
41
49
|
* The relation graph declared across the corpus. A record declares what it
|
|
@@ -51,27 +59,54 @@ export declare function adrRelations(entries: AdrEntry[]): Map<string, Record<Re
|
|
|
51
59
|
* their successor(s), the one fact a reader must not miss.
|
|
52
60
|
*/
|
|
53
61
|
export declare function adrStatusCell(entry: AdrEntry, entries: AdrEntry[], graph?: Map<string, Record<Relation, AdrEntry[]>>): string;
|
|
54
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* The index table: one row per record in timeline order, each with its live
|
|
64
|
+
* status. Printed by `launchrail adr index`, never committed — a table every
|
|
65
|
+
* ADR-adding branch rewrites is a table parallel branches conflict over
|
|
66
|
+
* (2026-10-01-adr-index-is-printed-not-committed).
|
|
67
|
+
*/
|
|
55
68
|
export declare function adrIndexTable(entries: AdrEntry[]): string;
|
|
69
|
+
/** Printed under the index when some record carries no `## Status` yet (an adopted corpus). */
|
|
70
|
+
export declare const ADR_UNCLASSIFIED_NOTE = "Rows marked **Unclassified** carry no `## Status` section yet. Classify each as you next touch its area: give the record a status line (`Accepted`, `Superseded by [id](file)`, \u2026).";
|
|
71
|
+
/** What the registry's `## Index` section says in place of a committed table. */
|
|
72
|
+
export declare const ADR_INDEX_POINTER = "The index is generated from the records each time it is read, and never committed \u2014 so branches that add ADRs in parallel have no shared table to conflict over. Print it with `npx @wemuda/launchrail adr index`: every record in date order, with its live status (superseded, amended, extended) derived from the records' own `## Status` lines.";
|
|
56
73
|
/**
|
|
57
|
-
* The registry with
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
74
|
+
* The registry with the generated table an older Launchrail committed between
|
|
75
|
+
* the markers replaced by {@link ADR_INDEX_POINTER}. Only the marked region is
|
|
76
|
+
* touched — those rows were always Launchrail's, regenerated wholesale on every
|
|
77
|
+
* `adr index` — so a hand-kept table without markers, and every other line,
|
|
78
|
+
* stays the project's. Null when there is no marked table.
|
|
61
79
|
*/
|
|
62
|
-
export declare function
|
|
80
|
+
export declare function withoutCommittedIndex(registrySource: string): string | null;
|
|
63
81
|
/** The seeded ADR template: date-and-slug titled, teaching the forward-declared relation model. */
|
|
64
|
-
export declare const ADR_TEMPLATE = "# Short decision title\n\n## Status\nProposed | Accepted | Superseded by [slug](YYYY-MM-DD-slug.md)\n\nName here what this record supersedes, amends, or extends, linking the earlier record by file (`Accepted \u2014 amends [slug](YYYY-MM-DD-slug.md): what changed`). The registry index (
|
|
82
|
+
export declare const ADR_TEMPLATE = "# Short decision title\n\n## Status\nProposed | Accepted | Superseded by [slug](YYYY-MM-DD-slug.md)\n\nName here what this record supersedes, amends, or extends, linking the earlier record by file (`Accepted \u2014 amends [slug](YYYY-MM-DD-slug.md): what changed`). The registry index (`launchrail adr index`) derives the reverse links, so an earlier record need not be edited when this one amends it; when this record is superseded later, this line is rewritten to name the successor.\n\n## Context\nWhat requirement or constraint requires a decision?\n\n## Decision\nWhat was selected?\n\n## Alternatives considered\nWhat realistic alternatives were rejected?\n\n## Consequences\nWhat becomes easier, harder, or constrained?\n\n## Revisit when\nWhat change would justify reconsidering this decision?\n";
|
|
83
|
+
/** The template seeded while the index was committed — it pointed at the registry file and asked for a re-run (byte-stable until the printed index). */
|
|
84
|
+
export declare const COMMITTED_INDEX_ADR_TEMPLATE = "# Short decision title\n\n## Status\nProposed | Accepted | Superseded by [slug](YYYY-MM-DD-slug.md)\n\nName here what this record supersedes, amends, or extends, linking the earlier record by file (`Accepted \u2014 amends [slug](YYYY-MM-DD-slug.md): what changed`). The registry index ([README.md](README.md)) derives the reverse links, so an earlier record need not be edited when this one amends it; when this record is superseded later, this line is rewritten to name the successor. Re-run `launchrail adr index` after any change here.\n\n## Context\nWhat requirement or constraint requires a decision?\n\n## Decision\nWhat was selected?\n\n## Alternatives considered\nWhat realistic alternatives were rejected?\n\n## Consequences\nWhat becomes easier, harder, or constrained?\n\n## Revisit when\nWhat change would justify reconsidering this decision?\n";
|
|
65
85
|
/** The `# ADR-NNNN:`-titled template seeded before the dated-identifier ADR (byte-stable until then). */
|
|
66
86
|
export declare const PRE_DATE_SLUG_ADR_TEMPLATE = "# ADR-NNNN: Short decision title\n\n## Status\nProposed | Accepted | Accepted \u2014 amended by ADR-NNNN | Superseded by ADR-NNNN\n\nWhen a later ADR amends or supersedes this one, update this line and the registry index ([README.md](README.md)) in the same commit.\n\n## Context\nWhat requirement or constraint requires a decision?\n\n## Decision\nWhat was selected?\n\n## Alternatives considered\nWhat realistic alternatives were rejected?\n\n## Consequences\nWhat becomes easier, harder, or constrained?\n\n## Revisit when\nWhat change would justify reconsidering this decision?\n";
|
|
87
|
+
/**
|
|
88
|
+
* The registry bullets Launchrail seeded about the committed index table, byte
|
|
89
|
+
* for byte: the dated-identifier version, then the merge-driver version. Each
|
|
90
|
+
* tells agents to regenerate and commit a table that no longer exists, so the
|
|
91
|
+
* printed-index migration swaps exactly these lines for the current bullet.
|
|
92
|
+
*/
|
|
93
|
+
export declare const COMMITTED_INDEX_BULLETS: string[];
|
|
94
|
+
/** The current registry bullet about the index — the one the committed-index bullets heal to. */
|
|
95
|
+
export declare const PRINTED_INDEX_BULLET = "- The index is **printed, never committed**: `launchrail adr index` builds it from the records each time it runs, so adding or re-statusing a record touches only that record \u2014 there is no table to regenerate, commit, or merge.";
|
|
67
96
|
/** The registry's project-owned summary of how records are minted; defers to the managed contract. */
|
|
68
|
-
export declare const ADR_MAINTAINING_SECTION = "## Maintaining this registry\n\n- New ADRs copy [0000-template.md](0000-template.md) to `YYYY-MM-DD-short-slug.md` \u2014 the date the decision was made, then a slug unique in this directory. There is no sequence number to claim, so parallel branches never collide, and nothing is renumbered.\n- The index
|
|
97
|
+
export declare const ADR_MAINTAINING_SECTION = "## Maintaining this registry\n\n- New ADRs copy [0000-template.md](0000-template.md) to `YYYY-MM-DD-short-slug.md` \u2014 the date the decision was made, then a slug unique in this directory. There is no sequence number to claim, so parallel branches never collide, and nothing is renumbered.\n- The index is **printed, never committed**: `launchrail adr index` builds it from the records each time it runs, so adding or re-statusing a record touches only that record \u2014 there is no table to regenerate, commit, or merge.\n- A new ADR declares what it supersedes, amends, or extends in its own `## Status` line, linking the earlier record by file. The index derives the reverse links, so amending an ADR does not require editing it. A superseded ADR's `## Status` line is still rewritten to name its successor \u2014 that is the one fact a reader of the record alone must not miss.\n- Never delete or rename an ADR once it is referenced; superseded ADRs are historical records other documents link to.\n- The naming and relation mechanics above summarize a contract Launchrail keeps current in the managed workflow instructions (`.launchrail/CLAUDE.generated.md`); if this seeded summary ever drifts from that managed contract, the managed contract is what holds.";
|
|
69
98
|
/**
|
|
70
99
|
* The "Maintaining this registry" section seeded before the dated-identifier ADR —
|
|
71
100
|
* the one that told agents to "take the next free number". Byte-stable from
|
|
72
101
|
* ADR-0031 until that ADR, so `healRegistryMinting` matches it exactly.
|
|
73
102
|
*/
|
|
74
103
|
export declare const PRE_DATE_SLUG_MAINTAINING_SECTION = "## Maintaining this registry\n\n- New ADRs copy [0000-template.md](0000-template.md), take the next free number (`NNNN-short-slug.md` \u2014 check both this index and the files on disk), and add their row here **in the same commit**. The shared row turns two branches minting the same number into a visible merge conflict instead of a silent collision.\n- When a new ADR supersedes or amends an earlier one \u2014 including reversing part of the earlier one's context \u2014 update the earlier ADR's `## Status` line and its row here in the same commit.\n- Never delete or renumber an ADR once it is referenced; superseded ADRs are historical records other documents link to.";
|
|
104
|
+
/**
|
|
105
|
+
* The registry with each seeded committed-index bullet swapped for the printed-
|
|
106
|
+
* index one. Only exact lines Launchrail wrote are touched; a project's own
|
|
107
|
+
* wording stays. Null when there is nothing to heal.
|
|
108
|
+
*/
|
|
109
|
+
export declare function healCommittedIndexBullet(source: string): string | null;
|
|
75
110
|
export type MintingGuidanceState = "healed" | "current" | "modified" | "absent";
|
|
76
111
|
/**
|
|
77
112
|
* Correct a registry's minting guidance in place. Returns `healed` (with the
|
|
@@ -86,11 +121,23 @@ export declare function healRegistryMinting(source: string): {
|
|
|
86
121
|
next: string;
|
|
87
122
|
};
|
|
88
123
|
/**
|
|
89
|
-
* The seeded ADR registry
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* the records and the live picture, never the rows.
|
|
124
|
+
* The seeded ADR registry: the reading doctrine, a pointer to the printed index,
|
|
125
|
+
* a live picture the project writes, and the minting summary. Seeded once, then
|
|
126
|
+
* project-owned. It carries no table — the index is printed from the records on
|
|
127
|
+
* demand — so its content depends on the corpus only for the live-picture prompt.
|
|
94
128
|
*/
|
|
95
129
|
export declare function adrRegistryContent(entries: AdrEntry[]): string;
|
|
130
|
+
export declare const GITATTRIBUTES_FILENAME = ".gitattributes";
|
|
131
|
+
export declare const RETIRED_ADR_MERGE_DRIVER_NAME = "launchrail-adr-index";
|
|
132
|
+
export declare const RETIRED_ADR_MERGE_ATTRIBUTE_LINE = "docs/adr/README.md merge=launchrail-adr-index";
|
|
133
|
+
/**
|
|
134
|
+
* `.gitattributes` without the line Launchrail added: the remaining content, or
|
|
135
|
+
* `""` when that line was all the file held (delete it). Null when the line is
|
|
136
|
+
* absent — a project's own attribute rules are never touched.
|
|
137
|
+
*/
|
|
138
|
+
export declare function withoutRetiredMergeAttribute(cwd: string): string | null;
|
|
139
|
+
/** Whether this clone's git config still defines the retired driver. */
|
|
140
|
+
export declare function hasRetiredMergeDriverConfig(cwd: string): boolean;
|
|
141
|
+
/** Drop the retired driver from this clone's git config. Idempotent; returns whether anything was removed. */
|
|
142
|
+
export declare function removeRetiredMergeDriverConfig(cwd: string): boolean;
|
|
96
143
|
export {};
|
package/dist/lib/adr.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
1
2
|
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
export const ADR_DIR = "docs/adr";
|
|
4
5
|
export const ADR_TEMPLATE_FILENAME = "0000-template.md";
|
|
5
6
|
export const ADR_REGISTRY_PATH = `${ADR_DIR}/README.md`;
|
|
7
|
+
/**
|
|
8
|
+
* The markers that once bracketed the generated table committed into the
|
|
9
|
+
* registry. The index is printed now, never committed
|
|
10
|
+
* (2026-10-01-adr-index-is-printed-not-committed); the markers survive only so
|
|
11
|
+
* the migration and doctor can find a table an older version left behind.
|
|
12
|
+
*/
|
|
6
13
|
export const ADR_INDEX_START = "<!-- adr-index:start — generated by `launchrail adr index`; edit the records, not this table -->";
|
|
7
14
|
export const ADR_INDEX_END = "<!-- adr-index:end -->";
|
|
8
15
|
/** Legacy numbered records: `0031-adr-registry.md`. A dated filename is not a numbered one. */
|
|
@@ -33,6 +40,19 @@ function adrStatus(source) {
|
|
|
33
40
|
const paragraph = (match[1] ?? "").trim().split(/\n\s*\n/)[0] ?? "";
|
|
34
41
|
return paragraph.replace(/\s+/g, " ").trim();
|
|
35
42
|
}
|
|
43
|
+
/** Whether a filename in docs/adr/ is a decision record (not the template, not the registry). */
|
|
44
|
+
export function isAdrRecordFilename(file) {
|
|
45
|
+
return file !== ADR_TEMPLATE_FILENAME && parseFilename(file) !== null;
|
|
46
|
+
}
|
|
47
|
+
/** Parse one record's file and source into an entry; null when the filename is not a record. */
|
|
48
|
+
export function parseAdrEntry(file, source) {
|
|
49
|
+
if (file === ADR_TEMPLATE_FILENAME)
|
|
50
|
+
return null;
|
|
51
|
+
const parsed = parseFilename(file);
|
|
52
|
+
if (!parsed)
|
|
53
|
+
return null;
|
|
54
|
+
return { ...parsed, file, title: adrTitle(source, file), status: adrStatus(source) };
|
|
55
|
+
}
|
|
36
56
|
/**
|
|
37
57
|
* The decision records already in a repository's docs/adr/ (template and
|
|
38
58
|
* registry excluded), sorted by filename — numbered records first, dated
|
|
@@ -43,12 +63,9 @@ export function scanAdrs(cwd) {
|
|
|
43
63
|
const dir = join(cwd, ADR_DIR);
|
|
44
64
|
if (!existsSync(dir))
|
|
45
65
|
return [];
|
|
46
|
-
const
|
|
47
|
-
for (const file of readdirSync(dir)
|
|
48
|
-
if (file
|
|
49
|
-
continue;
|
|
50
|
-
const parsed = parseFilename(file);
|
|
51
|
-
if (!parsed)
|
|
66
|
+
const sources = [];
|
|
67
|
+
for (const file of readdirSync(dir)) {
|
|
68
|
+
if (!isAdrRecordFilename(file))
|
|
52
69
|
continue;
|
|
53
70
|
let source = "";
|
|
54
71
|
try {
|
|
@@ -57,7 +74,13 @@ export function scanAdrs(cwd) {
|
|
|
57
74
|
catch {
|
|
58
75
|
// Unreadable file — title falls back to the filename, status to empty.
|
|
59
76
|
}
|
|
60
|
-
|
|
77
|
+
sources.push([file, source]);
|
|
78
|
+
}
|
|
79
|
+
const entries = [];
|
|
80
|
+
for (const [file, source] of sources.sort(([a], [b]) => a.localeCompare(b))) {
|
|
81
|
+
const entry = parseAdrEntry(file, source);
|
|
82
|
+
if (entry)
|
|
83
|
+
entries.push(entry);
|
|
61
84
|
}
|
|
62
85
|
return entries;
|
|
63
86
|
}
|
|
@@ -71,10 +94,6 @@ export function adrDuplicates(entries) {
|
|
|
71
94
|
byId.set(entry.id, [...(byId.get(entry.id) ?? []), entry.file]);
|
|
72
95
|
return [...byId.entries()].filter(([, files]) => files.length > 1).map(([id, files]) => ({ id, files }));
|
|
73
96
|
}
|
|
74
|
-
/** Records whose filename never appears in the registry — rows the index is missing. */
|
|
75
|
-
export function unindexedAdrs(registrySource, entries) {
|
|
76
|
-
return entries.filter((entry) => !registrySource.includes(entry.file));
|
|
77
|
-
}
|
|
78
97
|
const FORWARD = { supersedes: "supersedes", amends: "amends", extends: "extends" };
|
|
79
98
|
const BACKWARD = {
|
|
80
99
|
"superseded by": "supersedes",
|
|
@@ -148,8 +167,9 @@ function stateOf(status) {
|
|
|
148
167
|
return "Unclassified";
|
|
149
168
|
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
150
169
|
}
|
|
170
|
+
/** Links resolve from the repository root, where `launchrail adr index` runs. */
|
|
151
171
|
function idLink(entry) {
|
|
152
|
-
return `[${entry.id}](${entry.file})`;
|
|
172
|
+
return `[${entry.id}](${ADR_DIR}/${entry.file})`;
|
|
153
173
|
}
|
|
154
174
|
/**
|
|
155
175
|
* One record's status cell: its state, the relations it declares, and the
|
|
@@ -189,37 +209,35 @@ export function adrStatusCell(entry, entries, graph = adrRelations(entries)) {
|
|
|
189
209
|
parts.push(`extended by ${list(received.extends)}`);
|
|
190
210
|
return parts.join("; ");
|
|
191
211
|
}
|
|
192
|
-
/**
|
|
212
|
+
/**
|
|
213
|
+
* The index table: one row per record in timeline order, each with its live
|
|
214
|
+
* status. Printed by `launchrail adr index`, never committed — a table every
|
|
215
|
+
* ADR-adding branch rewrites is a table parallel branches conflict over
|
|
216
|
+
* (2026-10-01-adr-index-is-printed-not-committed).
|
|
217
|
+
*/
|
|
193
218
|
export function adrIndexTable(entries) {
|
|
194
219
|
const graph = adrRelations(entries);
|
|
195
220
|
const header = "| ADR | Decided | Title | Status |\n| --- | --- | --- | --- |";
|
|
196
221
|
const rows = entries.map((e) => `| ${idLink(e)} | ${e.date ?? "—"} | ${e.title.replace(/\|/g, "\\|")} | ${adrStatusCell(e, entries, graph)} |`);
|
|
197
|
-
return [
|
|
222
|
+
return [header, ...rows].join("\n");
|
|
198
223
|
}
|
|
224
|
+
/** Printed under the index when some record carries no `## Status` yet (an adopted corpus). */
|
|
225
|
+
export const ADR_UNCLASSIFIED_NOTE = "Rows marked **Unclassified** carry no `## Status` section yet. Classify each as you next touch its area: give the record a status line (`Accepted`, `Superseded by [id](file)`, …).";
|
|
226
|
+
/** What the registry's `## Index` section says in place of a committed table. */
|
|
227
|
+
export const ADR_INDEX_POINTER = "The index is generated from the records each time it is read, and never committed — so branches that add ADRs in parallel have no shared table to conflict over. Print it with `npx @wemuda/launchrail adr index`: every record in date order, with its live status (superseded, amended, extended) derived from the records' own `## Status` lines.";
|
|
199
228
|
/**
|
|
200
|
-
* The registry with
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
229
|
+
* The registry with the generated table an older Launchrail committed between
|
|
230
|
+
* the markers replaced by {@link ADR_INDEX_POINTER}. Only the marked region is
|
|
231
|
+
* touched — those rows were always Launchrail's, regenerated wholesale on every
|
|
232
|
+
* `adr index` — so a hand-kept table without markers, and every other line,
|
|
233
|
+
* stays the project's. Null when there is no marked table.
|
|
204
234
|
*/
|
|
205
|
-
export function
|
|
206
|
-
const table = adrIndexTable(entries);
|
|
235
|
+
export function withoutCommittedIndex(registrySource) {
|
|
207
236
|
const start = registrySource.indexOf("<!-- adr-index:start");
|
|
208
237
|
const end = registrySource.indexOf(ADR_INDEX_END);
|
|
209
|
-
if (start
|
|
210
|
-
return registrySource.slice(0, start) + table + registrySource.slice(end + ADR_INDEX_END.length);
|
|
211
|
-
}
|
|
212
|
-
const heading = /^##\s+Index\s*$/m.exec(registrySource);
|
|
213
|
-
if (!heading)
|
|
238
|
+
if (start === -1 || end === -1 || end < start)
|
|
214
239
|
return null;
|
|
215
|
-
|
|
216
|
-
const rest = registrySource.slice(afterHeading);
|
|
217
|
-
const tableMatch = /\n(\|[^\n]*\n)+/.exec(rest);
|
|
218
|
-
if (!tableMatch)
|
|
219
|
-
return null;
|
|
220
|
-
const before = registrySource.slice(0, afterHeading + tableMatch.index);
|
|
221
|
-
const after = rest.slice(tableMatch.index + tableMatch[0].length);
|
|
222
|
-
return `${before}\n${table}\n${after}`;
|
|
240
|
+
return registrySource.slice(0, start) + ADR_INDEX_POINTER + registrySource.slice(end + ADR_INDEX_END.length);
|
|
223
241
|
}
|
|
224
242
|
// --- Minting guidance: a managed contract, a seeded summary, a one-time heal ----
|
|
225
243
|
//
|
|
@@ -237,6 +255,29 @@ export const ADR_TEMPLATE = `# Short decision title
|
|
|
237
255
|
## Status
|
|
238
256
|
Proposed | Accepted | Superseded by [slug](YYYY-MM-DD-slug.md)
|
|
239
257
|
|
|
258
|
+
Name here what this record supersedes, amends, or extends, linking the earlier record by file (\`Accepted — amends [slug](YYYY-MM-DD-slug.md): what changed\`). The registry index (\`launchrail adr index\`) derives the reverse links, so an earlier record need not be edited when this one amends it; when this record is superseded later, this line is rewritten to name the successor.
|
|
259
|
+
|
|
260
|
+
## Context
|
|
261
|
+
What requirement or constraint requires a decision?
|
|
262
|
+
|
|
263
|
+
## Decision
|
|
264
|
+
What was selected?
|
|
265
|
+
|
|
266
|
+
## Alternatives considered
|
|
267
|
+
What realistic alternatives were rejected?
|
|
268
|
+
|
|
269
|
+
## Consequences
|
|
270
|
+
What becomes easier, harder, or constrained?
|
|
271
|
+
|
|
272
|
+
## Revisit when
|
|
273
|
+
What change would justify reconsidering this decision?
|
|
274
|
+
`;
|
|
275
|
+
/** The template seeded while the index was committed — it pointed at the registry file and asked for a re-run (byte-stable until the printed index). */
|
|
276
|
+
export const COMMITTED_INDEX_ADR_TEMPLATE = `# Short decision title
|
|
277
|
+
|
|
278
|
+
## Status
|
|
279
|
+
Proposed | Accepted | Superseded by [slug](YYYY-MM-DD-slug.md)
|
|
280
|
+
|
|
240
281
|
Name here what this record supersedes, amends, or extends, linking the earlier record by file (\`Accepted — amends [slug](YYYY-MM-DD-slug.md): what changed\`). The registry index ([README.md](README.md)) derives the reverse links, so an earlier record need not be edited when this one amends it; when this record is superseded later, this line is rewritten to name the successor. Re-run \`launchrail adr index\` after any change here.
|
|
241
282
|
|
|
242
283
|
## Context
|
|
@@ -277,11 +318,23 @@ What becomes easier, harder, or constrained?
|
|
|
277
318
|
## Revisit when
|
|
278
319
|
What change would justify reconsidering this decision?
|
|
279
320
|
`;
|
|
321
|
+
/**
|
|
322
|
+
* The registry bullets Launchrail seeded about the committed index table, byte
|
|
323
|
+
* for byte: the dated-identifier version, then the merge-driver version. Each
|
|
324
|
+
* tells agents to regenerate and commit a table that no longer exists, so the
|
|
325
|
+
* printed-index migration swaps exactly these lines for the current bullet.
|
|
326
|
+
*/
|
|
327
|
+
export const COMMITTED_INDEX_BULLETS = [
|
|
328
|
+
"- The index table between the markers is **generated**: run `launchrail adr index` after adding or re-statusing a record (and after merging), and commit the result. Never hand-edit the rows; the rest of this file is yours.",
|
|
329
|
+
"- The index table between the markers is **generated**: run `launchrail adr index` after adding or re-statusing a record, and commit the result. Never hand-edit the rows; the rest of this file is yours. Parallel branches do not collide on it — Launchrail installs a git merge driver (`launchrail doctor` registers it in each clone) that rebuilds the table from the records on merge or rebase, so both branches' new rows land in date order with no conflict. If you ever do see a conflict here — a fresh clone before `launchrail doctor` ran, say — never resolve it by editing rows: run `launchrail adr index && git add docs/adr/README.md` and continue the merge or rebase.",
|
|
330
|
+
];
|
|
331
|
+
/** The current registry bullet about the index — the one the committed-index bullets heal to. */
|
|
332
|
+
export const PRINTED_INDEX_BULLET = "- The index is **printed, never committed**: `launchrail adr index` builds it from the records each time it runs, so adding or re-statusing a record touches only that record — there is no table to regenerate, commit, or merge.";
|
|
280
333
|
/** The registry's project-owned summary of how records are minted; defers to the managed contract. */
|
|
281
334
|
export const ADR_MAINTAINING_SECTION = `## Maintaining this registry
|
|
282
335
|
|
|
283
336
|
- New ADRs copy [0000-template.md](0000-template.md) to \`YYYY-MM-DD-short-slug.md\` — the date the decision was made, then a slug unique in this directory. There is no sequence number to claim, so parallel branches never collide, and nothing is renumbered.
|
|
284
|
-
|
|
337
|
+
${PRINTED_INDEX_BULLET}
|
|
285
338
|
- A new ADR declares what it supersedes, amends, or extends in its own \`## Status\` line, linking the earlier record by file. The index derives the reverse links, so amending an ADR does not require editing it. A superseded ADR's \`## Status\` line is still rewritten to name its successor — that is the one fact a reader of the record alone must not miss.
|
|
286
339
|
- Never delete or rename an ADR once it is referenced; superseded ADRs are historical records other documents link to.
|
|
287
340
|
- The naming and relation mechanics above summarize a contract Launchrail keeps current in the managed workflow instructions (\`.launchrail/CLAUDE.generated.md\`); if this seeded summary ever drifts from that managed contract, the managed contract is what holds.`;
|
|
@@ -295,6 +348,22 @@ export const PRE_DATE_SLUG_MAINTAINING_SECTION = `## Maintaining this registry
|
|
|
295
348
|
- New ADRs copy [0000-template.md](0000-template.md), take the next free number (\`NNNN-short-slug.md\` — check both this index and the files on disk), and add their row here **in the same commit**. The shared row turns two branches minting the same number into a visible merge conflict instead of a silent collision.
|
|
296
349
|
- When a new ADR supersedes or amends an earlier one — including reversing part of the earlier one's context — update the earlier ADR's \`## Status\` line and its row here in the same commit.
|
|
297
350
|
- Never delete or renumber an ADR once it is referenced; superseded ADRs are historical records other documents link to.`;
|
|
351
|
+
/**
|
|
352
|
+
* The registry with each seeded committed-index bullet swapped for the printed-
|
|
353
|
+
* index one. Only exact lines Launchrail wrote are touched; a project's own
|
|
354
|
+
* wording stays. Null when there is nothing to heal.
|
|
355
|
+
*/
|
|
356
|
+
export function healCommittedIndexBullet(source) {
|
|
357
|
+
const lines = source.split("\n");
|
|
358
|
+
let healed = false;
|
|
359
|
+
const next = lines.map((line) => {
|
|
360
|
+
if (!COMMITTED_INDEX_BULLETS.includes(line.trimEnd()))
|
|
361
|
+
return line;
|
|
362
|
+
healed = true;
|
|
363
|
+
return PRINTED_INDEX_BULLET;
|
|
364
|
+
});
|
|
365
|
+
return healed ? next.join("\n") : null;
|
|
366
|
+
}
|
|
298
367
|
const MAINTAINING_HEADING = "## Maintaining this registry";
|
|
299
368
|
/** Slice a registry into the text before/at/after its "Maintaining this registry" section (to the next `## ` heading or EOF). */
|
|
300
369
|
function maintainingSlice(source) {
|
|
@@ -328,28 +397,24 @@ export function healRegistryMinting(source) {
|
|
|
328
397
|
return { state: "modified", next: source };
|
|
329
398
|
}
|
|
330
399
|
/**
|
|
331
|
-
* The seeded ADR registry
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
* the records and the live picture, never the rows.
|
|
400
|
+
* The seeded ADR registry: the reading doctrine, a pointer to the printed index,
|
|
401
|
+
* a live picture the project writes, and the minting summary. Seeded once, then
|
|
402
|
+
* project-owned. It carries no table — the index is printed from the records on
|
|
403
|
+
* demand — so its content depends on the corpus only for the live-picture prompt.
|
|
336
404
|
*/
|
|
337
405
|
export function adrRegistryContent(entries) {
|
|
338
|
-
const unclassifiedNote = entries.some((e) => e.status === "")
|
|
339
|
-
? "\n\nRows marked **Unclassified** carry no `## Status` section yet. Classify each as you next touch its area: give the record a status line (`Accepted`, `Superseded by [id](file)`, …) and re-run `launchrail adr index`."
|
|
340
|
-
: "";
|
|
341
406
|
const livePicture = entries.length === 0
|
|
342
407
|
? "_No decisions recorded yet. When ADRs land, summarize here how they compose into the current system, and name the few a newcomer should read first._"
|
|
343
408
|
: "_Not yet written. Summarize how the accepted decisions compose into the current system, and name the few ADRs a newcomer should read first._";
|
|
344
409
|
return `# ADR registry
|
|
345
410
|
|
|
346
|
-
|
|
411
|
+
Every architecture decision record in this repository lives in this directory. Start from the index, then open only the ADRs that touch the area you are working in — the index is the cheap surface; the records are depth.
|
|
347
412
|
|
|
348
413
|
An ADR records a decision and the context it was made in. It is **not documentation of the current system**: never treat an ADR as evidence that a component exists or still works as described — the code is the source of truth for what exists today.
|
|
349
414
|
|
|
350
415
|
## Index
|
|
351
416
|
|
|
352
|
-
${
|
|
417
|
+
${ADR_INDEX_POINTER}
|
|
353
418
|
|
|
354
419
|
## The live picture
|
|
355
420
|
|
|
@@ -360,4 +425,58 @@ ${livePicture}
|
|
|
360
425
|
${ADR_MAINTAINING_SECTION}
|
|
361
426
|
`;
|
|
362
427
|
}
|
|
428
|
+
// --- Retired: the index merge driver -------------------------------------------
|
|
429
|
+
//
|
|
430
|
+
// While the index was committed, Launchrail bound it to a git merge driver: one
|
|
431
|
+
// line in the project's `.gitattributes`, plus a per-clone git config entry
|
|
432
|
+
// (2026-09-21-adr-index-merge-driver). With nothing generated left to merge, the
|
|
433
|
+
// printed-index migration removes the line Launchrail added, and sync / doctor
|
|
434
|
+
// drop the clone's config so a stale binding can never invoke a removed command.
|
|
435
|
+
export const GITATTRIBUTES_FILENAME = ".gitattributes";
|
|
436
|
+
export const RETIRED_ADR_MERGE_DRIVER_NAME = "launchrail-adr-index";
|
|
437
|
+
export const RETIRED_ADR_MERGE_ATTRIBUTE_LINE = `${ADR_REGISTRY_PATH} merge=${RETIRED_ADR_MERGE_DRIVER_NAME}`;
|
|
438
|
+
/**
|
|
439
|
+
* `.gitattributes` without the line Launchrail added: the remaining content, or
|
|
440
|
+
* `""` when that line was all the file held (delete it). Null when the line is
|
|
441
|
+
* absent — a project's own attribute rules are never touched.
|
|
442
|
+
*/
|
|
443
|
+
export function withoutRetiredMergeAttribute(cwd) {
|
|
444
|
+
const path = join(cwd, GITATTRIBUTES_FILENAME);
|
|
445
|
+
if (!existsSync(path))
|
|
446
|
+
return null;
|
|
447
|
+
const lines = readFileSync(path, "utf8").split("\n");
|
|
448
|
+
const kept = lines.filter((line) => line.trim() !== RETIRED_ADR_MERGE_ATTRIBUTE_LINE);
|
|
449
|
+
if (kept.length === lines.length)
|
|
450
|
+
return null;
|
|
451
|
+
const rest = kept.join("\n");
|
|
452
|
+
return rest.trim() === "" ? "" : rest;
|
|
453
|
+
}
|
|
454
|
+
/** Whether this clone's git config still defines the retired driver. */
|
|
455
|
+
export function hasRetiredMergeDriverConfig(cwd) {
|
|
456
|
+
try {
|
|
457
|
+
execFileSync("git", ["config", "--local", "--get-regexp", `^merge\\.${RETIRED_ADR_MERGE_DRIVER_NAME}\\.`], {
|
|
458
|
+
cwd,
|
|
459
|
+
stdio: "ignore",
|
|
460
|
+
});
|
|
461
|
+
return true;
|
|
462
|
+
}
|
|
463
|
+
catch {
|
|
464
|
+
return false;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
/** Drop the retired driver from this clone's git config. Idempotent; returns whether anything was removed. */
|
|
468
|
+
export function removeRetiredMergeDriverConfig(cwd) {
|
|
469
|
+
if (!hasRetiredMergeDriverConfig(cwd))
|
|
470
|
+
return false;
|
|
471
|
+
try {
|
|
472
|
+
execFileSync("git", ["config", "--local", "--remove-section", `merge.${RETIRED_ADR_MERGE_DRIVER_NAME}`], {
|
|
473
|
+
cwd,
|
|
474
|
+
stdio: "ignore",
|
|
475
|
+
});
|
|
476
|
+
return true;
|
|
477
|
+
}
|
|
478
|
+
catch {
|
|
479
|
+
return false;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
363
482
|
//# sourceMappingURL=adr.js.map
|
package/dist/lib/adr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr.js","sourceRoot":"","sources":["../../src/lib/adr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adr.js","sourceRoot":"","sources":["../../src/lib/adr.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/migrations.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync, rmdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
|
-
import { ADR_DIR, ADR_REGISTRY_PATH, ADR_TEMPLATE, ADR_TEMPLATE_FILENAME, healRegistryMinting, PRE_DATE_SLUG_ADR_TEMPLATE, } from "./adr.js";
|
|
3
|
+
import { ADR_DIR, ADR_REGISTRY_PATH, ADR_TEMPLATE, ADR_TEMPLATE_FILENAME, COMMITTED_INDEX_ADR_TEMPLATE, GITATTRIBUTES_FILENAME, healCommittedIndexBullet, healRegistryMinting, PRE_DATE_SLUG_ADR_TEMPLATE, RETIRED_ADR_MERGE_ATTRIBUTE_LINE, withoutCommittedIndex, withoutRetiredMergeAttribute, } from "./adr.js";
|
|
4
4
|
import { sha256 } from "./checksum.js";
|
|
5
5
|
import { applyPluginDeclaration, applyRalphGuardHook, applyRemovePluginDeclaration, CLAUDE_SETTINGS_PATH, planPluginDeclaration, planRalphGuardHook, planRemovePluginDeclaration, RETIRED_SUPERPOWERS_DECLARATION, } from "./claudeSettings.js";
|
|
6
6
|
import { RETIRED_BROWSER_TESTING_SEEDS } from "./browser-testing.js";
|
|
@@ -265,6 +265,15 @@ export const MIGRATIONS = [
|
|
|
265
265
|
};
|
|
266
266
|
},
|
|
267
267
|
},
|
|
268
|
+
{
|
|
269
|
+
id: "2026-09-adr-index-merge-driver",
|
|
270
|
+
description: `retired — once bound ${ADR_REGISTRY_PATH} to an ADR index merge driver in ${GITATTRIBUTES_FILENAME}; the index is printed now, never committed, so there is nothing to merge (2026-10-01-adr-index-is-printed-not-committed)`,
|
|
271
|
+
plan() {
|
|
272
|
+
// Kept so lockfiles that recorded it stay valid, and a no-op so a repo
|
|
273
|
+
// that never applied it is not given a line the next migration removes.
|
|
274
|
+
return { changes: [], apply: () => { } };
|
|
275
|
+
},
|
|
276
|
+
},
|
|
268
277
|
{
|
|
269
278
|
id: "2026-09-browser-smoke-one-off",
|
|
270
279
|
description: "retire the smoke-journey catalogue, the evidence bundle, the smoke entry point and the seeded Playwright MCP — the browser smoke is one-off driving of the running stack, the e2e lane stays thin (ADR-0034)",
|
|
@@ -389,6 +398,72 @@ export const MIGRATIONS = [
|
|
|
389
398
|
};
|
|
390
399
|
},
|
|
391
400
|
},
|
|
401
|
+
{
|
|
402
|
+
id: "2026-10-adr-index-printed-not-committed",
|
|
403
|
+
description: `stop committing the ADR index: drop the generated table from ${ADR_REGISTRY_PATH} (it is printed by \`launchrail adr index\` now), its seeded guidance, and the merge-driver line in ${GITATTRIBUTES_FILENAME} — parallel ADR branches no longer share a file to conflict over (2026-10-01-adr-index-is-printed-not-committed)`,
|
|
404
|
+
plan(ctx) {
|
|
405
|
+
// Each edit is exact: the rows between the markers (always regenerated
|
|
406
|
+
// wholesale by Launchrail, never the project's), the one guidance bullet
|
|
407
|
+
// and template text Launchrail seeded about that table, and the one
|
|
408
|
+
// .gitattributes line Launchrail added. Everything else in these
|
|
409
|
+
// project-owned files is left as the project wrote it; an ejected file is
|
|
410
|
+
// not touched at all.
|
|
411
|
+
const changes = [];
|
|
412
|
+
const writes = [];
|
|
413
|
+
const registryEntry = ctx.lockfile.files[ADR_REGISTRY_PATH];
|
|
414
|
+
const registryPath = join(ctx.cwd, ADR_REGISTRY_PATH);
|
|
415
|
+
if (existsSync(registryPath) && registryEntry?.class !== "ejected") {
|
|
416
|
+
let next = readFileSync(registryPath, "utf8");
|
|
417
|
+
const stripped = withoutCommittedIndex(next);
|
|
418
|
+
if (stripped !== null) {
|
|
419
|
+
changes.push(`${ADR_REGISTRY_PATH} — replace the committed index table with a pointer to \`launchrail adr index\``);
|
|
420
|
+
next = stripped;
|
|
421
|
+
}
|
|
422
|
+
const healed = healCommittedIndexBullet(next);
|
|
423
|
+
if (healed !== null) {
|
|
424
|
+
changes.push(`${ADR_REGISTRY_PATH} — replace the seeded "regenerate and commit the index" guidance`);
|
|
425
|
+
next = healed;
|
|
426
|
+
}
|
|
427
|
+
if (stripped !== null || healed !== null) {
|
|
428
|
+
writes.push(() => {
|
|
429
|
+
writeFileSync(registryPath, next, "utf8");
|
|
430
|
+
if (registryEntry)
|
|
431
|
+
ctx.lockfile.files[ADR_REGISTRY_PATH] = { class: registryEntry.class, checksum: sha256(next) };
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
const templateRel = `${ADR_DIR}/${ADR_TEMPLATE_FILENAME}`;
|
|
436
|
+
const templateEntry = ctx.lockfile.files[templateRel];
|
|
437
|
+
const templatePath = join(ctx.cwd, ADR_DIR, ADR_TEMPLATE_FILENAME);
|
|
438
|
+
if (existsSync(templatePath) &&
|
|
439
|
+
templateEntry?.class !== "ejected" &&
|
|
440
|
+
readFileSync(templatePath, "utf8") === COMMITTED_INDEX_ADR_TEMPLATE) {
|
|
441
|
+
changes.push(`${templateRel} — drop the template's pointer to a committed index`);
|
|
442
|
+
writes.push(() => {
|
|
443
|
+
writeFileSync(templatePath, ADR_TEMPLATE, "utf8");
|
|
444
|
+
if (templateEntry)
|
|
445
|
+
ctx.lockfile.files[templateRel] = { class: templateEntry.class, checksum: sha256(ADR_TEMPLATE) };
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
const attributes = withoutRetiredMergeAttribute(ctx.cwd);
|
|
449
|
+
if (attributes !== null) {
|
|
450
|
+
const path = join(ctx.cwd, GITATTRIBUTES_FILENAME);
|
|
451
|
+
changes.push(attributes === ""
|
|
452
|
+
? `${GITATTRIBUTES_FILENAME} — delete (it held only \`${RETIRED_ADR_MERGE_ATTRIBUTE_LINE}\`)`
|
|
453
|
+
: `${GITATTRIBUTES_FILENAME} — remove \`${RETIRED_ADR_MERGE_ATTRIBUTE_LINE}\``);
|
|
454
|
+
writes.push(() => (attributes === "" ? unlinkSync(path) : writeFileSync(path, attributes, "utf8")));
|
|
455
|
+
}
|
|
456
|
+
if (changes.length === 0)
|
|
457
|
+
return { changes: [], apply: () => { } };
|
|
458
|
+
return {
|
|
459
|
+
changes,
|
|
460
|
+
apply: () => {
|
|
461
|
+
for (const write of writes)
|
|
462
|
+
write();
|
|
463
|
+
},
|
|
464
|
+
};
|
|
465
|
+
},
|
|
466
|
+
},
|
|
392
467
|
];
|
|
393
468
|
export function migrationIds(registry = MIGRATIONS) {
|
|
394
469
|
return registry.map((migration) => migration.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/seeds.js
CHANGED
|
@@ -28,7 +28,7 @@ TODO: One paragraph on what this project is, who it serves, and what it is not.
|
|
|
28
28
|
## Canonical context
|
|
29
29
|
|
|
30
30
|
1. [docs/vision.md](docs/vision.md) — product vision and non-goals
|
|
31
|
-
2. [docs/adr/README.md](docs/adr/README.md) — the decision registry:
|
|
31
|
+
2. [docs/adr/README.md](docs/adr/README.md) — the decision registry: print its index first (\`npx @wemuda/launchrail adr index\`), then open only the ADRs touching your area
|
|
32
32
|
3. ${specPointer}
|
|
33
33
|
|
|
34
34
|
## Commands
|
|
@@ -40,7 +40,7 @@ ${commitSection}
|
|
|
40
40
|
- Ask, don't guess. On product decisions, data-model or schema changes, security-relevant behaviour, or anything genuinely ambiguous, stop and ask rather than guessing — a wrong guess on these costs more than the question.
|
|
41
41
|
- Do not silently change scope; surface deviations from the spec or ADRs.
|
|
42
42
|
- If implementation invalidates an artifact (vision, spec, ADR, design note), update that artifact in the same change.
|
|
43
|
-
- Decisions that are hard to reverse, surprising without context, and the result of a real trade-off become lightweight ADRs in \`docs/adr/\` using [docs/adr/0000-template.md](docs/adr/0000-template.md), named \`YYYY-MM-DD-short-slug.md\` (the decision date, then a slug unique in the directory — no sequence number to claim)
|
|
43
|
+
- Decisions that are hard to reverse, surprising without context, and the result of a real trade-off become lightweight ADRs in \`docs/adr/\` using [docs/adr/0000-template.md](docs/adr/0000-template.md), named \`YYYY-MM-DD-short-slug.md\` (the decision date, then a slug unique in the directory — no sequence number to claim). The registry index is printed from the records (\`launchrail adr index\`), never committed. Prefer amending the ADR that owns an area over minting a sibling; product decisions belong in the spec, not an ADR.
|
|
44
44
|
|
|
45
45
|
## Definition of done
|
|
46
46
|
|
|
@@ -92,8 +92,8 @@ function claudeGeneratedMd(ctx) {
|
|
|
92
92
|
|
|
93
93
|
- This project follows the Launchrail rail — six phases: Intent → Exploration → Decisions → Blueprint → Build → Ship. Report position with the rail banner at every transition; the stage detail and the interaction contract live in \`.claude/skills/launch/workflow.md\`.
|
|
94
94
|
- Product knowledge (vision, specs, ADRs, designs, tickets, code) is project-owned; Launchrail never overwrites it.
|
|
95
|
-
- Architecture decisions:
|
|
96
|
-
- Recording an ADR (the authoritative minting contract — the registry's own guidance summarizes this): copy [docs/adr/0000-template.md](docs/adr/0000-template.md) to \`docs/adr/YYYY-MM-DD-short-slug.md\` — the decision date, then a slug unique in the directory. There is **no sequence number to claim**, so parallel sessions never collide and nothing is renumbered; the slug is the record's handle in prose and links, and titles carry no \`ADR-NNNN:\` prefix. Declare what the record supersedes, amends, or extends in its own \`## Status\` line, linking the earlier record by file — the index derives the reverse links, so amending one never means editing it.
|
|
95
|
+
- Architecture decisions: print the registry index first — \`npx @wemuda/launchrail adr index\`, every record in date order with its live status — and open only the ADRs touching your area. An ADR records a decision, not the current system; never take one as evidence that a component exists or still works as described — the code is the source of truth.
|
|
96
|
+
- Recording an ADR (the authoritative minting contract — the registry's own guidance summarizes this): copy [docs/adr/0000-template.md](docs/adr/0000-template.md) to \`docs/adr/YYYY-MM-DD-short-slug.md\` — the decision date, then a slug unique in the directory. There is **no sequence number to claim**, so parallel sessions never collide and nothing is renumbered; the slug is the record's handle in prose and links, and titles carry no \`ADR-NNNN:\` prefix. Declare what the record supersedes, amends, or extends in its own \`## Status\` line, linking the earlier record by file — the index derives the reverse links, so amending one never means editing it. The index is printed from the records each time it is read and never committed, so the record is the whole change: there is no table to regenerate, commit, or resolve in a merge. Records that predate this scheme keep their \`NNNN-\` names and are cited by number.
|
|
97
97
|
- \`.launchrail.yml\` is project configuration; \`.launchrail-lock.json\` is machine-managed — do not hand-edit it.
|
|
98
98
|
- The issue-tracker workflow (labels included) and the domain-doc consumer rules live in \`docs/agents/\` — seeded from \`.launchrail.yml\`, yours to edit.
|
|
99
99
|
- Before claiming completion, run the project's deterministic checks. Completion requires evidence, not assertion.
|
package/package.json
CHANGED