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.
- package/CHANGELOG.md +126 -1
- package/README.md +60 -2
- package/architecture.md +4 -0
- package/dist/agent-skills.d.ts +5 -6
- package/dist/agent-skills.d.ts.map +1 -1
- package/dist/agent-skills.js +2 -10
- package/dist/agent-skills.js.map +1 -1
- package/dist/catalog.d.ts +28 -2
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +65 -16
- package/dist/catalog.js.map +1 -1
- package/dist/cli-help.d.ts +4 -4
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +5 -3
- package/dist/cli-help.js.map +1 -1
- package/dist/command-invocation.d.ts +4 -0
- package/dist/command-invocation.d.ts.map +1 -0
- package/dist/command-invocation.js +14 -0
- package/dist/command-invocation.js.map +1 -0
- package/dist/commands/inspect.d.ts +2 -61
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +51 -149
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/readiness.d.ts +3 -0
- package/dist/commands/readiness.d.ts.map +1 -1
- package/dist/commands/readiness.js +9 -6
- package/dist/commands/readiness.js.map +1 -1
- package/dist/commands/suggest-metadata.d.ts +4 -17
- package/dist/commands/suggest-metadata.d.ts.map +1 -1
- package/dist/commands/suggest-metadata.js +214 -219
- package/dist/commands/suggest-metadata.js.map +1 -1
- package/dist/decisions/metadata-suggestion.d.ts +60 -0
- package/dist/decisions/metadata-suggestion.d.ts.map +1 -0
- package/dist/decisions/metadata-suggestion.js +176 -0
- package/dist/decisions/metadata-suggestion.js.map +1 -0
- package/dist/discovery.d.ts +33 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +365 -51
- package/dist/discovery.js.map +1 -1
- package/dist/evidence/classification.d.ts +4 -0
- package/dist/evidence/classification.d.ts.map +1 -0
- package/dist/evidence/classification.js +15 -0
- package/dist/evidence/classification.js.map +1 -0
- package/dist/evidence/inspect.d.ts +68 -0
- package/dist/evidence/inspect.d.ts.map +1 -0
- package/dist/evidence/inspect.js +2 -0
- package/dist/evidence/inspect.js.map +1 -0
- package/dist/evidence/target.d.ts +51 -0
- package/dist/evidence/target.d.ts.map +1 -0
- package/dist/evidence/target.js +161 -0
- package/dist/evidence/target.js.map +1 -0
- package/dist/model.d.ts +2 -10
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js.map +1 -1
- package/dist/renderers/inspect.d.ts +3 -0
- package/dist/renderers/inspect.d.ts.map +1 -0
- package/dist/renderers/inspect.js +159 -0
- package/dist/renderers/inspect.js.map +1 -0
- package/dist/renderers/metadata-suggestion.d.ts +3 -0
- package/dist/renderers/metadata-suggestion.d.ts.map +1 -0
- package/dist/renderers/metadata-suggestion.js +320 -0
- package/dist/renderers/metadata-suggestion.js.map +1 -0
- package/dist/repository-evidence.d.ts +7 -1
- package/dist/repository-evidence.d.ts.map +1 -1
- package/dist/repository-evidence.js +10 -2
- package/dist/repository-evidence.js.map +1 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +58 -4
- package/dist/scanner.js.map +1 -1
- package/dist/skill-migration.d.ts.map +1 -1
- package/dist/skill-migration.js +6 -1
- package/dist/skill-migration.js.map +1 -1
- package/dist/types.d.ts +72 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +50 -1
- package/dist/types.js.map +1 -1
- package/docs/README.md +2 -0
- package/docs/agent-skills-compatibility.md +8 -1
- package/docs/authoring-guide.md +62 -0
- package/docs/diagnostics.md +382 -2
- package/docs/internal-architecture.md +296 -0
- package/docs/user-manual.md +122 -12
- package/package.json +1 -1
- package/scripts/verify-package.mjs +154 -9
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { lstat,
|
|
1
|
+
import { lstat, realpath, stat } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { buildAgentSkillMigrationSuggestion
|
|
3
|
+
import { renmaCommand } from "../command-invocation.js";
|
|
4
|
+
import { buildMetadataCandidateSuggestionDecision, buildSkillLocalParentUnresolvedDecision, buildSkillLocalSuggestionDecision, buildSkillSuggestionDecision, buildUnsupportedTargetSuggestionDecision, evaluateOwnerConflict, } from "../decisions/metadata-suggestion.js";
|
|
5
|
+
import { collectTargetDocumentEvidence, collectTargetRepositoryEvidence, } from "../evidence/target.js";
|
|
6
|
+
import { buildAgentSkillMigrationSuggestion } from "../skill-migration.js";
|
|
7
|
+
import { renderMetadataPrompt } from "../renderers/metadata-suggestion.js";
|
|
8
|
+
export { renderMetadataPrompt };
|
|
7
9
|
export class SuggestMetadataTargetError extends Error {
|
|
8
10
|
constructor(target, cause) {
|
|
9
11
|
super(`Could not read metadata target ${target}: ${readErrorReason(cause)}`);
|
|
@@ -19,49 +21,43 @@ export async function runSuggestMetadataCommand(target, options = {}) {
|
|
|
19
21
|
return 0;
|
|
20
22
|
}
|
|
21
23
|
export async function buildMetadataSuggestion(target, options = {}) {
|
|
22
|
-
|
|
23
|
-
let content;
|
|
24
|
+
let targetEvidence;
|
|
24
25
|
try {
|
|
25
|
-
|
|
26
|
+
targetEvidence = await collectTargetDocumentEvidence(target, {
|
|
27
|
+
unresolvedArtifactPath: "input",
|
|
28
|
+
});
|
|
26
29
|
}
|
|
27
30
|
catch (error) {
|
|
28
31
|
throw new SuggestMetadataTargetError(target, error);
|
|
29
32
|
}
|
|
30
|
-
const outputPath =
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
const document = parseDocument({
|
|
34
|
-
path: outputPath,
|
|
35
|
-
absolutePath,
|
|
36
|
-
kind: initialKind,
|
|
37
|
-
sizeBytes: Buffer.byteLength(content),
|
|
38
|
-
contentClassification: "text",
|
|
39
|
-
markdownParserEligible: /\.mdx?$/i.test(outputPath),
|
|
40
|
-
content,
|
|
41
|
-
});
|
|
42
|
-
const { metadata } = parseAssetMetadata(document);
|
|
43
|
-
const kind = initialKind === "context" && metadata.type === "context_lens"
|
|
44
|
-
? "context_lens"
|
|
45
|
-
: initialKind;
|
|
33
|
+
const { absolutePath, outputPath, repositoryBoundary: classificationContext, repositoryRelativePath: classificationPath, repositoryRoot, entrypoint, document, metadata, } = targetEvidence;
|
|
34
|
+
let { classification } = targetEvidence;
|
|
35
|
+
const kind = classification.kind;
|
|
46
36
|
const explicitOwner = optionalText(options.owner);
|
|
47
37
|
if (kind === "skill") {
|
|
48
|
-
const collisionBlock = entrypoint
|
|
49
|
-
? await pathMigrationCollision(entrypoint, absolutePath)
|
|
38
|
+
const collisionBlock = entrypoint && repositoryRoot
|
|
39
|
+
? await pathMigrationCollision(entrypoint, absolutePath, repositoryRoot)
|
|
50
40
|
: undefined;
|
|
51
41
|
const agentSkills = buildAgentSkillMigrationSuggestion(document, {
|
|
52
42
|
...(explicitOwner ? { explicitOwner } : {}),
|
|
53
43
|
...(entrypoint ? { entrypoint } : {}),
|
|
54
44
|
...(collisionBlock ? { additionalBlocks: [collisionBlock] } : {}),
|
|
55
45
|
});
|
|
56
|
-
const metadataRetrofit = agentSkills.proposalKind === "canonical-metadata-retrofit";
|
|
57
46
|
const noMigrationProposed = agentSkills.proposalKind === "none" &&
|
|
58
47
|
agentSkills.sourceFormat === "agent-skills";
|
|
48
|
+
const metadataRetrofit = agentSkills.proposalKind === "canonical-metadata-retrofit";
|
|
49
|
+
const decision = buildSkillSuggestionDecision(agentSkills);
|
|
59
50
|
return {
|
|
60
51
|
path: outputPath,
|
|
61
52
|
kind,
|
|
62
|
-
suggestedMode:
|
|
63
|
-
? "
|
|
64
|
-
:
|
|
53
|
+
suggestedMode: noMigrationProposed
|
|
54
|
+
? "no-proposal"
|
|
55
|
+
: metadataRetrofit
|
|
56
|
+
? "agent-skills-metadata-retrofit"
|
|
57
|
+
: "agent-skills-migration",
|
|
58
|
+
decisionStatus: decision.status,
|
|
59
|
+
decision: decision.decision,
|
|
60
|
+
classification,
|
|
65
61
|
ownerProvided: Boolean(explicitOwner),
|
|
66
62
|
instructions: noMigrationProposed
|
|
67
63
|
? [
|
|
@@ -93,6 +89,7 @@ export async function buildMetadataSuggestion(target, options = {}) {
|
|
|
93
89
|
],
|
|
94
90
|
candidateMetadata: {},
|
|
95
91
|
blockedMetadata: agentSkills.blocked,
|
|
92
|
+
nextActions: suggestionNextActions(outputPath, classification, repositoryRoot),
|
|
96
93
|
agentSkills,
|
|
97
94
|
};
|
|
98
95
|
}
|
|
@@ -100,8 +97,89 @@ export async function buildMetadataSuggestion(target, options = {}) {
|
|
|
100
97
|
const existingTitle = optionalText(metadataValueText(document.metadata.title));
|
|
101
98
|
const existingOwner = optionalText(metadata.owner);
|
|
102
99
|
const candidateMetadata = {};
|
|
103
|
-
const candidateId = inferCandidateId(kind,
|
|
100
|
+
const candidateId = inferCandidateId(kind, classificationPath);
|
|
104
101
|
const candidateTitle = mainHeadingTitle(document.headings);
|
|
102
|
+
if (classification.scope === "skill-local") {
|
|
103
|
+
const localContext = resolveSkillLocalContext(await collectTargetRepositoryEvidence(targetEvidence));
|
|
104
|
+
classification = localContext.classification;
|
|
105
|
+
if (localContext.parent.state !== "resolved") {
|
|
106
|
+
const parentState = localContext.parent.state === "not-applicable"
|
|
107
|
+
? "structural-candidate"
|
|
108
|
+
: localContext.parent.state;
|
|
109
|
+
const blockedMetadata = [
|
|
110
|
+
{
|
|
111
|
+
field: "parent_skill",
|
|
112
|
+
reason: `The structural parent Skill is ${parentState}; inheritance is not established. Review the repository layout before adding local metadata.`,
|
|
113
|
+
},
|
|
114
|
+
];
|
|
115
|
+
const decision = buildSkillLocalParentUnresolvedDecision();
|
|
116
|
+
return {
|
|
117
|
+
path: outputPath,
|
|
118
|
+
kind,
|
|
119
|
+
suggestedMode: "no-proposal",
|
|
120
|
+
decisionStatus: decision.status,
|
|
121
|
+
decision: decision.decision,
|
|
122
|
+
classification,
|
|
123
|
+
ownerProvided: Boolean(explicitOwner),
|
|
124
|
+
instructions: skillLocalInstructions(classification, false, true, false),
|
|
125
|
+
candidateMetadata: {},
|
|
126
|
+
blockedMetadata,
|
|
127
|
+
nextActions: suggestionNextActions(outputPath, classification, repositoryRoot),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
const ownerConflict = evaluateOwnerConflict(existingOwner, explicitOwner);
|
|
131
|
+
const blockedMetadata = ownerConflict.blockedMetadata;
|
|
132
|
+
if (!existingOwner && explicitOwner)
|
|
133
|
+
candidateMetadata.owner = explicitOwner;
|
|
134
|
+
const hasOverride = Object.keys(candidateMetadata).length > 0;
|
|
135
|
+
const hasLocalGovernance = Boolean(existingOwner) || localContext.hasLocalPolicyMetadata;
|
|
136
|
+
const inherited = localContext.ownershipSource === "inherited";
|
|
137
|
+
const decision = buildSkillLocalSuggestionDecision({
|
|
138
|
+
hasOwnerConflict: ownerConflict.hasConflict,
|
|
139
|
+
hasOverride,
|
|
140
|
+
hasLocalGovernance,
|
|
141
|
+
inheritsGovernance: inherited,
|
|
142
|
+
});
|
|
143
|
+
return {
|
|
144
|
+
path: outputPath,
|
|
145
|
+
kind,
|
|
146
|
+
suggestedMode: hasOverride ? "metadata-retrofit" : "no-proposal",
|
|
147
|
+
decisionStatus: decision.status,
|
|
148
|
+
decision: decision.decision,
|
|
149
|
+
classification,
|
|
150
|
+
ownerProvided: Boolean(explicitOwner),
|
|
151
|
+
instructions: skillLocalInstructions(classification, hasOverride, false, hasLocalGovernance),
|
|
152
|
+
candidateMetadata,
|
|
153
|
+
blockedMetadata,
|
|
154
|
+
nextActions: suggestionNextActions(outputPath, classification, repositoryRoot),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
if (classification.matchedRule === "repository-tool" ||
|
|
158
|
+
classification.matchedRule === "unknown") {
|
|
159
|
+
const decision = buildUnsupportedTargetSuggestionDecision({
|
|
160
|
+
matchedRule: classification.matchedRule,
|
|
161
|
+
...(classificationContext.state === "unresolved"
|
|
162
|
+
? { boundaryReasonCode: classificationContext.reasonCode }
|
|
163
|
+
: {}),
|
|
164
|
+
});
|
|
165
|
+
return {
|
|
166
|
+
path: outputPath,
|
|
167
|
+
kind,
|
|
168
|
+
suggestedMode: "no-proposal",
|
|
169
|
+
decisionStatus: decision.status,
|
|
170
|
+
decision: decision.decision,
|
|
171
|
+
classification,
|
|
172
|
+
ownerProvided: Boolean(explicitOwner),
|
|
173
|
+
instructions: [
|
|
174
|
+
"Preserve the existing file.",
|
|
175
|
+
"Do not infer that the target should become a Context Asset from its content or filename.",
|
|
176
|
+
"Do not move the file or add Renma metadata without a human repository-design decision.",
|
|
177
|
+
],
|
|
178
|
+
candidateMetadata: {},
|
|
179
|
+
blockedMetadata: [],
|
|
180
|
+
nextActions: suggestionNextActions(outputPath, classification, repositoryRoot),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
105
183
|
if (!existingId && candidateId) {
|
|
106
184
|
candidateMetadata.id = candidateId;
|
|
107
185
|
}
|
|
@@ -111,168 +189,35 @@ export async function buildMetadataSuggestion(target, options = {}) {
|
|
|
111
189
|
if (!existingOwner && explicitOwner) {
|
|
112
190
|
candidateMetadata.owner = explicitOwner;
|
|
113
191
|
}
|
|
114
|
-
const
|
|
192
|
+
const ownerConflict = evaluateOwnerConflict(existingOwner, explicitOwner);
|
|
193
|
+
const blockedMetadata = ownerConflict.blockedMetadata;
|
|
115
194
|
if (!existingOwner && !explicitOwner) {
|
|
116
195
|
blockedMetadata.push({
|
|
117
196
|
field: "owner",
|
|
118
197
|
reason: "No owner was explicitly provided. Missing owner is allowed.",
|
|
119
198
|
});
|
|
120
199
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
200
|
+
const hasCandidate = Object.keys(candidateMetadata).length > 0;
|
|
201
|
+
const hasConflict = ownerConflict.hasConflict;
|
|
202
|
+
const decision = buildMetadataCandidateSuggestionDecision({
|
|
203
|
+
hasOwnerConflict: hasConflict,
|
|
204
|
+
hasCandidate,
|
|
205
|
+
scope: classification.scope,
|
|
206
|
+
});
|
|
127
207
|
return {
|
|
128
208
|
path: outputPath,
|
|
129
209
|
kind,
|
|
130
|
-
suggestedMode: "metadata-retrofit",
|
|
210
|
+
suggestedMode: hasConflict || !hasCandidate ? "no-proposal" : "metadata-retrofit",
|
|
211
|
+
decisionStatus: decision.status,
|
|
212
|
+
decision: decision.decision,
|
|
213
|
+
classification,
|
|
131
214
|
ownerProvided: Boolean(explicitOwner),
|
|
132
215
|
instructions: buildInstructions({ existingOwner, explicitOwner }),
|
|
133
|
-
candidateMetadata,
|
|
216
|
+
candidateMetadata: hasConflict ? {} : candidateMetadata,
|
|
134
217
|
blockedMetadata,
|
|
218
|
+
nextActions: suggestionNextActions(outputPath, classification, repositoryRoot),
|
|
135
219
|
};
|
|
136
220
|
}
|
|
137
|
-
export function renderMetadataPrompt(suggestion) {
|
|
138
|
-
if (suggestion.agentSkills)
|
|
139
|
-
return renderAgentSkillMigrationPrompt(suggestion);
|
|
140
|
-
return `${[
|
|
141
|
-
"# Renma Task: Safely Retrofit Renma Metadata",
|
|
142
|
-
"",
|
|
143
|
-
"Update this existing Renma asset metadata safely.",
|
|
144
|
-
"",
|
|
145
|
-
"Asset:",
|
|
146
|
-
`- Path: \`${suggestion.path}\``,
|
|
147
|
-
`- Kind: \`${suggestion.kind}\``,
|
|
148
|
-
`- Mode: \`${suggestion.suggestedMode}\``,
|
|
149
|
-
"",
|
|
150
|
-
"Rules:",
|
|
151
|
-
...suggestion.instructions.map((instruction) => `- ${instruction}`),
|
|
152
|
-
"",
|
|
153
|
-
"Candidate Metadata:",
|
|
154
|
-
...metadataLines(suggestion.candidateMetadata),
|
|
155
|
-
"",
|
|
156
|
-
"Blocked Metadata:",
|
|
157
|
-
...blockedMetadataLines(suggestion.blockedMetadata),
|
|
158
|
-
"",
|
|
159
|
-
"Verification:",
|
|
160
|
-
"- Run `renma scan .`.",
|
|
161
|
-
"- Run `renma ownership .`.",
|
|
162
|
-
"",
|
|
163
|
-
"Return a small reviewed patch. Do not rewrite the asset body.",
|
|
164
|
-
].join("\n")}\n`;
|
|
165
|
-
}
|
|
166
|
-
function renderAgentSkillMigrationPrompt(suggestion) {
|
|
167
|
-
const migration = suggestion.agentSkills;
|
|
168
|
-
if (!migration)
|
|
169
|
-
return "";
|
|
170
|
-
const metadataRetrofit = migration.proposalKind === "canonical-metadata-retrofit";
|
|
171
|
-
const noMigrationProposed = migration.proposalKind === "none" &&
|
|
172
|
-
migration.sourceFormat === "agent-skills";
|
|
173
|
-
const candidate = migration.canonicalFrontmatter
|
|
174
|
-
? [
|
|
175
|
-
"Canonical Frontmatter Candidate:",
|
|
176
|
-
"",
|
|
177
|
-
"```yaml",
|
|
178
|
-
migration.canonicalFrontmatter,
|
|
179
|
-
"```",
|
|
180
|
-
]
|
|
181
|
-
: [
|
|
182
|
-
"Canonical Frontmatter Candidate:",
|
|
183
|
-
"",
|
|
184
|
-
"(not generated while migration is blocked or unnecessary)",
|
|
185
|
-
];
|
|
186
|
-
const promptState = suggestion.blockedMetadata.length > 0
|
|
187
|
-
? "blocked"
|
|
188
|
-
: noMigrationProposed || !migration.canonicalFrontmatter
|
|
189
|
-
? "no-proposal"
|
|
190
|
-
: "candidate";
|
|
191
|
-
const verification = renderSkillSuggestionVerification(promptState);
|
|
192
|
-
const nextSteps = renderSkillSuggestionNextSteps(promptState);
|
|
193
|
-
return `${[
|
|
194
|
-
noMigrationProposed
|
|
195
|
-
? "# Renma Task: Inspect Canonical Agent Skill (No Migration Proposed)"
|
|
196
|
-
: metadataRetrofit
|
|
197
|
-
? "# Renma Task: Review Canonical Agent Skills Metadata Retrofit"
|
|
198
|
-
: "# Renma Task: Review One-Way Agent Skills Migration",
|
|
199
|
-
"",
|
|
200
|
-
`Asset: \`${suggestion.path}\``,
|
|
201
|
-
`Source format: \`${migration.sourceFormat}\``,
|
|
202
|
-
`Direction: \`${migration.direction}\``,
|
|
203
|
-
`Proposal: \`${migration.proposalKind}\``,
|
|
204
|
-
`Source path: \`${migration.sourcePath}\``,
|
|
205
|
-
`Target path: \`${migration.targetPath}\``,
|
|
206
|
-
`Entrypoint migration: \`${migration.entrypointMigration}\``,
|
|
207
|
-
"",
|
|
208
|
-
"Rules:",
|
|
209
|
-
...suggestion.instructions.map((instruction) => `- ${instruction}`),
|
|
210
|
-
"",
|
|
211
|
-
"Candidate Agent Skills Fields:",
|
|
212
|
-
...metadataLines(migration.candidateAgentSkillsFields),
|
|
213
|
-
"",
|
|
214
|
-
"Candidate Renma Metadata:",
|
|
215
|
-
...metadataLines(migration.candidateRenmaMetadata),
|
|
216
|
-
"",
|
|
217
|
-
...candidate,
|
|
218
|
-
"",
|
|
219
|
-
"Blocked Migration Evidence:",
|
|
220
|
-
...blockedMetadataLines(suggestion.blockedMetadata),
|
|
221
|
-
"",
|
|
222
|
-
"Human Review:",
|
|
223
|
-
migration.reviewPrompt,
|
|
224
|
-
"",
|
|
225
|
-
...verification,
|
|
226
|
-
"",
|
|
227
|
-
...nextSteps,
|
|
228
|
-
"",
|
|
229
|
-
migration.canonicalFrontmatter
|
|
230
|
-
? migration.entrypointMigration === "none"
|
|
231
|
-
? "Return a small reviewed frontmatter patch. Do not rewrite the Skill body."
|
|
232
|
-
: "Return one small reviewed patch containing both the entrypoint path migration and frontmatter migration. Do not rewrite the Skill body."
|
|
233
|
-
: migration.blocked.length > 0
|
|
234
|
-
? "Do not return or apply a frontmatter patch while migration is blocked. Preserve the existing source until every blocked item is resolved with human review."
|
|
235
|
-
: "No frontmatter patch is proposed. Do not return or apply a frontmatter patch; preserve the existing source.",
|
|
236
|
-
].join("\n")}\n`;
|
|
237
|
-
}
|
|
238
|
-
function renderSkillSuggestionVerification(state) {
|
|
239
|
-
if (state === "no-proposal") {
|
|
240
|
-
return [
|
|
241
|
-
"Verification:",
|
|
242
|
-
"- No verification change is required when no separate authoring change is made.",
|
|
243
|
-
"- Only if a separate, intentional authoring change is made: run `renma scan . --fail-on high`, fix relevant diagnostics, and rerun the scan.",
|
|
244
|
-
];
|
|
245
|
-
}
|
|
246
|
-
return ["Verification:", "- Run `renma scan . --fail-on high`."];
|
|
247
|
-
}
|
|
248
|
-
function renderSkillSuggestionNextSteps(state) {
|
|
249
|
-
if (state === "blocked") {
|
|
250
|
-
return [
|
|
251
|
-
"Next steps:",
|
|
252
|
-
"1. Review the conflicts or invalid evidence and confirm the Skill's intent using your platform's standard Skill authoring guidance.",
|
|
253
|
-
"2. Do not apply a candidate while Renma cannot generate it safely.",
|
|
254
|
-
"3. Correct the source evidence, then rerun `renma suggest-metadata <SKILL.md>`.",
|
|
255
|
-
"4. After intended corrections, run `renma scan . --fail-on high`, fix relevant diagnostics, and rerun the scan.",
|
|
256
|
-
];
|
|
257
|
-
}
|
|
258
|
-
if (state === "no-proposal") {
|
|
259
|
-
return [
|
|
260
|
-
"Next steps:",
|
|
261
|
-
"1. Review the Skill's trigger description, instructions, workflow, constraints, and completion criteria using your platform's standard Skill authoring guidance.",
|
|
262
|
-
"2. No metadata or migration change is proposed; preserve the existing source.",
|
|
263
|
-
"3. If a separate, intentionally reviewed authoring change is made, run `renma scan . --fail-on high`, fix relevant diagnostics, and rerun the scan.",
|
|
264
|
-
"4. If no separate change is made, stop without manufacturing work.",
|
|
265
|
-
];
|
|
266
|
-
}
|
|
267
|
-
return [
|
|
268
|
-
"Next steps:",
|
|
269
|
-
"1. Review the suggestion; Renma does not edit the Skill automatically.",
|
|
270
|
-
"2. Review the Skill's trigger description, instructions, workflow, constraints, and completion criteria using your platform's standard Skill authoring guidance.",
|
|
271
|
-
"3. Apply only the intended metadata or migration changes.",
|
|
272
|
-
"4. Run `renma scan . --fail-on high`.",
|
|
273
|
-
"5. Fix relevant diagnostics and rerun the scan.",
|
|
274
|
-
];
|
|
275
|
-
}
|
|
276
221
|
function buildInstructions(input) {
|
|
277
222
|
return [
|
|
278
223
|
"Inspect the existing asset before editing.",
|
|
@@ -300,50 +245,103 @@ function ownerInstruction(input) {
|
|
|
300
245
|
}
|
|
301
246
|
return "Do not add owner unless the existing asset already declares one or a maintainer provides one.";
|
|
302
247
|
}
|
|
303
|
-
function
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
248
|
+
function skillLocalInstructions(classification, hasOverride, parentBlocked, hasLocalGovernance) {
|
|
249
|
+
return [
|
|
250
|
+
"Preserve the existing Skill-local file and any explicitly declared supported metadata.",
|
|
251
|
+
parentBlocked
|
|
252
|
+
? "Do not claim inherited governance until exactly one parent Skill resolves."
|
|
253
|
+
: hasLocalGovernance
|
|
254
|
+
? "Keep existing explicit local governance separate from parent inheritance."
|
|
255
|
+
: `Treat ${classification.parentAssetPath ?? "the resolved parent Skill"} as the default governance source.`,
|
|
256
|
+
"Independent metadata is not required merely because this is a Skill-local file.",
|
|
257
|
+
hasOverride
|
|
258
|
+
? "Apply only the explicit human-provided override; do not describe it as mandatory local metadata."
|
|
259
|
+
: "Do not add metadata, move the file, or create a patch solely to manufacture work.",
|
|
260
|
+
"Never infer owner from the path, prose, Git history, or author.",
|
|
261
|
+
];
|
|
309
262
|
}
|
|
310
|
-
function
|
|
311
|
-
|
|
312
|
-
|
|
263
|
+
function suggestionNextActions(targetPath, classification, repositoryRoot) {
|
|
264
|
+
// Do not manufacture an action relative to cwd when the repository root is
|
|
265
|
+
// unresolved; a parent workspace may contain unrelated repositories.
|
|
266
|
+
if (!repositoryRoot)
|
|
267
|
+
return [];
|
|
268
|
+
const actions = [];
|
|
269
|
+
// Verification is anchored to the resolved root, never to `scan .` from the
|
|
270
|
+
// caller's workspace or to a guessed parent directory.
|
|
271
|
+
const scanTarget = repositoryRoot;
|
|
272
|
+
if (classification.parentResolution === "resolved" &&
|
|
273
|
+
classification.parentAssetPath) {
|
|
274
|
+
actions.push({
|
|
275
|
+
kind: "inspect-parent",
|
|
276
|
+
invocation: renmaCommand([
|
|
277
|
+
"inspect",
|
|
278
|
+
path.join(repositoryRoot, classification.parentAssetPath),
|
|
279
|
+
"--format",
|
|
280
|
+
"json",
|
|
281
|
+
]),
|
|
282
|
+
});
|
|
313
283
|
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
return "reference";
|
|
329
|
-
if (parts.includes("examples"))
|
|
330
|
-
return "example";
|
|
331
|
-
if (basename === "AGENTS.md" || parts.includes(".agents"))
|
|
332
|
-
return "agent";
|
|
333
|
-
if (basename === "renma.config.json" || basename === ".renma.json") {
|
|
334
|
-
return "config";
|
|
284
|
+
else if (classification.scope === "skill-local" &&
|
|
285
|
+
classification.parentResolution !== "resolved") {
|
|
286
|
+
actions.push({
|
|
287
|
+
kind: "review-layout",
|
|
288
|
+
invocation: renmaCommand([
|
|
289
|
+
"scan",
|
|
290
|
+
scanTarget,
|
|
291
|
+
"--fail-on",
|
|
292
|
+
"high",
|
|
293
|
+
"--format",
|
|
294
|
+
"json",
|
|
295
|
+
]),
|
|
296
|
+
});
|
|
297
|
+
return actions;
|
|
335
298
|
}
|
|
336
|
-
|
|
299
|
+
else {
|
|
300
|
+
actions.push({
|
|
301
|
+
kind: "inspect-target",
|
|
302
|
+
invocation: renmaCommand(["inspect", targetPath, "--format", "json"]),
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
actions.push({
|
|
306
|
+
kind: "verify",
|
|
307
|
+
invocation: renmaCommand([
|
|
308
|
+
"scan",
|
|
309
|
+
scanTarget,
|
|
310
|
+
"--fail-on",
|
|
311
|
+
"high",
|
|
312
|
+
"--format",
|
|
313
|
+
"json",
|
|
314
|
+
]),
|
|
315
|
+
});
|
|
316
|
+
return actions;
|
|
337
317
|
}
|
|
338
|
-
function
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
318
|
+
function resolveSkillLocalContext(repository) {
|
|
319
|
+
if (repository.state === "unavailable") {
|
|
320
|
+
// Snapshot failure is unresolved evidence. Keep the command fail-closed
|
|
321
|
+
// instead of treating structural placement as inherited governance.
|
|
322
|
+
return {
|
|
323
|
+
classification: repository.classification,
|
|
324
|
+
parent: { state: "not-applicable" },
|
|
325
|
+
ownershipSource: "unowned",
|
|
326
|
+
hasLocalPolicyMetadata: false,
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
return {
|
|
330
|
+
classification: repository.classification,
|
|
331
|
+
parent: repository.parent,
|
|
332
|
+
ownershipSource: repository.governance?.ownership.source ??
|
|
333
|
+
(repository.parent.state === "resolved" && repository.parent.parent.owner
|
|
334
|
+
? "inherited"
|
|
335
|
+
: "unowned"),
|
|
336
|
+
hasLocalPolicyMetadata: repository.policy?.hasLocalPolicyMetadata ?? false,
|
|
337
|
+
};
|
|
342
338
|
}
|
|
343
|
-
async function pathMigrationCollision(entrypoint, sourceAbsolutePath) {
|
|
339
|
+
async function pathMigrationCollision(entrypoint, sourceAbsolutePath, repositoryRoot) {
|
|
344
340
|
if (entrypoint.kind === "canonical")
|
|
345
341
|
return undefined;
|
|
346
|
-
|
|
342
|
+
// Public migration paths remain repository-relative. Collision I/O must be
|
|
343
|
+
// rebased against the resolved repository root, not process.cwd().
|
|
344
|
+
const targetAbsolutePath = path.resolve(repositoryRoot, entrypoint.targetPath);
|
|
347
345
|
try {
|
|
348
346
|
await lstat(targetAbsolutePath);
|
|
349
347
|
}
|
|
@@ -378,9 +376,6 @@ async function pathMigrationCollision(entrypoint, sourceAbsolutePath) {
|
|
|
378
376
|
};
|
|
379
377
|
}
|
|
380
378
|
}
|
|
381
|
-
function isAbsoluteLike(filePath) {
|
|
382
|
-
return path.isAbsolute(filePath) || /^[A-Za-z]:\//.test(filePath);
|
|
383
|
-
}
|
|
384
379
|
function isMissingFileError(error) {
|
|
385
380
|
return (typeof error === "object" &&
|
|
386
381
|
error !== null &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest-metadata.js","sourceRoot":"","sources":["../../src/commands/suggest-metadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"suggest-metadata.js","sourceRoot":"","sources":["../../src/commands/suggest-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { AgentSkillMigrationSuggestion } from "../skill-migration.js";
|
|
2
|
+
import type { ArtifactKind, AssetClassificationEvidence, AssetDecisionEvidence, DecisionStatus, SuggestedNextAction } from "../types.js";
|
|
3
|
+
export interface BlockedMetadata {
|
|
4
|
+
field: string;
|
|
5
|
+
reason: string;
|
|
6
|
+
}
|
|
7
|
+
/** Public suggestion DTO consumed by both JSON and human renderers. */
|
|
8
|
+
export interface MetadataSuggestion {
|
|
9
|
+
path: string;
|
|
10
|
+
kind: ArtifactKind;
|
|
11
|
+
suggestedMode: "metadata-retrofit" | "agent-skills-migration" | "agent-skills-metadata-retrofit" | "no-proposal";
|
|
12
|
+
decisionStatus: DecisionStatus;
|
|
13
|
+
decision: AssetDecisionEvidence;
|
|
14
|
+
classification: AssetClassificationEvidence;
|
|
15
|
+
ownerProvided: boolean;
|
|
16
|
+
instructions: string[];
|
|
17
|
+
candidateMetadata: Record<string, string>;
|
|
18
|
+
blockedMetadata: BlockedMetadata[];
|
|
19
|
+
nextActions: SuggestedNextAction[];
|
|
20
|
+
agentSkills?: AgentSkillMigrationSuggestion;
|
|
21
|
+
}
|
|
22
|
+
export interface SuggestionDecision {
|
|
23
|
+
status: DecisionStatus;
|
|
24
|
+
decision: AssetDecisionEvidence;
|
|
25
|
+
}
|
|
26
|
+
export interface OwnerConflictEvidence {
|
|
27
|
+
hasConflict: boolean;
|
|
28
|
+
blockedMetadata: BlockedMetadata[];
|
|
29
|
+
}
|
|
30
|
+
export interface SkillLocalSuggestionDecisionInput {
|
|
31
|
+
hasOwnerConflict: boolean;
|
|
32
|
+
hasOverride: boolean;
|
|
33
|
+
hasLocalGovernance: boolean;
|
|
34
|
+
inheritsGovernance: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface UnsupportedTargetSuggestionDecisionInput {
|
|
37
|
+
matchedRule: "repository-tool" | "unknown";
|
|
38
|
+
boundaryReasonCode?: "repository-boundary-unresolved" | "repository-boundary-ambiguous";
|
|
39
|
+
}
|
|
40
|
+
export interface MetadataCandidateSuggestionDecisionInput {
|
|
41
|
+
hasOwnerConflict: boolean;
|
|
42
|
+
hasCandidate: boolean;
|
|
43
|
+
scope: AssetClassificationEvidence["scope"];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Decide Skill migration applicability before rendering any candidate text.
|
|
47
|
+
*
|
|
48
|
+
* Blocked migrations intentionally retain partial diagnostic candidate fields
|
|
49
|
+
* for 0.18.2 JSON compatibility. `canonicalFrontmatter` and renderer patch
|
|
50
|
+
* instructions remain gated by the decision status, so those fields are not
|
|
51
|
+
* an independently applicable patch.
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildSkillSuggestionDecision(migration: AgentSkillMigrationSuggestion): SuggestionDecision;
|
|
54
|
+
export declare function buildSkillLocalParentUnresolvedDecision(): SuggestionDecision;
|
|
55
|
+
export declare function buildSkillLocalSuggestionDecision(input: SkillLocalSuggestionDecisionInput): SuggestionDecision;
|
|
56
|
+
export declare function buildUnsupportedTargetSuggestionDecision(input: UnsupportedTargetSuggestionDecisionInput): SuggestionDecision;
|
|
57
|
+
export declare function buildMetadataCandidateSuggestionDecision(input: MetadataCandidateSuggestionDecisionInput): SuggestionDecision;
|
|
58
|
+
/** Build typed conflict evidence; command branching must not parse prose. */
|
|
59
|
+
export declare function evaluateOwnerConflict(existingOwner: string | undefined, explicitOwner: string | undefined): OwnerConflictEvidence;
|
|
60
|
+
//# sourceMappingURL=metadata-suggestion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-suggestion.d.ts","sourceRoot":"","sources":["../../src/decisions/metadata-suggestion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAC3B,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,EACT,mBAAmB,GACnB,wBAAwB,GACxB,gCAAgC,GAChC,aAAa,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,cAAc,EAAE,2BAA2B,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,6BAA6B,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,eAAe,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,wCAAwC;IACvD,WAAW,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC3C,kBAAkB,CAAC,EACf,gCAAgC,GAChC,+BAA+B,CAAC;CACrC;AAED,MAAM,WAAW,wCAAwC;IACvD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,6BAA6B,GACvC,kBAAkB,CA8CpB;AAED,wBAAgB,uCAAuC,IAAI,kBAAkB,CAW5E;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,iCAAiC,GACvC,kBAAkB,CAiDpB;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,wCAAwC,GAC9C,kBAAkB,CAwBpB;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,wCAAwC,GAC9C,kBAAkB,CAuCpB;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,qBAAqB,CAevB"}
|