@dotdotgod/cli 0.2.21 → 0.2.22

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dotdotgod/cli",
3
- "version": "0.2.21",
3
+ "version": "0.2.22",
4
4
  "description": "CLI for dotdotgod validation, local documentation search, and graph indexing.",
5
5
  "type": "module",
6
6
  "license": "Elastic-2.0",
@@ -82,7 +82,7 @@ const keys = {
82
82
  ['implementedBy', 'Implemented by', 'Files that implement the behavior.', 'path', 'implemented_by', 4],
83
83
  ['verifiedBy', 'Verified by', 'Tests or maintained verification documents.', 'path', 'verified_by', 4],
84
84
  ['relatedDocs', 'Related docs', 'Documents needed to interpret the behavior.', 'path', 'related_doc', 3],
85
- ['verificationCommands', 'Verification commands', 'Project-local verification commands.', 'command', 'verification_command', 3],
85
+ ['designDecisions', 'Design decisions', 'Maintained architecture or design decision documents that constrain the behavior.', 'path', 'design_decision', 3],
86
86
  ],
87
87
  research: [
88
88
  ['informedBy', 'Informed by', 'Research sources or prior findings that justify the direction.', 'path', 'informed_by', 4],
@@ -42,7 +42,7 @@ function addBounded(list, value, limit) {
42
42
 
43
43
  export function relationWeight(relation) {
44
44
  if (relation === 'implemented_by' || relation === 'verified_by') return 4;
45
- if (relation === 'includes_resource' || relation === 'routes_to' || relation === 'related_doc' || relation === 'verification_command') return 3;
45
+ if (relation === 'includes_resource' || relation === 'routes_to' || relation === 'related_doc' || relation === 'design_decision' || relation === 'verification_command') return 3;
46
46
  if (relation === 'links_to' || relation === 'belongs_to_area' || relation === 'declares_package' || relation === 'declares_bin' || relation === 'vector_similarity') return 2;
47
47
  return 1;
48
48
  }
@@ -14,7 +14,7 @@ function graphNodeShard(node) {
14
14
  }
15
15
 
16
16
  function graphEdgeShard(edge) {
17
- if (edge.relation === 'links_to' || edge.relation === 'routes_to' || edge.relation === 'contains_heading' || edge.relation === 'implemented_by' || edge.relation === 'verified_by' || edge.relation === 'related_doc' || edge.relation === 'verification_command' || edge.relation === 'defines_contract' || SEMANTIC_RELATIONS.has(edge.relation)) return 'docs-links';
17
+ if (edge.relation === 'links_to' || edge.relation === 'routes_to' || edge.relation === 'contains_heading' || edge.relation === 'implemented_by' || edge.relation === 'verified_by' || edge.relation === 'related_doc' || edge.relation === 'design_decision' || edge.relation === 'verification_command' || edge.relation === 'defines_contract' || SEMANTIC_RELATIONS.has(edge.relation)) return 'docs-links';
18
18
  if (edge.relation === 'declares_package' || edge.relation === 'declares_script' || edge.relation === 'declares_bin' || edge.relation === 'depends_on' || edge.relation === 'includes_resource') return 'packages';
19
19
  return 'other';
20
20
  }
@@ -90,7 +90,7 @@ export function scoreImpactItem(item, seeds, changedPaths, policy, pprScores) {
90
90
  };
91
91
  }
92
92
 
93
- const CURATED_IMPACT_REASONS = new Set(['implemented_by', 'verified_by', 'related_doc', 'verification_command', 'links_to', 'routes_to', 'belongs_to_area']);
93
+ const CURATED_IMPACT_REASONS = new Set(['implemented_by', 'verified_by', 'related_doc', 'design_decision', 'verification_command', 'links_to', 'routes_to', 'belongs_to_area']);
94
94
  const LOW_ACTIONABILITY_IMPACT_TYPES = new Set(['dependency', 'package', 'script', 'binary', 'heading', 'memory_area']);
95
95
 
96
96
  function baseImpactReason(reason = '') {
@@ -11,7 +11,7 @@ export const DEFAULT_TRACEABILITY_KEYS = [
11
11
  { key: 'implementedBy', label: 'Implemented by', description: 'Files that implement the behavior.', target: 'path', relation: 'implemented_by', weight: 4 },
12
12
  { key: 'verifiedBy', label: 'Verified by', description: 'Tests or maintained verification documents.', target: 'path', relation: 'verified_by', weight: 4 },
13
13
  { key: 'relatedDocs', label: 'Related docs', description: 'Documents needed to interpret the behavior.', target: 'path', relation: 'related_doc', weight: 3 },
14
- { key: 'verificationCommands', label: 'Verification commands', description: 'Project-local verification commands.', target: 'command', relation: 'verification_command', weight: 3 },
14
+ { key: 'designDecisions', label: 'Design decisions', description: 'Maintained architecture or design decision documents that constrain the behavior.', target: 'path', relation: 'design_decision', weight: 3 },
15
15
  ];
16
16
  export const DEFAULT_TRACEABILITY_POLICY = {
17
17
  required: ['docs/spec/**'],