@warpgogol/forge 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +123 -5
- package/dist/bin/cli.js +0 -0
- package/dist/os/adr/handlers/validate.d.ts.map +1 -1
- package/dist/os/adr/handlers/validate.js +31 -3
- package/dist/os/adr/handlers/validate.js.map +1 -1
- package/dist/os/core/core.module.d.ts.map +1 -1
- package/dist/os/core/core.module.js +76 -2
- package/dist/os/core/core.module.js.map +1 -1
- package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
- package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
- package/dist/os/core/handlers/knowledge-compact.js +198 -0
- package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
- package/dist/os/mission/handlers/archive.d.ts.map +1 -1
- package/dist/os/mission/handlers/archive.js +6 -0
- package/dist/os/mission/handlers/archive.js.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.js +3 -4
- package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
- package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
- package/dist/os/rfc/handlers/validate-rules.js +41 -3
- package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
- package/dist/os/spec/spec-schema.d.ts +1 -1
- package/dist/src/config/forge-config.d.ts +67 -3
- package/dist/src/config/forge-config.d.ts.map +1 -1
- package/dist/src/config/forge-config.js +86 -2
- package/dist/src/config/forge-config.js.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/knowledge/budgets.d.ts +38 -0
- package/dist/src/knowledge/budgets.d.ts.map +1 -0
- package/dist/src/knowledge/budgets.js +157 -0
- package/dist/src/knowledge/budgets.js.map +1 -0
- package/dist/src/knowledge/compact.d.ts +47 -0
- package/dist/src/knowledge/compact.d.ts.map +1 -0
- package/dist/src/knowledge/compact.js +322 -0
- package/dist/src/knowledge/compact.js.map +1 -0
- package/dist/src/knowledge/index.d.ts +7 -0
- package/dist/src/knowledge/index.d.ts.map +1 -0
- package/dist/src/knowledge/index.js +19 -0
- package/dist/src/knowledge/index.js.map +1 -0
- package/dist/src/knowledge/parse.d.ts +3 -0
- package/dist/src/knowledge/parse.d.ts.map +1 -0
- package/dist/src/knowledge/parse.js +205 -0
- package/dist/src/knowledge/parse.js.map +1 -0
- package/dist/src/knowledge/promote.d.ts +37 -0
- package/dist/src/knowledge/promote.d.ts.map +1 -0
- package/dist/src/knowledge/promote.js +120 -0
- package/dist/src/knowledge/promote.js.map +1 -0
- package/dist/src/knowledge/schema.d.ts +61 -0
- package/dist/src/knowledge/schema.d.ts.map +1 -0
- package/dist/src/knowledge/schema.js +64 -0
- package/dist/src/knowledge/schema.js.map +1 -0
- package/dist/src/knowledge/serialize.d.ts +3 -0
- package/dist/src/knowledge/serialize.d.ts.map +1 -0
- package/dist/src/knowledge/serialize.js +67 -0
- package/dist/src/knowledge/serialize.js.map +1 -0
- package/dist/src/onboarding/agents-generate.d.ts +15 -0
- package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
- package/dist/src/onboarding/agents-generate.js +148 -241
- package/dist/src/onboarding/agents-generate.js.map +1 -1
- package/dist/src/onboarding/create.d.ts.map +1 -1
- package/dist/src/onboarding/create.js +62 -3
- package/dist/src/onboarding/create.js.map +1 -1
- package/dist/src/onboarding/doctor.d.ts +13 -1
- package/dist/src/onboarding/doctor.d.ts.map +1 -1
- package/dist/src/onboarding/doctor.js +527 -11
- package/dist/src/onboarding/doctor.js.map +1 -1
- package/dist/src/onboarding/init.d.ts +8 -1
- package/dist/src/onboarding/init.d.ts.map +1 -1
- package/dist/src/onboarding/init.js +33 -2
- package/dist/src/onboarding/init.js.map +1 -1
- package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
- package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
- package/dist/src/onboarding/memory-scaffold.js +151 -0
- package/dist/src/onboarding/memory-scaffold.js.map +1 -0
- package/dist/src/onboarding/nested-agents-generate.d.ts +6 -2
- package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
- package/dist/src/onboarding/nested-agents-generate.js +34 -9
- package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
- package/dist/src/onboarding/nested-agents-templates.d.ts +23 -1
- package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
- package/dist/src/onboarding/nested-agents-templates.js +138 -8
- package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
- package/dist/src/onboarding/profile-validate.d.ts +13 -0
- package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
- package/dist/src/onboarding/profile-validate.js +109 -0
- package/dist/src/onboarding/profile-validate.js.map +1 -0
- package/dist/src/onboarding/upgrade.d.ts +5 -0
- package/dist/src/onboarding/upgrade.d.ts.map +1 -1
- package/dist/src/onboarding/upgrade.js +27 -1
- package/dist/src/onboarding/upgrade.js.map +1 -1
- package/dist/src/onboarding/workspace-discovery.d.ts +4 -3
- package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -1
- package/dist/src/onboarding/workspace-discovery.js +51 -3
- package/dist/src/onboarding/workspace-discovery.js.map +1 -1
- package/dist/src/profiles/profile-schema.d.ts +116 -0
- package/dist/src/profiles/profile-schema.d.ts.map +1 -0
- package/dist/src/profiles/profile-schema.js +94 -0
- package/dist/src/profiles/profile-schema.js.map +1 -0
- package/dist/src/profiles/stack-profile.d.ts +41 -1
- package/dist/src/profiles/stack-profile.d.ts.map +1 -1
- package/dist/src/profiles/stack-profile.js +9 -0
- package/dist/src/profiles/stack-profile.js.map +1 -1
- package/dist/src/profiles/terminology-utils.d.ts +8 -0
- package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
- package/dist/src/profiles/terminology-utils.js +31 -0
- package/dist/src/profiles/terminology-utils.js.map +1 -0
- package/dist/src/validators/skill-validate.d.ts +15 -0
- package/dist/src/validators/skill-validate.d.ts.map +1 -1
- package/dist/src/validators/skill-validate.js +204 -2
- package/dist/src/validators/skill-validate.js.map +1 -1
- package/package.json +71 -163
- package/profiles/astro-typescript-turborepo.yaml +87 -0
- package/profiles/editframe-html-templates/composition-agents.md +34 -0
- package/profiles/editframe-html-templates/composition.html +32 -0
- package/profiles/editframe-html.yaml +283 -0
- package/profiles/forge-shell.yaml +77 -0
- package/profiles/phaser-turborepo.yaml +87 -0
- package/skills/fo/fo-doc-audit/SKILL.md +6 -6
- package/skills/fo/fo-handoff/SKILL.md +2 -1
- package/skills/fo/fo-idea-implement/SKILL.md +44 -2
- package/skills/fo/fo-idea-plan/SKILL.md +1 -0
- package/skills/fo/fo-knowledge-distill/SKILL.md +170 -0
- package/skills/fo/fo-memory-sync/SKILL.md +6 -3
- package/skills/fo/fo-memory-sync/fix-patterns.md +38 -4
- package/skills/fo/fo-review/SKILL.md +2 -2
- package/skills/fo/fo-session-retro/SKILL.md +21 -11
- package/skills/fo/fo-session-save/SKILL.md +1 -1
- package/skills/fo/fo-session-save/fix-patterns.md +53 -29
- package/skills/fo/fo-session-save/learned-principles.md +59 -8
- package/skills/meta/forge-bootstrap/SKILL.md +16 -4
- package/skills/meta/forge-bootstrap/operator-profile-template.md +1 -0
- package/skills/meta/skill-create/SKILL.md +1 -1
- package/skills/shared/grilling/SKILL.md +1 -1
- package/skills/shared/grilling/learned-principles.md +14 -0
- package/skills/shared/grilling/qa-log.md +105 -6
- package/skills/shared/knowledge/learned-principles.md +5 -0
- package/skills/shared/windows-ai-tooling/SKILL.md +154 -1
- package/skills/shared/writing-great-skills/SKILL.md +74 -1
- package/src/onboarding/templates/behavioral-layer-core.md +159 -0
- package/src/onboarding/templates/behavioral-layer-extended.md +45 -0
- package/src/onboarding/templates/root-agents-business.md +32 -0
- package/src/onboarding/templates/root-agents-creative.md +32 -0
- package/dist/src/onboarding/extended-behavioral-layer.d.ts +0 -10
- package/dist/src/onboarding/extended-behavioral-layer.d.ts.map +0 -1
- package/dist/src/onboarding/extended-behavioral-layer.js +0 -82
- package/dist/src/onboarding/extended-behavioral-layer.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { type StackProfile } from "../profiles/stack-profile.ts";
|
|
2
3
|
export declare const forgeBindingsSchema: z.ZodObject<{
|
|
3
4
|
schema: z.ZodLiteral<"forge/bindings@1">;
|
|
4
5
|
commands: z.ZodObject<{
|
|
@@ -10,6 +11,11 @@ export declare const forgeBindingsSchema: z.ZodObject<{
|
|
|
10
11
|
scopedBuild: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
11
12
|
specValidate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
12
13
|
sessionSave: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
14
|
+
validate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
15
|
+
produce: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
16
|
+
verify: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
17
|
+
preview: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
18
|
+
lint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
13
19
|
}, z.core.$strip>;
|
|
14
20
|
paths: z.ZodObject<{
|
|
15
21
|
invariantsFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -18,11 +24,22 @@ export declare const forgeBindingsSchema: z.ZodObject<{
|
|
|
18
24
|
handoffsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
19
25
|
sessionsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
20
26
|
}, z.core.$strip>;
|
|
21
|
-
terminology: z.
|
|
27
|
+
terminology: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
22
28
|
compass: z.ZodOptional<z.ZodObject<{
|
|
23
29
|
fileExtensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
24
30
|
testPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
25
31
|
}, z.core.$strip>>;
|
|
32
|
+
knowledge: z.ZodOptional<z.ZodObject<{
|
|
33
|
+
budgets: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
hot: z.ZodNumber;
|
|
35
|
+
warm: z.ZodNumber;
|
|
36
|
+
}, z.core.$strip>>;
|
|
37
|
+
retentionDays: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
staleDays: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
memory: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
budget: z.ZodDefault<z.ZodNumber>;
|
|
42
|
+
}, z.core.$strip>>;
|
|
26
43
|
}, z.core.$strip>;
|
|
27
44
|
export interface ForgeBindings {
|
|
28
45
|
schema: "forge/bindings@1";
|
|
@@ -35,6 +52,11 @@ export interface ForgeBindings {
|
|
|
35
52
|
scopedBuild: string | null;
|
|
36
53
|
specValidate: string | null;
|
|
37
54
|
sessionSave: string | null;
|
|
55
|
+
validate: string | null;
|
|
56
|
+
produce: string | null;
|
|
57
|
+
verify: string | null;
|
|
58
|
+
preview: string | null;
|
|
59
|
+
lint: string | null;
|
|
38
60
|
};
|
|
39
61
|
paths: {
|
|
40
62
|
invariantsFile: string | null;
|
|
@@ -43,11 +65,22 @@ export interface ForgeBindings {
|
|
|
43
65
|
handoffsDir: string | null;
|
|
44
66
|
sessionsDir: string | null;
|
|
45
67
|
};
|
|
46
|
-
terminology
|
|
68
|
+
terminology: Record<string, string>;
|
|
47
69
|
compass?: {
|
|
48
70
|
fileExtensions?: string[];
|
|
49
71
|
testPatterns?: string[];
|
|
50
72
|
};
|
|
73
|
+
knowledge?: {
|
|
74
|
+
budgets?: {
|
|
75
|
+
hot: number;
|
|
76
|
+
warm: number;
|
|
77
|
+
};
|
|
78
|
+
retentionDays?: number;
|
|
79
|
+
staleDays?: number;
|
|
80
|
+
};
|
|
81
|
+
memory?: {
|
|
82
|
+
budget: number;
|
|
83
|
+
};
|
|
51
84
|
}
|
|
52
85
|
export declare const forgeSkillPackSchema: z.ZodObject<{
|
|
53
86
|
prefix: z.ZodString;
|
|
@@ -77,6 +110,7 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
77
110
|
bun: "bun";
|
|
78
111
|
none: "none";
|
|
79
112
|
}>>;
|
|
113
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
80
114
|
}, z.core.$strip>;
|
|
81
115
|
paths: z.ZodObject<{
|
|
82
116
|
rfcsDir: z.ZodDefault<z.ZodString>;
|
|
@@ -98,6 +132,11 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
98
132
|
scopedBuild: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
99
133
|
specValidate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
100
134
|
sessionSave: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
135
|
+
validate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
136
|
+
produce: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
137
|
+
verify: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
138
|
+
preview: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
139
|
+
lint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
101
140
|
}, z.core.$strip>;
|
|
102
141
|
paths: z.ZodObject<{
|
|
103
142
|
invariantsFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -106,11 +145,22 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
106
145
|
handoffsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
107
146
|
sessionsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
108
147
|
}, z.core.$strip>;
|
|
109
|
-
terminology: z.
|
|
148
|
+
terminology: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
110
149
|
compass: z.ZodOptional<z.ZodObject<{
|
|
111
150
|
fileExtensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
112
151
|
testPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
113
152
|
}, z.core.$strip>>;
|
|
153
|
+
knowledge: z.ZodOptional<z.ZodObject<{
|
|
154
|
+
budgets: z.ZodOptional<z.ZodObject<{
|
|
155
|
+
hot: z.ZodNumber;
|
|
156
|
+
warm: z.ZodNumber;
|
|
157
|
+
}, z.core.$strip>>;
|
|
158
|
+
retentionDays: z.ZodOptional<z.ZodNumber>;
|
|
159
|
+
staleDays: z.ZodOptional<z.ZodNumber>;
|
|
160
|
+
}, z.core.$strip>>;
|
|
161
|
+
memory: z.ZodOptional<z.ZodObject<{
|
|
162
|
+
budget: z.ZodDefault<z.ZodNumber>;
|
|
163
|
+
}, z.core.$strip>>;
|
|
114
164
|
}, z.core.$strip>>;
|
|
115
165
|
skillPacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
116
166
|
prefix: z.ZodString;
|
|
@@ -123,6 +173,7 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
123
173
|
forge: z.ZodOptional<z.ZodObject<{
|
|
124
174
|
syncedVersion: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
125
175
|
}, z.core.$strip>>;
|
|
176
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
126
177
|
}, z.core.$strip>;
|
|
127
178
|
export interface ForgeConfig {
|
|
128
179
|
schema: "forge/config@1";
|
|
@@ -130,6 +181,8 @@ export interface ForgeConfig {
|
|
|
130
181
|
name: string;
|
|
131
182
|
stack: string[];
|
|
132
183
|
packageManager: "pnpm" | "npm" | "yarn" | "bun" | "none";
|
|
184
|
+
/** RFC-0640: optional domain field — absent means software-domain fallback */
|
|
185
|
+
domain?: string;
|
|
133
186
|
};
|
|
134
187
|
paths: {
|
|
135
188
|
rfcsDir: string;
|
|
@@ -150,6 +203,8 @@ export interface ForgeConfig {
|
|
|
150
203
|
forge?: {
|
|
151
204
|
syncedVersion: string | null;
|
|
152
205
|
};
|
|
206
|
+
/** RFC-0643: loaded stack profile — present when forge.yaml has a `profile` field */
|
|
207
|
+
profile?: StackProfile;
|
|
153
208
|
}
|
|
154
209
|
export interface ForgeCliBindingDefault {
|
|
155
210
|
key: string;
|
|
@@ -170,4 +225,13 @@ export declare function resolveForgeRoot(workspaceRoot: string): string;
|
|
|
170
225
|
* Supports placeholder substitution: {id}, {workspace}, {file}.
|
|
171
226
|
*/
|
|
172
227
|
export declare function resolveBinding(config: ForgeConfig, key: string, placeholders?: Record<string, string>): string | string[] | null;
|
|
228
|
+
/**
|
|
229
|
+
* Resolve a terminology key using a three-tier chain:
|
|
230
|
+
* 1. Per-project override in bindings.terminology
|
|
231
|
+
* 2. Caller-provided terminology map (typically from profile.terminology, RFC-0638)
|
|
232
|
+
* 3. Universal default from TERMINOLOGY_DEFAULTS (RFC-0638)
|
|
233
|
+
*
|
|
234
|
+
* If the key is not found in any tier, the key itself is returned.
|
|
235
|
+
*/
|
|
236
|
+
export declare function resolveTerminology(config: ForgeConfig, terminology: Record<string, string> | undefined, key: string): string;
|
|
173
237
|
//# sourceMappingURL=forge-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge-config.d.ts","sourceRoot":"","sources":["../../../src/config/forge-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"forge-config.d.ts","sourceRoot":"","sources":["../../../src/config/forge-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -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()).
|
|
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
|
-
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"forge-config.js","sourceRoot":"","sources":["../../../src/config/forge-config.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -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";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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";
|
package/dist/src/index.js.map
CHANGED
|
@@ -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,
|
|
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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"}
|