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.
Files changed (33) hide show
  1. package/.agents/harness-everything/project-docs.json +2 -1
  2. package/.claude-plugin/marketplace.json +1 -1
  3. package/.claude-plugin/plugin.json +1 -1
  4. package/CHANGELOG.md +16 -0
  5. package/ci/fixtures/doc-obligations/reconciliation-s2a/run13-workflow-requirements.json +42 -0
  6. package/ci/mechanism-e1-dependency-artifact-scope.test.js +657 -0
  7. package/ci/mechanism-prb-outline-review.test.js +1 -1
  8. package/docs/doc-workflow-reconciliation.md +3 -1
  9. package/harness-everything/SKILL.md +1 -1
  10. package/harness-everything/scripts/doc-lifecycle.js +11 -3
  11. package/harness-everything/scripts/project-docs-resolver.js +12 -0
  12. package/hooks/scripts/lib/doc-reconciliation-core.js +56 -0
  13. package/hooks/scripts/lib/doc-reconciliation-producer.js +274 -12
  14. package/hooks/scripts/lib/doc-reconciliation-provider.js +1 -1
  15. package/multi-agent-workspace/SKILL.md +1 -1
  16. package/multi-agent-workspace/scripts/project-docs-resolver.js +12 -0
  17. package/opencode-plugin/plugin.json +1 -1
  18. package/package.json +1 -1
  19. package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
  20. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-core.js +56 -0
  21. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-producer.js +274 -12
  22. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-provider.js +1 -1
  23. package/plugins/harness-everything/plugin.json +1 -1
  24. package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
  25. package/plugins/harness-everything/skills/harness-everything/scripts/doc-lifecycle.js +11 -3
  26. package/plugins/harness-everything/skills/harness-everything/scripts/project-docs-resolver.js +12 -0
  27. package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +1 -1
  28. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +12 -0
  29. package/plugins/harness-everything/skills/to-spec/SKILL.md +1 -1
  30. package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +12 -0
  31. package/sbom.cdx.json +7 -7
  32. package/to-spec/SKILL.md +1 -1
  33. package/to-spec/scripts/project-docs-resolver.js +12 -0
package/to-spec/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: "Turn the conversation into a written spec — feature PRD, CLI/API
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.41.0
7
+ version: 0.48.0
8
8
  ---
9
9
 
10
10
  # To Spec
@@ -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');