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.
- package/CHANGELOG.md +123 -1
- package/README.md +11 -1
- package/architecture.md +14 -4
- package/design.md +13 -2
- package/dist/agent-skills.d.ts +1 -1
- package/dist/agent-skills.d.ts.map +1 -1
- package/dist/agent-skills.js +28 -8
- package/dist/agent-skills.js.map +1 -1
- package/dist/catalog.d.ts +1 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +120 -12
- package/dist/catalog.js.map +1 -1
- package/dist/cli-help.d.ts +9 -5
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +9 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +23 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/bom.d.ts +6 -3
- package/dist/commands/bom.d.ts.map +1 -1
- package/dist/commands/bom.js +27 -7
- package/dist/commands/bom.js.map +1 -1
- package/dist/commands/catalog.d.ts +1 -1
- package/dist/commands/catalog.d.ts.map +1 -1
- package/dist/commands/catalog.js +7 -1
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/ci-report.d.ts.map +1 -1
- package/dist/commands/ci-report.js +18 -5
- package/dist/commands/ci-report.js.map +1 -1
- package/dist/commands/diff.js +8 -2
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/graph.d.ts +6 -2
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/commands/graph.js +23 -2
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +2 -0
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/ownership.d.ts +4 -3
- package/dist/commands/ownership.d.ts.map +1 -1
- package/dist/commands/ownership.js +27 -23
- package/dist/commands/ownership.js.map +1 -1
- package/dist/commands/readiness.d.ts +2 -1
- package/dist/commands/readiness.d.ts.map +1 -1
- package/dist/commands/readiness.js +98 -30
- package/dist/commands/readiness.js.map +1 -1
- package/dist/commands/scaffold.d.ts +3 -0
- package/dist/commands/scaffold.d.ts.map +1 -1
- package/dist/commands/scaffold.js +14 -0
- package/dist/commands/scaffold.js.map +1 -1
- package/dist/commands/suggest-metadata.d.ts.map +1 -1
- package/dist/commands/suggest-metadata.js +2 -0
- package/dist/commands/suggest-metadata.js.map +1 -1
- package/dist/commands/trust-graph.d.ts.map +1 -1
- package/dist/commands/trust-graph.js +12 -0
- package/dist/commands/trust-graph.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -3
- package/dist/config.js.map +1 -1
- package/dist/diagnostic-ids.d.ts +8 -0
- package/dist/diagnostic-ids.d.ts.map +1 -1
- package/dist/diagnostic-ids.js +8 -0
- package/dist/diagnostic-ids.js.map +1 -1
- package/dist/discovery.d.ts +5 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +108 -65
- package/dist/discovery.js.map +1 -1
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +15 -0
- package/dist/markdown.js.map +1 -1
- package/dist/model.d.ts +17 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +4 -1
- package/dist/model.js.map +1 -1
- package/dist/quality-profile.d.ts +91 -0
- package/dist/quality-profile.d.ts.map +1 -0
- package/dist/quality-profile.js +91 -0
- package/dist/quality-profile.js.map +1 -0
- package/dist/repeated-context.d.ts.map +1 -1
- package/dist/repeated-context.js +38 -83
- package/dist/repeated-context.js.map +1 -1
- package/dist/repository-boundary.d.ts +30 -0
- package/dist/repository-boundary.d.ts.map +1 -0
- package/dist/repository-boundary.js +116 -0
- package/dist/repository-boundary.js.map +1 -0
- package/dist/repository-evidence.d.ts +2 -0
- package/dist/repository-evidence.d.ts.map +1 -1
- package/dist/repository-evidence.js +6 -4
- package/dist/repository-evidence.js.map +1 -1
- package/dist/repository-paths.d.ts +6 -2
- package/dist/repository-paths.d.ts.map +1 -1
- package/dist/repository-paths.js +75 -24
- package/dist/repository-paths.js.map +1 -1
- package/dist/rules.d.ts +2 -0
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +263 -176
- package/dist/rules.js.map +1 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +5 -1
- package/dist/scanner.js.map +1 -1
- package/dist/security-diagnostics.d.ts.map +1 -1
- package/dist/security-diagnostics.js +95 -30
- package/dist/security-diagnostics.js.map +1 -1
- package/dist/security-diff.d.ts +5 -2
- package/dist/security-diff.d.ts.map +1 -1
- package/dist/security-diff.js +20 -4
- package/dist/security-diff.js.map +1 -1
- package/dist/security-policy-inventory.d.ts +15 -3
- package/dist/security-policy-inventory.d.ts.map +1 -1
- package/dist/security-policy-inventory.js +123 -26
- package/dist/security-policy-inventory.js.map +1 -1
- package/dist/security-policy.d.ts +7 -0
- package/dist/security-policy.d.ts.map +1 -1
- package/dist/security-policy.js +70 -7
- package/dist/security-policy.js.map +1 -1
- package/dist/security-posture.d.ts.map +1 -1
- package/dist/security-posture.js +2 -1
- package/dist/security-posture.js.map +1 -1
- package/dist/skill-migration.js +2 -0
- package/dist/skill-migration.js.map +1 -1
- package/dist/static-support.d.ts +13 -0
- package/dist/static-support.d.ts.map +1 -0
- package/dist/static-support.js +284 -0
- package/dist/static-support.js.map +1 -0
- package/dist/token-estimator.d.ts +21 -0
- package/dist/token-estimator.d.ts.map +1 -0
- package/dist/token-estimator.js +84 -0
- package/dist/token-estimator.js.map +1 -0
- package/dist/trust-graph.d.ts +3 -3
- package/dist/trust-graph.d.ts.map +1 -1
- package/dist/trust-graph.js +69 -10
- package/dist/trust-graph.js.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +13 -7
- package/docs/advanced-skill-authoring.md +16 -9
- package/docs/agent-skills-compatibility.md +10 -2
- package/docs/authoring-guide.md +62 -4
- package/docs/diagnostics.md +44 -11
- package/docs/quality-profile.md +123 -0
- package/docs/repository-context-bom.md +67 -8
- package/docs/schemas/repository-context-bom-v2.schema.json +648 -0
- package/docs/schemas/trust-graph-v2.schema.json +301 -0
- package/docs/security-policy.md +21 -5
- package/docs/trust-graph.md +47 -0
- package/docs/user-manual.md +34 -5
- package/examples/context-repo/README.md +6 -7
- package/examples/context-repo/contexts/domain/payment/idempotency.md +7 -0
- package/examples/context-repo/contexts/testing/boundary-value-analysis.md +7 -0
- package/examples/context-repo/contexts/testing/negative-testing.md +7 -0
- package/examples/context-repo/skills/testing/spec-review/SKILL.md +5 -0
- package/package.json +3 -1
- package/plan-discovery.md +24 -15
- package/plan.md +59 -119
- package/scripts/verify-package.mjs +8 -1
package/dist/markdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAWA,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,QAAkB;IAC9C,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"}
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.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;
|
|
@@ -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[];
|
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,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;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/model.js
CHANGED
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":"
|
|
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"}
|
package/dist/repeated-context.js
CHANGED
|
@@ -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]:
|
|
6
|
-
[DIAGNOSTIC_IDS.MAINT_REPEATED_HEADING]:
|
|
7
|
-
[DIAGNOSTIC_IDS.MAINT_REPEATED_CODE_BLOCK]:
|
|
8
|
-
[DIAGNOSTIC_IDS.MAINT_REPEATED_LINK]:
|
|
9
|
-
[DIAGNOSTIC_IDS.MAINT_REPEATED_CONTEXT_PATTERN]:
|
|
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 =
|
|
12
|
-
const TOKEN_SHINGLE_NEARBY_LINE_WINDOW =
|
|
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(
|
|
58
|
-
...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_HEADING, "Repeated heading", "heading", collectRepeatedHeadings(
|
|
59
|
-
...groupsToFindings(DIAGNOSTIC_IDS.MAINT_REPEATED_CODE_BLOCK, "Repeated code block", "code_block", collectRepeatedCodeBlocks(
|
|
60
|
-
...groupsToFindings(DIAGNOSTIC_IDS.
|
|
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 (
|
|
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,
|
|
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 <
|
|
99
|
-
|
|
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,
|
|
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 <
|
|
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,
|
|
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,
|
|
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"
|
|
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
|
|
316
|
-
|
|
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 <
|
|
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 <
|
|
316
|
+
if (usefulWords.length < QUALITY.repeatedContext.tokenShingleMinUsefulTokens)
|
|
331
317
|
return false;
|
|
332
|
-
return words.join(" ").length >=
|
|
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"}
|