renma 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/CHANGELOG.md +123 -1
  2. package/README.md +11 -1
  3. package/architecture.md +14 -4
  4. package/design.md +13 -2
  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 +9 -5
  14. package/dist/cli-help.d.ts.map +1 -1
  15. package/dist/cli-help.js +9 -0
  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 +14 -0
  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/diagnostic-ids.d.ts +8 -0
  62. package/dist/diagnostic-ids.d.ts.map +1 -1
  63. package/dist/diagnostic-ids.js +8 -0
  64. package/dist/diagnostic-ids.js.map +1 -1
  65. package/dist/discovery.d.ts +5 -0
  66. package/dist/discovery.d.ts.map +1 -1
  67. package/dist/discovery.js +108 -65
  68. package/dist/discovery.js.map +1 -1
  69. package/dist/markdown.d.ts.map +1 -1
  70. package/dist/markdown.js +15 -0
  71. package/dist/markdown.js.map +1 -1
  72. package/dist/model.d.ts +17 -1
  73. package/dist/model.d.ts.map +1 -1
  74. package/dist/model.js +4 -1
  75. package/dist/model.js.map +1 -1
  76. package/dist/quality-profile.d.ts +91 -0
  77. package/dist/quality-profile.d.ts.map +1 -0
  78. package/dist/quality-profile.js +91 -0
  79. package/dist/quality-profile.js.map +1 -0
  80. package/dist/repeated-context.d.ts.map +1 -1
  81. package/dist/repeated-context.js +38 -83
  82. package/dist/repeated-context.js.map +1 -1
  83. package/dist/repository-boundary.d.ts +30 -0
  84. package/dist/repository-boundary.d.ts.map +1 -0
  85. package/dist/repository-boundary.js +116 -0
  86. package/dist/repository-boundary.js.map +1 -0
  87. package/dist/repository-evidence.d.ts +2 -0
  88. package/dist/repository-evidence.d.ts.map +1 -1
  89. package/dist/repository-evidence.js +6 -4
  90. package/dist/repository-evidence.js.map +1 -1
  91. package/dist/repository-paths.d.ts +6 -2
  92. package/dist/repository-paths.d.ts.map +1 -1
  93. package/dist/repository-paths.js +75 -24
  94. package/dist/repository-paths.js.map +1 -1
  95. package/dist/rules.d.ts +2 -0
  96. package/dist/rules.d.ts.map +1 -1
  97. package/dist/rules.js +263 -176
  98. package/dist/rules.js.map +1 -1
  99. package/dist/scanner.d.ts.map +1 -1
  100. package/dist/scanner.js +5 -1
  101. package/dist/scanner.js.map +1 -1
  102. package/dist/security-diagnostics.d.ts.map +1 -1
  103. package/dist/security-diagnostics.js +95 -30
  104. package/dist/security-diagnostics.js.map +1 -1
  105. package/dist/security-diff.d.ts +5 -2
  106. package/dist/security-diff.d.ts.map +1 -1
  107. package/dist/security-diff.js +20 -4
  108. package/dist/security-diff.js.map +1 -1
  109. package/dist/security-policy-inventory.d.ts +15 -3
  110. package/dist/security-policy-inventory.d.ts.map +1 -1
  111. package/dist/security-policy-inventory.js +123 -26
  112. package/dist/security-policy-inventory.js.map +1 -1
  113. package/dist/security-policy.d.ts +7 -0
  114. package/dist/security-policy.d.ts.map +1 -1
  115. package/dist/security-policy.js +70 -7
  116. package/dist/security-policy.js.map +1 -1
  117. package/dist/security-posture.d.ts.map +1 -1
  118. package/dist/security-posture.js +2 -1
  119. package/dist/security-posture.js.map +1 -1
  120. package/dist/skill-migration.js +2 -0
  121. package/dist/skill-migration.js.map +1 -1
  122. package/dist/static-support.d.ts +13 -0
  123. package/dist/static-support.d.ts.map +1 -0
  124. package/dist/static-support.js +284 -0
  125. package/dist/static-support.js.map +1 -0
  126. package/dist/token-estimator.d.ts +21 -0
  127. package/dist/token-estimator.d.ts.map +1 -0
  128. package/dist/token-estimator.js +84 -0
  129. package/dist/token-estimator.js.map +1 -0
  130. package/dist/trust-graph.d.ts +3 -3
  131. package/dist/trust-graph.d.ts.map +1 -1
  132. package/dist/trust-graph.js +69 -10
  133. package/dist/trust-graph.js.map +1 -1
  134. package/dist/types.d.ts +6 -1
  135. package/dist/types.d.ts.map +1 -1
  136. package/docs/README.md +13 -7
  137. package/docs/advanced-skill-authoring.md +16 -9
  138. package/docs/agent-skills-compatibility.md +10 -2
  139. package/docs/authoring-guide.md +62 -4
  140. package/docs/diagnostics.md +44 -11
  141. package/docs/quality-profile.md +123 -0
  142. package/docs/repository-context-bom.md +67 -8
  143. package/docs/schemas/repository-context-bom-v2.schema.json +648 -0
  144. package/docs/schemas/trust-graph-v2.schema.json +301 -0
  145. package/docs/security-policy.md +21 -5
  146. package/docs/trust-graph.md +47 -0
  147. package/docs/user-manual.md +34 -5
  148. package/examples/context-repo/README.md +6 -7
  149. package/examples/context-repo/contexts/domain/payment/idempotency.md +7 -0
  150. package/examples/context-repo/contexts/testing/boundary-value-analysis.md +7 -0
  151. package/examples/context-repo/contexts/testing/negative-testing.md +7 -0
  152. package/examples/context-repo/skills/testing/spec-review/SKILL.md +5 -0
  153. package/package.json +3 -1
  154. package/plan-discovery.md +24 -15
  155. package/plan.md +59 -119
  156. package/scripts/verify-package.mjs +8 -1
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAWA,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,QAAkB;IAC9C,IACE,QAAQ,CAAC,qBAAqB,KAAK,QAAQ;QAC3C,QAAQ,CAAC,sBAAsB,KAAK,IAAI,EACxC,CAAC;QACD,OAAO;YACL,QAAQ;YACR,KAAK,EACH,QAAQ,CAAC,qBAAqB,KAAK,QAAQ;gBACzC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YACrC,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,EAAE;YAClB,iBAAiB,EAAE,EAAE;SACtB,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,UAA8B,CAAC;IACnC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,UAAU,GAAa,EAAE,CAAC;IAE9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,GAAG,UAAU,CAAC;gBACxB,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/B,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC;oBACd,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;gBACH,UAAU,GAAG,SAAS,CAAC;gBACvB,aAAa,GAAG,EAAE,CAAC;gBACnB,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC;gBAC9B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC9B,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACtB,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,KAAK,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,UAAU;QACV,KAAK;QACL,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,cAAc,EAAE,QAAQ,CAAC,MAAM;QAC/B,iBAAiB,EAAE,QAAQ,CAAC,SAAS;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,eAAe;IACf,YAAY;IACZ,OAAO;IACP,kBAAkB;IAClB,WAAW;IACX,eAAe;CAChB,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAe;IACrD,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,MAAM,MAAM,GAA0C,EAAE,CAAC;IACzD,MAAM,SAAS,GAA4C,EAAE,CAAC;IAC9D,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE7D,IAAI,aAAiC,CAAC;IACtC,IAAI,mBAAuC,CAAC;IAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM;QAC1B,MAAM,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,eAAe,CAAC,IAAI,CAClB,wBAAwB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CACnE,CAAC;YACF,MAAM,CAAC,aAAa,CAAC,GAAG,wBAAwB,CAC9C,IAAI,EACJ,aAAa,EACb,KAAK,EACL,mBAAmB,IAAI,KAAK,EAC5B,KAAK,CACN,CAAC;YACF,SAAS;QACX,CAAC;QAED,aAAa,GAAG,SAAS,CAAC;QAC1B,mBAAmB,GAAG,SAAS,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACvE,aAAa,GAAG,GAAG,CAAC;YACpB,mBAAmB,GAAG,KAAK,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAY,EACZ,GAAW,EACX,KAAe,EACf,UAAkB,EAClB,QAAgB;IAEhB,OAAO;QACL,IAAI;QACJ,GAAG;QACH,SAAS,EAAE,UAAU,GAAG,CAAC;QACzB,OAAO,EAAE,QAAQ,GAAG,CAAC;QACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KACtD,CAAC;AACJ,CAAC"}
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;
@@ -30,16 +30,32 @@ export interface AssetMetadata {
30
30
  requiresLens?: string[];
31
31
  optionalLens?: string[];
32
32
  }
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
+ }
33
42
  /** Repository object Renma can catalog, validate, reference, or report on. */
34
43
  export interface Asset {
35
44
  id: string;
36
45
  kind: AssetKind;
37
46
  sourcePath: string;
38
47
  contentHash: string;
48
+ sizeBytes: number;
49
+ contentClassification: "text" | "binary";
50
+ markdownParserEligible: boolean;
51
+ /** Declared and effective ownership with explicit provenance. */
52
+ ownership: AssetOwnership;
39
53
  metadata: AssetMetadata;
40
54
  metadataFields: Record<string, MetadataFieldEvidence>;
41
55
  metadataListItems: Record<string, MetadataFieldEvidence[]>;
42
56
  }
57
+ /** Return the deterministic owner used by catalog consumers and Readiness. */
58
+ export declare function effectiveAssetOwner(asset: Asset): string | undefined;
43
59
  export interface Skill extends Asset {
44
60
  kind: "skill";
45
61
  requiredContext: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEhF,oDAAoD;AACpD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;AAEhF,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAEzD,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,CAAC;AAEjB,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,8EAA8E;AAC9E,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,KAAM,SAAQ,KAAK;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;CACxD;AAED,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,sFAAsF;AACtF,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,EAAE,UAAU,EAAE,CAAC;CAC5B"}
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":"AA0EA,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"}
@@ -1,15 +1,17 @@
1
1
  import { createHash } from "node:crypto";
2
- import path from "node:path";
3
2
  import { DIAGNOSTIC_IDS } from "./diagnostic-ids.js";
3
+ import { DEFAULT_QUALITY_PROFILE } from "./quality-profile.js";
4
+ import { estimateTokens, estimatedTokenUnits } from "./token-estimator.js";
5
+ const QUALITY = DEFAULT_QUALITY_PROFILE;
4
6
  const FINDING_CAPS = {
5
- [DIAGNOSTIC_IDS.MAINT_REPEATED_SECTION]: 10,
6
- [DIAGNOSTIC_IDS.MAINT_REPEATED_HEADING]: 10,
7
- [DIAGNOSTIC_IDS.MAINT_REPEATED_CODE_BLOCK]: 10,
8
- [DIAGNOSTIC_IDS.MAINT_REPEATED_LINK]: 10,
9
- [DIAGNOSTIC_IDS.MAINT_REPEATED_CONTEXT_PATTERN]: 10,
7
+ [DIAGNOSTIC_IDS.MAINT_REPEATED_SECTION]: QUALITY.repeatedContext.findingCap,
8
+ [DIAGNOSTIC_IDS.MAINT_REPEATED_HEADING]: QUALITY.repeatedContext.findingCap,
9
+ [DIAGNOSTIC_IDS.MAINT_REPEATED_CODE_BLOCK]: QUALITY.repeatedContext.findingCap,
10
+ [DIAGNOSTIC_IDS.MAINT_REPEATED_LINK]: QUALITY.repeatedContext.findingCap,
11
+ [DIAGNOSTIC_IDS.MAINT_REPEATED_CONTEXT_PATTERN]: QUALITY.repeatedContext.findingCap,
10
12
  };
11
- const SHINGLE_SIZE = 24;
12
- const TOKEN_SHINGLE_NEARBY_LINE_WINDOW = 8;
13
+ const SHINGLE_SIZE = QUALITY.repeatedContext.tokenShingleTokens;
14
+ const TOKEN_SHINGLE_NEARBY_LINE_WINDOW = QUALITY.repeatedContext.tokenShingleNearbyLineWindow;
13
15
  export function repeatedContextFindingCap(id) {
14
16
  return FINDING_CAPS[id];
15
17
  }
@@ -53,12 +55,12 @@ const COMMON_CONTEXT_TOKENS = new Set([
53
55
  "run",
54
56
  ]);
55
57
  export function detectRepeatedContextPatterns(documents) {
58
+ const markdownDocuments = documents.filter((document) => document.artifact.markdownParserEligible === true);
56
59
  const findings = [
57
- ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_SECTION, "Repeated section", "section_hash", collectRepeatedSections(documents), "Move the repeated section into an owned source-of-truth context or reference, then replace copies with explicit references where appropriate."),
58
- ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_HEADING, "Repeated heading", "heading", collectRepeatedHeadings(documents), "Review whether these similarly named sections are intentional navigation or a sign that knowledge should be consolidated under one owned context."),
59
- ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_CODE_BLOCK, "Repeated code block", "code_block", collectRepeatedCodeBlocks(documents), "Move the repeated command or code sample into one maintained reference, then link to it from dependent skills or docs."),
60
- ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_LINK, "Repeated link target", "link_target", collectRepeatedLinks(documents), "Check whether the repeated link target should be declared as a shared reference or source-of-truth dependency."),
61
- ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_CONTEXT_PATTERN, "Repeated context pattern", "token_shingle", collectRepeatedTokenShingles(documents), "Use the repeated token sequence as evidence for a consolidation proposal, then have a human approve any reviewable patch."),
60
+ ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_SECTION, "Repeated section", "section_hash", collectRepeatedSections(markdownDocuments), "Move the repeated section into an owned source-of-truth context or reference, then replace copies with explicit references where appropriate."),
61
+ ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_HEADING, "Repeated heading", "heading", collectRepeatedHeadings(markdownDocuments), "Review whether these similarly named sections are intentional navigation or a sign that knowledge should be consolidated under one owned context."),
62
+ ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_CODE_BLOCK, "Repeated code block", "code_block", collectRepeatedCodeBlocks(markdownDocuments), "Move the repeated command or code sample into one maintained reference, then link to it from dependent skills or docs."),
63
+ ...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_CONTEXT_PATTERN, "Repeated context pattern", "token_shingle", collectRepeatedTokenShingles(markdownDocuments), "Use the repeated token sequence as evidence for a consolidation proposal, then have a human approve any reviewable patch."),
62
64
  ];
63
65
  return findings.sort(compareFindings);
64
66
  }
@@ -72,7 +74,9 @@ function collectRepeatedSections(documents) {
72
74
  const endLine = findSectionEndLine(document, index);
73
75
  const lines = document.lines.slice(heading.line - 1, endLine);
74
76
  const normalized = normalizeWhitespace(lines.join("\n"));
75
- if (tokenCount(normalized) < 40 || normalized.length < 240)
77
+ if (estimateTokens(normalized) <
78
+ QUALITY.repeatedContext.exactSectionMinTokens ||
79
+ normalized.length < QUALITY.repeatedContext.exactSectionMinChars)
76
80
  continue;
77
81
  const key = hashText(normalized);
78
82
  addOccurrence(groups, {
@@ -88,15 +92,15 @@ function collectRepeatedSections(documents) {
88
92
  });
89
93
  }
90
94
  }
91
- return repeatedCrossFileGroups(groups, 2);
95
+ return repeatedCrossFileGroups(groups, QUALITY.repeatedContext.exactSectionMinFiles);
92
96
  }
93
97
  function collectRepeatedHeadings(documents) {
94
98
  const groups = new Map();
95
99
  for (const document of documents) {
96
100
  for (const heading of document.headings) {
97
101
  const normalized = normalizeHeading(heading.text);
98
- if (normalized.length < 24 ||
99
- tokenCount(normalized) < 3 ||
102
+ if (normalized.length < QUALITY.repeatedContext.headingMinChars ||
103
+ estimateTokens(normalized) < QUALITY.repeatedContext.headingMinTokens ||
100
104
  GENERIC_HEADINGS.has(normalized)) {
101
105
  continue;
102
106
  }
@@ -113,14 +117,15 @@ function collectRepeatedHeadings(documents) {
113
117
  });
114
118
  }
115
119
  }
116
- return repeatedCrossFileGroups(groups, 2);
120
+ return repeatedCrossFileGroups(groups, QUALITY.repeatedContext.headingMinFiles);
117
121
  }
118
122
  function collectRepeatedCodeBlocks(documents) {
119
123
  const groups = new Map();
120
124
  for (const document of documents) {
121
125
  for (const fence of document.codeFences) {
122
126
  const normalized = normalizeWhitespace(fence.content);
123
- if (normalized.length < 80 || tokenCount(normalized) < 10)
127
+ if (normalized.length < QUALITY.repeatedContext.exactCodeMinChars ||
128
+ estimateTokens(normalized) < QUALITY.repeatedContext.exactCodeMinTokens)
124
129
  continue;
125
130
  const language = fence.language || "plain";
126
131
  const key = hashText(`${language}\n${normalized}`);
@@ -137,29 +142,7 @@ function collectRepeatedCodeBlocks(documents) {
137
142
  });
138
143
  }
139
144
  }
140
- return repeatedCrossFileGroups(groups, 2);
141
- }
142
- function collectRepeatedLinks(documents) {
143
- const groups = new Map();
144
- for (const document of documents) {
145
- for (const link of document.links) {
146
- const target = normalizeLocalMarkdownLinkTarget(link.target, document.artifact.path);
147
- if (!target)
148
- continue;
149
- addOccurrence(groups, {
150
- kind: "link_target",
151
- key: target,
152
- label: target,
153
- occurrence: {
154
- path: document.artifact.path,
155
- startLine: link.line,
156
- endLine: link.line,
157
- snippet: document.lines[link.line - 1] ?? link.target,
158
- },
159
- });
160
- }
161
- }
162
- return repeatedCrossFileGroups(groups, 3);
145
+ return repeatedCrossFileGroups(groups, QUALITY.repeatedContext.exactCodeMinFiles);
163
146
  }
164
147
  function collectRepeatedTokenShingles(documents) {
165
148
  const groups = new Map();
@@ -190,7 +173,7 @@ function collectRepeatedTokenShingles(documents) {
190
173
  });
191
174
  }
192
175
  }
193
- return collapseNearDuplicateTokenShingles(repeatedCrossFileGroups(groups, 2));
176
+ return collapseNearDuplicateTokenShingles(repeatedCrossFileGroups(groups, QUALITY.repeatedContext.tokenShingleMinFiles));
194
177
  }
195
178
  function groupsToFindings(id, title, kind, groups, remediation) {
196
179
  return groups
@@ -209,7 +192,7 @@ function groupsToFindings(id, title, kind, groups, remediation) {
209
192
  id,
210
193
  title,
211
194
  category: "maintenance",
212
- severity: kind === "heading" || kind === "link_target" ? "low" : "medium",
195
+ severity: kind === "heading" ? "low" : "medium",
213
196
  confidence: confidenceForKind(kind),
214
197
  evidence: {
215
198
  path: first.path,
@@ -229,6 +212,11 @@ function groupsToFindings(id, title, kind, groups, remediation) {
229
212
  "Review all reported occurrences and choose an owned source of truth.",
230
213
  "Run renma scan after any consolidation patch.",
231
214
  ],
215
+ details: {
216
+ profile: QUALITY.profile,
217
+ unit: "estimated_tokens",
218
+ occurrenceCount: occurrences.length,
219
+ },
232
220
  },
233
221
  ];
234
222
  });
@@ -312,51 +300,22 @@ function tokenizeDocument(document) {
312
300
  if (codeLines.has(lineNumber))
313
301
  continue;
314
302
  const line = document.lines[index] ?? "";
315
- const matches = line.matchAll(/[A-Za-z0-9][A-Za-z0-9_./:-]*/g);
316
- for (const match of matches) {
317
- const value = match[0]?.toLowerCase();
318
- if (!value || value.length < 3)
303
+ for (const unit of estimatedTokenUnits(line)) {
304
+ if (!unit.value)
319
305
  continue;
320
- tokens.push({ value, line: lineNumber });
306
+ tokens.push({ value: unit.value, line: lineNumber });
321
307
  }
322
308
  }
323
309
  return tokens;
324
310
  }
325
311
  function isUsefulShingle(words) {
326
312
  const uniqueWords = new Set(words);
327
- if (uniqueWords.size < 12)
313
+ if (uniqueWords.size < QUALITY.repeatedContext.tokenShingleMinUniqueTokens)
328
314
  return false;
329
315
  const usefulWords = words.filter((word) => !COMMON_CONTEXT_TOKENS.has(word));
330
- if (usefulWords.length < 14)
316
+ if (usefulWords.length < QUALITY.repeatedContext.tokenShingleMinUsefulTokens)
331
317
  return false;
332
- return words.join(" ").length >= 140;
333
- }
334
- function normalizeLocalMarkdownLinkTarget(value, sourcePath) {
335
- const target = normalizeWhitespace(value);
336
- if (!target ||
337
- target.startsWith("#") ||
338
- /^[a-z][a-z0-9+.-]*:/i.test(target)) {
339
- return undefined;
340
- }
341
- const withoutFragment = target.replace(/#.*/, "").replace(/\?.*/, "");
342
- if (!withoutFragment)
343
- return undefined;
344
- const normalizedTarget = withoutFragment.replace(/\\/g, "/");
345
- const normalizedSource = sourcePath.replace(/\\/g, "/");
346
- const sourceDirectory = path.posix.dirname(normalizedSource);
347
- const resolved = normalizedTarget.startsWith("/")
348
- ? path.posix.normalize(normalizedTarget.slice(1))
349
- : path.posix.normalize(path.posix.join(sourceDirectory === "." ? "" : sourceDirectory, normalizedTarget));
350
- if (!resolved || resolved === "." || resolved.startsWith("../")) {
351
- return undefined;
352
- }
353
- const repositoryRelative = resolved.replace(/^\.\//, "");
354
- if (!repositoryRelative.includes("/") &&
355
- !repositoryRelative.endsWith(".md") &&
356
- !repositoryRelative.endsWith(".mdx")) {
357
- return undefined;
358
- }
359
- return repositoryRelative;
318
+ return words.join(" ").length >= QUALITY.repeatedContext.tokenShingleMinChars;
360
319
  }
361
320
  function normalizeHeading(value) {
362
321
  return normalizeWhitespace(value)
@@ -370,9 +329,6 @@ function normalizeWhitespace(value) {
370
329
  function hashText(value) {
371
330
  return createHash("sha256").update(value).digest("hex");
372
331
  }
373
- function tokenCount(value) {
374
- return value.length === 0 ? 0 : value.split(/\s+/).length;
375
- }
376
332
  function snippet(lines) {
377
333
  return lines.join("\n").trim().slice(0, 600);
378
334
  }
@@ -402,7 +358,6 @@ function confidenceForKind(kind) {
402
358
  case "token_shingle":
403
359
  return "medium";
404
360
  case "heading":
405
- case "link_target":
406
361
  return "low";
407
362
  }
408
363
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repeated-context.js","sourceRoot":"","sources":["../src/repeated-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repeated-context.js","sourceRoot":"","sources":["../src/repeated-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Stats } from "node:fs";
2
+ export type SafeRepositoryPathResult = {
3
+ state: "present";
4
+ path: string;
5
+ absolutePath: string;
6
+ stats: Stats;
7
+ } | {
8
+ state: "symlink";
9
+ path: string;
10
+ boundaryPath: string;
11
+ } | {
12
+ state: "absent" | "unreadable" | "outside";
13
+ path: string;
14
+ };
15
+ export interface RepositoryWalkResult {
16
+ files: string[];
17
+ symlinks: string[];
18
+ unreadable: Array<{
19
+ path: string;
20
+ error: string;
21
+ }>;
22
+ }
23
+ /** Walk repository files without ever following a symbolic link. */
24
+ export declare function walkRepositoryFiles(root: string, options: {
25
+ maxDepth: number;
26
+ excluded: (relativePath: string) => boolean;
27
+ }): Promise<RepositoryWalkResult>;
28
+ /** Inspect every component with lstat, never following a repository symlink. */
29
+ export declare function safeRepositoryPath(root: string, candidate: string): Promise<SafeRepositoryPathResult>;
30
+ //# sourceMappingURL=repository-boundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-boundary.d.ts","sourceRoot":"","sources":["../src/repository-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,MAAM,MAAM,wBAAwB,GAChC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACtE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,oEAAoE;AACpE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C,GACA,OAAO,CAAC,oBAAoB,CAAC,CA0D/B;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,CAAC,CA8CnC"}