@warpgogol/forge 5.1.3 → 5.2.3
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/AGENTS.md +3 -1
- package/bin/cli.ts +4 -0
- package/dist/bin/cli.js +4 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/os/adr/adr.module.js +1 -1
- package/dist/os/adr/adr.module.js.map +1 -1
- package/dist/os/compass/compass.module.js +2 -2
- package/dist/os/compass/compass.module.js.map +1 -1
- package/dist/os/compass/handlers/compass-audit-handler.d.ts +3 -0
- package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
- package/dist/os/compass/handlers/compass-audit-handler.js +87 -8
- package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
- package/dist/os/core/core.module.js +1 -1
- package/dist/os/core/core.module.js.map +1 -1
- package/dist/os/mission/handlers/archive.d.ts.map +1 -1
- package/dist/os/mission/handlers/archive.js +22 -6
- package/dist/os/mission/handlers/archive.js.map +1 -1
- package/dist/os/program/lease.js +1 -1
- package/dist/os/program/lease.js.map +1 -1
- package/dist/os/queue/handlers/queue-validate.d.ts +4 -0
- package/dist/os/queue/handlers/queue-validate.d.ts.map +1 -0
- package/dist/os/queue/handlers/queue-validate.js +62 -0
- package/dist/os/queue/handlers/queue-validate.js.map +1 -0
- package/dist/os/queue/index.d.ts +5 -0
- package/dist/os/queue/index.d.ts.map +1 -0
- package/dist/os/queue/index.js +18 -0
- package/dist/os/queue/index.js.map +1 -0
- package/dist/os/queue/manifest.d.ts +14 -0
- package/dist/os/queue/manifest.d.ts.map +1 -0
- package/dist/os/queue/manifest.js +110 -0
- package/dist/os/queue/manifest.js.map +1 -0
- package/dist/os/queue/queue.module.d.ts +3 -0
- package/dist/os/queue/queue.module.d.ts.map +1 -0
- package/dist/os/queue/queue.module.js +56 -0
- package/dist/os/queue/queue.module.js.map +1 -0
- package/dist/os/queue/types.d.ts +25 -0
- package/dist/os/queue/types.d.ts.map +1 -0
- package/dist/os/queue/types.js +28 -0
- package/dist/os/queue/types.js.map +1 -0
- package/dist/os/rfc/handlers/list-create.d.ts.map +1 -1
- package/dist/os/rfc/handlers/list-create.js +79 -32
- package/dist/os/rfc/handlers/list-create.js.map +1 -1
- package/dist/os/rfc/handlers/pipeline-status.d.ts +2 -7
- package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -1
- package/dist/os/rfc/handlers/pipeline-status.js +15 -57
- package/dist/os/rfc/handlers/pipeline-status.js.map +1 -1
- package/dist/os/rfc/rfc.module.js +1 -1
- package/dist/os/rfc/rfc.module.js.map +1 -1
- package/dist/os/spec/spec.module.d.ts.map +1 -1
- package/dist/os/spec/spec.module.js +2 -0
- package/dist/os/spec/spec.module.js.map +1 -1
- package/dist/src/knowledge/index.d.ts +1 -0
- package/dist/src/knowledge/index.d.ts.map +1 -1
- package/dist/src/knowledge/index.js +1 -0
- package/dist/src/knowledge/index.js.map +1 -1
- package/dist/src/knowledge/sync.d.ts +24 -0
- package/dist/src/knowledge/sync.d.ts.map +1 -0
- package/dist/src/knowledge/sync.js +127 -0
- package/dist/src/knowledge/sync.js.map +1 -0
- package/dist/src/onboarding/doctor.d.ts.map +1 -1
- package/dist/src/onboarding/doctor.js +7 -6
- package/dist/src/onboarding/doctor.js.map +1 -1
- package/dist/src/onboarding/init.d.ts.map +1 -1
- package/dist/src/onboarding/init.js +15 -8
- package/dist/src/onboarding/init.js.map +1 -1
- package/dist/src/onboarding/upgrade.d.ts.map +1 -1
- package/dist/src/onboarding/upgrade.js +42 -13
- package/dist/src/onboarding/upgrade.js.map +1 -1
- package/dist/src/pipeline-status.d.ts +62 -0
- package/dist/src/pipeline-status.d.ts.map +1 -0
- package/dist/src/pipeline-status.js +220 -0
- package/dist/src/pipeline-status.js.map +1 -0
- package/dist/src/types.d.ts +1 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -0
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/fs-atomic.js +1 -1
- package/dist/src/utils/fs-atomic.js.map +1 -1
- package/os/adr/adr.module.ts +1 -1
- package/os/compass/compass.module.ts +2 -2
- package/os/compass/handlers/compass-audit-handler.ts +116 -8
- package/os/compass/handlers/tests/compass-audit-plan.test.ts +98 -0
- package/os/compass/handlers/tests/compass-audit-record.test.ts +105 -0
- package/os/compass/handlers/tests/compass-audit-validate.test.ts +133 -0
- package/os/compass/handlers/tests/compass-ledger-scope.test.ts +124 -0
- package/os/core/core.module.ts +1 -1
- package/os/mission/handlers/archive.test.ts +49 -0
- package/os/mission/handlers/archive.ts +21 -6
- package/os/program/lease.ts +1 -1
- package/os/queue/handlers/queue-validate.ts +83 -0
- package/os/queue/index.ts +19 -0
- package/os/queue/manifest.ts +183 -0
- package/os/queue/queue-validate.test.ts +177 -0
- package/os/queue/queue.module.ts +59 -0
- package/os/queue/types.ts +49 -0
- package/os/rfc/handlers/list-create.ts +83 -35
- package/os/rfc/handlers/pipeline-status.ts +24 -67
- package/os/rfc/handlers/validate-rules.test.ts +50 -0
- package/os/rfc/rfc-create-concurrent.test.ts +118 -0
- package/os/rfc/rfc-create-hint.test.ts +90 -0
- package/os/rfc/rfc-read-only-no-side-effects.test.ts +83 -0
- package/os/rfc/rfc.module.ts +1 -1
- package/os/spec/spec.module.ts +2 -0
- package/package.json +17 -1
- package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +46 -1
- package/src/knowledge/__tests__/sync.test.ts +227 -0
- package/src/knowledge/index.ts +7 -0
- package/src/knowledge/sync.ts +161 -0
- package/src/onboarding/doctor.ts +7 -6
- package/src/onboarding/init.ts +15 -8
- package/src/onboarding/upgrade.ts +47 -16
- package/src/pipeline-status.test.ts +192 -0
- package/src/pipeline-status.ts +319 -0
- package/src/tests/upgrade.test.ts +53 -0
- package/src/types.ts +2 -2
- package/src/utils/fs-atomic.ts +1 -1
|
@@ -6,13 +6,16 @@
|
|
|
6
6
|
</non-goals>
|
|
7
7
|
</MODULE_CONTRACT>
|
|
8
8
|
<CHANGE_SUMMARY>
|
|
9
|
-
<item>RFC-0303: extracted list and create handlers from handlers.ts into handlers/list-create.ts.</item>
|
|
10
9
|
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
11
10
|
|
|
12
11
|
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
13
12
|
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
14
13
|
|
|
15
14
|
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
15
|
+
<item>RFC-1138: pipeline hygiene — module-scoped exempt entries, archive gitignore guard, dns upsert to deploy phases, promote auto-sync, rfc.create claim protocol, siteHasRuntime filter</item>
|
|
16
|
+
<item>RFC-1139: CLI hint accuracy and agent-safety hygiene — rfc.create hint, EC-14-PARTIAL, amend delegation, ledger scope, sync footer, mission.open remnants</item>
|
|
17
|
+
<item>RFC-1139: second hint fix (rfc.list empty-state) + read-only test fix</item>
|
|
18
|
+
<history>RFC-0303</history>
|
|
16
19
|
</CHANGE_SUMMARY>
|
|
17
20
|
*/
|
|
18
21
|
import fs from "node:fs/promises";
|
|
@@ -112,7 +115,7 @@ export async function runRfcList(input, context) {
|
|
|
112
115
|
nextSteps: entries.length === 0
|
|
113
116
|
? [
|
|
114
117
|
{
|
|
115
|
-
action: `Create a new RFC: pnpm exec
|
|
118
|
+
action: `Create a new RFC: pnpm exec werkstatt run rfc.create --title "..."`,
|
|
116
119
|
kind: "optional",
|
|
117
120
|
},
|
|
118
121
|
]
|
|
@@ -141,21 +144,6 @@ export async function runRfcCreate(input, context) {
|
|
|
141
144
|
throw new Error(`rfc.create requires --satisfies DNA-N for ${kind} RFCs created on or after ${RFC_METADATA_CUTOFF} (RFC-0331).`);
|
|
142
145
|
}
|
|
143
146
|
await assertSatisfiesIdsExist(workspaceRoot, satisfies);
|
|
144
|
-
const files = await listRfcFiles(rfcDirPath);
|
|
145
|
-
let maxId = 0;
|
|
146
|
-
for (const f of files) {
|
|
147
|
-
const basename = path.basename(f);
|
|
148
|
-
const match = basename.match(/^rfc-(\d{4})/);
|
|
149
|
-
if (match) {
|
|
150
|
-
const num = parseInt(match[1], 10);
|
|
151
|
-
if (num > maxId)
|
|
152
|
-
maxId = num;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
const nextNum = maxId + 1;
|
|
156
|
-
const paddedNum = String(nextNum).padStart(4, "0");
|
|
157
|
-
const nextSlug = `rfc-${paddedNum}`;
|
|
158
|
-
const nextId = `RFC-${paddedNum}`;
|
|
159
147
|
const templatePath = resolveRfcTemplate(workspaceRoot);
|
|
160
148
|
let templateContent;
|
|
161
149
|
try {
|
|
@@ -165,7 +153,6 @@ export async function runRfcCreate(input, context) {
|
|
|
165
153
|
throw new Error(`RFC template not found at ${templatePath}.`);
|
|
166
154
|
}
|
|
167
155
|
const kebabTitle = toKebabCase(title);
|
|
168
|
-
const fileName = `${nextSlug}-${kebabTitle}.md`;
|
|
169
156
|
// RFC-0329: consult decision log before scaffolding
|
|
170
157
|
let consultedDecisions = [];
|
|
171
158
|
try {
|
|
@@ -186,20 +173,80 @@ export async function runRfcCreate(input, context) {
|
|
|
186
173
|
logger.info("No related prior decisions found.");
|
|
187
174
|
}
|
|
188
175
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
176
|
+
// RFC-1138: atomic id allocation — scan → claim the id via wx on a
|
|
177
|
+
// title-independent `rfc-NNNN.claim` file → write the real file → release.
|
|
178
|
+
// The claim must be on the id, not the filename: two creates with different
|
|
179
|
+
// titles produce different filenames, so a wx write on the target path can
|
|
180
|
+
// never collide. `.claim` files are invisible to listRfcFiles (.md-only),
|
|
181
|
+
// so they don't pollute rfc.list or the maxId scan. Stale claims (crashed
|
|
182
|
+
// create) are reclaimed after CLAIM_STALE_MS.
|
|
183
|
+
const MAX_CREATE_ATTEMPTS = 10;
|
|
184
|
+
const CLAIM_STALE_MS = 30_000;
|
|
185
|
+
let nextId = "";
|
|
186
|
+
let relativeFile = "";
|
|
187
|
+
let allocated = false;
|
|
188
|
+
const files = await listRfcFiles(rfcDirPath);
|
|
189
|
+
let maxId = 0;
|
|
190
|
+
for (const f of files) {
|
|
191
|
+
const basename = path.basename(f);
|
|
192
|
+
const match = basename.match(/^rfc-(\d{4})/);
|
|
193
|
+
if (match) {
|
|
194
|
+
const num = parseInt(match[1], 10);
|
|
195
|
+
if (num > maxId)
|
|
196
|
+
maxId = num;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
let candidate = maxId + 1;
|
|
200
|
+
for (let attempt = 1; attempt <= MAX_CREATE_ATTEMPTS; attempt++) {
|
|
201
|
+
const paddedNum = String(candidate).padStart(4, "0");
|
|
202
|
+
const nextSlug = `rfc-${paddedNum}`;
|
|
203
|
+
nextId = `RFC-${paddedNum}`;
|
|
204
|
+
const fileName = `${nextSlug}-${kebabTitle}.md`;
|
|
205
|
+
const claimPath = path.join(rfcDirPath, `${nextSlug}.claim`);
|
|
206
|
+
try {
|
|
207
|
+
await fs.writeFile(claimPath, `${process.pid}\n`, { flag: "wx" });
|
|
208
|
+
}
|
|
209
|
+
catch (err) {
|
|
210
|
+
if (err.code === "EEXIST") {
|
|
211
|
+
// Stale claim (crashed create) → reclaim and retry the same id.
|
|
212
|
+
// Live claim → another create holds this id — move to the next.
|
|
213
|
+
const st = await fs.stat(claimPath).catch(() => null);
|
|
214
|
+
if (st && Date.now() - st.mtimeMs > CLAIM_STALE_MS) {
|
|
215
|
+
await fs.rm(claimPath, { force: true });
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
candidate++;
|
|
219
|
+
}
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
throw err;
|
|
223
|
+
}
|
|
224
|
+
try {
|
|
225
|
+
let content = templateContent;
|
|
226
|
+
content = content.replace(/^id: RFC-0000$/m, `id: ${nextId}`);
|
|
227
|
+
content = content.replace(/^title: ".*"$/m, `title: "${title}"`);
|
|
228
|
+
content = content.replace(/^kind: \w+$/m, `kind: ${kind}`);
|
|
229
|
+
content = content.replace(/^scope: \w+$/m, `scope: ${scope}`);
|
|
230
|
+
content = content.replace(/^createdAt: YYYY-MM-DD$/m, `createdAt: ${today}`);
|
|
231
|
+
content = content.replace(/^updatedAt: YYYY-MM-DD$/m, `updatedAt: ${today}`);
|
|
232
|
+
if (satisfies.length > 0) {
|
|
233
|
+
content = content.replace(/^satisfies: \[\]$/m, `satisfies:\n${satisfies.map((id) => ` - ${id}`).join("\n")}`);
|
|
234
|
+
}
|
|
235
|
+
content = content.replace(/^# RFC-0000: .+$/m, `# ${nextId}: ${title}`);
|
|
236
|
+
const targetPath = path.join(rfcDirPath, fileName);
|
|
237
|
+
await fs.writeFile(targetPath, content, { flag: "wx" });
|
|
238
|
+
relativeFile = path.join(RFC_DIR, fileName);
|
|
239
|
+
allocated = true;
|
|
240
|
+
}
|
|
241
|
+
finally {
|
|
242
|
+
await fs.rm(claimPath, { force: true });
|
|
243
|
+
}
|
|
244
|
+
if (allocated)
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
if (!allocated) {
|
|
248
|
+
throw new Error(`rfc.create: id allocation failed after ${MAX_CREATE_ATTEMPTS} attempts — concurrent creates keep claiming the next id`);
|
|
198
249
|
}
|
|
199
|
-
content = content.replace(/^# RFC-0000: .+$/m, `# ${nextId}: ${title}`);
|
|
200
|
-
const targetPath = path.join(rfcDirPath, fileName);
|
|
201
|
-
await fs.writeFile(targetPath, content, "utf-8");
|
|
202
|
-
const relativeFile = path.join(RFC_DIR, fileName);
|
|
203
250
|
if (outputFormat === "pretty") {
|
|
204
251
|
logger.success(`Created ${nextId}: ${title}`);
|
|
205
252
|
logger.info(`File: ${relativeFile}`);
|
|
@@ -218,7 +265,7 @@ export async function runRfcCreate(input, context) {
|
|
|
218
265
|
summary: `Created ${nextId}: ${title}`,
|
|
219
266
|
nextSteps: [
|
|
220
267
|
{
|
|
221
|
-
action: `Validate the RFC: pnpm exec
|
|
268
|
+
action: `Validate the RFC: pnpm exec werkstatt run rfc.validate --id ${nextId}`,
|
|
222
269
|
kind: "optional",
|
|
223
270
|
},
|
|
224
271
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-create.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/list-create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"list-create.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/list-create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
|
|
2
|
+
import type { PipelineStage, RfcPipelineStageInfo } from "../../../src/pipeline-status.ts";
|
|
2
3
|
import type { RfcStatus } from "../types.ts";
|
|
3
|
-
export type PipelineStage
|
|
4
|
-
export interface RfcPipelineStageInfo {
|
|
5
|
-
stage: PipelineStage;
|
|
6
|
-
done: boolean;
|
|
7
|
-
/** File or marker that confirms completion, when applicable. */
|
|
8
|
-
evidence?: string;
|
|
9
|
-
}
|
|
4
|
+
export type { PipelineStage, RfcPipelineStageInfo };
|
|
10
5
|
export interface RfcPipelineEntry {
|
|
11
6
|
id: string;
|
|
12
7
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-status.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/pipeline-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipeline-status.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/pipeline-status.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,gEAAgE;IAChE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAoEtD"}
|
|
@@ -8,43 +8,24 @@
|
|
|
8
8
|
</non-goals>
|
|
9
9
|
</MODULE_CONTRACT>
|
|
10
10
|
<CHANGE_SUMMARY>
|
|
11
|
+
<item>RFC-1140: refactored onto the shared resolver in src/pipeline-status.ts —
|
|
12
|
+
artifact finders, TERMINAL_STATUSES, and stage computation now imported from
|
|
13
|
+
the portable layer so queue.validate and the orchestrator share one derivation.</item>
|
|
11
14
|
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
12
15
|
|
|
13
16
|
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
14
17
|
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
15
18
|
|
|
16
19
|
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
20
|
+
<item>RFC-1140: steps 1-4 — shared resolver, queue module, registration
|
|
21
|
+
|
|
22
|
+
Extract pipeline-status derivation into packages/forge/src/pipeline-status.ts, refactor rfc.pipeline.status onto it, add os/queue module with queue.validate command, register in WORKSHOP_MODULE_MAP.forge + bin/cli.ts + package.json exports.</item>
|
|
17
23
|
</CHANGE_SUMMARY>
|
|
18
24
|
*/
|
|
19
|
-
import fs from "node:fs/promises";
|
|
20
25
|
import path from "node:path";
|
|
21
26
|
import { listRfcFiles, readAndParseRfc } from "../frontmatter-io.js";
|
|
27
|
+
import { TERMINAL_STATUSES, computeRfcPipelineStages, findAuditFile, findPlanFile, nextPipelineStep, } from "../../../src/pipeline-status.js";
|
|
22
28
|
import { RFC_DIR } from "../types.js";
|
|
23
|
-
const TERMINAL_STATUSES = new Set(["implemented", "rejected", "superseded"]);
|
|
24
|
-
async function findAuditFile(workspaceRoot, rfcId) {
|
|
25
|
-
const auditsDir = path.join(workspaceRoot, "docs/audits");
|
|
26
|
-
try {
|
|
27
|
-
const entries = await fs.readdir(auditsDir);
|
|
28
|
-
const prefix = `audit-${rfcId.toLowerCase()}`;
|
|
29
|
-
const match = entries.find((e) => e.toLowerCase().startsWith(prefix) && e.endsWith(".md"));
|
|
30
|
-
return match ? path.join("docs/audits", match) : undefined;
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return undefined;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
async function findPlanFile(workspaceRoot, rfcId) {
|
|
37
|
-
const plansDir = path.join(workspaceRoot, "docs/plans");
|
|
38
|
-
try {
|
|
39
|
-
const entries = await fs.readdir(plansDir);
|
|
40
|
-
const prefix = `plan-${rfcId.toLowerCase()}`;
|
|
41
|
-
const match = entries.find((e) => e.toLowerCase().startsWith(prefix) && e.endsWith(".md"));
|
|
42
|
-
return match ? path.join("docs/plans", match) : undefined;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
29
|
export async function runRfcPipelineStatus(input, context) {
|
|
49
30
|
const { workspaceRoot, logger, outputFormat } = context;
|
|
50
31
|
const rfcDirPath = path.join(workspaceRoot, RFC_DIR);
|
|
@@ -71,37 +52,14 @@ export async function runRfcPipelineStatus(input, context) {
|
|
|
71
52
|
const isTerminal = TERMINAL_STATUSES.has(status);
|
|
72
53
|
const auditFile = await findAuditFile(workspaceRoot, id);
|
|
73
54
|
const planFile = await findPlanFile(workspaceRoot, id);
|
|
74
|
-
const stages =
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
done: !!enhancedAt,
|
|
83
|
-
evidence: enhancedAt ? `enhancedAt: ${enhancedAt}` : undefined,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
stage: "plan",
|
|
87
|
-
done: !!planFile,
|
|
88
|
-
evidence: planFile,
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
stage: "implement",
|
|
92
|
-
done: status === "implemented" || !!implementedAt,
|
|
93
|
-
evidence: implementedAt ? `implementedAt: ${implementedAt}` : undefined,
|
|
94
|
-
},
|
|
95
|
-
];
|
|
96
|
-
let nextStep = null;
|
|
97
|
-
if (!isTerminal) {
|
|
98
|
-
for (const s of stages) {
|
|
99
|
-
if (!s.done) {
|
|
100
|
-
nextStep = s.stage;
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
55
|
+
const stages = computeRfcPipelineStages({
|
|
56
|
+
status,
|
|
57
|
+
enhancedAt,
|
|
58
|
+
implementedAt,
|
|
59
|
+
auditFile,
|
|
60
|
+
planFile,
|
|
61
|
+
});
|
|
62
|
+
const nextStep = isTerminal ? null : nextPipelineStep(status, stages);
|
|
105
63
|
entries.push({
|
|
106
64
|
id,
|
|
107
65
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-status.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/pipeline-status.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pipeline-status.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/pipeline-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -362,7 +362,7 @@ export async function createForgeRfcModule() {
|
|
|
362
362
|
description: "RFC-0476: the exclusive atomic path for accepted → implemented transitions. " +
|
|
363
363
|
"Verifies preconditions (accepted status, checked+evidenced criteria, clean tree, " +
|
|
364
364
|
"reachable RFC-referencing commit, passing probe evidence) then atomically sets " +
|
|
365
|
-
"status: implemented, implementedAt, and updatedAt. Use --dry-run to preview.",
|
|
365
|
+
"status: implemented, implementedAt, and updatedAt. Use --dry-run to preview. Required flags: `--id`.",
|
|
366
366
|
scope: "workspace",
|
|
367
367
|
mutatesState: true,
|
|
368
368
|
writes: ["docs/rfcs/**/*.md"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rfc.module.js","sourceRoot":"","sources":["../../../os/rfc/rfc.module.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rfc.module.js","sourceRoot":"","sources":["../../../os/rfc/rfc.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;EAkBE;AAIF,MAAM,CAAC,KAAK,UAAU,oBAAoB;IAC1C,MAAM,EACA,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,8BAA8B,EAC9B,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,GACZ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAClC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC9E,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAChF,MAAM,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1F,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACxE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACnF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAChE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAC/E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAC/E,6EAA6E;IAC/E,OAAO;QACP,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QAEnB,YAAY,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EACT,8DAA8D;oBAC9D,0CAA0C;oBAC1C,uDAAuD;gBACzD,KAAK,EAAE,WAAW;gBAClB,+BAA+B;gBAC/B,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2DAA2D;qBACzE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4DAA4D;qBAC1E;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBACpE,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mDAAmD;qBACjE;iBACF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,UAAU;aACpB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EACT,4CAA4C;oBAC5C,yCAAyC;oBACzC,sDAAsD;oBACtD,gCAAgC;oBAChC,4CAA4C;gBAC9C,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,oBAAoB,CAAC;gBAC9B,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,+BAA+B;gBAC/B,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6BAA6B,EAAE;oBACrF,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,cAAc;wBACvB,WAAW,EAAE,qEAAqE;qBACnF;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,6BAA6B,EAAE;oBAC3F,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,sFAAsF;qBACzF;iBACF;gBACD,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EACT,2GAA2G;gBAC7G,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,+DAA+D;oBAC/D,qEAAqE;oBACrE,kDAAkD;oBAClD,wEAAwE;gBAC1E,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;iBAClF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,cAAc;aACxB;YACD;gBACE,IAAI,EAAE,gCAAgC;gBACtC,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,0EAA0E;oBAC1E,gEAAgE;gBAClE,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;iBAClF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,8BAA8B;aACxC;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,+EAA+E;oBAC/E,uFAAuF;oBACvF,uDAAuD;gBACzD,KAAK,EAAE,WAAW;gBAClB,+BAA+B;gBAC/B,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,UAAU;wBAChB,WAAW,EAAE,wEAAwE;qBACtF;iBACF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,WAAW;aACrB;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,6EAA6E;oBAC7E,+EAA+E;oBAC/E,+BAA+B;gBACjC,KAAK,EAAE,WAAW;gBAClB,+BAA+B;gBAC/B,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,sDAAsD;qBACpE;iBACF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,+EAA+E;oBAC/E,yEAAyE;oBACzE,wDAAwD;gBAC1D,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;gBACpD,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EACT,0EAA0E;oBAC1E,yCAAyC;gBAC3C,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;iBAClF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,WAAW;aACrB;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,uFAAuF;oBACvF,yFAAyF;oBACzF,6FAA6F;oBAC7F,kBAAkB;gBACpB,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACjF,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oDAAoD;qBAClE;iBACF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EACT,uFAAuF;oBACvF,wFAAwF;oBACxF,kFAAkF;gBACpF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,yCAAyC,CAAC;gBACnD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACjF,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uDAAuD;qBACrE;iBACF;gBACD,OAAO,EAAE,sBAAsB;aAChC;YACD;gBACE,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EACT,oFAAoF;oBACpF,mFAAmF;oBACnF,iFAAiF;oBACjF,4CAA4C;gBAC9C,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,yCAAyC,CAAC;gBACnD,KAAK,EAAE,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;gBACvE,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACjF,GAAG,EAAE;wBACH,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,gEAAgE;qBAC9E;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+DAA+D;qBAC7E;iBACF;gBACD,OAAO,EAAE,yBAAyB;aACnC;YACD;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,sFAAsF;oBACtF,kFAAkF;oBAClF,sFAAsF;gBACxF,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;iBACF;gBACD,KAAK,EAAE,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;gBACxD,OAAO,EAAE,sBAAsB;aAChC;YACD;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EACT,+EAA+E;oBAC/E,yEAAyE;gBAC3E,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,oCAAoC,CAAC;gBAC9C,KAAK,EAAE,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;gBACxD,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,sBAAsB;aAChC;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EACT,qFAAqF;oBACrF,+EAA+E;oBAC/E,mEAAmE;gBACrE,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,uCAAuC,EAAE,qCAAqC,CAAC;gBACxF,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,6DAA6D;qBAC3E;iBACF;gBACD,OAAO,EAAE,yBAAyB;aACnC;YACD;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EACT,kFAAkF;oBAClF,0EAA0E;gBAC5E,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,oBAAoB,CAAC;gBAC9B,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6CAA6C;qBAC3D;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6CAA6C;qBAC3D;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kEAAkE;qBAChF;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+CAA+C;qBAC7D;iBACF;gBACD,OAAO,EAAE,sBAAsB;aAChC;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EACT,0EAA0E;oBAC1E,gFAAgF;oBAChF,wEAAwE;oBACxE,sDAAsD;oBACtD,gFAAgF;gBAClF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;gBAClD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,8DAA8D;qBAC5E;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yEAAyE;qBACvF;iBACF;gBACD,OAAO,EAAE,aAAa;aACvB;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,qFAAqF;oBACrF,4EAA4E;oBAC5E,8EAA8E;oBAC9E,uFAAuF;gBACzF,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;iBAClF;gBACD,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,oBAAoB;aAC9B;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,8EAA8E;oBAC9E,mFAAmF;oBACnF,iFAAiF;oBACjF,sGAAsG;gBACxG,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,mBAAmB,CAAC;gBAC7B,KAAK,EAAE,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;gBACvE,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,yCAAyC;qBACvD;oBACD,uBAAuB,EAAE;wBACvB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK;wBACf,WAAW,EACT,2FAA2F;4BAC3F,2FAA2F;qBAC9F;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,wEAAwE;qBACtF;iBACF;gBACD,OAAO,EAAE,oBAAoB;aAC9B;SACF;QACD,SAAS,EAAE,EAEV;KAAC,CAAC;AACL,CAAC;AACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.module.d.ts","sourceRoot":"","sources":["../../../os/spec/spec.module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"spec.module.d.ts","sourceRoot":"","sources":["../../../os/spec/spec.module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CA2HlE"}
|
|
@@ -95,6 +95,7 @@ export async function createForgeSpecModule() {
|
|
|
95
95
|
description: "List all living feature specs in docs/specs/live/. " +
|
|
96
96
|
"Returns domain, title, lastMergedRfc, updatedAt, and historyCount for each spec.",
|
|
97
97
|
scope: "workspace",
|
|
98
|
+
flags: {},
|
|
98
99
|
reads: ["docs/specs/live/*.md"],
|
|
99
100
|
execute: runSpecLiveList,
|
|
100
101
|
},
|
|
@@ -118,6 +119,7 @@ export async function createForgeSpecModule() {
|
|
|
118
119
|
"V-LS-03 (lastMergedRfc is archived), V-LS-04 (history entries are archived), " +
|
|
119
120
|
"V-LS-05 (no duplicate domains).",
|
|
120
121
|
scope: "workspace",
|
|
122
|
+
flags: {},
|
|
121
123
|
reads: ["docs/specs/live/*.md", "docs/rfcs/**/*.md"],
|
|
122
124
|
execute: runSpecLiveValidate,
|
|
123
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.module.js","sourceRoot":"","sources":["../../../os/spec/spec.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec.module.js","sourceRoot":"","sources":["../../../os/spec/spec.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,5 @@ export { knowledgeEntryMetaSchema, type KnowledgeLayer, type KnowledgeEntryStatu
|
|
|
4
4
|
export { planCompaction, executeCompaction, resolveRetentionDays, resolveStaleDays, DEFAULT_RETENTION_DAYS, DEFAULT_STALE_DAYS, type CompactOptions, type CompactAction, type CompactActionKind, type CompactFilePlan, type CompactFileResult, type CompactReport, } from "./compact.ts";
|
|
5
5
|
export { computeLayerBudgets, resolveKnowledgeBudgets, DEFAULT_KNOWLEDGE_BUDGETS, type KnowledgeBudgets, type LayerBudgetReport, } from "./budgets.ts";
|
|
6
6
|
export { normalizeTitle, detectDuplicatePrinciples, planPromotion, type DuplicatePair, type PromotionPlan, } from "./promote.ts";
|
|
7
|
+
export { planKnowledgeSync, syncKnowledgeFile, type KnowledgeSyncAction, type KnowledgeSyncResult, type KnowledgeSyncPlan, } from "./sync.ts";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/knowledge/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/knowledge/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC"}
|
|
@@ -16,4 +16,5 @@ export { knowledgeEntryMetaSchema, } from "./schema.js";
|
|
|
16
16
|
export { planCompaction, executeCompaction, resolveRetentionDays, resolveStaleDays, DEFAULT_RETENTION_DAYS, DEFAULT_STALE_DAYS, } from "./compact.js";
|
|
17
17
|
export { computeLayerBudgets, resolveKnowledgeBudgets, DEFAULT_KNOWLEDGE_BUDGETS, } from "./budgets.js";
|
|
18
18
|
export { normalizeTitle, detectDuplicatePrinciples, planPromotion, } from "./promote.js";
|
|
19
|
+
export { planKnowledgeSync, syncKnowledgeFile, } from "./sync.js";
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/knowledge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,wBAAwB,GAQzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GAOnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,GAG1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,aAAa,GAGd,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/knowledge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,wBAAwB,GAQzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GAOnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,GAG1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,aAAa,GAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAIlB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type KnowledgeSyncAction = "copied" | "merged" | "unchanged" | "skipped";
|
|
2
|
+
export interface KnowledgeSyncResult {
|
|
3
|
+
action: KnowledgeSyncAction;
|
|
4
|
+
/** Entry IDs appended from the source file (merge only). */
|
|
5
|
+
appended: string[];
|
|
6
|
+
/** Entry IDs present in both files — the local version is always kept. */
|
|
7
|
+
conflicts: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface KnowledgeSyncPlan extends KnowledgeSyncResult {
|
|
10
|
+
/** Serialized content to write at the destination, or null when no write is needed. */
|
|
11
|
+
content: string | null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Compute the sync plan for a declared knowledge file (or directory) without
|
|
15
|
+
* writing anything. Used by doctor for stale detection.
|
|
16
|
+
*/
|
|
17
|
+
export declare function planKnowledgeSync(srcPath: string, destPath: string): KnowledgeSyncPlan;
|
|
18
|
+
/**
|
|
19
|
+
* Sync one declared knowledge file (or directory) from source to destination.
|
|
20
|
+
* Never overwrites existing local content — cumulative files merge by entry-ID
|
|
21
|
+
* union, divergent non-cumulative files are skipped.
|
|
22
|
+
*/
|
|
23
|
+
export declare function syncKnowledgeFile(srcPath: string, destPath: string): KnowledgeSyncResult;
|
|
24
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/knowledge/sync.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,uFAAuF;IACvF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAiFD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAetF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAgBxF"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>Append-only sync for declared skill knowledge files. Copies files that are
|
|
4
|
+
missing at the destination, merges cumulative K-NNNN files by entry-ID union (local
|
|
5
|
+
entries always win), and never overwrites existing local content. Fixes the data-loss
|
|
6
|
+
bug where forge.upgrade wiped project-accumulated knowledge entries by overwriting
|
|
7
|
+
the synced copy with the package version.</purpose>
|
|
8
|
+
<non-goals>
|
|
9
|
+
<item>Do not validate entry metadata — SKILL-19/SKILL-20 handle schema checks.</item>
|
|
10
|
+
<item>Do not sync SKILL.md itself — callers handle that separately.</item>
|
|
11
|
+
<item>Do not propagate deletions — knowledge files are append-only; removing entries is a compaction concern (compact.ts), not a sync concern.</item>
|
|
12
|
+
</non-goals>
|
|
13
|
+
</MODULE_CONTRACT>
|
|
14
|
+
<CHANGE_SUMMARY>
|
|
15
|
+
<item>2026-09-24: initial append-only knowledge sync — merge by entry-ID union, local wins conflicts, skip divergent non-cumulative files, recurse into declared directories.</item>
|
|
16
|
+
</CHANGE_SUMMARY>
|
|
17
|
+
*/
|
|
18
|
+
import fs from "node:fs";
|
|
19
|
+
import path from "node:path";
|
|
20
|
+
import { parseKnowledgeFile } from "./parse.js";
|
|
21
|
+
import { serializeKnowledgeFile } from "./serialize.js";
|
|
22
|
+
const ACTION_PRIORITY = {
|
|
23
|
+
merged: 3,
|
|
24
|
+
copied: 2,
|
|
25
|
+
skipped: 1,
|
|
26
|
+
unchanged: 0,
|
|
27
|
+
};
|
|
28
|
+
function aggregateInto(target, sub) {
|
|
29
|
+
target.appended.push(...sub.appended);
|
|
30
|
+
target.conflicts.push(...sub.conflicts);
|
|
31
|
+
if (ACTION_PRIORITY[sub.action] > ACTION_PRIORITY[target.action]) {
|
|
32
|
+
target.action = sub.action;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function isCumulative(parsed) {
|
|
36
|
+
return !parsed.isKnowledgeAdjacent;
|
|
37
|
+
}
|
|
38
|
+
function planFileSync(srcPath, destPath) {
|
|
39
|
+
const none = { appended: [], conflicts: [] };
|
|
40
|
+
if (!fs.existsSync(srcPath)) {
|
|
41
|
+
return { action: "unchanged", content: null, ...none };
|
|
42
|
+
}
|
|
43
|
+
const srcContent = fs.readFileSync(srcPath, "utf8");
|
|
44
|
+
if (!fs.existsSync(destPath)) {
|
|
45
|
+
return { action: "copied", content: srcContent, ...none };
|
|
46
|
+
}
|
|
47
|
+
const destContent = fs.readFileSync(destPath, "utf8");
|
|
48
|
+
if (srcContent === destContent) {
|
|
49
|
+
return { action: "unchanged", content: null, ...none };
|
|
50
|
+
}
|
|
51
|
+
const srcParsed = parseKnowledgeFile(srcPath);
|
|
52
|
+
const destParsed = parseKnowledgeFile(destPath);
|
|
53
|
+
// Both files use the cumulative K-NNNN format → append-only merge:
|
|
54
|
+
// local entries always win; source entries with new IDs are appended.
|
|
55
|
+
if (isCumulative(srcParsed) && isCumulative(destParsed)) {
|
|
56
|
+
const destIds = new Set(destParsed.entries.map((e) => e.meta.id));
|
|
57
|
+
const appendedEntries = srcParsed.entries.filter((e) => !destIds.has(e.meta.id));
|
|
58
|
+
const conflicts = srcParsed.entries
|
|
59
|
+
.filter((e) => destIds.has(e.meta.id))
|
|
60
|
+
.map((e) => e.meta.id);
|
|
61
|
+
const destLegacyTexts = new Set(destParsed.legacySections.map((l) => l.text.trim()));
|
|
62
|
+
const appendedLegacy = srcParsed.legacySections.filter((l) => !destLegacyTexts.has(l.text.trim()));
|
|
63
|
+
if (appendedEntries.length === 0 && appendedLegacy.length === 0) {
|
|
64
|
+
return { action: "unchanged", content: null, appended: [], conflicts };
|
|
65
|
+
}
|
|
66
|
+
const merged = {
|
|
67
|
+
path: destPath,
|
|
68
|
+
layer: destParsed.layer ?? srcParsed.layer,
|
|
69
|
+
preamble: destParsed.preamble || srcParsed.preamble,
|
|
70
|
+
entries: [...destParsed.entries, ...appendedEntries],
|
|
71
|
+
legacySections: [...destParsed.legacySections, ...appendedLegacy],
|
|
72
|
+
parseIssues: [],
|
|
73
|
+
isKnowledgeAdjacent: false,
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
action: "merged",
|
|
77
|
+
content: serializeKnowledgeFile(merged),
|
|
78
|
+
appended: appendedEntries.map((e) => e.meta.id),
|
|
79
|
+
conflicts,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// Any other divergence means the local file was edited or uses a
|
|
83
|
+
// non-cumulative format — preserve it (append-only contract).
|
|
84
|
+
return { action: "skipped", content: null, ...none };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Compute the sync plan for a declared knowledge file (or directory) without
|
|
88
|
+
* writing anything. Used by doctor for stale detection.
|
|
89
|
+
*/
|
|
90
|
+
export function planKnowledgeSync(srcPath, destPath) {
|
|
91
|
+
if (fs.existsSync(srcPath) && fs.statSync(srcPath).isDirectory()) {
|
|
92
|
+
const aggregate = {
|
|
93
|
+
action: "unchanged",
|
|
94
|
+
appended: [],
|
|
95
|
+
conflicts: [],
|
|
96
|
+
content: null,
|
|
97
|
+
};
|
|
98
|
+
for (const entry of fs.readdirSync(srcPath)) {
|
|
99
|
+
const sub = planKnowledgeSync(path.join(srcPath, entry), path.join(destPath, entry));
|
|
100
|
+
aggregateInto(aggregate, sub);
|
|
101
|
+
}
|
|
102
|
+
return aggregate;
|
|
103
|
+
}
|
|
104
|
+
return planFileSync(srcPath, destPath);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Sync one declared knowledge file (or directory) from source to destination.
|
|
108
|
+
* Never overwrites existing local content — cumulative files merge by entry-ID
|
|
109
|
+
* union, divergent non-cumulative files are skipped.
|
|
110
|
+
*/
|
|
111
|
+
export function syncKnowledgeFile(srcPath, destPath) {
|
|
112
|
+
if (fs.existsSync(srcPath) && fs.statSync(srcPath).isDirectory()) {
|
|
113
|
+
const aggregate = { action: "unchanged", appended: [], conflicts: [] };
|
|
114
|
+
for (const entry of fs.readdirSync(srcPath)) {
|
|
115
|
+
const sub = syncKnowledgeFile(path.join(srcPath, entry), path.join(destPath, entry));
|
|
116
|
+
aggregateInto(aggregate, sub);
|
|
117
|
+
}
|
|
118
|
+
return aggregate;
|
|
119
|
+
}
|
|
120
|
+
const plan = planFileSync(srcPath, destPath);
|
|
121
|
+
if (plan.content !== null) {
|
|
122
|
+
fs.mkdirSync(path.dirname(destPath), { recursive: true });
|
|
123
|
+
fs.writeFileSync(destPath, plan.content, "utf8");
|
|
124
|
+
}
|
|
125
|
+
return { action: plan.action, appended: plan.appended, conflicts: plan.conflicts };
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=sync.js.map
|