harness-everything 0.47.5 → 0.48.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/.agents/harness-everything/project-docs.json +2 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +16 -0
- package/ci/fixtures/doc-obligations/reconciliation-s2a/run13-workflow-requirements.json +42 -0
- package/ci/mechanism-e1-dependency-artifact-scope.test.js +657 -0
- package/ci/mechanism-prb-outline-review.test.js +1 -1
- package/docs/doc-workflow-reconciliation.md +3 -1
- package/harness-everything/SKILL.md +1 -1
- package/harness-everything/scripts/doc-lifecycle.js +11 -3
- package/harness-everything/scripts/project-docs-resolver.js +12 -0
- package/hooks/scripts/lib/doc-reconciliation-core.js +56 -0
- package/hooks/scripts/lib/doc-reconciliation-producer.js +274 -12
- package/hooks/scripts/lib/doc-reconciliation-provider.js +1 -1
- package/multi-agent-workspace/SKILL.md +1 -1
- package/multi-agent-workspace/scripts/project-docs-resolver.js +12 -0
- package/opencode-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
- package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-core.js +56 -0
- package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-producer.js +274 -12
- package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-provider.js +1 -1
- package/plugins/harness-everything/plugin.json +1 -1
- package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
- package/plugins/harness-everything/skills/harness-everything/scripts/doc-lifecycle.js +11 -3
- package/plugins/harness-everything/skills/harness-everything/scripts/project-docs-resolver.js +12 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +1 -1
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +12 -0
- package/plugins/harness-everything/skills/to-spec/SKILL.md +1 -1
- package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +12 -0
- package/sbom.cdx.json +7 -7
- package/to-spec/SKILL.md +1 -1
- package/to-spec/scripts/project-docs-resolver.js +12 -0
package/to-spec/SKILL.md
CHANGED
|
@@ -21,6 +21,7 @@ const PROJECT_DOCS_CONFIG = path.join('.agents', 'harness-everything', 'project-
|
|
|
21
21
|
const PROJECT_DOC_ROLES = Object.freeze(['prd', 'adr', 'ticket', 'reference', 'log', 'report']);
|
|
22
22
|
const PROJECT_DOC_CONFIG_KEYS = new Set([
|
|
23
23
|
'governed', 'domains', 'legacy', 'derived', 'tickets',
|
|
24
|
+
'inventory',
|
|
24
25
|
'docLocation', 'tracker', 'issueDefinition', 'contextMap', 'contextMapPath',
|
|
25
26
|
'decisionLocation', 'decisions', 'adrLocation', 'adr',
|
|
26
27
|
'domainLocation', 'contextLocation', 'contexts', 'domain',
|
|
@@ -327,6 +328,17 @@ function validateDocsConfig(config) {
|
|
|
327
328
|
}
|
|
328
329
|
}
|
|
329
330
|
|
|
331
|
+
if (Object.prototype.hasOwnProperty.call(config, 'inventory')) {
|
|
332
|
+
const inventory = config.inventory;
|
|
333
|
+
const roots = inventory && inventory.dependencyArtifactRoots;
|
|
334
|
+
const supportedRoots = new Set(['node_modules', '.husky/_']);
|
|
335
|
+
if (!isPlainObject(inventory) || Object.keys(inventory).some(key => key !== 'dependencyArtifactRoots')
|
|
336
|
+
|| !Array.isArray(roots) || roots.some(root => typeof root !== 'string' || !supportedRoots.has(root))
|
|
337
|
+
|| new Set(roots).size !== roots.length) {
|
|
338
|
+
invalid('invalid-dependency-artifact-roots', 'inventory.dependencyArtifactRoots must contain distinct exact roots from node_modules and .husky/_');
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
330
342
|
if (Object.prototype.hasOwnProperty.call(config, 'tickets') &&
|
|
331
343
|
config.tickets !== 'tracker' && !isRepoRelativePath(config.tickets)) {
|
|
332
344
|
invalid('invalid-tickets', 'tickets must be "tracker" or a repo-relative path');
|