renma 0.13.2 → 0.14.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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,23 @@ This project follows the spirit of [Keep a Changelog](https://keepachangelog.com
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.14.1] - 2026-07-08
10
+
11
+ ### Added
12
+
13
+ - Added repository configuration for Renma's own release and governance checks.
14
+
15
+ ### Changed
16
+
17
+ - Improved diagnostic messages, docs, and examples for discovery and security policy guidance.
18
+
19
+ ## [0.14.0] - 2026-07-08
20
+
21
+ ### Added
22
+
23
+ - Added `renma trust-graph` for deterministic Trust Graph evidence over catalog, dependency, owner, lifecycle, security policy, and diagnostic signals.
24
+ - Added `trustGraph` to JSON scan output for downstream CI and tooling consumers.
25
+
9
26
  ## [0.13.2] - 2026-07-08
10
27
 
11
28
  ### Added
@@ -237,7 +254,9 @@ Tag-only release. No GitHub Release entry was published for this version.
237
254
  - Added metadata governance, advisory diagnostics, local path checks, and semantic split suggestions.
238
255
  - Added the initial project documentation, architecture notes, package metadata, tests, and license.
239
256
 
240
- [Unreleased]: https://github.com/KazuCocoa/renma/compare/v0.13.2...HEAD
257
+ [Unreleased]: https://github.com/KazuCocoa/renma/compare/v0.14.1...HEAD
258
+ [0.14.1]: https://github.com/KazuCocoa/renma/compare/v0.14.0...v0.14.1
259
+ [0.14.0]: https://github.com/KazuCocoa/renma/compare/v0.13.2...v0.14.0
241
260
  [0.13.2]: https://github.com/KazuCocoa/renma/compare/v0.13.1...v0.13.2
242
261
  [0.13.1]: https://github.com/KazuCocoa/renma/compare/v0.13.0...v0.13.1
243
262
  [0.13.0]: https://github.com/KazuCocoa/renma/compare/v0.12.0...v0.13.0
package/README.md CHANGED
@@ -10,7 +10,7 @@ It helps teams manage reusable, human-curated context assets in Git so agents, c
10
10
 
11
11
  Renma is the deterministic governance and health layer around that repository knowledge. Instead of letting critical knowledge get copied into many prompts or buried in one-off Markdown files, Renma treats it as a software asset: named, owned, versioned, linked, checked in CI, and reviewed with deterministic diagnostics and scan findings.
12
12
 
13
- Renma now supports `scan`, `catalog`, `ownership`, `graph`, focused graph views, `readiness`, repeated-context diagnostics, semantic diff, `ci-report`, `inspect`, `scaffold`, `suggest-metadata`, `suggest-semantic-split`, and security diagnostics.
13
+ Renma now supports `scan`, `catalog`, `ownership`, `graph`, focused graph views, `trust-graph`, `readiness`, repeated-context diagnostics, semantic diff, `ci-report`, `inspect`, `scaffold`, `suggest-metadata`, `suggest-semantic-split`, and security diagnostics.
14
14
 
15
15
  Renma is especially useful when a repository contains agent-facing material such as:
16
16
 
@@ -149,6 +149,7 @@ It produces:
149
149
  - Catalog reports with deterministic asset IDs
150
150
  - Ownership coverage reports
151
151
  - Dependency graph reports
152
+ - Trust Graph evidence reports
152
153
  - Agent readiness reports
153
154
  - JSON output for CI and downstream tooling
154
155
  - Text output designed to become actionable repair prompts for humans or agents
@@ -157,6 +158,36 @@ Findings are meant to explain what is wrong, why it matters, where the evidence
157
158
 
158
159
  JSON scan output also includes additive `diagnosticsV2` and `reviewBundles` fields for LLM-assisted repair and review tooling. These normalize findings and diagnostics into stable codes, locations, typed repair constraints, structured verification steps, concise `llmHint` guidance, and deterministic groups of related issues. See the [Diagnostics Reference](docs/diagnostics.md) for the schema and examples.
159
160
 
161
+ ## Scan, Graph, Trust Graph, and Readiness
162
+
163
+ Renma exposes several deterministic views over the same repository evidence. They answer different questions.
164
+
165
+ | Command | Main question | Best for | Output shape |
166
+ | --- | --- | --- | --- |
167
+ | `scan` | What concrete problems were found? | Fixing diagnostics and CI checks | Finding list |
168
+ | `graph` | How are assets connected? | Inspecting dependencies and references | Asset relationship graph |
169
+ | `trust-graph` | What evidence helps reviewers decide whether assets are safe, owned, current, and usable enough? | Tracing owner, lifecycle, policy, dependency, reference, and diagnostic evidence per asset | Evidence graph |
170
+ | `readiness` | Is the repository broadly ready for agent-facing use? | Maintainer summary and CI reporting | Repository-level scorecard |
171
+
172
+ `trust-graph` does not decide that an asset is trustworthy. It connects deterministic evidence that humans and downstream tools can review: owner, lifecycle status, dependency and reference relationships, selected security profiles, effective policy fingerprints, and diagnostics.
173
+
174
+ In short:
175
+
176
+ - `scan` lists problems.
177
+ - `graph` shows structural relationships.
178
+ - `trust-graph` connects trust-relevant evidence.
179
+ - `readiness` summarizes repository health.
180
+
181
+ Useful command examples:
182
+
183
+ ```bash
184
+ renma scan . --format json
185
+ renma graph . --format json
186
+ renma trust-graph . --format markdown
187
+ renma trust-graph . --format json
188
+ renma readiness . --format markdown
189
+ ```
190
+
160
191
  ### Repeated context diagnostics
161
192
 
162
193
  `renma scan` reports deterministic repeated-context candidates across discovered skills, agents, profiles, references, examples, and shared context assets. These findings are evidence for consolidation, not automatic source-of-truth decisions:
@@ -199,6 +230,7 @@ Try Renma against the current repository:
199
230
  npx renma scan .
200
231
  npx renma catalog . --format json
201
232
  npx renma graph . --format mermaid
233
+ npx renma trust-graph . --format json
202
234
  npx renma readiness .
203
235
  npx renma diff . --from main --to HEAD --format markdown
204
236
  ```
@@ -218,6 +250,7 @@ Then inspect the catalog and graph:
218
250
  ```bash
219
251
  node dist/index.js catalog . --format json
220
252
  node dist/index.js graph . --format mermaid
253
+ node dist/index.js trust-graph . --format json
221
254
  node dist/index.js readiness .
222
255
  node dist/index.js diff . --from main --to HEAD --format markdown
223
256
  ```
@@ -248,12 +281,13 @@ mutate the working tree.
248
281
 
249
282
  A practical first pass is:
250
283
 
251
- 1. Run `scan` to find broken links, weak structure, risky instructions, missing lifecycle metadata, and other repairable issues.
252
- 2. Run `catalog` to see which skills, context assets, references, examples, and support files Renma discovered.
253
- 3. Run `ownership` to find assets without clear ownership.
254
- 4. Run `suggest-metadata` on existing assets that need a safe metadata retrofit prompt for a reviewed patch.
255
- 5. Run `graph` to inspect dependencies and discover orphaned or overly coupled knowledge.
256
- 6. Run `readiness` to summarize whether the repository is healthy enough for agent use.
284
+ 1. Run `catalog` to see which skills, context assets, references, examples, and support files Renma discovered.
285
+ 2. Run `scan` to find broken links, weak structure, risky instructions, missing lifecycle metadata, and other repairable issues.
286
+ 3. Run `graph` to inspect dependencies and discover orphaned or overly coupled knowledge.
287
+ 4. Run `trust-graph` to inspect deterministic owner, lifecycle, policy, dependency, and diagnostic evidence without introducing a trust score.
288
+ 5. Run `readiness` to summarize whether the repository is healthy enough for agent use.
289
+ 6. Run `ownership` to find assets without clear ownership.
290
+ 7. Run `suggest-metadata` on existing assets that need a safe metadata retrofit prompt for a reviewed patch.
257
291
 
258
292
  Renma does not require an LLM for this loop. Its core analysis is deterministic so the same repository state produces stable evidence in local development, CI, and code review.
259
293
 
@@ -270,6 +304,7 @@ renma scan <path>
270
304
  renma catalog <path>
271
305
  renma ownership <path>
272
306
  renma graph <path>
307
+ renma trust-graph <path>
273
308
  renma readiness <path>
274
309
  renma diff <path> --from <ref> --to <ref>
275
310
  renma ci-report <path> --from <ref> --to <ref>
@@ -288,9 +323,12 @@ renma scan . --fail-on high
288
323
  renma catalog . --format json
289
324
  renma ownership . --include-owned
290
325
  renma ownership . --owner qa-platform
326
+ renma graph . --format json
291
327
  renma graph . --format mermaid
292
328
  renma graph . --focus skill.testing.spec-review --view full
293
- renma readiness .
329
+ renma trust-graph . --format json
330
+ renma trust-graph . --format markdown
331
+ renma readiness . --format markdown
294
332
  renma diff . --from main --to HEAD --format markdown
295
333
  renma ci-report . --from main --to HEAD --format markdown
296
334
  renma inspect contexts/testing/boundary-value-analysis.md
@@ -300,6 +338,10 @@ renma suggest-metadata skills/testing/spec-review/SKILL.md --owner qa-platform -
300
338
 
301
339
  Use JSON output when Renma is part of CI or another tool. Use markdown output for PR-review artifacts. Use text output when a person or coding agent needs a concise repair list.
302
340
 
341
+ `renma trust-graph . --format markdown` is useful for human review. `renma trust-graph . --format json` is the source of truth for downstream Trust Graph consumers, and `renma scan . --format json` includes the same data under `trustGraph`.
342
+
343
+ Trust Graph helps reviewers inspect owner evidence, lifecycle status evidence, dependency and reference evidence, selected security profiles, effective policy fingerprints, and diagnostics in one deterministic layer. Common review questions include finding assets without owners or lifecycle status, identifying assets that share the same effective policy fingerprint, and connecting diagnostics back to asset evidence.
344
+
303
345
  `ci-report` exit behavior:
304
346
 
305
347
  - PASS/WARN: exit 0
@@ -312,15 +354,46 @@ By default, Renma looks for:
312
354
 
313
355
  ```text
314
356
  skills/**/SKILL.md
357
+ skills/**/skill.md
358
+ skills/**/*.skill.md
359
+ .agents/skills/**/SKILL.md
360
+ .agents/skills/**/skill.md
361
+ .agents/skills/**/*.skill.md
315
362
  .agents/**/*.md
316
363
  AGENTS.md
317
364
  README.md
318
365
  context/**/*.md
319
366
  contexts/**/*.md
320
367
  lenses/**/*.md
368
+ skills/**/profiles/**/*.md
369
+ skills/**/references/**/*.md
370
+ skills/**/examples/**/*.md
371
+ skills/**/scripts/**/*
321
372
  tools/**/*
322
373
  ```
323
374
 
375
+ Skill-like files outside `skills/**` or `.agents/skills/**` are not treated as
376
+ Renma skill assets by default. Renma may emit an informational layout diagnostic
377
+ to suggest moving the file if it is intended to be a Renma skill.
378
+
379
+ Under explicit skill roots, the path segments `examples`, `profiles`,
380
+ `references`, and `scripts` are reserved for skill-local support files. These
381
+ are valid support paths:
382
+
383
+ - `skills/demo/examples/happy-path.md`
384
+ - `skills/demo/references/spec.md`
385
+ - `skills/demo/scripts/helper.sh`
386
+ - `skills/demo/profiles/local.md`
387
+
388
+ The same reserved names apply under `.agents/skills/**`.
389
+
390
+ Avoid using reserved support directory names as skill names. For example,
391
+ `skills/examples/SKILL.md`, `skills/references/SKILL.md`,
392
+ `skills/scripts/SKILL.md`, and `skills/profiles/SKILL.md` are not treated as
393
+ skill entrypoints by default. Rename the skill directory, such as
394
+ `skills/example-review/SKILL.md`, if the file is intended to define a Renma
395
+ skill.
396
+
324
397
  Renma can still discover legacy skill-local support files for compatibility, but canonical reusable knowledge belongs in `contexts/`, experimental interpretation layers belong in `lenses/`, and helper implementations belong in `tools/`. Shared knowledge that is reused across skills should usually move into `contexts/` so it can have its own owner, lifecycle, dependencies, and review history.
325
398
 
326
399
  ## Configuration
@@ -333,6 +406,8 @@ Add `renma.config.json` at the repository root to tune discovery and CI behavior
333
406
  "format": "json",
334
407
  "globs": [
335
408
  "skills/**/SKILL.md",
409
+ "skills/**/skill.md",
410
+ ".agents/skills/**/SKILL.md",
336
411
  "AGENTS.md",
337
412
  "contexts/**/*.md"
338
413
  ],
@@ -551,13 +626,12 @@ Security profiles can be defined under `security.profiles` and selected by artif
551
626
  {
552
627
  "security": {
553
628
  "profiles": {
554
- "appium-disclosed-local": {
555
- "allowedDataClass": "disclosed",
629
+ "appium-local-diagnostics": {
556
630
  "networkAllowed": true,
557
631
  "externalUploadAllowed": false,
558
632
  "secretsAllowed": false,
559
633
  "humanApprovalRequired": true,
560
- "allowedData": ["sanitized diagnostics"],
634
+ "allowedData": ["repo-local-files", "sanitized-ci-diagnostics"],
561
635
  "forbiddenInputs": ["secrets", "credentials"],
562
636
  "approvedDomains": ["github.com"],
563
637
  "approvedUploadDomains": [],
@@ -572,9 +646,9 @@ Renma reports deterministic safety findings for agent-facing operational instruc
572
646
 
573
647
  These findings are guardrails for review. They do not replace secret scanning, SAST, dependency scanning, or human security review.
574
648
 
575
- Near-term security work is focused on stabilizing these diagnostics for the 0.7.0 line. After that, Renma should summarize security posture in readiness and CI reports, including effective policy, security profile resolution, approved destinations, forbidden inputs, human approval requirements, and high-risk findings.
649
+ Near-term security work is focused on stabilizing these diagnostics for the 0.7.0 line. Renma now summarizes security posture in readiness and CI reports, and exposes Trust Graph evidence for effective policy, security profile resolution, approved destinations, forbidden inputs, human approval requirements, and high-risk findings.
576
650
 
577
- Future Trust Graph work should interpret existing catalog, graph, readiness, and security evidence as deterministic trust and risk signals. It should not become a separate runtime system or a subjective trust score.
651
+ Trust Graph interprets existing catalog, graph, scan, and security evidence as deterministic repository evidence. It is not a runtime system, not enforcement, not context selection or prompt assembly, not telemetry collection, not an LLM call, and not a subjective trust score.
578
652
 
579
653
  Repository Context BOM work should start as a declared repository manifest of assets, hashes, owners, lifecycle states, dependencies, security posture, diagnostics, and readiness evidence. It should not claim what an LLM actually used at runtime. Later external consumed-context evidence may be imported and validated against Renma's repository model, while telemetry collection remains outside Renma.
580
654
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA2CA,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4GxE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA+CA,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiHxE"}
package/dist/cli.js CHANGED
@@ -11,6 +11,7 @@ import { runScaffoldCommand, } from "./commands/scaffold.js";
11
11
  import { runScanCommand } from "./commands/scan.js";
12
12
  import { runSuggestMetadataCommand, SuggestMetadataTargetError, } from "./commands/suggest-metadata.js";
13
13
  import { runSuggestSemanticSplitCommand, } from "./commands/suggest-semantic-split.js";
14
+ import { runTrustGraphCommand, } from "./commands/trust-graph.js";
14
15
  import { ConfigError } from "./config.js";
15
16
  export async function main(argv = process.argv.slice(2)) {
16
17
  let parsed;
@@ -58,6 +59,7 @@ export async function main(argv = process.argv.slice(2)) {
58
59
  command !== "diff" &&
59
60
  command !== "ci-report" &&
60
61
  command !== "graph" &&
62
+ command !== "trust-graph" &&
61
63
  command !== "ownership" &&
62
64
  command !== "readiness" &&
63
65
  command !== "scaffold" &&
@@ -92,6 +94,9 @@ export async function main(argv = process.argv.slice(2)) {
92
94
  if (command === "graph") {
93
95
  return runGraph(parsed.values, target);
94
96
  }
97
+ if (command === "trust-graph") {
98
+ return runTrustGraph(parsed.values, target);
99
+ }
95
100
  if (command === "ownership") {
96
101
  return runOwnership(parsed.values, target);
97
102
  }
@@ -295,6 +300,29 @@ async function runGraph(values, target) {
295
300
  return 2;
296
301
  }
297
302
  }
303
+ async function runTrustGraph(values, target) {
304
+ const format = values.json ? "json" : (stringValue(values.format) ?? "json");
305
+ if (format !== "json" && format !== "markdown") {
306
+ console.error("--format must be either json or markdown.");
307
+ return 2;
308
+ }
309
+ const configPath = stringValue(values.config);
310
+ const overrides = {
311
+ ...(configPath ? { configPath } : {}),
312
+ };
313
+ try {
314
+ return await runTrustGraphCommand(target, {
315
+ format: format,
316
+ overrides,
317
+ });
318
+ }
319
+ catch (error) {
320
+ console.error(error instanceof ConfigError || error instanceof Error
321
+ ? error.message
322
+ : String(error));
323
+ return 2;
324
+ }
325
+ }
298
326
  function normalizeGraphView(value) {
299
327
  if (value === "lens")
300
328
  return "layered";
@@ -459,6 +487,7 @@ function helpText() {
459
487
  " renma diff [path] --from <ref> --to <ref> [options]",
460
488
  " renma ci-report [path] --from <ref> --to <ref> [options]",
461
489
  " renma graph [path] [options]",
490
+ " renma trust-graph [path] [options]",
462
491
  " renma scaffold skill <path> [options]",
463
492
  " renma scaffold context <path> [options]",
464
493
  " renma scaffold context_lens <path> [options]",
@@ -474,6 +503,7 @@ function helpText() {
474
503
  " diff Compare deterministic readiness snapshots",
475
504
  " ci-report Print deterministic CI / PR review report",
476
505
  " graph Print deterministic repository graph snapshot",
506
+ " trust-graph Print deterministic trust evidence graph",
477
507
  " scaffold Create deterministic authoring scaffolds and prompts",
478
508
  " ownership Print deterministic ownership coverage report",
479
509
  " readiness Print deterministic agent readiness report",
@@ -486,7 +516,7 @@ function helpText() {
486
516
  "Options:",
487
517
  " -c, --config <path> scan: read JSON config from path",
488
518
  " --fail-on <level> scan: exit 1 when findings meet severity: low, medium, high, critical",
489
- " --format <format> scan: text or json; catalog/ownership/readiness/ci-report: json or markdown; graph: json, markdown, or mermaid; suggest-metadata/suggest-semantic-split: prompt or json",
519
+ " --format <format> scan: text or json; catalog/ownership/readiness/ci-report/trust-graph: json or markdown; graph: json, markdown, or mermaid; suggest-metadata/suggest-semantic-split: prompt or json",
490
520
  " --include-owned ownership: include owned asset details",
491
521
  " --json Shortcut for --format json",
492
522
  " --view <view> graph: summary, workflow, full, layered, or lens",
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ConfigOverrides } from "../config.js";
2
+ import type { TrustGraph } from "../trust-graph.js";
3
+ export type TrustGraphFormat = "json" | "markdown";
4
+ export declare function runTrustGraphCommand(targetPath: string, options: {
5
+ format: TrustGraphFormat;
6
+ overrides?: ConfigOverrides;
7
+ }): Promise<number>;
8
+ export declare function trustGraph(targetPath: string, overrides?: ConfigOverrides): Promise<TrustGraph>;
9
+ export declare function formatTrustGraphJson(graph: TrustGraph): string;
10
+ export declare function formatTrustGraphMarkdown(graph: TrustGraph): string;
11
+ //# sourceMappingURL=trust-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust-graph.d.ts","sourceRoot":"","sources":["../../src/commands/trust-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EACV,UAAU,EAKX,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAC;AAgCnD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,SAAS,CAAC,EAAE,eAAe,CAAA;CAAE,GACjE,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,eAAoB,GAC9B,OAAO,CAAC,UAAU,CAAC,CAMrB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA4ElE"}
@@ -0,0 +1,136 @@
1
+ import { scan } from "../scanner.js";
2
+ const NODE_TYPES = [
3
+ "asset",
4
+ "owner",
5
+ "lifecycle_status",
6
+ "security_profile",
7
+ "effective_policy",
8
+ "diagnostic",
9
+ ];
10
+ const EDGE_TYPES = [
11
+ "owned_by",
12
+ "has_lifecycle_status",
13
+ "declares_dependency",
14
+ "references",
15
+ "selects_security_profile",
16
+ "inherits_policy",
17
+ "has_effective_policy",
18
+ "has_diagnostic",
19
+ ];
20
+ const REVIEW_SEVERITY_ORDER = [
21
+ "error",
22
+ "critical",
23
+ "high",
24
+ "medium",
25
+ "warning",
26
+ "low",
27
+ "info",
28
+ ];
29
+ export async function runTrustGraphCommand(targetPath, options) {
30
+ const graph = await trustGraph(targetPath, options.overrides ?? {});
31
+ process.stdout.write(formatTrustGraph(graph, options.format));
32
+ return 0;
33
+ }
34
+ export async function trustGraph(targetPath, overrides = {}) {
35
+ const result = await scan(targetPath, overrides);
36
+ if (!result.trustGraph) {
37
+ throw new Error("scan did not produce Trust Graph evidence.");
38
+ }
39
+ return result.trustGraph;
40
+ }
41
+ export function formatTrustGraphJson(graph) {
42
+ return `${JSON.stringify(graph, null, 2)}\n`;
43
+ }
44
+ export function formatTrustGraphMarkdown(graph) {
45
+ const lines = [
46
+ "# Renma Trust Graph",
47
+ "",
48
+ `- Schema: ${graph.schemaVersion}`,
49
+ `- Assets: ${graph.summary.assetCount}`,
50
+ `- Nodes: ${graph.summary.nodeCount}`,
51
+ `- Edges: ${graph.summary.edgeCount}`,
52
+ `- Findings: ${graph.summary.findingCount}`,
53
+ "",
54
+ "## Node Counts",
55
+ "",
56
+ "| Type | Count |",
57
+ "| --- | ---: |",
58
+ ...NODE_TYPES.map((type) => `| ${type} | ${graph.summary.nodeTypeCounts[type]} |`),
59
+ "",
60
+ "## Edge Counts",
61
+ "",
62
+ "| Type | Count |",
63
+ "| --- | ---: |",
64
+ ...EDGE_TYPES.map((type) => `| ${type} | ${graph.summary.edgeTypeCounts[type]} |`),
65
+ "",
66
+ "## Trust Evidence Highlights",
67
+ "",
68
+ `- Owned assets: ${graph.summary.edgeTypeCounts.owned_by}/${graph.summary.assetCount}`,
69
+ `- Assets with lifecycle status: ${graph.summary.edgeTypeCounts.has_lifecycle_status}/${graph.summary.assetCount}`,
70
+ `- Selected security profiles: ${graph.summary.edgeTypeCounts.selects_security_profile}`,
71
+ `- Effective policy fingerprints: ${graph.summary.nodeTypeCounts.effective_policy}`,
72
+ `- Diagnostics linked to assets: ${graph.summary.edgeTypeCounts.has_diagnostic}`,
73
+ "",
74
+ "## Finding Severity Counts",
75
+ "",
76
+ "| Severity | Count |",
77
+ "| --- | ---: |",
78
+ `| error | ${graph.summary.findingSeverityCounts.error} |`,
79
+ `| warning | ${graph.summary.findingSeverityCounts.warning} |`,
80
+ `| info | ${graph.summary.findingSeverityCounts.info} |`,
81
+ `| critical | ${graph.summary.findingSeverityCounts.critical} |`,
82
+ `| high | ${graph.summary.findingSeverityCounts.high} |`,
83
+ `| medium | ${graph.summary.findingSeverityCounts.medium} |`,
84
+ `| low | ${graph.summary.findingSeverityCounts.low} |`,
85
+ "",
86
+ "## Finding Risk Class Counts",
87
+ "",
88
+ "| Risk Class | Count |",
89
+ "| --- | ---: |",
90
+ `| violation | ${graph.summary.riskClassCounts.violation} |`,
91
+ `| suspicious | ${graph.summary.riskClassCounts.suspicious} |`,
92
+ `| advisory | ${graph.summary.riskClassCounts.advisory} |`,
93
+ `| unclassified | ${graph.summary.riskClassCounts.unclassified} |`,
94
+ "",
95
+ "## Top Findings",
96
+ "",
97
+ ];
98
+ const topFindings = [...graph.findings]
99
+ .sort(compareFindingsForReview)
100
+ .slice(0, 20);
101
+ if (topFindings.length === 0) {
102
+ lines.push("- (none)");
103
+ }
104
+ else {
105
+ for (const finding of topFindings) {
106
+ const identifier = finding.id ?? finding.code ?? finding.source;
107
+ const risk = finding.riskClass ? ` [${finding.riskClass}]` : "";
108
+ const path = finding.path ? ` ${finding.path}` : "";
109
+ lines.push(`- ${finding.severity}${risk} ${identifier}${path}: ${singleLine(finding.message)}`);
110
+ }
111
+ }
112
+ return `${lines.join("\n")}\n`;
113
+ }
114
+ function formatTrustGraph(graph, format) {
115
+ if (format === "json")
116
+ return formatTrustGraphJson(graph);
117
+ return formatTrustGraphMarkdown(graph);
118
+ }
119
+ function compareFindingsForReview(left, right) {
120
+ const bySeverity = REVIEW_SEVERITY_ORDER.indexOf(left.severity) -
121
+ REVIEW_SEVERITY_ORDER.indexOf(right.severity);
122
+ if (bySeverity !== 0)
123
+ return bySeverity;
124
+ const byPath = (left.path ?? "").localeCompare(right.path ?? "");
125
+ if (byPath !== 0)
126
+ return byPath;
127
+ const byLine = (left.evidence?.startLine ?? 0) - (right.evidence?.startLine ?? 0);
128
+ if (byLine !== 0)
129
+ return byLine;
130
+ return ((left.id ?? left.code ?? "").localeCompare(right.id ?? right.code ?? "") ||
131
+ left.message.localeCompare(right.message));
132
+ }
133
+ function singleLine(value) {
134
+ return value.replace(/\r?\n/g, " ");
135
+ }
136
+ //# sourceMappingURL=trust-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust-graph.js","sourceRoot":"","sources":["../../src/commands/trust-graph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EAGT,MAAM,YAAY,CAAC;AAKpB,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,UA+B5B,CAAC;AAEF,+EAA+E;AAC/E,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EAGT,MAAM,YAAY,CAAC;AAKpB,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,UAoC5B,CAAC;AAEF,+EAA+E;AAC/E,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
package/dist/config.js CHANGED
@@ -8,6 +8,11 @@ export const DEFAULT_CONFIG = {
8
8
  format: "text",
9
9
  globs: [
10
10
  "skills/**/SKILL.md",
11
+ "skills/**/skill.md",
12
+ "skills/**/*.skill.md",
13
+ ".agents/skills/**/SKILL.md",
14
+ ".agents/skills/**/skill.md",
15
+ ".agents/skills/**/*.skill.md",
11
16
  ".agents/**/*.md",
12
17
  "AGENTS.md",
13
18
  "README.md",