@warpgogol/forge 0.3.1 → 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.
- package/AGENTS.md +152 -5
- package/dist/bin/cli.js +4 -5
- package/dist/bin/cli.js.map +1 -1
- package/dist/os/adr/adr.module.d.ts.map +1 -1
- package/dist/os/adr/adr.module.js +4 -2
- package/dist/os/adr/adr.module.js.map +1 -1
- package/dist/os/adr/handlers/validate.d.ts.map +1 -1
- package/dist/os/adr/handlers/validate.js +32 -4
- package/dist/os/adr/handlers/validate.js.map +1 -1
- package/dist/os/compass/compass.module.d.ts.map +1 -1
- package/dist/os/compass/compass.module.js +4 -0
- package/dist/os/compass/compass.module.js.map +1 -1
- package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -1
- package/dist/os/compass/handlers/resolve-scan-root.js +16 -0
- package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
- package/dist/os/core/core.module.d.ts.map +1 -1
- package/dist/os/core/core.module.js +82 -3
- 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/rfc/handlers/implement-stamp.d.ts.map +1 -1
- package/dist/os/rfc/handlers/implement-stamp.js +10 -6
- package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
- package/dist/os/rfc/handlers/index-graph.js +2 -2
- package/dist/os/rfc/handlers/index-graph.js.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.js +4 -5
- package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
- package/dist/os/rfc/handlers/pipeline-status.js +1 -1
- package/dist/os/rfc/handlers/pipeline-status.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/rfc/handlers/validate.js +1 -1
- package/dist/os/rfc/handlers/validate.js.map +1 -1
- package/dist/os/rfc/rfc.module.d.ts.map +1 -1
- package/dist/os/rfc/rfc.module.js +15 -10
- package/dist/os/rfc/rfc.module.js.map +1 -1
- package/dist/os/session/handlers/validate.js +1 -1
- package/dist/os/session/handlers/validate.js.map +1 -1
- package/dist/os/session/session.module.d.ts.map +1 -1
- package/dist/os/session/session.module.js +4 -2
- package/dist/os/session/session.module.js.map +1 -1
- package/dist/os/spec/spec-schema.d.ts +1 -1
- package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -1
- package/dist/os/werkstatt/handlers/lock.js +27 -1
- package/dist/os/werkstatt/handlers/lock.js.map +1 -1
- package/dist/os/werkstatt/handlers/schema.d.ts +1 -0
- package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -1
- package/dist/os/werkstatt/handlers/schema.js +1 -0
- package/dist/os/werkstatt/handlers/schema.js.map +1 -1
- package/dist/src/config/forge-config.d.ts +70 -3
- package/dist/src/config/forge-config.d.ts.map +1 -1
- package/dist/src/config/forge-config.js +91 -4
- 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 +19 -0
- package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
- package/dist/src/onboarding/agents-generate.js +156 -66
- 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 +66 -10
- 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 +613 -7
- 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 +16 -0
- package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -0
- package/dist/src/onboarding/nested-agents-generate.js +69 -0
- package/dist/src/onboarding/nested-agents-generate.js.map +1 -0
- package/dist/src/onboarding/nested-agents-templates.d.ts +26 -0
- package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -0
- package/dist/src/onboarding/nested-agents-templates.js +178 -0
- package/dist/src/onboarding/nested-agents-templates.js.map +1 -0
- 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 +6 -0
- package/dist/src/onboarding/upgrade.d.ts.map +1 -1
- package/dist/src/onboarding/upgrade.js +45 -1
- package/dist/src/onboarding/upgrade.js.map +1 -1
- package/dist/src/onboarding/workspace-discovery.d.ts +11 -0
- package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -0
- package/dist/src/onboarding/workspace-discovery.js +138 -0
- package/dist/src/onboarding/workspace-discovery.js.map +1 -0
- 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/types.d.ts +0 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/fs-idempotent.d.ts +1 -1
- package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
- package/dist/src/utils/fs-idempotent.js +12 -3
- package/dist/src/utils/fs-idempotent.js.map +1 -1
- 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 +2 -2
- 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-fix/SKILL.md +11 -0
- 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 +3 -4
- package/skills/fo/fo-session-save/fix-patterns.md +53 -29
- package/skills/fo/fo-session-save/learned-principles.md +59 -8
- package/skills/fo/fo-step-commit/SKILL.md +55 -0
- package/skills/meta/forge-bootstrap/SKILL.md +28 -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
|
@@ -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<{
|
|
@@ -9,6 +10,12 @@ export declare const forgeBindingsSchema: z.ZodObject<{
|
|
|
9
10
|
test: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
10
11
|
scopedBuild: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
11
12
|
specValidate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
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>>;
|
|
12
19
|
}, z.core.$strip>;
|
|
13
20
|
paths: z.ZodObject<{
|
|
14
21
|
invariantsFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -17,11 +24,22 @@ export declare const forgeBindingsSchema: z.ZodObject<{
|
|
|
17
24
|
handoffsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
18
25
|
sessionsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
19
26
|
}, z.core.$strip>;
|
|
20
|
-
terminology: z.
|
|
27
|
+
terminology: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
21
28
|
compass: z.ZodOptional<z.ZodObject<{
|
|
22
29
|
fileExtensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
23
30
|
testPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
24
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>>;
|
|
25
43
|
}, z.core.$strip>;
|
|
26
44
|
export interface ForgeBindings {
|
|
27
45
|
schema: "forge/bindings@1";
|
|
@@ -33,6 +51,12 @@ export interface ForgeBindings {
|
|
|
33
51
|
test: string | null;
|
|
34
52
|
scopedBuild: string | null;
|
|
35
53
|
specValidate: string | null;
|
|
54
|
+
sessionSave: string | null;
|
|
55
|
+
validate: string | null;
|
|
56
|
+
produce: string | null;
|
|
57
|
+
verify: string | null;
|
|
58
|
+
preview: string | null;
|
|
59
|
+
lint: string | null;
|
|
36
60
|
};
|
|
37
61
|
paths: {
|
|
38
62
|
invariantsFile: string | null;
|
|
@@ -41,11 +65,22 @@ export interface ForgeBindings {
|
|
|
41
65
|
handoffsDir: string | null;
|
|
42
66
|
sessionsDir: string | null;
|
|
43
67
|
};
|
|
44
|
-
terminology
|
|
68
|
+
terminology: Record<string, string>;
|
|
45
69
|
compass?: {
|
|
46
70
|
fileExtensions?: string[];
|
|
47
71
|
testPatterns?: string[];
|
|
48
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
|
+
};
|
|
49
84
|
}
|
|
50
85
|
export declare const forgeSkillPackSchema: z.ZodObject<{
|
|
51
86
|
prefix: z.ZodString;
|
|
@@ -75,6 +110,7 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
75
110
|
bun: "bun";
|
|
76
111
|
none: "none";
|
|
77
112
|
}>>;
|
|
113
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
78
114
|
}, z.core.$strip>;
|
|
79
115
|
paths: z.ZodObject<{
|
|
80
116
|
rfcsDir: z.ZodDefault<z.ZodString>;
|
|
@@ -95,6 +131,12 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
95
131
|
test: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
96
132
|
scopedBuild: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
97
133
|
specValidate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
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>>;
|
|
98
140
|
}, z.core.$strip>;
|
|
99
141
|
paths: z.ZodObject<{
|
|
100
142
|
invariantsFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -103,11 +145,22 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
103
145
|
handoffsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
104
146
|
sessionsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
105
147
|
}, z.core.$strip>;
|
|
106
|
-
terminology: z.
|
|
148
|
+
terminology: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
107
149
|
compass: z.ZodOptional<z.ZodObject<{
|
|
108
150
|
fileExtensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
109
151
|
testPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
110
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>>;
|
|
111
164
|
}, z.core.$strip>>;
|
|
112
165
|
skillPacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
113
166
|
prefix: z.ZodString;
|
|
@@ -120,6 +173,7 @@ export declare const forgeConfigSchema: z.ZodObject<{
|
|
|
120
173
|
forge: z.ZodOptional<z.ZodObject<{
|
|
121
174
|
syncedVersion: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
122
175
|
}, z.core.$strip>>;
|
|
176
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
123
177
|
}, z.core.$strip>;
|
|
124
178
|
export interface ForgeConfig {
|
|
125
179
|
schema: "forge/config@1";
|
|
@@ -127,6 +181,8 @@ export interface ForgeConfig {
|
|
|
127
181
|
name: string;
|
|
128
182
|
stack: string[];
|
|
129
183
|
packageManager: "pnpm" | "npm" | "yarn" | "bun" | "none";
|
|
184
|
+
/** RFC-0640: optional domain field — absent means software-domain fallback */
|
|
185
|
+
domain?: string;
|
|
130
186
|
};
|
|
131
187
|
paths: {
|
|
132
188
|
rfcsDir: string;
|
|
@@ -147,6 +203,8 @@ export interface ForgeConfig {
|
|
|
147
203
|
forge?: {
|
|
148
204
|
syncedVersion: string | null;
|
|
149
205
|
};
|
|
206
|
+
/** RFC-0643: loaded stack profile — present when forge.yaml has a `profile` field */
|
|
207
|
+
profile?: StackProfile;
|
|
150
208
|
}
|
|
151
209
|
export interface ForgeCliBindingDefault {
|
|
152
210
|
key: string;
|
|
@@ -167,4 +225,13 @@ export declare function resolveForgeRoot(workspaceRoot: string): string;
|
|
|
167
225
|
* Supports placeholder substitution: {id}, {workspace}, {file}.
|
|
168
226
|
*/
|
|
169
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;
|
|
170
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
|
// ---------------------------------------------------------------------------
|
|
@@ -34,6 +41,13 @@ export const forgeBindingsSchema = z.object({
|
|
|
34
41
|
test: z.string().nullable().default(null),
|
|
35
42
|
scopedBuild: z.string().nullable().default(null),
|
|
36
43
|
specValidate: z.string().nullable().default(null),
|
|
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),
|
|
37
51
|
}),
|
|
38
52
|
paths: z.object({
|
|
39
53
|
invariantsFile: z.string().nullable().default(null),
|
|
@@ -42,13 +56,33 @@ export const forgeBindingsSchema = z.object({
|
|
|
42
56
|
handoffsDir: z.string().nullable().default(null),
|
|
43
57
|
sessionsDir: z.string().nullable().default(null),
|
|
44
58
|
}),
|
|
45
|
-
terminology: z.record(z.string(), z.string()).
|
|
59
|
+
terminology: z.record(z.string(), z.string()).default({}),
|
|
46
60
|
compass: z
|
|
47
61
|
.object({
|
|
48
62
|
fileExtensions: z.array(z.string()).optional(),
|
|
49
63
|
testPatterns: z.array(z.string()).optional(),
|
|
50
64
|
})
|
|
51
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(),
|
|
52
86
|
});
|
|
53
87
|
// ---------------------------------------------------------------------------
|
|
54
88
|
// Skill packs schema (RFC-0539)
|
|
@@ -76,6 +110,8 @@ export const forgeConfigSchema = z.object({
|
|
|
76
110
|
name: z.string().min(1),
|
|
77
111
|
stack: z.array(z.string()).default([]),
|
|
78
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(),
|
|
79
115
|
}),
|
|
80
116
|
paths: z.object({
|
|
81
117
|
rfcsDir: z.string().default("docs/rfcs"),
|
|
@@ -98,15 +134,18 @@ export const forgeConfigSchema = z.object({
|
|
|
98
134
|
syncedVersion: z.string().nullable().default(null),
|
|
99
135
|
})
|
|
100
136
|
.optional(),
|
|
137
|
+
/** RFC-0643: profile id — when present, loadForgeConfig loads the corresponding profiles/<id>.yaml */
|
|
138
|
+
profile: z.string().optional(),
|
|
101
139
|
});
|
|
102
140
|
export const FORGE_CLI_BINDING_DEFAULTS = [
|
|
103
|
-
{ key: "commands.validateRfc", template: "forge rfc.validate {id} --json" },
|
|
104
|
-
{ key: "commands.validateAdr", template: "forge adr.validate {id} --json" },
|
|
141
|
+
{ key: "commands.validateRfc", template: "forge rfc.validate --id {id} --json" },
|
|
142
|
+
{ key: "commands.validateAdr", template: "forge adr.validate --id {id} --json" },
|
|
105
143
|
{
|
|
106
144
|
key: "commands.implementStamp",
|
|
107
145
|
template: "forge rfc.implement.stamp --id {id} --implementation-commit {commit}",
|
|
108
146
|
},
|
|
109
147
|
{ key: "commands.specValidate", template: "forge spec.validate --spec={id} --json" },
|
|
148
|
+
{ key: "commands.sessionSave", template: "forge session.save --json" },
|
|
110
149
|
];
|
|
111
150
|
export const PM_RUNNER_MAP = {
|
|
112
151
|
pnpm: "pnpm exec",
|
|
@@ -128,6 +167,13 @@ export function applyCliBindingDefaults(pm) {
|
|
|
128
167
|
test: null,
|
|
129
168
|
scopedBuild: null,
|
|
130
169
|
specValidate: null,
|
|
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,
|
|
131
177
|
};
|
|
132
178
|
for (const entry of FORGE_CLI_BINDING_DEFAULTS) {
|
|
133
179
|
const bareKey = entry.key.replace("commands.", "");
|
|
@@ -196,7 +242,28 @@ export function loadForgeConfig(workspaceRoot) {
|
|
|
196
242
|
.join("\n");
|
|
197
243
|
throw new Error(`forge.yaml at ${configPath} failed schema validation:\n${issues}\nFix the listed fields or run 'forge create' to regenerate defaults.`);
|
|
198
244
|
}
|
|
199
|
-
|
|
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;
|
|
200
267
|
}
|
|
201
268
|
// ---------------------------------------------------------------------------
|
|
202
269
|
// Forge root resolver — the single place that decides monorepo vs npm-installed
|
|
@@ -256,4 +323,24 @@ function substitutePlaceholders(template, placeholders) {
|
|
|
256
323
|
}
|
|
257
324
|
return result;
|
|
258
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
|
+
}
|
|
259
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
|