renma 0.17.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/CHANGELOG.md +152 -1
  2. package/README.md +11 -1
  3. package/architecture.md +21 -10
  4. package/design.md +52 -34
  5. package/dist/agent-skills.d.ts +1 -1
  6. package/dist/agent-skills.d.ts.map +1 -1
  7. package/dist/agent-skills.js +28 -8
  8. package/dist/agent-skills.js.map +1 -1
  9. package/dist/catalog.d.ts +1 -1
  10. package/dist/catalog.d.ts.map +1 -1
  11. package/dist/catalog.js +120 -12
  12. package/dist/catalog.js.map +1 -1
  13. package/dist/cli-help.d.ts +12 -8
  14. package/dist/cli-help.d.ts.map +1 -1
  15. package/dist/cli-help.js +23 -1
  16. package/dist/cli-help.js.map +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +23 -0
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/bom.d.ts +6 -3
  21. package/dist/commands/bom.d.ts.map +1 -1
  22. package/dist/commands/bom.js +27 -7
  23. package/dist/commands/bom.js.map +1 -1
  24. package/dist/commands/catalog.d.ts +1 -1
  25. package/dist/commands/catalog.d.ts.map +1 -1
  26. package/dist/commands/catalog.js +7 -1
  27. package/dist/commands/catalog.js.map +1 -1
  28. package/dist/commands/ci-report.d.ts.map +1 -1
  29. package/dist/commands/ci-report.js +18 -5
  30. package/dist/commands/ci-report.js.map +1 -1
  31. package/dist/commands/diff.js +8 -2
  32. package/dist/commands/diff.js.map +1 -1
  33. package/dist/commands/graph.d.ts +6 -2
  34. package/dist/commands/graph.d.ts.map +1 -1
  35. package/dist/commands/graph.js +23 -2
  36. package/dist/commands/graph.js.map +1 -1
  37. package/dist/commands/inspect.d.ts.map +1 -1
  38. package/dist/commands/inspect.js +2 -0
  39. package/dist/commands/inspect.js.map +1 -1
  40. package/dist/commands/ownership.d.ts +4 -3
  41. package/dist/commands/ownership.d.ts.map +1 -1
  42. package/dist/commands/ownership.js +27 -23
  43. package/dist/commands/ownership.js.map +1 -1
  44. package/dist/commands/readiness.d.ts +2 -1
  45. package/dist/commands/readiness.d.ts.map +1 -1
  46. package/dist/commands/readiness.js +98 -30
  47. package/dist/commands/readiness.js.map +1 -1
  48. package/dist/commands/scaffold.d.ts +3 -0
  49. package/dist/commands/scaffold.d.ts.map +1 -1
  50. package/dist/commands/scaffold.js +44 -9
  51. package/dist/commands/scaffold.js.map +1 -1
  52. package/dist/commands/suggest-metadata.d.ts.map +1 -1
  53. package/dist/commands/suggest-metadata.js +2 -0
  54. package/dist/commands/suggest-metadata.js.map +1 -1
  55. package/dist/commands/trust-graph.d.ts.map +1 -1
  56. package/dist/commands/trust-graph.js +12 -0
  57. package/dist/commands/trust-graph.js.map +1 -1
  58. package/dist/config.d.ts.map +1 -1
  59. package/dist/config.js +10 -3
  60. package/dist/config.js.map +1 -1
  61. package/dist/context-lens.d.ts +1 -0
  62. package/dist/context-lens.d.ts.map +1 -1
  63. package/dist/context-lens.js +19 -1
  64. package/dist/context-lens.js.map +1 -1
  65. package/dist/diagnostic-ids.d.ts +9 -0
  66. package/dist/diagnostic-ids.d.ts.map +1 -1
  67. package/dist/diagnostic-ids.js +9 -0
  68. package/dist/diagnostic-ids.js.map +1 -1
  69. package/dist/discovery.d.ts +5 -0
  70. package/dist/discovery.d.ts.map +1 -1
  71. package/dist/discovery.js +108 -65
  72. package/dist/discovery.js.map +1 -1
  73. package/dist/markdown.d.ts.map +1 -1
  74. package/dist/markdown.js +15 -0
  75. package/dist/markdown.js.map +1 -1
  76. package/dist/metadata.d.ts +15 -1
  77. package/dist/metadata.d.ts.map +1 -1
  78. package/dist/metadata.js +235 -0
  79. package/dist/metadata.js.map +1 -1
  80. package/dist/model.d.ts +20 -1
  81. package/dist/model.d.ts.map +1 -1
  82. package/dist/model.js +4 -1
  83. package/dist/model.js.map +1 -1
  84. package/dist/quality-profile.d.ts +91 -0
  85. package/dist/quality-profile.d.ts.map +1 -0
  86. package/dist/quality-profile.js +91 -0
  87. package/dist/quality-profile.js.map +1 -0
  88. package/dist/repeated-context.d.ts.map +1 -1
  89. package/dist/repeated-context.js +38 -83
  90. package/dist/repeated-context.js.map +1 -1
  91. package/dist/repository-boundary.d.ts +30 -0
  92. package/dist/repository-boundary.d.ts.map +1 -0
  93. package/dist/repository-boundary.js +116 -0
  94. package/dist/repository-boundary.js.map +1 -0
  95. package/dist/repository-evidence.d.ts +2 -0
  96. package/dist/repository-evidence.d.ts.map +1 -1
  97. package/dist/repository-evidence.js +6 -4
  98. package/dist/repository-evidence.js.map +1 -1
  99. package/dist/repository-paths.d.ts +6 -2
  100. package/dist/repository-paths.d.ts.map +1 -1
  101. package/dist/repository-paths.js +75 -24
  102. package/dist/repository-paths.js.map +1 -1
  103. package/dist/rules.d.ts +2 -0
  104. package/dist/rules.d.ts.map +1 -1
  105. package/dist/rules.js +322 -189
  106. package/dist/rules.js.map +1 -1
  107. package/dist/scanner.d.ts.map +1 -1
  108. package/dist/scanner.js +5 -1
  109. package/dist/scanner.js.map +1 -1
  110. package/dist/security-diagnostics.d.ts.map +1 -1
  111. package/dist/security-diagnostics.js +95 -30
  112. package/dist/security-diagnostics.js.map +1 -1
  113. package/dist/security-diff.d.ts +5 -2
  114. package/dist/security-diff.d.ts.map +1 -1
  115. package/dist/security-diff.js +20 -4
  116. package/dist/security-diff.js.map +1 -1
  117. package/dist/security-policy-inventory.d.ts +15 -3
  118. package/dist/security-policy-inventory.d.ts.map +1 -1
  119. package/dist/security-policy-inventory.js +123 -26
  120. package/dist/security-policy-inventory.js.map +1 -1
  121. package/dist/security-policy.d.ts +7 -0
  122. package/dist/security-policy.d.ts.map +1 -1
  123. package/dist/security-policy.js +70 -7
  124. package/dist/security-policy.js.map +1 -1
  125. package/dist/security-posture.d.ts.map +1 -1
  126. package/dist/security-posture.js +2 -1
  127. package/dist/security-posture.js.map +1 -1
  128. package/dist/skill-migration.js +2 -0
  129. package/dist/skill-migration.js.map +1 -1
  130. package/dist/static-support.d.ts +13 -0
  131. package/dist/static-support.d.ts.map +1 -0
  132. package/dist/static-support.js +284 -0
  133. package/dist/static-support.js.map +1 -0
  134. package/dist/token-estimator.d.ts +21 -0
  135. package/dist/token-estimator.d.ts.map +1 -0
  136. package/dist/token-estimator.js +84 -0
  137. package/dist/token-estimator.js.map +1 -0
  138. package/dist/trust-graph.d.ts +3 -3
  139. package/dist/trust-graph.d.ts.map +1 -1
  140. package/dist/trust-graph.js +69 -10
  141. package/dist/trust-graph.js.map +1 -1
  142. package/dist/types.d.ts +6 -1
  143. package/dist/types.d.ts.map +1 -1
  144. package/docs/README.md +15 -8
  145. package/docs/advanced-skill-authoring.md +16 -9
  146. package/docs/agent-skills-compatibility.md +10 -2
  147. package/docs/authoring-guide.md +89 -6
  148. package/docs/context-lens.md +319 -153
  149. package/docs/diagnostics.md +46 -11
  150. package/docs/metadata-budget.md +32 -0
  151. package/docs/quality-profile.md +135 -0
  152. package/docs/repository-context-bom.md +67 -8
  153. package/docs/schemas/repository-context-bom-v2.schema.json +648 -0
  154. package/docs/schemas/trust-graph-v2.schema.json +301 -0
  155. package/docs/security-policy.md +21 -5
  156. package/docs/trust-graph.md +47 -0
  157. package/docs/user-manual.md +48 -7
  158. package/examples/context-lens/README.md +8 -3
  159. package/examples/context-lens/contexts/testing/boundary-value-analysis.md +6 -2
  160. package/examples/context-lens/lenses/testing/spec-review-boundary-values.md +27 -5
  161. package/examples/context-lens/lenses/testing/test-design-boundary-values.md +27 -5
  162. package/examples/context-lens/skills/testing/spec-review/SKILL.md +33 -4
  163. package/examples/context-repo/README.md +6 -7
  164. package/examples/context-repo/contexts/domain/payment/idempotency.md +7 -0
  165. package/examples/context-repo/contexts/testing/boundary-value-analysis.md +7 -0
  166. package/examples/context-repo/contexts/testing/negative-testing.md +7 -0
  167. package/examples/context-repo/skills/testing/spec-review/SKILL.md +5 -0
  168. package/package.json +3 -1
  169. package/plan-discovery.md +24 -15
  170. package/plan.md +59 -119
  171. package/scripts/verify-package.mjs +8 -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,
@@ -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
@@ -4,7 +4,7 @@ export type AssetStatus = "experimental" | "stable" | "deprecated" | "archived";
4
4
  /** Artifact kinds Renma keeps in the normalized model. */
5
5
  export type AssetKind = Exclude<ArtifactKind, "unknown">;
6
6
  /** Relationship kinds used by graph analysis and repository validation. */
7
- export type DependencyKind = "requires" | "optional" | "conflicts" | "extends" | "references" | "applies_to" | "covered_by";
7
+ export type DependencyKind = "requires" | "optional" | "conflicts" | "extends" | "references" | "applies_to" | "covered_by" | "owns_local_resource" | "statically_references" | "inherits_owner" | "inherits_policy";
8
8
  /** Normalized shared metadata for cataloged assets. */
9
9
  export interface AssetMetadata {
10
10
  id?: string;
@@ -17,6 +17,9 @@ export interface AssetMetadata {
17
17
  lastReviewedAt?: string;
18
18
  reviewCycle?: string;
19
19
  expiresAt?: string;
20
+ tokenBudgetOverride?: number;
21
+ tokenBudgetRationale?: string;
22
+ tokenBudgetReviewedAt?: string;
20
23
  tags: string[];
21
24
  whenToUse: string[];
22
25
  whenNotToUse: string[];
@@ -30,16 +33,32 @@ export interface AssetMetadata {
30
33
  requiresLens?: string[];
31
34
  optionalLens?: string[];
32
35
  }
36
+ export interface AssetOwnership {
37
+ declaredOwner: string | null;
38
+ effectiveOwner: string | null;
39
+ source: "declared" | "inherited" | "unowned";
40
+ inheritedFrom?: {
41
+ id: string;
42
+ sourcePath: string;
43
+ };
44
+ }
33
45
  /** Repository object Renma can catalog, validate, reference, or report on. */
34
46
  export interface Asset {
35
47
  id: string;
36
48
  kind: AssetKind;
37
49
  sourcePath: string;
38
50
  contentHash: string;
51
+ sizeBytes: number;
52
+ contentClassification: "text" | "binary";
53
+ markdownParserEligible: boolean;
54
+ /** Declared and effective ownership with explicit provenance. */
55
+ ownership: AssetOwnership;
39
56
  metadata: AssetMetadata;
40
57
  metadataFields: Record<string, MetadataFieldEvidence>;
41
58
  metadataListItems: Record<string, MetadataFieldEvidence[]>;
42
59
  }
60
+ /** Return the deterministic owner used by catalog consumers and Readiness. */
61
+ export declare function effectiveAssetOwner(asset: Asset): string | undefined;
43
62
  export interface Skill extends Asset {
44
63
  kind: "skill";
45
64
  requiredContext: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/model.js CHANGED
@@ -1,2 +1,5 @@
1
- export {};
1
+ /** Return the deterministic owner used by catalog consumers and Readiness. */
2
+ export function effectiveAssetOwner(asset) {
3
+ return asset.ownership.effectiveOwner ?? undefined;
4
+ }
2
5
  //# sourceMappingURL=model.js.map
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AA6EA,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,OAAO,KAAK,CAAC,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC;AACrD,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Renma's versioned deterministic quality policy.
3
+ *
4
+ * These values are Renma advisories unless a field is explicitly grouped
5
+ * under `agentSkills`. They are deliberately internal: repositories
6
+ * cannot override them through renma.config.json yet.
7
+ */
8
+ export declare const RENMA_QUALITY_PROFILE_VERSION: `renma-quality@${string}`;
9
+ export declare const DEFAULT_QUALITY_PROFILE: {
10
+ readonly profile: `renma-quality@${string}`;
11
+ readonly descriptionMinChars: 0;
12
+ readonly skillTokenWarn: 2000;
13
+ readonly skillTokenStrongWarn: 5000;
14
+ readonly contentTokenWarn: {
15
+ readonly context: 4000;
16
+ readonly reference: 5000;
17
+ readonly profile: 2000;
18
+ readonly example: 2500;
19
+ };
20
+ readonly frontmatterMaxLines: 48;
21
+ readonly frontmatterMaxChars: 4096;
22
+ readonly metadataListItemMaxChars: 256;
23
+ readonly lowHeadingDensityMinTokens: 400;
24
+ readonly lowHeadingDensityMinHeadings: 2;
25
+ readonly reusableContextCandidate: {
26
+ readonly minLines: 60;
27
+ readonly minTokens: 800;
28
+ readonly minSignals: 4;
29
+ };
30
+ readonly sharedSupportCandidate: {
31
+ readonly minLines: 80;
32
+ readonly minTokens: 1200;
33
+ readonly minHeadings: 3;
34
+ readonly minPhrases: 4;
35
+ };
36
+ readonly repeatedContext: {
37
+ readonly exactSectionMinTokens: 40;
38
+ readonly exactSectionMinChars: 240;
39
+ readonly exactSectionMinFiles: 2;
40
+ readonly exactCodeMinChars: 80;
41
+ readonly exactCodeMinTokens: 10;
42
+ readonly exactCodeMinFiles: 2;
43
+ readonly headingMinChars: 24;
44
+ readonly headingMinTokens: 3;
45
+ readonly headingMinFiles: 3;
46
+ readonly tokenShingleTokens: 40;
47
+ readonly tokenShingleMinFiles: 3;
48
+ readonly tokenShingleNearbyLineWindow: 8;
49
+ readonly tokenShingleMinUniqueTokens: 12;
50
+ readonly tokenShingleMinUsefulTokens: 14;
51
+ readonly tokenShingleMinChars: 140;
52
+ readonly findingCap: 10;
53
+ };
54
+ readonly readiness: {
55
+ readonly blockingDiagnosticPenalty: 40;
56
+ readonly unresolvedRequiredGraphPenalty: 30;
57
+ readonly ownershipMaximumPenalty: 20;
58
+ readonly emptyInventoryPenalty: 10;
59
+ readonly workflowClarityPenalty: 10;
60
+ readonly workflowOptionalContextPenalty: 5;
61
+ readonly workflowRequiredInputsPenalty: 5;
62
+ readonly workflowCompletionCriteriaPenalty: 10;
63
+ readonly layoutWarningPenalty: 5;
64
+ readonly layoutFailurePenalty: 15;
65
+ readonly readyMinimumScore: 90;
66
+ readonly needsAttentionMinimumScore: 70;
67
+ };
68
+ readonly agentSkills: {
69
+ readonly nameMaxChars: 64;
70
+ readonly descriptionMinChars: 1;
71
+ readonly descriptionMaxChars: 1024;
72
+ readonly compatibilityMaxChars: 500;
73
+ readonly skillBodyRecommendedMaxTokens: 5000;
74
+ readonly skillRecommendedMaxLines: 500;
75
+ readonly recommendedReferenceDepth: 1;
76
+ };
77
+ readonly scan: {
78
+ readonly defaultMaxFileSizeBytes: number;
79
+ readonly defaultMaxDepth: 16;
80
+ readonly defaultConcurrency: 16;
81
+ };
82
+ readonly presentation: {
83
+ readonly markdownReadinessFindingCap: 50;
84
+ readonly topSummaryItemCap: 10;
85
+ };
86
+ readonly security: {
87
+ readonly precedingLineFastPath: 2;
88
+ };
89
+ };
90
+ export type QualityProfile = typeof DEFAULT_QUALITY_PROFILE;
91
+ //# sourceMappingURL=quality-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-profile.d.ts","sourceRoot":"","sources":["../src/quality-profile.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,2BACO,CAAC;AAElD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgF1B,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,uBAAuB,CAAC"}
@@ -0,0 +1,91 @@
1
+ import packageJson from "../package.json" with { type: "json" };
2
+ /**
3
+ * Renma's versioned deterministic quality policy.
4
+ *
5
+ * These values are Renma advisories unless a field is explicitly grouped
6
+ * under `agentSkills`. They are deliberately internal: repositories
7
+ * cannot override them through renma.config.json yet.
8
+ */
9
+ export const RENMA_QUALITY_PROFILE_VERSION = `renma-quality@${packageJson.version}`;
10
+ export const DEFAULT_QUALITY_PROFILE = {
11
+ profile: RENMA_QUALITY_PROFILE_VERSION,
12
+ descriptionMinChars: 0,
13
+ skillTokenWarn: 2_000,
14
+ skillTokenStrongWarn: 5_000,
15
+ contentTokenWarn: {
16
+ context: 4_000,
17
+ reference: 5_000,
18
+ profile: 2_000,
19
+ example: 2_500,
20
+ },
21
+ frontmatterMaxLines: 48,
22
+ frontmatterMaxChars: 4_096,
23
+ metadataListItemMaxChars: 256,
24
+ lowHeadingDensityMinTokens: 400,
25
+ lowHeadingDensityMinHeadings: 2,
26
+ reusableContextCandidate: {
27
+ minLines: 60,
28
+ minTokens: 800,
29
+ minSignals: 4,
30
+ },
31
+ sharedSupportCandidate: {
32
+ minLines: 80,
33
+ minTokens: 1_200,
34
+ minHeadings: 3,
35
+ minPhrases: 4,
36
+ },
37
+ repeatedContext: {
38
+ exactSectionMinTokens: 40,
39
+ exactSectionMinChars: 240,
40
+ exactSectionMinFiles: 2,
41
+ exactCodeMinChars: 80,
42
+ exactCodeMinTokens: 10,
43
+ exactCodeMinFiles: 2,
44
+ headingMinChars: 24,
45
+ headingMinTokens: 3,
46
+ headingMinFiles: 3,
47
+ tokenShingleTokens: 40,
48
+ tokenShingleMinFiles: 3,
49
+ tokenShingleNearbyLineWindow: 8,
50
+ tokenShingleMinUniqueTokens: 12,
51
+ tokenShingleMinUsefulTokens: 14,
52
+ tokenShingleMinChars: 140,
53
+ findingCap: 10,
54
+ },
55
+ readiness: {
56
+ blockingDiagnosticPenalty: 40,
57
+ unresolvedRequiredGraphPenalty: 30,
58
+ ownershipMaximumPenalty: 20,
59
+ emptyInventoryPenalty: 10,
60
+ workflowClarityPenalty: 10,
61
+ workflowOptionalContextPenalty: 5,
62
+ workflowRequiredInputsPenalty: 5,
63
+ workflowCompletionCriteriaPenalty: 10,
64
+ layoutWarningPenalty: 5,
65
+ layoutFailurePenalty: 15,
66
+ readyMinimumScore: 90,
67
+ needsAttentionMinimumScore: 70,
68
+ },
69
+ agentSkills: {
70
+ nameMaxChars: 64,
71
+ descriptionMinChars: 1,
72
+ descriptionMaxChars: 1_024,
73
+ compatibilityMaxChars: 500,
74
+ skillBodyRecommendedMaxTokens: 5_000,
75
+ skillRecommendedMaxLines: 500,
76
+ recommendedReferenceDepth: 1,
77
+ },
78
+ scan: {
79
+ defaultMaxFileSizeBytes: 512 * 1_024,
80
+ defaultMaxDepth: 16,
81
+ defaultConcurrency: 16,
82
+ },
83
+ presentation: {
84
+ markdownReadinessFindingCap: 50,
85
+ topSummaryItemCap: 10,
86
+ },
87
+ security: {
88
+ precedingLineFastPath: 2,
89
+ },
90
+ };
91
+ //# sourceMappingURL=quality-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-profile.js","sourceRoot":"","sources":["../src/quality-profile.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC,iBAAiB,WAAW,CAAC,OAAO,EAAW,CAAC;AAElD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,6BAA6B;IACtC,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,KAAK;IACrB,oBAAoB,EAAE,KAAK;IAC3B,gBAAgB,EAAE;QAChB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;KACf;IACD,mBAAmB,EAAE,EAAE;IACvB,mBAAmB,EAAE,KAAK;IAC1B,wBAAwB,EAAE,GAAG;IAC7B,0BAA0B,EAAE,GAAG;IAC/B,4BAA4B,EAAE,CAAC;IAC/B,wBAAwB,EAAE;QACxB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,CAAC;KACd;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;KACd;IACD,eAAe,EAAE;QACf,qBAAqB,EAAE,EAAE;QACzB,oBAAoB,EAAE,GAAG;QACzB,oBAAoB,EAAE,CAAC;QACvB,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC;QAClB,kBAAkB,EAAE,EAAE;QACtB,oBAAoB,EAAE,CAAC;QACvB,4BAA4B,EAAE,CAAC;QAC/B,2BAA2B,EAAE,EAAE;QAC/B,2BAA2B,EAAE,EAAE;QAC/B,oBAAoB,EAAE,GAAG;QACzB,UAAU,EAAE,EAAE;KACf;IACD,SAAS,EAAE;QACT,yBAAyB,EAAE,EAAE;QAC7B,8BAA8B,EAAE,EAAE;QAClC,uBAAuB,EAAE,EAAE;QAC3B,qBAAqB,EAAE,EAAE;QACzB,sBAAsB,EAAE,EAAE;QAC1B,8BAA8B,EAAE,CAAC;QACjC,6BAA6B,EAAE,CAAC;QAChC,iCAAiC,EAAE,EAAE;QACrC,oBAAoB,EAAE,CAAC;QACvB,oBAAoB,EAAE,EAAE;QACxB,iBAAiB,EAAE,EAAE;QACrB,0BAA0B,EAAE,EAAE;KAC/B;IACD,WAAW,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,CAAC;QACtB,mBAAmB,EAAE,KAAK;QAC1B,qBAAqB,EAAE,GAAG;QAC1B,6BAA6B,EAAE,KAAK;QACpC,wBAAwB,EAAE,GAAG;QAC7B,yBAAyB,EAAE,CAAC;KAC7B;IACD,IAAI,EAAE;QACJ,uBAAuB,EAAE,GAAG,GAAG,KAAK;QACpC,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE,EAAE;KACvB;IACD,YAAY,EAAE;QACZ,2BAA2B,EAAE,EAAE;QAC/B,iBAAiB,EAAE,EAAE;KACtB;IACD,QAAQ,EAAE;QACR,qBAAqB,EAAE,CAAC;KACzB;CACO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"repeated-context.d.ts","sourceRoot":"","sources":["../src/repeated-context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAS1D,KAAK,wBAAwB,GACzB,OAAO,cAAc,CAAC,sBAAsB,GAC5C,OAAO,cAAc,CAAC,sBAAsB,GAC5C,OAAO,cAAc,CAAC,yBAAyB,GAC/C,OAAO,cAAc,CAAC,mBAAmB,GACzC,OAAO,cAAc,CAAC,8BAA8B,CAAC;AA0BzD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,wBAAwB,GAC3B,MAAM,CAER;AA2CD,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,EAAE,CAwCX"}
1
+ {"version":3,"file":"repeated-context.d.ts","sourceRoot":"","sources":["../src/repeated-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI1D,KAAK,wBAAwB,GACzB,OAAO,cAAc,CAAC,sBAAsB,GAC5C,OAAO,cAAc,CAAC,sBAAsB,GAC5C,OAAO,cAAc,CAAC,yBAAyB,GAC/C,OAAO,cAAc,CAAC,mBAAmB,GACzC,OAAO,cAAc,CAAC,8BAA8B,CAAC;AA8BzD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,wBAAwB,GAC3B,MAAM,CAER;AA2CD,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,EAAE,CAoCX"}