harness-everything 0.47.5 → 0.49.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 (35) 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 +36 -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 +966 -48
  8. package/docs/doc-workflow-reconciliation.md +50 -2
  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 +334 -10
  15. package/hooks/scripts/state-persist.js +5 -0
  16. package/multi-agent-workspace/SKILL.md +1 -1
  17. package/multi-agent-workspace/scripts/project-docs-resolver.js +12 -0
  18. package/opencode-plugin/plugin.json +1 -1
  19. package/package.json +1 -1
  20. package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
  21. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-core.js +56 -0
  22. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-producer.js +274 -12
  23. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-provider.js +334 -10
  24. package/plugins/harness-everything/hooks/scripts/state-persist.js +5 -0
  25. package/plugins/harness-everything/plugin.json +1 -1
  26. package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
  27. package/plugins/harness-everything/skills/harness-everything/scripts/doc-lifecycle.js +11 -3
  28. package/plugins/harness-everything/skills/harness-everything/scripts/project-docs-resolver.js +12 -0
  29. package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +1 -1
  30. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +12 -0
  31. package/plugins/harness-everything/skills/to-spec/SKILL.md +1 -1
  32. package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +12 -0
  33. package/sbom.cdx.json +7 -7
  34. package/to-spec/SKILL.md +1 -1
  35. package/to-spec/scripts/project-docs-resolver.js +12 -0
package/sbom.cdx.json CHANGED
@@ -2,23 +2,23 @@
2
2
  "$schema": "https://cyclonedx.org/schema/bom-1.7.schema.json",
3
3
  "bomFormat": "CycloneDX",
4
4
  "specVersion": "1.7",
5
- "serialNumber": "urn:uuid:7704887c-bf54-5e11-9e00-50ee977f324d",
5
+ "serialNumber": "urn:uuid:962b7322-7ab3-5bae-8399-c8e93c5d6717",
6
6
  "version": 1,
7
7
  "metadata": {
8
- "timestamp": "2026-11-03T02:46:23.147Z",
8
+ "timestamp": "2026-11-08T20:01:04.125Z",
9
9
  "tools": [
10
10
  {
11
11
  "vendor": "Harness Everything",
12
12
  "name": "generate-sbom.js",
13
- "version": "0.47.5"
13
+ "version": "0.49.0"
14
14
  }
15
15
  ],
16
16
  "component": {
17
17
  "type": "application",
18
- "bom-ref": "pkg:npm/harness-everything@0.47.5",
18
+ "bom-ref": "pkg:npm/harness-everything@0.49.0",
19
19
  "name": "harness-everything",
20
- "version": "0.47.5",
21
- "purl": "pkg:npm/harness-everything@0.47.5"
20
+ "version": "0.49.0",
21
+ "purl": "pkg:npm/harness-everything@0.49.0"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -2033,7 +2033,7 @@
2033
2033
  ]
2034
2034
  },
2035
2035
  {
2036
- "ref": "pkg:npm/harness-everything@0.47.5",
2036
+ "ref": "pkg:npm/harness-everything@0.49.0",
2037
2037
  "dependsOn": [
2038
2038
  "pkg:npm/%40commitlint/cli@19.8.1",
2039
2039
  "pkg:npm/%40commitlint/config-conventional@19.8.1",
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');