@warpgogol/forge 5.2.0 → 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 +2 -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/queue.module.js +1 -1
- package/dist/os/queue/queue.module.js.map +1 -1
- 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/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/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/queue.module.ts +1 -1
- package/os/rfc/handlers/list-create.ts +83 -35
- 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 +1 -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/tests/upgrade.test.ts +53 -0
- package/src/types.ts +2 -2
- package/src/utils/fs-atomic.ts +1 -1
package/dist/os/program/lease.js
CHANGED
|
@@ -32,7 +32,7 @@ export function leasePath(workspaceRoot, program, packetId) {
|
|
|
32
32
|
* Generate a random opaque lease token (32 bytes hex).
|
|
33
33
|
*/
|
|
34
34
|
export function generateLeaseToken() {
|
|
35
|
-
return randomBytes(32).toString("
|
|
35
|
+
return Array.from(randomBytes(32), (b) => b.toString(16).padStart(2, "0")).join("");
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Hash a lease token for storage. Only the hash is persisted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lease.js","sourceRoot":"","sources":["../../../os/program/lease.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;EAaE;AAEF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAA2B,MAAM,cAAc,CAAC;AAEjF,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,UAAU,QAAQ,CAAC,aAAqB,EAAE,OAAe;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,aAAqB,EAAE,OAAe,EAAE,QAAgB;IAChF,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"lease.js","sourceRoot":"","sources":["../../../os/program/lease.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export async function createForgeQueueModule() {
|
|
|
27
27
|
name: "queue.validate",
|
|
28
28
|
description: "Validate a queue manifest (docs/queues/*.yaml) and report derived " +
|
|
29
29
|
"per-item pipeline status plus the next actionable item. Read-only — " +
|
|
30
|
-
"the pipeline orchestrator runs this before starting a queued batch (RFC-1140).",
|
|
30
|
+
"the pipeline orchestrator runs this before starting a queued batch (RFC-1140). Required flags: `--file`.",
|
|
31
31
|
scope: "workspace",
|
|
32
32
|
contract: "queue",
|
|
33
33
|
rules: ["QUEUE-01", "QUEUE-02", "QUEUE-03", "QUEUE-04", "QUEUE-05", "QUEUE-06"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.module.js","sourceRoot":"","sources":["../../../os/queue/queue.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAIF,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,oEAAoE;oBACpE,sEAAsE;oBACtE,
|
|
1
|
+
{"version":3,"file":"queue.module.js","sourceRoot":"","sources":["../../../os/queue/queue.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAIF,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,oEAAoE;oBACpE,sEAAsE;oBACtE,0GAA0G;gBAC5G,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;gBAC/E,YAAY,EAAE,KAAK;gBACnB,KAAK,EAAE;oBACL,oBAAoB;oBACpB,mBAAmB;oBACnB,mBAAmB;oBACnB,kBAAkB;oBAClB,iBAAiB;iBAClB;gBACD,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,uCAAuC;qBACrD;iBACF;gBACD,OAAO,EAAE,gBAAgB;aAC1B;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-create.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/list-create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-create.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/list-create.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EACf,eAAe,EAIhB,MAAM,aAAa,CAAC;AAmCrB,wBAAsB,UAAU,CAC9B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CA2E5C;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAwK9C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAwC9C"}
|
|
@@ -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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"}
|
|
@@ -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":"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"}
|
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/knowledge/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/onboarding/doctor.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/onboarding/doctor.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAmBrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAMhE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC5C;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AA8zBD,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmSD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CA8RpL"}
|
|
@@ -35,6 +35,7 @@ import { resolveAllTerminology } from "../profiles/terminology-utils.js";
|
|
|
35
35
|
import { TERMINOLOGY_DEFAULTS } from "../profiles/profile-schema.js";
|
|
36
36
|
import { runProfileValidate } from "./profile-validate.js";
|
|
37
37
|
import { parseKnowledgeFile } from "../knowledge/index.js";
|
|
38
|
+
import { planKnowledgeSync } from "../knowledge/index.js";
|
|
38
39
|
import { computeLayerBudgets, resolveKnowledgeBudgets, DEFAULT_KNOWLEDGE_BUDGETS } from "../knowledge/budgets.js";
|
|
39
40
|
import { detectDuplicatePrinciples } from "../knowledge/index.js";
|
|
40
41
|
import { checkMemoryLayerHealth } from "./memory-scaffold.js";
|
|
@@ -185,9 +186,10 @@ async function checkStaleKnowledgeFiles(workspaceRoot, forgeRoot) {
|
|
|
185
186
|
const srcExists = await pathExists(srcPath);
|
|
186
187
|
const destExists = await pathExists(destPath);
|
|
187
188
|
if (srcExists && destExists) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
// Append-only contract: local copies legitimately accumulate entries.
|
|
190
|
+
// Stale = source has entries the local copy lacks (sync would merge).
|
|
191
|
+
const plan = planKnowledgeSync(srcPath, destPath);
|
|
192
|
+
if (plan.action === "merged") {
|
|
191
193
|
stale.push(`${skill.name}/${kf}`);
|
|
192
194
|
}
|
|
193
195
|
}
|
|
@@ -213,9 +215,8 @@ async function checkStaleKnowledgeFiles(workspaceRoot, forgeRoot) {
|
|
|
213
215
|
const srcExists = await pathExists(srcPath);
|
|
214
216
|
const destExists = await pathExists(destPath);
|
|
215
217
|
if (srcExists && destExists) {
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
if (srcContent !== destContent) {
|
|
218
|
+
const plan = planKnowledgeSync(srcPath, destPath);
|
|
219
|
+
if (plan.action === "merged") {
|
|
219
220
|
stale.push(`${skill.name}/${kf}`);
|
|
220
221
|
}
|
|
221
222
|
}
|