@dotdotgod/cli 0.2.21 → 0.2.23
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.
|
|
3
|
+
"version": "0.2.23",
|
|
4
4
|
"description": "CLI for dotdotgod validation, local documentation search, and graph indexing.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Elastic-2.0",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"url": "https://github.com/dotdotgod/dotdotgod-kit/issues"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
|
-
"test": "node --test test/*.test.mjs",
|
|
45
|
+
"test": "node --test --test-concurrency=1 test/*.test.mjs",
|
|
46
46
|
"verify": "node --check bin/dotdotgod.mjs && node --check src/core.mjs && pnpm run test && node bin/dotdotgod.mjs validate ../.. --include-local-memory",
|
|
47
47
|
"pack:dry-run": "pnpm pack --dry-run --json"
|
|
48
48
|
}
|
package/src/config/templates.mjs
CHANGED
|
@@ -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
|
-
['
|
|
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
|
}
|
package/src/graph/store.mjs
CHANGED
|
@@ -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
|
}
|
package/src/impact/scoring.mjs
CHANGED
|
@@ -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 = '') {
|
package/src/memory/config.mjs
CHANGED
|
@@ -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: '
|
|
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/**'],
|