renma 0.18.0 → 0.18.2
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/CHANGELOG.md +101 -1
- package/README.md +61 -3
- package/architecture.md +7 -6
- package/design.md +39 -32
- package/dist/agent-skills.d.ts +5 -6
- package/dist/agent-skills.d.ts.map +1 -1
- package/dist/agent-skills.js +2 -10
- package/dist/agent-skills.js.map +1 -1
- package/dist/catalog.d.ts +27 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +62 -16
- package/dist/catalog.js.map +1 -1
- package/dist/cli-help.d.ts +8 -8
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +19 -4
- package/dist/cli-help.js.map +1 -1
- package/dist/command-invocation.d.ts +4 -0
- package/dist/command-invocation.d.ts.map +1 -0
- package/dist/command-invocation.js +14 -0
- package/dist/command-invocation.js.map +1 -0
- package/dist/commands/inspect.d.ts +5 -0
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +185 -33
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/scaffold.js +30 -9
- package/dist/commands/scaffold.js.map +1 -1
- package/dist/commands/suggest-metadata.d.ts +6 -2
- package/dist/commands/suggest-metadata.d.ts.map +1 -1
- package/dist/commands/suggest-metadata.js +516 -72
- package/dist/commands/suggest-metadata.js.map +1 -1
- package/dist/context-lens.d.ts +1 -0
- package/dist/context-lens.d.ts.map +1 -1
- package/dist/context-lens.js +19 -1
- package/dist/context-lens.js.map +1 -1
- package/dist/diagnostic-ids.d.ts +1 -0
- package/dist/diagnostic-ids.d.ts.map +1 -1
- package/dist/diagnostic-ids.js +1 -0
- package/dist/diagnostic-ids.js.map +1 -1
- package/dist/discovery.d.ts +33 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +361 -51
- package/dist/discovery.js.map +1 -1
- package/dist/metadata.d.ts +15 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +235 -0
- package/dist/metadata.js.map +1 -1
- package/dist/model.d.ts +5 -10
- package/dist/model.d.ts.map +1 -1
- package/dist/rules.js +69 -23
- package/dist/rules.js.map +1 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +66 -2
- package/dist/scanner.js.map +1 -1
- package/dist/skill-migration.d.ts.map +1 -1
- package/dist/skill-migration.js +6 -1
- package/dist/skill-migration.js.map +1 -1
- package/dist/types.d.ts +72 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +50 -1
- package/dist/types.js.map +1 -1
- package/docs/README.md +2 -1
- package/docs/agent-skills-compatibility.md +8 -1
- package/docs/authoring-guide.md +100 -13
- package/docs/context-lens.md +319 -153
- package/docs/diagnostics.md +385 -3
- package/docs/metadata-budget.md +32 -0
- package/docs/quality-profile.md +17 -5
- package/docs/user-manual.md +136 -14
- package/examples/context-lens/README.md +8 -3
- package/examples/context-lens/contexts/testing/boundary-value-analysis.md +6 -2
- package/examples/context-lens/lenses/testing/spec-review-boundary-values.md +27 -5
- package/examples/context-lens/lenses/testing/test-design-boundary-values.md +27 -5
- package/examples/context-lens/skills/testing/spec-review/SKILL.md +33 -4
- package/package.json +1 -1
package/dist/metadata.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { inspectAgentSkill } from "./agent-skills.js";
|
|
2
2
|
import { isIsoDate, parseDayDuration } from "./freshness.js";
|
|
3
|
+
import { DEFAULT_QUALITY_PROFILE } from "./quality-profile.js";
|
|
4
|
+
import { estimateTokens } from "./token-estimator.js";
|
|
5
|
+
import { parseAgentSkillFrontmatter, } from "./yaml-frontmatter.js";
|
|
3
6
|
const STATUSES = [
|
|
4
7
|
"experimental",
|
|
5
8
|
"stable",
|
|
@@ -38,6 +41,231 @@ const CANONICAL_LIST_KEYS = new Set([
|
|
|
38
41
|
"conflicts",
|
|
39
42
|
"superseded_by",
|
|
40
43
|
]);
|
|
44
|
+
const TOKEN_BUDGET_KEYS = [
|
|
45
|
+
"token_budget_override",
|
|
46
|
+
"token_budget_rationale",
|
|
47
|
+
"token_budget_reviewed_at",
|
|
48
|
+
];
|
|
49
|
+
/** Validate one declared support-asset token-budget decision without selecting ambiguous values. */
|
|
50
|
+
export function parseSupportAssetTokenBudgetDecision(document) {
|
|
51
|
+
if (document.artifact.markdownParserEligible !== true ||
|
|
52
|
+
(document.artifact.kind !== "context" &&
|
|
53
|
+
document.artifact.kind !== "reference" &&
|
|
54
|
+
document.artifact.kind !== "profile" &&
|
|
55
|
+
document.artifact.kind !== "example")) {
|
|
56
|
+
return { status: "absent", invalidReasons: [] };
|
|
57
|
+
}
|
|
58
|
+
const defaultLimit = DEFAULT_QUALITY_PROFILE.contentTokenWarn[document.artifact.kind];
|
|
59
|
+
const estimatedTokens = estimateTokens(document.artifact.content);
|
|
60
|
+
const frontmatter = parseAgentSkillFrontmatter(document.artifact.content);
|
|
61
|
+
const parsedFields = frontmatter.fields.filter(isTokenBudgetField);
|
|
62
|
+
const rawFields = rawTokenBudgetFields(document);
|
|
63
|
+
if (parsedFields.length === 0 && rawFields.length === 0) {
|
|
64
|
+
return {
|
|
65
|
+
status: "absent",
|
|
66
|
+
estimatedTokens,
|
|
67
|
+
defaultLimit,
|
|
68
|
+
effectiveLimit: defaultLimit,
|
|
69
|
+
invalidReasons: [],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const issues = [];
|
|
73
|
+
const firstDecisionEvidence = (parsedFields[0] ? fieldEvidence(document, parsedFields[0]) : undefined) ??
|
|
74
|
+
rawFields[0]?.evidence ??
|
|
75
|
+
documentLineEvidence(document, 1);
|
|
76
|
+
if (!frontmatter.closed) {
|
|
77
|
+
issues.push({
|
|
78
|
+
reason: "token-budget decision frontmatter must be closed",
|
|
79
|
+
evidence: firstDecisionEvidence,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
else if (!frontmatter.mapping) {
|
|
83
|
+
issues.push({
|
|
84
|
+
reason: "token-budget decision frontmatter must be a YAML mapping",
|
|
85
|
+
evidence: firstDecisionEvidence,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
for (const error of frontmatter.errors) {
|
|
89
|
+
issues.push({
|
|
90
|
+
reason: `token-budget decision metadata has invalid YAML (${error.code})`,
|
|
91
|
+
evidence: documentLineEvidence(document, error.line),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
for (const duplicate of frontmatter.duplicateFields.filter(isTokenBudgetField)) {
|
|
95
|
+
issues.push({
|
|
96
|
+
reason: `${duplicate.key} is declared more than once`,
|
|
97
|
+
evidence: fieldEvidence(document, duplicate),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
const fieldsByKey = new Map();
|
|
101
|
+
for (const key of TOKEN_BUDGET_KEYS) {
|
|
102
|
+
fieldsByKey.set(key, parsedFields.filter((field) => field.key === key));
|
|
103
|
+
}
|
|
104
|
+
const uniqueField = (key) => {
|
|
105
|
+
const fields = fieldsByKey.get(key) ?? [];
|
|
106
|
+
return fields.length === 1 ? fields[0] : undefined;
|
|
107
|
+
};
|
|
108
|
+
const overrideField = uniqueField("token_budget_override");
|
|
109
|
+
const rationaleField = uniqueField("token_budget_rationale");
|
|
110
|
+
const reviewedAtField = uniqueField("token_budget_reviewed_at");
|
|
111
|
+
let overrideLimit;
|
|
112
|
+
let rationale;
|
|
113
|
+
let reviewedAt;
|
|
114
|
+
if (!overrideField) {
|
|
115
|
+
if (rationaleField) {
|
|
116
|
+
issues.push({
|
|
117
|
+
reason: "token_budget_rationale requires token_budget_override",
|
|
118
|
+
evidence: fieldEvidence(document, rationaleField),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
if (reviewedAtField) {
|
|
122
|
+
issues.push({
|
|
123
|
+
reason: "token_budget_reviewed_at requires token_budget_override",
|
|
124
|
+
evidence: fieldEvidence(document, reviewedAtField),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
if (typeof overrideField.value !== "number" ||
|
|
130
|
+
!Number.isInteger(overrideField.value)) {
|
|
131
|
+
issues.push({
|
|
132
|
+
reason: "token_budget_override must be an integer",
|
|
133
|
+
evidence: fieldEvidence(document, overrideField),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
else if (!Number.isSafeInteger(overrideField.value)) {
|
|
137
|
+
issues.push({
|
|
138
|
+
reason: "token_budget_override must be a safe integer",
|
|
139
|
+
evidence: fieldEvidence(document, overrideField),
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
overrideLimit = overrideField.value;
|
|
144
|
+
if (overrideLimit <= 0) {
|
|
145
|
+
issues.push({
|
|
146
|
+
reason: "token_budget_override must be positive",
|
|
147
|
+
evidence: fieldEvidence(document, overrideField),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
else if (overrideLimit <= defaultLimit) {
|
|
151
|
+
issues.push({
|
|
152
|
+
reason: `token_budget_override must be greater than the default limit of ${defaultLimit}`,
|
|
153
|
+
evidence: fieldEvidence(document, overrideField),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (!rationaleField) {
|
|
158
|
+
issues.push({
|
|
159
|
+
reason: "token_budget_rationale must be a non-empty string when an override is present",
|
|
160
|
+
evidence: fieldEvidence(document, overrideField),
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
else if (typeof rationaleField.value !== "string" ||
|
|
164
|
+
rationaleField.value.trim().length === 0) {
|
|
165
|
+
issues.push({
|
|
166
|
+
reason: "token_budget_rationale must be a non-empty string",
|
|
167
|
+
evidence: fieldEvidence(document, rationaleField),
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
rationale = rationaleField.value.trim();
|
|
172
|
+
}
|
|
173
|
+
if (reviewedAtField) {
|
|
174
|
+
if (typeof reviewedAtField.value !== "string" ||
|
|
175
|
+
!isIsoDate(reviewedAtField.value)) {
|
|
176
|
+
issues.push({
|
|
177
|
+
reason: "token_budget_reviewed_at must be a valid YYYY-MM-DD date",
|
|
178
|
+
evidence: fieldEvidence(document, reviewedAtField),
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
reviewedAt = reviewedAtField.value;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (issues.length === 0 && overrideField && estimatedTokens <= defaultLimit) {
|
|
187
|
+
issues.push({
|
|
188
|
+
reason: `token_budget_override is unnecessary because the asset is within the default limit of ${defaultLimit}`,
|
|
189
|
+
evidence: fieldEvidence(document, overrideField),
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (issues.length > 0) {
|
|
193
|
+
return {
|
|
194
|
+
status: "invalid",
|
|
195
|
+
estimatedTokens,
|
|
196
|
+
defaultLimit,
|
|
197
|
+
...(overrideLimit !== undefined ? { overrideLimit } : {}),
|
|
198
|
+
effectiveLimit: defaultLimit,
|
|
199
|
+
...(rationale ? { tokenBudgetRationale: rationale } : {}),
|
|
200
|
+
...(reviewedAt ? { tokenBudgetReviewedAt: reviewedAt } : {}),
|
|
201
|
+
invalidReasons: issues.map((issue) => issue.reason),
|
|
202
|
+
evidence: issues[0]?.evidence ?? firstDecisionEvidence,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
if (overrideLimit === undefined || rationale === undefined) {
|
|
206
|
+
return {
|
|
207
|
+
status: "invalid",
|
|
208
|
+
estimatedTokens,
|
|
209
|
+
defaultLimit,
|
|
210
|
+
effectiveLimit: defaultLimit,
|
|
211
|
+
invalidReasons: ["token-budget decision metadata is incomplete"],
|
|
212
|
+
evidence: firstDecisionEvidence,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
status: "active",
|
|
217
|
+
estimatedTokens,
|
|
218
|
+
defaultLimit,
|
|
219
|
+
overrideLimit,
|
|
220
|
+
effectiveLimit: overrideLimit,
|
|
221
|
+
tokenBudgetRationale: rationale,
|
|
222
|
+
...(reviewedAt ? { tokenBudgetReviewedAt: reviewedAt } : {}),
|
|
223
|
+
invalidReasons: [],
|
|
224
|
+
evidence: fieldEvidence(document, overrideField),
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
function isTokenBudgetField(field) {
|
|
228
|
+
return TOKEN_BUDGET_KEYS.includes(field.key);
|
|
229
|
+
}
|
|
230
|
+
function rawTokenBudgetFields(document) {
|
|
231
|
+
if (document.lines[0]?.replace(/^\uFEFF/, "").trim() !== "---")
|
|
232
|
+
return [];
|
|
233
|
+
const fields = [];
|
|
234
|
+
for (let index = 1; index < document.lines.length; index += 1) {
|
|
235
|
+
const line = document.lines[index] ?? "";
|
|
236
|
+
if (/^---\s*$/.test(line))
|
|
237
|
+
break;
|
|
238
|
+
const match = line.match(/^(token_budget_override|token_budget_rationale|token_budget_reviewed_at)\s*:/);
|
|
239
|
+
if (!match)
|
|
240
|
+
continue;
|
|
241
|
+
fields.push({
|
|
242
|
+
key: match[1],
|
|
243
|
+
evidence: documentLineEvidence(document, index + 1),
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
return fields;
|
|
247
|
+
}
|
|
248
|
+
function fieldEvidence(document, field) {
|
|
249
|
+
if (!field)
|
|
250
|
+
return documentLineEvidence(document, 1);
|
|
251
|
+
return {
|
|
252
|
+
path: document.artifact.path,
|
|
253
|
+
startLine: field.startLine,
|
|
254
|
+
endLine: field.endLine,
|
|
255
|
+
snippet: document.lines
|
|
256
|
+
.slice(field.startLine - 1, field.endLine)
|
|
257
|
+
.join("\n"),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
function documentLineEvidence(document, requestedLine) {
|
|
261
|
+
const line = Math.min(Math.max(requestedLine, 1), document.lines.length || 1);
|
|
262
|
+
return {
|
|
263
|
+
path: document.artifact.path,
|
|
264
|
+
startLine: line,
|
|
265
|
+
endLine: line,
|
|
266
|
+
snippet: document.lines[line - 1] ?? "",
|
|
267
|
+
};
|
|
268
|
+
}
|
|
41
269
|
/** Normalize parsed frontmatter into asset metadata plus validation diagnostics. */
|
|
42
270
|
export function parseAssetMetadata(document) {
|
|
43
271
|
const diagnostics = [];
|
|
@@ -50,6 +278,7 @@ export function parseAssetMetadata(document) {
|
|
|
50
278
|
const lastReviewedAt = optionalText(metadataText(source.values.last_reviewed_at));
|
|
51
279
|
const reviewCycle = optionalText(metadataText(source.values.review_cycle));
|
|
52
280
|
const expiresAt = optionalText(metadataText(source.values.expires_at));
|
|
281
|
+
const tokenBudget = parseSupportAssetTokenBudgetDecision(document);
|
|
53
282
|
const metadata = {
|
|
54
283
|
tags: operationalListValue(document, source, "tags", diagnostics),
|
|
55
284
|
whenToUse: operationalListValue(document, source, "when_to_use", diagnostics),
|
|
@@ -80,6 +309,11 @@ export function parseAssetMetadata(document) {
|
|
|
80
309
|
assignOptional(metadata, "lastReviewedAt", lastReviewedAt);
|
|
81
310
|
assignOptional(metadata, "reviewCycle", reviewCycle);
|
|
82
311
|
assignOptional(metadata, "expiresAt", expiresAt);
|
|
312
|
+
if (tokenBudget.status === "active") {
|
|
313
|
+
assignOptional(metadata, "tokenBudgetOverride", tokenBudget.overrideLimit);
|
|
314
|
+
assignOptional(metadata, "tokenBudgetRationale", tokenBudget.tokenBudgetRationale);
|
|
315
|
+
assignOptional(metadata, "tokenBudgetReviewedAt", tokenBudget.tokenBudgetReviewedAt);
|
|
316
|
+
}
|
|
83
317
|
assignOptionalList(metadata, "appliesTo", operationalListValue(document, source, "applies_to", diagnostics));
|
|
84
318
|
assignOptionalList(metadata, "focus", operationalListValue(document, source, "focus", diagnostics));
|
|
85
319
|
assignOptionalList(metadata, "expectedOutputs", operationalListValue(document, source, "expected_outputs", diagnostics));
|
|
@@ -97,6 +331,7 @@ export function parseAssetMetadata(document) {
|
|
|
97
331
|
}
|
|
98
332
|
return {
|
|
99
333
|
metadata,
|
|
334
|
+
tokenBudgetDecision: tokenBudget,
|
|
100
335
|
metadataFields: source.fields,
|
|
101
336
|
metadataListItems: source.listItems,
|
|
102
337
|
diagnostics,
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/model.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { ArtifactKind, Evidence, MetadataFieldEvidence } from "./types.js";
|
|
1
|
+
import type { ArtifactKind, AssetOwnership, Evidence, MetadataFieldEvidence } from "./types.js";
|
|
2
|
+
export type { AssetOwnership } from "./types.js";
|
|
2
3
|
/** Lifecycle state for a skill or context asset. */
|
|
3
4
|
export type AssetStatus = "experimental" | "stable" | "deprecated" | "archived";
|
|
4
5
|
/** Artifact kinds Renma keeps in the normalized model. */
|
|
@@ -17,6 +18,9 @@ export interface AssetMetadata {
|
|
|
17
18
|
lastReviewedAt?: string;
|
|
18
19
|
reviewCycle?: string;
|
|
19
20
|
expiresAt?: string;
|
|
21
|
+
tokenBudgetOverride?: number;
|
|
22
|
+
tokenBudgetRationale?: string;
|
|
23
|
+
tokenBudgetReviewedAt?: string;
|
|
20
24
|
tags: string[];
|
|
21
25
|
whenToUse: string[];
|
|
22
26
|
whenNotToUse: string[];
|
|
@@ -30,15 +34,6 @@ export interface AssetMetadata {
|
|
|
30
34
|
requiresLens?: string[];
|
|
31
35
|
optionalLens?: string[];
|
|
32
36
|
}
|
|
33
|
-
export interface AssetOwnership {
|
|
34
|
-
declaredOwner: string | null;
|
|
35
|
-
effectiveOwner: string | null;
|
|
36
|
-
source: "declared" | "inherited" | "unowned";
|
|
37
|
-
inheritedFrom?: {
|
|
38
|
-
id: string;
|
|
39
|
-
sourcePath: string;
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
37
|
/** Repository object Renma can catalog, validate, reference, or report on. */
|
|
43
38
|
export interface Asset {
|
|
44
39
|
id: string;
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/rules.js
CHANGED
|
@@ -1215,35 +1215,81 @@ function contextBudgetFindings(document) {
|
|
|
1215
1215
|
document.artifact.kind !== "example") {
|
|
1216
1216
|
return [];
|
|
1217
1217
|
}
|
|
1218
|
-
const
|
|
1219
|
-
const
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1218
|
+
const tokenBudget = parseAssetMetadata(document).tokenBudgetDecision;
|
|
1219
|
+
const defaultLimit = tokenBudget.defaultLimit ?? CONTEXT_TOKEN_LIMITS[document.artifact.kind];
|
|
1220
|
+
const estimatedTokens = tokenBudget.estimatedTokens ?? estimateTokens(document.artifact.content);
|
|
1221
|
+
const effectiveLimit = tokenBudget.effectiveLimit ?? defaultLimit;
|
|
1222
|
+
const overrideActive = tokenBudget.status === "active";
|
|
1223
|
+
const findings = [];
|
|
1224
|
+
if (tokenBudget.status === "invalid") {
|
|
1225
|
+
const invalidFinding = documentFinding(document, DIAGNOSTIC_IDS.QUAL_INVALID_TOKEN_BUDGET_OVERRIDE, "Support asset has invalid token-budget override metadata", "quality", "low", "Correct or remove the malformed token-budget decision metadata. An override is valid only after a human decides the asset should remain intentionally coherent or ordered; do not add or increase an override merely to make diagnostics pass.", {
|
|
1226
|
+
whyItMatters: "Token-budget overrides record a declared human decision. Malformed, ambiguous, incomplete, orphaned, or unnecessary metadata cannot safely replace the default advisory limit.",
|
|
1225
1227
|
constraints: [
|
|
1226
|
-
"Do not
|
|
1227
|
-
"Do not
|
|
1228
|
-
"
|
|
1229
|
-
"Preserve concrete procedural steps losslessly if a semantic split is chosen.",
|
|
1230
|
-
"Keep static references from the parent file or SKILL.md to every split part.",
|
|
1231
|
-
],
|
|
1232
|
-
verificationSteps: [
|
|
1233
|
-
"Run renma scan.",
|
|
1234
|
-
"Run the repository-specific validation or test command, if one exists.",
|
|
1235
|
-
"Confirm the finding is resolved or reduced and every split part remains reachable.",
|
|
1228
|
+
"Do not automatically insert token-budget override metadata.",
|
|
1229
|
+
"Do not treat the override as a general ignore mechanism.",
|
|
1230
|
+
"Ask whether a meaningful split preserves coherence and execution order before proposing an override.",
|
|
1236
1231
|
],
|
|
1237
|
-
|
|
1232
|
+
verificationSteps: ["Run renma scan."],
|
|
1233
|
+
llmHint: "Report the invalid fields to the user. First ask whether the asset can be split along meaningful boundaries without harming coherence or execution order. Only if the user confirms it should remain long should you repair explicit override metadata with their rationale.",
|
|
1238
1234
|
details: {
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1235
|
+
estimatedTokens,
|
|
1236
|
+
defaultLimit,
|
|
1237
|
+
...(tokenBudget.overrideLimit !== undefined
|
|
1238
|
+
? { overrideLimit: tokenBudget.overrideLimit }
|
|
1239
|
+
: {}),
|
|
1240
|
+
effectiveLimit,
|
|
1241
|
+
overrideActive,
|
|
1242
|
+
...(tokenBudget.tokenBudgetRationale
|
|
1243
|
+
? { tokenBudgetRationale: tokenBudget.tokenBudgetRationale }
|
|
1244
|
+
: {}),
|
|
1245
|
+
invalidReasons: tokenBudget.invalidReasons,
|
|
1242
1246
|
profile: QUALITY.profile,
|
|
1243
1247
|
measurement: "full_file",
|
|
1244
1248
|
},
|
|
1245
|
-
})
|
|
1246
|
-
|
|
1249
|
+
});
|
|
1250
|
+
findings.push({
|
|
1251
|
+
...invalidFinding,
|
|
1252
|
+
...(tokenBudget.evidence ? { evidence: tokenBudget.evidence } : {}),
|
|
1253
|
+
});
|
|
1254
|
+
}
|
|
1255
|
+
if (estimatedTokens <= effectiveLimit)
|
|
1256
|
+
return findings;
|
|
1257
|
+
findings.push(documentFinding(document, DIAGNOSTIC_IDS.QUAL_SUPPORT_ASSET_TOKEN_BUDGET, "Support asset exceeds token guidance", "quality", "low", `Ask the user whether this ${document.artifact.kind} asset can be split along meaningful boundaries without harming coherence or execution order. Split it only after the user agrees. If the user confirms it should remain intentionally long, they may record an explicit token-budget override and rationale; do not recommend an override merely to make this diagnostic pass.`, {
|
|
1258
|
+
whyItMatters: "Large content assets deserve a low-advisory coherence review. A meaningful split is preferred when it preserves semantic boundaries, while an explicit override can record the user's declared decision for an intentionally coherent or ordered long-form asset.",
|
|
1259
|
+
constraints: [
|
|
1260
|
+
"Do not introduce runtime context resolution.",
|
|
1261
|
+
"Do not create prompt packages.",
|
|
1262
|
+
"Do not split based on size alone.",
|
|
1263
|
+
"Require the user's decision before splitting or treating the asset as intentionally long.",
|
|
1264
|
+
"Do not automatically add or increase token-budget override metadata.",
|
|
1265
|
+
"Preserve concrete procedural steps losslessly if a semantic split is chosen.",
|
|
1266
|
+
"Keep static references from the parent file or SKILL.md to every split part.",
|
|
1267
|
+
],
|
|
1268
|
+
verificationSteps: [
|
|
1269
|
+
"Run renma scan.",
|
|
1270
|
+
"Run the repository-specific validation or test command, if one exists.",
|
|
1271
|
+
"Confirm every agreed split part remains reachable, or that an intentional-long decision uses valid declared metadata.",
|
|
1272
|
+
],
|
|
1273
|
+
llmHint: "Ask the user whether the asset can be split along meaningful boundaries without harming coherence or execution order. Split only with agreement. If the user confirms it must remain intentionally long, use their explicit rationale for a valid override; never add one only to silence the finding.",
|
|
1274
|
+
details: {
|
|
1275
|
+
estimatedTokens,
|
|
1276
|
+
defaultLimit,
|
|
1277
|
+
...(tokenBudget.overrideLimit !== undefined
|
|
1278
|
+
? { overrideLimit: tokenBudget.overrideLimit }
|
|
1279
|
+
: {}),
|
|
1280
|
+
effectiveLimit,
|
|
1281
|
+
overrideActive,
|
|
1282
|
+
...(tokenBudget.tokenBudgetRationale
|
|
1283
|
+
? { tokenBudgetRationale: tokenBudget.tokenBudgetRationale }
|
|
1284
|
+
: {}),
|
|
1285
|
+
measured: estimatedTokens,
|
|
1286
|
+
limit: effectiveLimit,
|
|
1287
|
+
unit: "estimated_tokens",
|
|
1288
|
+
profile: QUALITY.profile,
|
|
1289
|
+
measurement: "full_file",
|
|
1290
|
+
},
|
|
1291
|
+
}));
|
|
1292
|
+
return findings;
|
|
1247
1293
|
}
|
|
1248
1294
|
function profileFindings(document) {
|
|
1249
1295
|
if (document.artifact.kind !== "profile")
|