renma 0.18.1 → 0.18.3

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 (84) hide show
  1. package/CHANGELOG.md +126 -1
  2. package/README.md +60 -2
  3. package/architecture.md +4 -0
  4. package/dist/agent-skills.d.ts +5 -6
  5. package/dist/agent-skills.d.ts.map +1 -1
  6. package/dist/agent-skills.js +2 -10
  7. package/dist/agent-skills.js.map +1 -1
  8. package/dist/catalog.d.ts +28 -2
  9. package/dist/catalog.d.ts.map +1 -1
  10. package/dist/catalog.js +65 -16
  11. package/dist/catalog.js.map +1 -1
  12. package/dist/cli-help.d.ts +4 -4
  13. package/dist/cli-help.d.ts.map +1 -1
  14. package/dist/cli-help.js +5 -3
  15. package/dist/cli-help.js.map +1 -1
  16. package/dist/command-invocation.d.ts +4 -0
  17. package/dist/command-invocation.d.ts.map +1 -0
  18. package/dist/command-invocation.js +14 -0
  19. package/dist/command-invocation.js.map +1 -0
  20. package/dist/commands/inspect.d.ts +2 -61
  21. package/dist/commands/inspect.d.ts.map +1 -1
  22. package/dist/commands/inspect.js +51 -149
  23. package/dist/commands/inspect.js.map +1 -1
  24. package/dist/commands/readiness.d.ts +3 -0
  25. package/dist/commands/readiness.d.ts.map +1 -1
  26. package/dist/commands/readiness.js +9 -6
  27. package/dist/commands/readiness.js.map +1 -1
  28. package/dist/commands/suggest-metadata.d.ts +4 -17
  29. package/dist/commands/suggest-metadata.d.ts.map +1 -1
  30. package/dist/commands/suggest-metadata.js +214 -219
  31. package/dist/commands/suggest-metadata.js.map +1 -1
  32. package/dist/decisions/metadata-suggestion.d.ts +60 -0
  33. package/dist/decisions/metadata-suggestion.d.ts.map +1 -0
  34. package/dist/decisions/metadata-suggestion.js +176 -0
  35. package/dist/decisions/metadata-suggestion.js.map +1 -0
  36. package/dist/discovery.d.ts +33 -1
  37. package/dist/discovery.d.ts.map +1 -1
  38. package/dist/discovery.js +365 -51
  39. package/dist/discovery.js.map +1 -1
  40. package/dist/evidence/classification.d.ts +4 -0
  41. package/dist/evidence/classification.d.ts.map +1 -0
  42. package/dist/evidence/classification.js +15 -0
  43. package/dist/evidence/classification.js.map +1 -0
  44. package/dist/evidence/inspect.d.ts +68 -0
  45. package/dist/evidence/inspect.d.ts.map +1 -0
  46. package/dist/evidence/inspect.js +2 -0
  47. package/dist/evidence/inspect.js.map +1 -0
  48. package/dist/evidence/target.d.ts +51 -0
  49. package/dist/evidence/target.d.ts.map +1 -0
  50. package/dist/evidence/target.js +161 -0
  51. package/dist/evidence/target.js.map +1 -0
  52. package/dist/model.d.ts +2 -10
  53. package/dist/model.d.ts.map +1 -1
  54. package/dist/model.js.map +1 -1
  55. package/dist/renderers/inspect.d.ts +3 -0
  56. package/dist/renderers/inspect.d.ts.map +1 -0
  57. package/dist/renderers/inspect.js +159 -0
  58. package/dist/renderers/inspect.js.map +1 -0
  59. package/dist/renderers/metadata-suggestion.d.ts +3 -0
  60. package/dist/renderers/metadata-suggestion.d.ts.map +1 -0
  61. package/dist/renderers/metadata-suggestion.js +320 -0
  62. package/dist/renderers/metadata-suggestion.js.map +1 -0
  63. package/dist/repository-evidence.d.ts +7 -1
  64. package/dist/repository-evidence.d.ts.map +1 -1
  65. package/dist/repository-evidence.js +10 -2
  66. package/dist/repository-evidence.js.map +1 -1
  67. package/dist/scanner.d.ts.map +1 -1
  68. package/dist/scanner.js +58 -4
  69. package/dist/scanner.js.map +1 -1
  70. package/dist/skill-migration.d.ts.map +1 -1
  71. package/dist/skill-migration.js +6 -1
  72. package/dist/skill-migration.js.map +1 -1
  73. package/dist/types.d.ts +72 -0
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/types.js +50 -1
  76. package/dist/types.js.map +1 -1
  77. package/docs/README.md +2 -0
  78. package/docs/agent-skills-compatibility.md +8 -1
  79. package/docs/authoring-guide.md +62 -0
  80. package/docs/diagnostics.md +382 -2
  81. package/docs/internal-architecture.md +296 -0
  82. package/docs/user-manual.md +122 -12
  83. package/package.json +1 -1
  84. package/scripts/verify-package.mjs +154 -9
package/CHANGELOG.md CHANGED
@@ -6,6 +6,129 @@ This project follows the spirit of [Keep a Changelog](https://keepachangelog.com
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.18.3] - 2026-07-14
10
+
11
+ ### Added
12
+
13
+ - Added focused regression coverage for repository markers and guard
14
+ directories, cross-command classification evidence, historical and canonical
15
+ parent-Skill resolution, inherited governance provenance, structured command
16
+ displays, and snapshot reuse.
17
+ - Added an internal architecture guide describing repository snapshots,
18
+ resolution and evidence stages, decisions, renderers, fail-closed boundaries,
19
+ and compatibility constraints.
20
+
21
+ ### Changed
22
+
23
+ - Centralized target document and repository evidence used by `inspect` and
24
+ `suggest-metadata`, including boundary resolution, metadata-refined
25
+ classification, parent-Skill resolution, ownership, and policy provenance.
26
+ - Made repository snapshots retain shared classification, parent-Skill, and
27
+ security-policy indexes so downstream commands do not reinterpret the same
28
+ files independently.
29
+ - Changed Readiness to derive graph and scan results from one repository
30
+ snapshot instead of discovering and parsing the repository twice.
31
+ - Separated metadata-suggestion decision types and typed owner-conflict logic
32
+ from human wording. Human prompt and inspect text rendering now live behind
33
+ focused renderer boundaries while legacy module exports remain available.
34
+ - Added design comments for repository guards, outer-boundary precedence,
35
+ ownership non-inference, parent inheritance, application gates, and
36
+ repository-rooted migration collision checks.
37
+ - Removed the inspect command/renderer type cycle by placing their shared DTOs
38
+ in a neutral evidence module while preserving command-module type exports.
39
+ - Reused one Skill parent index for snapshot catalog ownership, target parent
40
+ resolution, and governance enrichment; ambiguous and unresolved repository
41
+ boundary evidence now also remain distinct internally.
42
+ - Moved the remaining pure metadata-suggestion decisions into the decision
43
+ layer without moving filesystem checks, next-action construction, or
44
+ rendering into it.
45
+
46
+ ### Compatibility
47
+
48
+ - CLI names, arguments, exit codes, JSON property names, enum values, finding
49
+ and diagnostic IDs, severity, scoring, migration direction, package entry
50
+ paths, and previously packaged deep-module entrypoints remain compatible with
51
+ 0.18.2. The package adds only the new internal modules and architecture guide.
52
+ - Scan diagnostics continue to expose structural parent candidates while
53
+ repository-aware commands may enrich the same classification to `resolved`,
54
+ `missing`, or `ambiguous`. This stage distinction avoids changing existing
55
+ diagnostic JSON.
56
+ - Blocked historical Skill migrations continue to retain partial diagnostic
57
+ candidate maps for 0.18.2 JSON compatibility. `decisionStatus: "blocked"`
58
+ remains the authoritative hard stop, and no applicable canonical frontmatter
59
+ or patch instruction is emitted.
60
+
61
+ ## [0.18.2] - 2026-07-13
62
+
63
+ ### Added
64
+
65
+ - Added one deterministic asset-classification evidence model shared by
66
+ discovery, `inspect`, `suggest-metadata`, and relevant scan diagnostics. JSON
67
+ now separates stable `matchedRule` and `reasonCode` fields from human-readable
68
+ explanations, includes concise competing-rule evidence, and keeps
69
+ classification separate from ownership and policy governance.
70
+ - Added explicit suggestion `decisionStatus`, structured decision evidence,
71
+ cross-platform next actions with separate command/argv/display fields, and
72
+ the successful `no-proposal` mode.
73
+
74
+ ### Changed
75
+
76
+ - `inspect` now reports classification for cataloged assets, files with missing
77
+ metadata, repository tools, and unknown files. When catalog evidence exists,
78
+ it reports declared or inherited ownership and policy separately.
79
+ - `suggest-metadata` now uses the shared classifier. Ordinary Skill-local
80
+ support produces no independent retrofit proposal unless an explicit
81
+ supported override is supplied; existing local metadata remains supported.
82
+ - Repository classification resolves an explicit caller root first, then the
83
+ nearest safe `.git` or Renma config marker, then an unambiguous structural
84
+ boundary. Being below the current working directory is no longer treated as
85
+ repository-root evidence.
86
+ - Skill entrypoint classification and migration now use the resolved
87
+ repository-relative path consistently. Filesystem collision checks rebase
88
+ the repository-relative migration target against that resolved root, so
89
+ invoking Renma from a nested repository's parent behaves like invoking it
90
+ inside the repository.
91
+ - Skill-local classification now records a structural parent candidate
92
+ separately from catalog-backed `resolved`, `missing`, or `ambiguous` parent
93
+ evidence. Missing and ambiguous parents block inheritance claims and metadata
94
+ proposals until the layout is reviewed.
95
+
96
+ ### Fixed
97
+
98
+ - Prevented nested `references/`, `profiles/`, `examples/`, `scripts/`, or
99
+ `assets/` names from overriding the recognized `contexts/**` or legacy
100
+ `context/**` boundary.
101
+ - Prevented `references/**`, `tools/**`, and `skills/**/tools/**` from being
102
+ misclassified as independently governed Context Assets or canonical local
103
+ support.
104
+ - Repository paths with multiple plausible structural roots now fail closed as
105
+ `repository-boundary-ambiguous`; unresolved and ambiguous suggestions no
106
+ longer manufacture a `scan .` action against the caller's current directory.
107
+ - Marker-free structural fallback now treats `profiles`, `references`,
108
+ `examples`, `scripts`, and `assets` only as ambiguity guards. Those directory
109
+ names never establish a repository root without a strong boundary, explicit
110
+ root, or repository marker.
111
+ - An explicit owner equal to an existing canonical
112
+ `metadata.renma.owner` now returns `no-proposal` and
113
+ `no-change-recommended` without candidate metadata or frontmatter.
114
+
115
+ ### Compatibility
116
+
117
+ - The `inspect` JSON outline adds `repositoryBoundary`, `classification`, and
118
+ `governance`. `repositoryBoundary` preserves resolved or unresolved boundary
119
+ evidence, including ambiguity candidates when present.
120
+ `suggest-metadata` JSON adds `classification`, `decisionStatus`, `decision`,
121
+ and `nextActions`, and may return `suggestedMode: "no-proposal"`. Relevant
122
+ diagnostic `details` may add `classification`. The new JSON fields are
123
+ additive, but the command behavior is intentionally refined: targets that
124
+ previously represented a successful no-change result may now use
125
+ `suggestedMode: "no-proposal"`, and Skill-local inheritance is reported only
126
+ after one parent resolves. Consumers should branch on `decisionStatus`, treat
127
+ unknown future `suggestedMode` values conservatively, and execute
128
+ `nextActions[].invocation.command` with `invocation.args` rather than parsing
129
+ `display`. Finding severity, scan thresholds, Readiness scoring, Agent Skills
130
+ migration direction, and supported explicit local metadata remain unchanged.
131
+
9
132
  ## [0.18.1] - 2026-07-13
10
133
 
11
134
  ### Added
@@ -492,7 +615,9 @@ Tag-only release. No GitHub Release entry was published for this version.
492
615
  - Added metadata governance, advisory diagnostics, local path checks, and semantic split suggestions.
493
616
  - Added the initial project documentation, architecture notes, package metadata, tests, and license.
494
617
 
495
- [Unreleased]: https://github.com/KazuCocoa/renma/compare/v0.18.1...HEAD
618
+ [Unreleased]: https://github.com/KazuCocoa/renma/compare/v0.18.3...HEAD
619
+ [0.18.3]: https://github.com/KazuCocoa/renma/compare/v0.18.2...v0.18.3
620
+ [0.18.2]: https://github.com/KazuCocoa/renma/compare/v0.18.1...v0.18.2
496
621
  [0.18.1]: https://github.com/KazuCocoa/renma/compare/v0.18.0...v0.18.1
497
622
  [0.18.0]: https://github.com/KazuCocoa/renma/compare/v0.17.0...v0.18.0
498
623
  [0.17.0]: https://github.com/KazuCocoa/renma/compare/v0.16.0...v0.17.0
package/README.md CHANGED
@@ -219,8 +219,10 @@ lenses/
219
219
  This is an illustrative layout, not a required domain hierarchy. `contexts/`
220
220
  is preferred and `context/` remains supported. Skill-local `references/`,
221
221
  `assets/`, `scripts/`, `examples/`, and `profiles/` are valid support material.
222
- Local support without a declared owner inherits effective ownership from its
223
- nearest owning Skill; reports distinguish inherited ownership from declarations.
222
+ Files under those canonical support directories are structurally Skill-local.
223
+ When repository evidence resolves exactly one parent Skill, local support
224
+ without a declared owner may inherit its effective ownership; reports
225
+ distinguish inherited ownership from declarations.
224
226
  When deterministic evidence shows that knowledge is reusable beyond one Skill,
225
227
  promote it to an owned Context Asset rather than moving it based on location
226
228
  alone.
@@ -234,6 +236,62 @@ Skill -> Context Asset
234
236
 
235
237
  These are static governance relationships, not runtime Context selection.
236
238
 
239
+ ## Context Asset Discovery Boundary
240
+
241
+ `contexts/**` is the preferred independently governed Context Asset root;
242
+ `context/**` remains supported for compatibility. Once a human places a file
243
+ under either root, Renma classifies it deterministically from that root. A
244
+ nested support-like directory name does not override the recognized root.
245
+
246
+ Files under canonical Skill `references/`, `profiles/`, `examples/`, `scripts/`,
247
+ and `assets/` directories are structurally Skill-local. Renma claims one parent
248
+ and possible inherited governance only after repository evidence resolves
249
+ exactly one Skill. Explicit supported local metadata remains valid, but
250
+ independent metadata is not mandatory. Top-level `references/**` is not a
251
+ Context root, top-level `tools/**` is repository implementation, and
252
+ `skills/**/tools/**` is not canonical Skill-local support; use local `scripts/`
253
+ for executable support. See
254
+ [classification evidence](docs/diagnostics.md#how-to-read-classification-evidence)
255
+ for the detailed contract.
256
+
257
+ ```text
258
+ contexts/foo/references/policy.md
259
+ -> independent Context Asset
260
+
261
+ skills/foo/references/policy.md
262
+ -> Skill-local Reference
263
+
264
+ references/policy.md
265
+ -> outside the Context root
266
+
267
+ tools/helper.mjs
268
+ -> repository implementation
269
+
270
+ skills/foo/tools/helper.mjs
271
+ -> not canonical Skill-local support
272
+ ```
273
+
274
+ Promoting local knowledge to independent Context is a human design decision
275
+ about ownership, lifecycle, reuse, and source of truth. Renma never moves a
276
+ file or infers that intent from content. `inspect` explains deterministic
277
+ classification separately from governance. `suggest-metadata` returns the
278
+ successful `no-proposal` mode when no safe metadata change is recommended.
279
+ `inspect --format json` also preserves `repositoryBoundary` evidence. If no
280
+ single repository root can be resolved, suggestions fail closed and do not
281
+ recommend scanning the caller's current directory.
282
+ For Skill-local support, the path supplies only a parent candidate; Renma claims
283
+ inheritance only after repository evidence resolves one parent Skill. A missing
284
+ or ambiguous parent blocks a metadata proposal and directs the reviewer to the
285
+ layout and scan evidence.
286
+
287
+ For an LLM-assisted improvement, start with
288
+ `renma scan . --fail-on high --format json`, inspect the target Skill and its
289
+ relevant local or Context resources, and use `suggest-metadata` only when the
290
+ evidence supports a retrofit or migration. Apply the smallest intended patch,
291
+ rerun the scan, and stop without manufacturing work when Renma returns
292
+ `no-proposal`. For a question about one path boundary, start with
293
+ `renma inspect <target> --format json`.
294
+
237
295
  ## Canonical Skill Example
238
296
 
239
297
  ```yaml
package/architecture.md CHANGED
@@ -472,6 +472,10 @@ Trust Graph v2 and Repository Context BOM v2 are implemented architecture. New
472
472
  projections should reuse the shared repository-evidence snapshot and remain
473
473
  additive unless a separately versioned contract requires a breaking change.
474
474
 
475
+ Contributors changing collection, evidence, decisions, or command rendering
476
+ should follow the [internal architecture boundaries](docs/internal-architecture.md),
477
+ including the documented fail-closed and 0.18.2 compatibility seams.
478
+
475
479
  Release sequencing belongs in [plan.md](plan.md). Proposed Skill discovery is
476
480
  isolated in [plan-discovery.md](plan-discovery.md) and is not implemented by the
477
481
  current processing pipeline.
@@ -1,5 +1,5 @@
1
1
  import { type AgentSkillDiagnosticId } from "./diagnostic-ids.js";
2
- import type { ParsedDocument } from "./types.js";
2
+ import type { CommandInvocation, ParsedDocument } from "./types.js";
3
3
  import { type ParsedYamlFrontmatter } from "./yaml-frontmatter.js";
4
4
  export declare const AGENT_SKILLS_SPECIFICATION = "https://agentskills.io/specification";
5
5
  export declare const AGENT_SKILLS_VALIDATION_PROFILE = "agentskills.io/specification@2026-07-12";
@@ -36,11 +36,10 @@ export interface AgentSkillInspection {
36
36
  frontmatter: ParsedYamlFrontmatter;
37
37
  validation: AgentSkillValidationResult;
38
38
  }
39
- export interface AgentSkillMigrationCommand {
40
- command: "renma";
41
- args: ["suggest-metadata", string];
42
- display: string;
43
- }
39
+ export type AgentSkillMigrationCommand = CommandInvocation<[
40
+ "suggest-metadata",
41
+ string
42
+ ]>;
44
43
  export interface AgentSkillsValidationSummary {
45
44
  specification: string;
46
45
  profile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-skills.d.ts","sourceRoot":"","sources":["../src/agent-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-skills.d.ts","sourceRoot":"","sources":["../src/agent-skills.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import path from "node:path";
2
2
  import { logicalSkillDirectory } from "./discovery.js";
3
3
  import { AGENT_SKILL_DIAGNOSTIC_IDS as IDS, } from "./diagnostic-ids.js";
4
4
  import { classifyRepositorySkillEntrypointPath } from "./discovery.js";
5
+ import { renmaCommand } from "./command-invocation.js";
5
6
  import { parseAgentSkillFrontmatter, } from "./yaml-frontmatter.js";
6
7
  import { DEFAULT_QUALITY_PROFILE } from "./quality-profile.js";
7
8
  export const AGENT_SKILLS_SPECIFICATION = "https://agentskills.io/specification";
@@ -168,16 +169,7 @@ function validateAgentSkillFrontmatter(document, frontmatter) {
168
169
  };
169
170
  }
170
171
  function migrationCommand(skillPath) {
171
- return {
172
- command: "renma",
173
- args: ["suggest-metadata", skillPath],
174
- display: `renma suggest-metadata ${posixShellArgument(skillPath)}`,
175
- };
176
- }
177
- function posixShellArgument(value) {
178
- if (/^[A-Za-z0-9_@%+=:,./-]+$/.test(value))
179
- return value;
180
- return `'${value.replaceAll("'", `'"'"'`)}'`;
172
+ return renmaCommand(["suggest-metadata", skillPath]);
181
173
  }
182
174
  /** Normalize and validate an Agent Skills YAML name field. */
183
175
  export function normalizeAgentSkillNameField(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-skills.js","sourceRoot":"","sources":["../src/agent-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-skills.js","sourceRoot":"","sources":["../src/agent-skills.ts"],"names":[],"mappings":"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"}
package/dist/catalog.d.ts CHANGED
@@ -1,7 +1,33 @@
1
1
  import type { Catalog } from "./model.js";
2
- import type { Diagnostic, ParsedDocument } from "./types.js";
2
+ import type { AssetClassificationEvidence, Diagnostic, ParsedDocument } from "./types.js";
3
+ export interface SkillParentCandidate {
4
+ owner: string | null;
5
+ id: string;
6
+ sourcePath: string;
7
+ }
8
+ export type SkillParentIndex = ReadonlyMap<string, readonly SkillParentCandidate[]>;
9
+ export type SkillParentResolution = {
10
+ state: "not-applicable";
11
+ } | {
12
+ state: "missing";
13
+ candidatePath: string;
14
+ } | {
15
+ state: "ambiguous";
16
+ candidatePath: string;
17
+ candidates: readonly SkillParentCandidate[];
18
+ } | {
19
+ state: "resolved";
20
+ candidatePath: string;
21
+ parent: SkillParentCandidate;
22
+ };
23
+ /** Index possible owning Skills once for both catalog and command resolution. */
24
+ export declare function buildSkillParentIndex(documents: ParsedDocument[]): SkillParentIndex;
25
+ /** Resolve a Skill-local parent using the same fail-closed index as ownership. */
26
+ export declare function resolveSkillSupportParent(relativePath: string, skillParents: SkillParentIndex): SkillParentResolution;
27
+ /** Attach resolved parent evidence without changing structural classification. */
28
+ export declare function withResolvedSkillParent(classification: AssetClassificationEvidence, relativePath: string, skillParents: SkillParentIndex): AssetClassificationEvidence;
3
29
  /** Build a deterministic catalog of skill and context entries from parsed documents. */
4
- export declare function buildCatalog(documents: ParsedDocument[], repositoryPaths?: ReadonlySet<string>): {
30
+ export declare function buildCatalog(documents: ParsedDocument[], repositoryPaths?: ReadonlySet<string>, skillParents?: SkillParentIndex): {
5
31
  catalog: Catalog;
6
32
  diagnostics: Diagnostic[];
7
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,OAAO,EAIR,MAAM,YAAY,CAAC;AAOpB,OAAO,KAAK,EAAE,UAAU,EAAY,cAAc,EAAE,MAAM,YAAY,CAAC;AASvE,wFAAwF;AACxF,wBAAgB,YAAY,CAC1B,SAAS,EAAE,cAAc,EAAE,EAC3B,eAAe,GAAE,WAAW,CAAC,MAAM,CAElC,GACA;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CA0HA"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,OAAO,EAIR,MAAM,YAAY,CAAC;AAOpB,OAAO,KAAK,EACV,2BAA2B,EAE3B,UAAU,EAEV,cAAc,EACf,MAAM,YAAY,CAAC;AASpB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,CACxC,MAAM,EACN,SAAS,oBAAoB,EAAE,CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,KAAK,EAAE,gBAAgB,CAAA;CAAE,GAC3B;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC3C;IACE,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC7C,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,oBAAoB,CAAC;CAC9B,CAAC;AAEN,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EAAE,GAC1B,gBAAgB,CAgBlB;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,gBAAgB,GAC7B,qBAAqB,CAgBvB;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,2BAA2B,EAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,gBAAgB,GAC7B,2BAA2B,CA0B7B;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAC1B,SAAS,EAAE,cAAc,EAAE,EAC3B,eAAe,GAAE,WAAW,CAAC,MAAM,CAElC,EACD,YAAY,GAAE,gBAAmD,GAChE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAyGA"}
package/dist/catalog.js CHANGED
@@ -8,10 +8,9 @@ import { DEFAULT_QUALITY_PROFILE } from "./quality-profile.js";
8
8
  import { buildStaticSupportDependencies } from "./static-support.js";
9
9
  const QUALITY = DEFAULT_QUALITY_PROFILE;
10
10
  const PLACEHOLDER_USAGE_BOUNDARY_PATTERN = /^(?:todo|tbd|tba|unknown|n\/?a|none|placeholder|to be defined)(?:[\s:-].*)?$/i;
11
- /** Build a deterministic catalog of skill and context entries from parsed documents. */
12
- export function buildCatalog(documents, repositoryPaths = new Set(documents.map((document) => document.artifact.path))) {
13
- const diagnostics = [];
14
- const skillOwners = new Map();
11
+ /** Index possible owning Skills once for both catalog and command resolution. */
12
+ export function buildSkillParentIndex(documents) {
13
+ const skillParents = new Map();
15
14
  for (const document of documents) {
16
15
  if (document.artifact.kind !== "skill")
17
16
  continue;
@@ -19,15 +18,65 @@ export function buildCatalog(documents, repositoryPaths = new Set(documents.map(
19
18
  const skillDirectory = logicalSkillDirectory(document.artifact.path);
20
19
  if (!skillDirectory)
21
20
  continue;
22
- const candidates = skillOwners.get(skillDirectory) ?? [];
21
+ const candidates = skillParents.get(skillDirectory) ?? [];
23
22
  candidates.push({
24
23
  owner: metadata.owner?.trim() || null,
25
24
  id: metadata.id ?? document.artifact.path,
26
25
  sourcePath: document.artifact.path,
27
26
  });
28
- skillOwners.set(skillDirectory, candidates);
27
+ skillParents.set(skillDirectory, candidates);
28
+ }
29
+ return skillParents;
30
+ }
31
+ /** Resolve a Skill-local parent using the same fail-closed index as ownership. */
32
+ export function resolveSkillSupportParent(relativePath, skillParents) {
33
+ const classified = classifyRepositorySkillPath(relativePath);
34
+ if (classified?.kind !== "support")
35
+ return { state: "not-applicable" };
36
+ const candidatePath = `${classified.skillDirectory}/SKILL.md`;
37
+ const candidates = skillParents.get(classified.skillDirectory) ?? [];
38
+ if (candidates.length === 0)
39
+ return { state: "missing", candidatePath };
40
+ if (candidates.length > 1) {
41
+ return {
42
+ state: "ambiguous",
43
+ candidatePath,
44
+ candidates: [...candidates].sort((left, right) => left.sourcePath.localeCompare(right.sourcePath)),
45
+ };
46
+ }
47
+ return { state: "resolved", candidatePath, parent: candidates[0] };
48
+ }
49
+ /** Attach resolved parent evidence without changing structural classification. */
50
+ export function withResolvedSkillParent(classification, relativePath, skillParents) {
51
+ const resolution = resolveSkillSupportParent(relativePath, skillParents);
52
+ if (resolution.state === "not-applicable")
53
+ return classification;
54
+ if (resolution.state === "resolved") {
55
+ return {
56
+ ...classification,
57
+ parentAssetCandidatePath: resolution.candidatePath,
58
+ parentAssetPath: resolution.parent.sourcePath,
59
+ parentResolution: "resolved",
60
+ };
29
61
  }
30
- for (const [skillDirectory, candidates] of skillOwners) {
62
+ if (resolution.state === "ambiguous") {
63
+ return {
64
+ ...classification,
65
+ parentAssetCandidatePath: resolution.candidatePath,
66
+ parentResolution: "ambiguous",
67
+ parentAssetCandidates: resolution.candidates.map((candidate) => candidate.sourcePath),
68
+ };
69
+ }
70
+ return {
71
+ ...classification,
72
+ parentAssetCandidatePath: resolution.candidatePath,
73
+ parentResolution: "missing",
74
+ };
75
+ }
76
+ /** Build a deterministic catalog of skill and context entries from parsed documents. */
77
+ export function buildCatalog(documents, repositoryPaths = new Set(documents.map((document) => document.artifact.path)), skillParents = buildSkillParentIndex(documents)) {
78
+ const diagnostics = [];
79
+ for (const [skillDirectory, candidates] of skillParents) {
31
80
  if (candidates.length <= 1)
32
81
  continue;
33
82
  diagnostics.push({
@@ -53,7 +102,7 @@ export function buildCatalog(documents, repositoryPaths = new Set(documents.map(
53
102
  }
54
103
  if (!kind)
55
104
  return undefined;
56
- const ownership = resolveAssetOwnership(document, result.metadata, skillOwners);
105
+ const ownership = resolveAssetOwnership(document, result.metadata, skillParents);
57
106
  const base = {
58
107
  id: result.metadata.id ?? document.artifact.path,
59
108
  sourcePath: document.artifact.path,
@@ -114,7 +163,9 @@ export function buildCatalog(documents, repositoryPaths = new Set(documents.map(
114
163
  diagnostics,
115
164
  };
116
165
  }
117
- function resolveAssetOwnership(document, metadata, skillOwners) {
166
+ function resolveAssetOwnership(document, metadata, skillParents) {
167
+ // Ownership is governance evidence, not a naming heuristic. Never derive it
168
+ // from the path, prose, Git author, or modification history.
118
169
  const declaredOwner = metadata.owner?.trim() || null;
119
170
  if (declaredOwner) {
120
171
  return {
@@ -123,15 +174,13 @@ function resolveAssetOwnership(document, metadata, skillOwners) {
123
174
  source: "declared",
124
175
  };
125
176
  }
126
- const classified = classifyRepositorySkillPath(document.artifact.path);
127
- if (classified?.kind !== "support") {
128
- return { declaredOwner: null, effectiveOwner: null, source: "unowned" };
129
- }
130
- const owningSkills = skillOwners.get(classified.skillDirectory) ?? [];
131
- if (owningSkills.length !== 1 || !owningSkills[0]?.owner) {
177
+ const resolution = resolveSkillSupportParent(document.artifact.path, skillParents);
178
+ // Structural placement supplies only a candidate. Inheritance requires one
179
+ // and only one resolved parent Skill and an owner declared by that parent.
180
+ if (resolution.state !== "resolved" || !resolution.parent.owner) {
132
181
  return { declaredOwner: null, effectiveOwner: null, source: "unowned" };
133
182
  }
134
- const owningSkill = owningSkills[0];
183
+ const owningSkill = resolution.parent;
135
184
  return {
136
185
  declaredOwner: null,
137
186
  effectiveOwner: owningSkill.owner,