@warpgogol/forge 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/AGENTS.md +116 -4
  2. package/dist/os/adr/handlers/validate.d.ts.map +1 -1
  3. package/dist/os/adr/handlers/validate.js +31 -3
  4. package/dist/os/adr/handlers/validate.js.map +1 -1
  5. package/dist/os/core/core.module.d.ts.map +1 -1
  6. package/dist/os/core/core.module.js +76 -2
  7. package/dist/os/core/core.module.js.map +1 -1
  8. package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
  9. package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
  10. package/dist/os/core/handlers/knowledge-compact.js +198 -0
  11. package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
  12. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
  13. package/dist/os/rfc/handlers/lifecycle.js +3 -4
  14. package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
  15. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
  16. package/dist/os/rfc/handlers/validate-rules.js +41 -3
  17. package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
  18. package/dist/os/spec/spec-schema.d.ts +1 -1
  19. package/dist/src/config/forge-config.d.ts +67 -3
  20. package/dist/src/config/forge-config.d.ts.map +1 -1
  21. package/dist/src/config/forge-config.js +86 -2
  22. package/dist/src/config/forge-config.js.map +1 -1
  23. package/dist/src/index.d.ts +3 -1
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +6 -2
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/knowledge/budgets.d.ts +38 -0
  28. package/dist/src/knowledge/budgets.d.ts.map +1 -0
  29. package/dist/src/knowledge/budgets.js +157 -0
  30. package/dist/src/knowledge/budgets.js.map +1 -0
  31. package/dist/src/knowledge/compact.d.ts +47 -0
  32. package/dist/src/knowledge/compact.d.ts.map +1 -0
  33. package/dist/src/knowledge/compact.js +322 -0
  34. package/dist/src/knowledge/compact.js.map +1 -0
  35. package/dist/src/knowledge/index.d.ts +7 -0
  36. package/dist/src/knowledge/index.d.ts.map +1 -0
  37. package/dist/src/knowledge/index.js +19 -0
  38. package/dist/src/knowledge/index.js.map +1 -0
  39. package/dist/src/knowledge/parse.d.ts +3 -0
  40. package/dist/src/knowledge/parse.d.ts.map +1 -0
  41. package/dist/src/knowledge/parse.js +205 -0
  42. package/dist/src/knowledge/parse.js.map +1 -0
  43. package/dist/src/knowledge/promote.d.ts +37 -0
  44. package/dist/src/knowledge/promote.d.ts.map +1 -0
  45. package/dist/src/knowledge/promote.js +120 -0
  46. package/dist/src/knowledge/promote.js.map +1 -0
  47. package/dist/src/knowledge/schema.d.ts +61 -0
  48. package/dist/src/knowledge/schema.d.ts.map +1 -0
  49. package/dist/src/knowledge/schema.js +64 -0
  50. package/dist/src/knowledge/schema.js.map +1 -0
  51. package/dist/src/knowledge/serialize.d.ts +3 -0
  52. package/dist/src/knowledge/serialize.d.ts.map +1 -0
  53. package/dist/src/knowledge/serialize.js +67 -0
  54. package/dist/src/knowledge/serialize.js.map +1 -0
  55. package/dist/src/onboarding/agents-generate.d.ts +15 -0
  56. package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
  57. package/dist/src/onboarding/agents-generate.js +118 -58
  58. package/dist/src/onboarding/agents-generate.js.map +1 -1
  59. package/dist/src/onboarding/create.d.ts.map +1 -1
  60. package/dist/src/onboarding/create.js +62 -3
  61. package/dist/src/onboarding/create.js.map +1 -1
  62. package/dist/src/onboarding/doctor.d.ts +13 -1
  63. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  64. package/dist/src/onboarding/doctor.js +527 -11
  65. package/dist/src/onboarding/doctor.js.map +1 -1
  66. package/dist/src/onboarding/init.d.ts +8 -1
  67. package/dist/src/onboarding/init.d.ts.map +1 -1
  68. package/dist/src/onboarding/init.js +33 -2
  69. package/dist/src/onboarding/init.js.map +1 -1
  70. package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
  71. package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
  72. package/dist/src/onboarding/memory-scaffold.js +151 -0
  73. package/dist/src/onboarding/memory-scaffold.js.map +1 -0
  74. package/dist/src/onboarding/nested-agents-generate.d.ts +6 -2
  75. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
  76. package/dist/src/onboarding/nested-agents-generate.js +34 -9
  77. package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
  78. package/dist/src/onboarding/nested-agents-templates.d.ts +23 -1
  79. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
  80. package/dist/src/onboarding/nested-agents-templates.js +138 -8
  81. package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
  82. package/dist/src/onboarding/profile-validate.d.ts +13 -0
  83. package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
  84. package/dist/src/onboarding/profile-validate.js +109 -0
  85. package/dist/src/onboarding/profile-validate.js.map +1 -0
  86. package/dist/src/onboarding/upgrade.d.ts +5 -0
  87. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  88. package/dist/src/onboarding/upgrade.js +27 -1
  89. package/dist/src/onboarding/upgrade.js.map +1 -1
  90. package/dist/src/onboarding/workspace-discovery.d.ts +4 -3
  91. package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -1
  92. package/dist/src/onboarding/workspace-discovery.js +51 -3
  93. package/dist/src/onboarding/workspace-discovery.js.map +1 -1
  94. package/dist/src/profiles/profile-schema.d.ts +116 -0
  95. package/dist/src/profiles/profile-schema.d.ts.map +1 -0
  96. package/dist/src/profiles/profile-schema.js +94 -0
  97. package/dist/src/profiles/profile-schema.js.map +1 -0
  98. package/dist/src/profiles/stack-profile.d.ts +41 -1
  99. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  100. package/dist/src/profiles/stack-profile.js +9 -0
  101. package/dist/src/profiles/stack-profile.js.map +1 -1
  102. package/dist/src/profiles/terminology-utils.d.ts +8 -0
  103. package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
  104. package/dist/src/profiles/terminology-utils.js +31 -0
  105. package/dist/src/profiles/terminology-utils.js.map +1 -0
  106. package/dist/src/validators/skill-validate.d.ts +15 -0
  107. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  108. package/dist/src/validators/skill-validate.js +204 -2
  109. package/dist/src/validators/skill-validate.js.map +1 -1
  110. package/package.json +11 -3
  111. package/profiles/astro-typescript-turborepo.yaml +87 -0
  112. package/profiles/editframe-html-templates/composition-agents.md +34 -0
  113. package/profiles/editframe-html-templates/composition.html +32 -0
  114. package/profiles/editframe-html.yaml +283 -0
  115. package/profiles/forge-shell.yaml +77 -0
  116. package/profiles/phaser-turborepo.yaml +87 -0
  117. package/skills/fo/fo-doc-audit/SKILL.md +6 -6
  118. package/skills/fo/fo-handoff/SKILL.md +2 -1
  119. package/skills/fo/fo-idea-implement/SKILL.md +44 -2
  120. package/skills/fo/fo-idea-plan/SKILL.md +1 -0
  121. package/skills/fo/fo-knowledge-distill/SKILL.md +170 -0
  122. package/skills/fo/fo-memory-sync/SKILL.md +6 -3
  123. package/skills/fo/fo-memory-sync/fix-patterns.md +38 -4
  124. package/skills/fo/fo-review/SKILL.md +2 -2
  125. package/skills/fo/fo-session-retro/SKILL.md +21 -11
  126. package/skills/fo/fo-session-save/SKILL.md +1 -1
  127. package/skills/fo/fo-session-save/fix-patterns.md +53 -29
  128. package/skills/fo/fo-session-save/learned-principles.md +59 -8
  129. package/skills/meta/forge-bootstrap/SKILL.md +16 -4
  130. package/skills/meta/forge-bootstrap/operator-profile-template.md +1 -0
  131. package/skills/meta/skill-create/SKILL.md +1 -1
  132. package/skills/shared/grilling/SKILL.md +1 -1
  133. package/skills/shared/grilling/learned-principles.md +14 -0
  134. package/skills/shared/grilling/qa-log.md +105 -6
  135. package/skills/shared/knowledge/learned-principles.md +5 -0
  136. package/skills/shared/windows-ai-tooling/SKILL.md +154 -1
  137. package/skills/shared/writing-great-skills/SKILL.md +74 -1
@@ -15,12 +15,19 @@
15
15
  <item>RFC-0540 fix: eliminated type casts — applyCliBindingDefaults returns ForgeBindings["commands"] directly, resolvePackageManager validates pm against enum.</item>
16
16
  <item>RFC-0543: added optional forge.syncedVersion field to forgeConfigSchema and defaultForgeConfig for consumer upgrade tracking.</item>
17
17
  <item>RFC-0546: added optional migrationAdapters field to forgeConfigSchema for migration-adapter registry discovery.</item>
18
+ <item>RFC-0639: added 5 semantic command keys (validate, produce, verify, preview, lint), terminology promoted from .optional() to .default({}), resolveTerminology function.</item>
19
+ <item>RFC-0640: added optional domain field to project section for domain-aware bootstrapping and health checks.</item>
20
+ <item>RFC-0643: added optional profile field to forgeConfigSchema and ForgeConfig; loadForgeConfig loads profiles/<id>.yaml when present.</item>
21
+ <item>RFC-0661: added optional knowledge.budgets binding for hot/warm layer character budget overrides.</item>
22
+ <item>RFC-0662: added optional knowledge.retentionDays and knowledge.staleDays bindings for compaction overrides.</item>
18
23
  </CHANGE_SUMMARY>
19
24
  */
20
25
  import fs from "node:fs";
21
26
  import path from "node:path";
22
27
  import { z } from "zod";
23
28
  import { parse as parseYaml } from "yaml";
29
+ import { TERMINOLOGY_DEFAULTS } from "../profiles/profile-schema.js";
30
+ import { listStackProfiles } from "../profiles/stack-profile.js";
24
31
  // ---------------------------------------------------------------------------
25
32
  // Bindings schema (forge/bindings@1) — RFC-0393
26
33
  // ---------------------------------------------------------------------------
@@ -35,6 +42,12 @@ export const forgeBindingsSchema = z.object({
35
42
  scopedBuild: z.string().nullable().default(null),
36
43
  specValidate: z.string().nullable().default(null),
37
44
  sessionSave: z.string().nullable().default(null),
45
+ // Semantic keys (RFC-0639) — domain-neutral, optional
46
+ validate: z.string().nullable().default(null),
47
+ produce: z.string().nullable().default(null),
48
+ verify: z.string().nullable().default(null),
49
+ preview: z.string().nullable().default(null),
50
+ lint: z.string().nullable().default(null),
38
51
  }),
39
52
  paths: z.object({
40
53
  invariantsFile: z.string().nullable().default(null),
@@ -43,13 +56,33 @@ export const forgeBindingsSchema = z.object({
43
56
  handoffsDir: z.string().nullable().default(null),
44
57
  sessionsDir: z.string().nullable().default(null),
45
58
  }),
46
- terminology: z.record(z.string(), z.string()).optional(),
59
+ terminology: z.record(z.string(), z.string()).default({}),
47
60
  compass: z
48
61
  .object({
49
62
  fileExtensions: z.array(z.string()).optional(),
50
63
  testPatterns: z.array(z.string()).optional(),
51
64
  })
52
65
  .optional(),
66
+ // RFC-0661: optional knowledge layer character budget overrides
67
+ // RFC-0662: optional retention/stale day overrides
68
+ knowledge: z
69
+ .object({
70
+ budgets: z
71
+ .object({
72
+ hot: z.number().positive(),
73
+ warm: z.number().positive(),
74
+ })
75
+ .optional(),
76
+ retentionDays: z.number().positive().optional(),
77
+ staleDays: z.number().positive().optional(),
78
+ })
79
+ .optional(),
80
+ // RFC-0664: optional memory layer budget override (MEMORY.md hot store)
81
+ memory: z
82
+ .object({
83
+ budget: z.number().int().positive().default(4096),
84
+ })
85
+ .optional(),
53
86
  });
54
87
  // ---------------------------------------------------------------------------
55
88
  // Skill packs schema (RFC-0539)
@@ -77,6 +110,8 @@ export const forgeConfigSchema = z.object({
77
110
  name: z.string().min(1),
78
111
  stack: z.array(z.string()).default([]),
79
112
  packageManager: z.enum(["pnpm", "npm", "yarn", "bun", "none"]).default("pnpm"),
113
+ // RFC-0640: optional domain field — absent means software-domain fallback
114
+ domain: z.string().optional(),
80
115
  }),
81
116
  paths: z.object({
82
117
  rfcsDir: z.string().default("docs/rfcs"),
@@ -99,6 +134,8 @@ export const forgeConfigSchema = z.object({
99
134
  syncedVersion: z.string().nullable().default(null),
100
135
  })
101
136
  .optional(),
137
+ /** RFC-0643: profile id — when present, loadForgeConfig loads the corresponding profiles/<id>.yaml */
138
+ profile: z.string().optional(),
102
139
  });
103
140
  export const FORGE_CLI_BINDING_DEFAULTS = [
104
141
  { key: "commands.validateRfc", template: "forge rfc.validate --id {id} --json" },
@@ -131,6 +168,12 @@ export function applyCliBindingDefaults(pm) {
131
168
  scopedBuild: null,
132
169
  specValidate: null,
133
170
  sessionSave: null,
171
+ // Semantic keys (RFC-0639) — stack-dependent, not CLI-backed
172
+ validate: null,
173
+ produce: null,
174
+ verify: null,
175
+ preview: null,
176
+ lint: null,
134
177
  };
135
178
  for (const entry of FORGE_CLI_BINDING_DEFAULTS) {
136
179
  const bareKey = entry.key.replace("commands.", "");
@@ -199,7 +242,28 @@ export function loadForgeConfig(workspaceRoot) {
199
242
  .join("\n");
200
243
  throw new Error(`forge.yaml at ${configPath} failed schema validation:\n${issues}\nFix the listed fields or run 'forge create' to regenerate defaults.`);
201
244
  }
202
- return result.data;
245
+ const rawData = result.data;
246
+ const profileId = rawData["profile"];
247
+ // RFC-0643: load stack profile when `profile` field is present in forge.yaml
248
+ let loadedProfile;
249
+ if (profileId) {
250
+ try {
251
+ const forgeRoot = resolveForgeRoot(workspaceRoot);
252
+ const profiles = listStackProfiles(forgeRoot);
253
+ loadedProfile = profiles.find((p) => p.id === profileId);
254
+ }
255
+ catch {
256
+ // forge root not resolvable — profile not loaded
257
+ }
258
+ }
259
+ const config = { ...rawData };
260
+ if (loadedProfile) {
261
+ config.profile = loadedProfile;
262
+ }
263
+ else {
264
+ delete config.profile;
265
+ }
266
+ return config;
203
267
  }
204
268
  // ---------------------------------------------------------------------------
205
269
  // Forge root resolver — the single place that decides monorepo vs npm-installed
@@ -259,4 +323,24 @@ function substitutePlaceholders(template, placeholders) {
259
323
  }
260
324
  return result;
261
325
  }
326
+ // ---------------------------------------------------------------------------
327
+ // Terminology resolver — RFC-0639
328
+ // ---------------------------------------------------------------------------
329
+ /**
330
+ * Resolve a terminology key using a three-tier chain:
331
+ * 1. Per-project override in bindings.terminology
332
+ * 2. Caller-provided terminology map (typically from profile.terminology, RFC-0638)
333
+ * 3. Universal default from TERMINOLOGY_DEFAULTS (RFC-0638)
334
+ *
335
+ * If the key is not found in any tier, the key itself is returned.
336
+ */
337
+ export function resolveTerminology(config, terminology, key) {
338
+ if (config.bindings?.terminology?.[key]) {
339
+ return config.bindings.terminology[key];
340
+ }
341
+ if (terminology?.[key]) {
342
+ return terminology[key];
343
+ }
344
+ return TERMINOLOGY_DEFAULTS[key] ?? key;
345
+ }
262
346
  //# sourceMappingURL=forge-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"forge-config.js","sourceRoot":"","sources":["../../../src/config/forge-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;EAkBE;AAEF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACjD,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACnD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACjD,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC9C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC7C,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AA4BH,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CACJ,sBAAsB,EACtB,+EAA+E,CAChF;SACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,iCAAiC,CAAC;IAC/D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvB,CAAC,CAAC;AAOH,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAOH,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KAC/E,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;QAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;QAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;KACjD,CAAC;IACF,yEAAyE;IACzE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACxC,8EAA8E;IAC9E,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACpD,qFAAqF;IACrF,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;IAClE,4EAA4E;IAC5E,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACnD,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAqCH,MAAM,CAAC,MAAM,0BAA0B,GAA6B;IAClE,EAAE,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qCAAqC,EAAE;IAChF,EAAE,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,qCAAqC,EAAE;IAChF;QACE,GAAG,EAAE,yBAAyB;QAC9B,QAAQ,EAAE,sEAAsE;KACjF;IACD,EAAE,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,wCAAwC,EAAE;IACpF,EAAE,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,2BAA2B,EAAE;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,OAAO,aAAa,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAU;IAChD,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,QAAQ,GAA8B;QAC1C,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,0BAA0B,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAoC,CAAC;QACtF,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD,MAAM,sBAAsB,GAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAEzF,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,OAAO,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAA0B,CAAC,CAAC,CAAC,MAAM,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,cAAuB;IAC7E,MAAM,EAAE,GAAG,qBAAqB,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;IAC3D,OAAO;QACL,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;YACT,cAAc,EAAE,EAAE;SACnB;QACD,KAAK,EAAE;YACL,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,gBAAgB;YAC3B,WAAW,EAAE,eAAe;SAC7B;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,uBAAuB,CAAC,EAAE,CAAC;YACrC,KAAK,EAAE;gBACL,cAAc,EAAE,IAAI;gBACpB,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,cAAc;gBAC1B,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,eAAe;aAC7B;YACD,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,EAAE;SACZ;QACD,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAM,UAAU,eAAe,CAAC,aAAqB;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAE1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,uDAAuD,CAC7F,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aACnD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,iBAAiB,UAAU,+BAA+B,MAAM,uEAAuE,CACxI,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAmB,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAE9E,MAAM,UAAU,gBAAgB,CAAC,aAAqB;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAChF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6CAA6C,YAAY,OAAO,OAAO,kEAAkE,CAC1I,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAmB,EACnB,GAAW,EACX,YAAqC;IAErC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAY,MAAM,CAAC,QAAQ,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,YAAoC;IACpF,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"forge-config.js","sourceRoot":"","sources":["../../../src/config/forge-config.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,10 @@ export { writeFileAtomic, type WriteFileAtomicOptions, GENERATED_MARKER, hasGene
3
3
  export type { ForgeModule, ForgeModuleRegistry, ForgePipelineStep } from "./forge-module.ts";
4
4
  export { skillFrontmatterSchema, type SkillFrontmatter } from "./skill-schema.ts";
5
5
  export { FORGE_SKILLS, type ForgeSkillEntry } from "./registry.ts";
6
- export { forgeConfigSchema, forgeBindingsSchema, defaultForgeConfig, loadForgeConfig, resolveForgeRoot, resolveBinding, FORGE_CLI_BINDING_DEFAULTS, PM_RUNNER_MAP, resolvePmRunner, applyCliBindingDefaults, resolvePackageManager, type ForgeConfig, type ForgeBindings, type ForgeCliBindingDefault, type ForgePackageManager, type ForgeMigrationAdapter, } from "./config/forge-config.ts";
6
+ export { forgeConfigSchema, forgeBindingsSchema, defaultForgeConfig, loadForgeConfig, resolveForgeRoot, resolveBinding, resolveTerminology, FORGE_CLI_BINDING_DEFAULTS, PM_RUNNER_MAP, resolvePmRunner, applyCliBindingDefaults, resolvePackageManager, type ForgeConfig, type ForgeBindings, type ForgeCliBindingDefault, type ForgePackageManager, type ForgeMigrationAdapter, } from "./config/forge-config.ts";
7
7
  export { stackProfileSchema, loadStackProfile, listStackProfiles, detectStack, type StackProfile, type ProfileFile, } from "./profiles/stack-profile.ts";
8
+ export { stackProfileDomainFieldsSchema, profileArtifactSchema, profileWorkspaceTypeSchema, profileInvariantSchema, UNIVERSAL_TERMINOLOGY_KEYS, TERMINOLOGY_DEFAULTS, type StackProfileDomainFields, type ProfileArtifact, type ProfileWorkspaceType, type ProfileInvariant, } from "./profiles/profile-schema.ts";
9
+ export { parseKnowledgeFile, serializeKnowledgeFile, knowledgeEntryMetaSchema, type KnowledgeLayer, type KnowledgeEntryStatus, type KnowledgeEntryMeta, type KnowledgeEntry, type LegacySection, type ParseIssue, type ParsedKnowledgeFile, } from "./knowledge/index.ts";
8
10
  export { runSkillValidate } from "./validators/skill-validate.ts";
9
11
  export { runPortValidate } from "./validators/port-validate.ts";
10
12
  export { renderNextSteps, renderIdeRecommendation, generateHelp } from "./cli-output.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -17,9 +17,13 @@ export { skillFrontmatterSchema } from "./skill-schema.js";
17
17
  // Skill registry
18
18
  export { FORGE_SKILLS } from "./registry.js";
19
19
  // Forge config (RFC-0391)
20
- export { forgeConfigSchema, forgeBindingsSchema, defaultForgeConfig, loadForgeConfig, resolveForgeRoot, resolveBinding, FORGE_CLI_BINDING_DEFAULTS, PM_RUNNER_MAP, resolvePmRunner, applyCliBindingDefaults, resolvePackageManager, } from "./config/forge-config.js";
21
- // Stack profiles (RFC-0392)
20
+ export { forgeConfigSchema, forgeBindingsSchema, defaultForgeConfig, loadForgeConfig, resolveForgeRoot, resolveBinding, resolveTerminology, FORGE_CLI_BINDING_DEFAULTS, PM_RUNNER_MAP, resolvePmRunner, applyCliBindingDefaults, resolvePackageManager, } from "./config/forge-config.js";
21
+ // Stack profiles (RFC-0392, RFC-0638)
22
22
  export { stackProfileSchema, loadStackProfile, listStackProfiles, detectStack, } from "./profiles/stack-profile.js";
23
+ // Profile domain fields (RFC-0638)
24
+ export { stackProfileDomainFieldsSchema, profileArtifactSchema, profileWorkspaceTypeSchema, profileInvariantSchema, UNIVERSAL_TERMINOLOGY_KEYS, TERMINOLOGY_DEFAULTS, } from "./profiles/profile-schema.js";
25
+ // Knowledge module (RFC-0660)
26
+ export { parseKnowledgeFile, serializeKnowledgeFile, knowledgeEntryMetaSchema, } from "./knowledge/index.js";
23
27
  // Validators
24
28
  export { runSkillValidate } from "./validators/skill-validate.js";
25
29
  export { runPortValidate } from "./validators/port-validate.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AA6BF,sBAAsB;AACtB,OAAO,EACL,eAAe,EAEf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAG9B,WAAW,EACX,YAAY,EACZ,UAAU,EAEV,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAK1B,eAAe;AACf,OAAO,EAAE,sBAAsB,EAAyB,MAAM,mBAAmB,CAAC;AAElF,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AAEnE,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GAMtB,MAAM,0BAA0B,CAAC;AAElC,4BAA4B;AAC5B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GAGZ,MAAM,6BAA6B,CAAC;AAErC,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEzF,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAStE,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AA6BF,sBAAsB;AACtB,OAAO,EACL,eAAe,EAEf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAG9B,WAAW,EACX,YAAY,EACZ,UAAU,EAEV,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAK1B,eAAe;AACf,OAAO,EAAE,sBAAsB,EAAyB,MAAM,mBAAmB,CAAC;AAElF,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AAEnE,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GAMtB,MAAM,0BAA0B,CAAC;AAElC,sCAAsC;AACtC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GAGZ,MAAM,6BAA6B,CAAC;AAErC,mCAAmC;AACnC,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,GAKrB,MAAM,8BAA8B,CAAC;AAEtC,8BAA8B;AAC9B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GAQzB,MAAM,sBAAsB,CAAC;AAE9B,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEzF,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAStE,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { ParsedKnowledgeFile, KnowledgeLayer } from "./schema.ts";
2
+ export interface KnowledgeBudgets {
3
+ hot: number;
4
+ warm: number;
5
+ }
6
+ export interface LayerBudgetReport {
7
+ skill: string;
8
+ file: string;
9
+ layer: KnowledgeLayer;
10
+ activeChars: number;
11
+ budget: number;
12
+ exceededBy: number;
13
+ pack?: string;
14
+ }
15
+ export declare const DEFAULT_KNOWLEDGE_BUDGETS: KnowledgeBudgets;
16
+ /**
17
+ * Compute per-file budget reports for parsed knowledge files.
18
+ *
19
+ * - Counts only `status: active` entries (heading + metadata block + body).
20
+ * - Uses `ParsedKnowledgeFile.layer` to determine which budget applies.
21
+ * - Skips files with undeterminable layer (null) or L0 (cold, no budget).
22
+ * - Skips files with parse issues (schema errors are already reported by SKILL-19).
23
+ *
24
+ * Pure: no filesystem side effects.
25
+ */
26
+ export declare function computeLayerBudgets(files: ParsedKnowledgeFile[], budgets: KnowledgeBudgets, skillNames: Map<string, string>): LayerBudgetReport[];
27
+ /**
28
+ * Read effective knowledge budgets from forge.yaml bindings.
29
+ *
30
+ * Falls back to defaults (hot: 4096, warm: 8192) when:
31
+ * - forge.yaml is not found
32
+ * - bindings.knowledge.budgets is absent
33
+ * - override values are invalid (non-positive, non-integer)
34
+ *
35
+ * Does NOT validate the override shape — forge.doctor handles that separately.
36
+ */
37
+ export declare function resolveKnowledgeBudgets(workspaceRoot: string): KnowledgeBudgets;
38
+ //# sourceMappingURL=budgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../../src/knowledge/budgets.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMvE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,eAAO,MAAM,yBAAyB,EAAE,gBAGvC,CAAC;AAMF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,EAAE,EAC5B,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,iBAAiB,EAAE,CA0DrB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,CA0B/E"}
@@ -0,0 +1,157 @@
1
+ /*
2
+ <MODULE_CONTRACT>
3
+ <purpose>Knowledge layer character budget computation and resolution — pure functions for hot/warm budget enforcement (RFC-0661).</purpose>
4
+ <non-goals>
5
+ <item>Do not emit warnings or violations — that is handled by SKILL-21 in skill-validate.ts.</item>
6
+ <item>Do not parse knowledge files — that is handled by parse.ts (RFC-0660).</item>
7
+ <item>Do not validate budget override shape — that is handled by forge.doctor.</item>
8
+ </non-goals>
9
+ </MODULE_CONTRACT>
10
+ <CHANGE_SUMMARY>
11
+ <item>RFC-0661: initial budget module with KnowledgeBudgets, LayerBudgetReport, computeLayerBudgets, resolveKnowledgeBudgets.</item>
12
+ </CHANGE_SUMMARY>
13
+ */
14
+ import path from "node:path";
15
+ import { readFileSync } from "node:fs";
16
+ import { parse as parseYaml } from "yaml";
17
+ // ---------------------------------------------------------------------------
18
+ // Defaults
19
+ // ---------------------------------------------------------------------------
20
+ export const DEFAULT_KNOWLEDGE_BUDGETS = {
21
+ hot: 4096,
22
+ warm: 8192,
23
+ };
24
+ // ---------------------------------------------------------------------------
25
+ // computeLayerBudgets — pure function
26
+ // ---------------------------------------------------------------------------
27
+ /**
28
+ * Compute per-file budget reports for parsed knowledge files.
29
+ *
30
+ * - Counts only `status: active` entries (heading + metadata block + body).
31
+ * - Uses `ParsedKnowledgeFile.layer` to determine which budget applies.
32
+ * - Skips files with undeterminable layer (null) or L0 (cold, no budget).
33
+ * - Skips files with parse issues (schema errors are already reported by SKILL-19).
34
+ *
35
+ * Pure: no filesystem side effects.
36
+ */
37
+ export function computeLayerBudgets(files, budgets, skillNames) {
38
+ const reports = [];
39
+ for (const file of files) {
40
+ // Skip files with undeterminable layer
41
+ if (file.layer === null) {
42
+ continue;
43
+ }
44
+ // Skip cold layer (L0) — no budget by design
45
+ if (file.layer === "L0") {
46
+ continue;
47
+ }
48
+ // Skip files with parse issues — SKILL-19 already reports those
49
+ if (file.parseIssues.length > 0) {
50
+ continue;
51
+ }
52
+ // Skip knowledge-adjacent files (no structured entries)
53
+ if (file.isKnowledgeAdjacent) {
54
+ continue;
55
+ }
56
+ const budget = file.layer === "L2" ? budgets.hot : budgets.warm;
57
+ const fileName = path.basename(file.path);
58
+ const skillName = skillNames.get(file.path) ?? path.basename(path.dirname(file.path));
59
+ // Count only active entries: heading + metadata block + body
60
+ let activeChars = 0;
61
+ for (const entry of file.entries) {
62
+ if (entry.meta.status !== "active") {
63
+ continue;
64
+ }
65
+ // Heading: "### K-XXXX: <title>\n"
66
+ activeChars += `### ${entry.meta.id}: ${entry.title}\n`.length;
67
+ // Metadata block: ```knowledge-entry\n<yaml>\n```\n
68
+ const metaYaml = approximateMetaCharCount(entry.meta);
69
+ activeChars += "```knowledge-entry\n".length;
70
+ activeChars += metaYaml.length;
71
+ activeChars += "```\n".length;
72
+ // Body
73
+ activeChars += entry.body.length;
74
+ }
75
+ const exceededBy = Math.max(0, activeChars - budget);
76
+ reports.push({
77
+ skill: skillName,
78
+ file: fileName,
79
+ layer: file.layer,
80
+ activeChars,
81
+ budget,
82
+ exceededBy,
83
+ });
84
+ }
85
+ return reports;
86
+ }
87
+ // ---------------------------------------------------------------------------
88
+ // resolveKnowledgeBudgets — reads forge.yaml
89
+ // ---------------------------------------------------------------------------
90
+ /**
91
+ * Read effective knowledge budgets from forge.yaml bindings.
92
+ *
93
+ * Falls back to defaults (hot: 4096, warm: 8192) when:
94
+ * - forge.yaml is not found
95
+ * - bindings.knowledge.budgets is absent
96
+ * - override values are invalid (non-positive, non-integer)
97
+ *
98
+ * Does NOT validate the override shape — forge.doctor handles that separately.
99
+ */
100
+ export function resolveKnowledgeBudgets(workspaceRoot) {
101
+ try {
102
+ const forgeYamlPath = path.join(workspaceRoot, "forge.yaml");
103
+ const content = readFileSync(forgeYamlPath, "utf8");
104
+ const config = parseYaml(content);
105
+ const bindings = config?.bindings;
106
+ const knowledge = bindings?.knowledge;
107
+ const budgets = knowledge?.budgets;
108
+ if (!budgets) {
109
+ return { ...DEFAULT_KNOWLEDGE_BUDGETS };
110
+ }
111
+ const hot = typeof budgets.hot === "number" && budgets.hot > 0 && Number.isInteger(budgets.hot)
112
+ ? budgets.hot
113
+ : DEFAULT_KNOWLEDGE_BUDGETS.hot;
114
+ const warm = typeof budgets.warm === "number" && budgets.warm > 0 && Number.isInteger(budgets.warm)
115
+ ? budgets.warm
116
+ : DEFAULT_KNOWLEDGE_BUDGETS.warm;
117
+ return { hot, warm };
118
+ }
119
+ catch {
120
+ return { ...DEFAULT_KNOWLEDGE_BUDGETS };
121
+ }
122
+ }
123
+ // ---------------------------------------------------------------------------
124
+ // Helper: approximate metadata character count for budget measurement
125
+ // ---------------------------------------------------------------------------
126
+ /**
127
+ * Approximate metadata character count for budget purposes.
128
+ *
129
+ * This is NOT exact YAML serialization — it produces a line-per-field
130
+ * approximation that is deterministic and sufficient for character budget
131
+ * measurement. The RFC explicitly rejects tokenizer-accurate measurement;
132
+ * this approximation is the documented proxy.
133
+ */
134
+ function approximateMetaCharCount(meta) {
135
+ const lines = [];
136
+ lines.push(`id: ${meta.id}`);
137
+ lines.push(`layer: ${meta.layer}`);
138
+ lines.push(`created: ${meta.created}`);
139
+ if (meta.lastConfirmedAt !== undefined) {
140
+ lines.push(`lastConfirmedAt: ${meta.lastConfirmedAt ?? "null"}`);
141
+ }
142
+ if (meta.confirmations !== undefined) {
143
+ lines.push(`confirmations: ${meta.confirmations}`);
144
+ }
145
+ if (meta.expiresAt !== undefined) {
146
+ lines.push(`expiresAt: ${meta.expiresAt ?? "null"}`);
147
+ }
148
+ if (meta.supersedes !== undefined) {
149
+ lines.push(`supersedes: [${meta.supersedes.join(", ")}]`);
150
+ }
151
+ if (meta.promotedTo !== undefined) {
152
+ lines.push(`promotedTo: ${meta.promotedTo ?? "null"}`);
153
+ }
154
+ lines.push(`status: ${meta.status}`);
155
+ return lines.join("\n") + "\n";
156
+ }
157
+ //# sourceMappingURL=budgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budgets.js","sourceRoot":"","sources":["../../../src/knowledge/budgets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { ParsedKnowledgeFile } from "./schema.ts";
2
+ export interface CompactOptions {
3
+ retentionDays: number;
4
+ staleDays: number;
5
+ today: string;
6
+ }
7
+ export type CompactActionKind = "archive-expired" | "archive-superseded" | "archive-l0-retention" | "mark-stale";
8
+ export interface CompactAction {
9
+ kind: CompactActionKind;
10
+ file: string;
11
+ entryId: string;
12
+ reason: string;
13
+ }
14
+ export interface CompactFilePlan {
15
+ file: string;
16
+ archiveFile: string;
17
+ actions: CompactAction[];
18
+ legacySectionCount: number;
19
+ }
20
+ export interface CompactFileResult {
21
+ file: string;
22
+ archiveFile: string;
23
+ actions: CompactAction[];
24
+ legacySectionCount: number;
25
+ archived: number;
26
+ markedStale: number;
27
+ written: boolean;
28
+ }
29
+ export interface CompactReport {
30
+ command: string;
31
+ status: "pass" | "fail";
32
+ dryRun: boolean;
33
+ files: CompactFileResult[];
34
+ totals: {
35
+ archived: number;
36
+ markedStale: number;
37
+ legacyFiles: number;
38
+ };
39
+ errors?: string[];
40
+ }
41
+ export declare const DEFAULT_RETENTION_DAYS = 90;
42
+ export declare const DEFAULT_STALE_DAYS = 90;
43
+ export declare function planCompaction(files: ParsedKnowledgeFile[], options: CompactOptions): CompactFilePlan[];
44
+ export declare function executeCompaction(plans: CompactFilePlan[], dryRun: boolean): CompactReport;
45
+ export declare function resolveRetentionDays(workspaceRoot: string): number;
46
+ export declare function resolveStaleDays(workspaceRoot: string): number;
47
+ //# sourceMappingURL=compact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../src/knowledge/compact.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAsC,MAAM,aAAa,CAAC;AAS3F,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,YAAY,CAAC;AAEjB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAMD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AA+BrC,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,EAAE,EAC5B,OAAO,EAAE,cAAc,GACtB,eAAe,EAAE,CA+EnB;AAMD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EAAE,EACxB,MAAM,EAAE,OAAO,GACd,aAAa,CA8Kf;AAMD,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAmBlE;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAe9D"}