knodin 0.7.6 → 0.8.2

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 (130) hide show
  1. package/README.md +19 -7
  2. package/benchmarks/competitors/SYNTHESIS.md +66 -0
  3. package/dist/bin/cli.js +2164 -108
  4. package/dist/bin/launcher.js +25 -3
  5. package/dist/src/agent-integration.js +304 -0
  6. package/dist/src/artifact-refresh.js +82 -0
  7. package/dist/src/cli-args.js +292 -0
  8. package/dist/src/cli-model.js +384 -0
  9. package/dist/src/codeflow-replay.js +81 -0
  10. package/dist/src/compact-structural.js +96 -0
  11. package/dist/src/compare.js +39 -0
  12. package/dist/src/competitive-cold-mcp.js +40 -0
  13. package/dist/src/competitive-constraints.js +21 -0
  14. package/dist/src/competitive-manifest.js +411 -0
  15. package/dist/src/competitive-measurement.js +183 -0
  16. package/dist/src/competitive-runner.js +487 -0
  17. package/dist/src/competitive-sandbox.js +108 -0
  18. package/dist/src/context-export.js +423 -0
  19. package/dist/src/context.js +102 -0
  20. package/dist/src/deterministic-random.js +34 -0
  21. package/dist/src/diagnostics-write-helper.js +473 -0
  22. package/dist/src/diagnostics.js +1476 -0
  23. package/dist/src/docs-sections.js +141 -0
  24. package/dist/src/doctor.js +382 -0
  25. package/dist/src/engine/ann-hnsw.js +261 -0
  26. package/dist/src/engine/embeddings.js +193 -0
  27. package/dist/src/engine/file-walker.js +49 -0
  28. package/dist/src/engine/git-history.js +289 -0
  29. package/dist/src/engine/index.js +14238 -0
  30. package/dist/src/engine/perf.js +115 -0
  31. package/dist/src/engine/prune.js +112 -0
  32. package/dist/src/engine/sarif-import.js +341 -0
  33. package/dist/src/engine/scip-import.js +423 -0
  34. package/dist/src/engine/source-policy.js +85 -0
  35. package/dist/src/engine/sqlite.js +71 -0
  36. package/dist/src/engine/state-paths.js +175 -0
  37. package/dist/src/engine/symbol-delete.js +58 -0
  38. package/dist/src/execution-profile.js +208 -0
  39. package/dist/src/failure-diagnosis.js +655 -0
  40. package/dist/src/fleet.js +7 -0
  41. package/dist/src/git-executable.js +31 -0
  42. package/dist/src/graph-layout.js +173 -0
  43. package/dist/src/graph-query-health.js +115 -0
  44. package/dist/src/hook-manager-integration.js +156 -0
  45. package/dist/src/index-activity.js +126 -0
  46. package/dist/src/init-progress-worker.js +106 -2
  47. package/dist/src/init-progress.js +155 -0
  48. package/dist/src/init.js +1295 -0
  49. package/dist/src/lifecycle-health.js +282 -0
  50. package/dist/src/lsp-readonly.js +217 -0
  51. package/dist/src/mcp-graph-worker.js +69 -0
  52. package/dist/src/mcp-reliability.js +154 -0
  53. package/dist/src/mcp-worker-supervisor.js +350 -0
  54. package/dist/src/mirror.js +290 -0
  55. package/dist/src/node-runtime.js +157 -0
  56. package/dist/src/output-compression.js +630 -0
  57. package/dist/src/output-telemetry.js +368 -0
  58. package/dist/src/pr-triage.js +638 -0
  59. package/dist/src/progressive-evidence.js +477 -0
  60. package/dist/src/pure-compression-cli.js +102 -0
  61. package/dist/src/relationship-adapters.js +377 -0
  62. package/dist/src/release-attestation.js +533 -0
  63. package/dist/src/release-preflight.js +513 -0
  64. package/dist/src/repair-lease.js +85 -0
  65. package/dist/src/repair-progress-worker.js +120 -2
  66. package/dist/src/repair-progress.js +262 -0
  67. package/dist/src/repository-init-process.js +177 -0
  68. package/dist/src/repository-management.js +1261 -0
  69. package/dist/src/response-budget.js +196 -0
  70. package/dist/src/server.js +217 -0
  71. package/dist/src/structural-fast-path.js +344 -0
  72. package/dist/src/structural-snapshot.js +37 -0
  73. package/dist/src/system-config.js +638 -0
  74. package/dist/src/terminal-help.js +83 -0
  75. package/dist/src/tools/knodin-tools.js +1640 -0
  76. package/dist/src/update-ceremony.js +162 -0
  77. package/dist/src/update-policy.js +944 -0
  78. package/dist/src/update-trust.js +504 -0
  79. package/dist/src/version.js +13 -0
  80. package/dist/src/visualization.js +515 -0
  81. package/dist/src/wait-for-fresh.js +98 -0
  82. package/dist/src/worktree-lifecycle.js +234 -0
  83. package/docs/BEHAVIORAL-CONTRACT.md +72 -0
  84. package/docs/CLI.md +20 -1
  85. package/docs/COMPARISON.md +403 -0
  86. package/docs/COMPETITIVE-LANDSCAPE-2026-08.md +267 -0
  87. package/docs/CONTAINED-EXECUTION.md +77 -0
  88. package/docs/DIAGNOSTICS.md +80 -0
  89. package/docs/GIT-HISTORY-REVIEW.md +39 -0
  90. package/docs/HANDOFF.md +180 -0
  91. package/docs/INSTALLATION.md +21 -18
  92. package/docs/MCP.md +59 -8
  93. package/docs/PROGRESSIVE-EVIDENCE.md +37 -0
  94. package/docs/PT-ACCESS-RECOMMENDATION.md +89 -0
  95. package/docs/RELEASE-0.3-EVIDENCE.md +73 -0
  96. package/docs/REPOSITORIES-AND-WORKTREES.md +18 -6
  97. package/docs/SCIP-IMPORT.md +62 -0
  98. package/docs/SIGNED-UPDATES.md +151 -0
  99. package/docs/TELEMETRY.md +46 -0
  100. package/docs/TOKEN-OPTIMIZER-SCORECARD.md +79 -0
  101. package/docs/assets/knodin-favicon.svg +4 -0
  102. package/docs/releases/0.3.0.md +46 -0
  103. package/docs/releases/0.4.0.md +68 -0
  104. package/docs/releases/0.4.1.md +28 -0
  105. package/docs/releases/0.4.2.md +27 -0
  106. package/docs/releases/0.4.3.md +23 -0
  107. package/docs/releases/0.5.0.md +29 -0
  108. package/docs/releases/0.5.1.md +17 -0
  109. package/docs/releases/0.6.0.md +18 -0
  110. package/docs/releases/0.7.0.md +24 -0
  111. package/docs/releases/0.7.1.md +21 -0
  112. package/docs/releases/0.7.2.md +21 -0
  113. package/docs/releases/0.7.3.md +23 -0
  114. package/docs/releases/0.7.4.md +17 -0
  115. package/docs/releases/0.7.5.md +20 -0
  116. package/docs/releases/0.8.0.md +74 -0
  117. package/docs/releases/0.8.2.md +34 -0
  118. package/package.json +127 -4
  119. package/roadmap/competitive-roadmap.md +3801 -0
  120. package/schemas/release-attestation-v1.schema.json +210 -0
  121. package/schemas/support-bundle-v2.schema.json +212 -0
  122. package/dist/chunks/chunk-DMQAGX77.js +0 -654
  123. package/dist/chunks/chunk-F4Z3Z766.js +0 -4
  124. package/dist/chunks/chunk-SIJAQVSX.js +0 -3
  125. package/dist/chunks/chunk-X6M4HUUE.js +0 -2
  126. package/dist/chunks/chunk-YPRMY2LP.js +0 -8
  127. package/dist/chunks/pure-compression-cli-4TA2TQD5.js +0 -5
  128. package/dist/chunks/server-7EDF4CBY.js +0 -14
  129. package/dist/chunks/structural-fast-path-KD5KQSPX.js +0 -4
  130. package/docs/releases/0.7.6.md +0 -25
@@ -0,0 +1,210 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/DTS-Productivity-Engineering/knodin/main/schemas/release-attestation-v1.schema.json",
4
+ "title": "knodin release attestation",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "status",
10
+ "version",
11
+ "tag",
12
+ "sourceCommit",
13
+ "generatedAt",
14
+ "build",
15
+ "artifact",
16
+ "provenance",
17
+ "sbom",
18
+ "channels",
19
+ "rollback",
20
+ "failures"
21
+ ],
22
+ "properties": {
23
+ "schemaVersion": { "const": 1 },
24
+ "status": { "enum": ["verified", "incomplete", "quarantined"] },
25
+ "version": { "$ref": "#/$defs/semver" },
26
+ "tag": { "type": "string", "pattern": "^v[0-9]", "maxLength": 129 },
27
+ "sourceCommit": { "$ref": "#/$defs/commit" },
28
+ "generatedAt": { "$ref": "#/$defs/instant" },
29
+ "build": { "$ref": "#/$defs/build" },
30
+ "artifact": { "$ref": "#/$defs/artifact" },
31
+ "provenance": { "$ref": "#/$defs/provenance" },
32
+ "sbom": { "$ref": "#/$defs/sbom" },
33
+ "channels": {
34
+ "type": "object",
35
+ "additionalProperties": false,
36
+ "required": ["public-npm", "docusign-artifactory", "github-saas", "homebrew", "ghes"],
37
+ "properties": {
38
+ "public-npm": { "$ref": "#/$defs/channel" },
39
+ "docusign-artifactory": { "$ref": "#/$defs/channel" },
40
+ "github-saas": { "$ref": "#/$defs/channel" },
41
+ "homebrew": { "$ref": "#/$defs/channel" },
42
+ "ghes": { "$ref": "#/$defs/channel" }
43
+ }
44
+ },
45
+ "rollback": {
46
+ "type": "object",
47
+ "additionalProperties": false,
48
+ "required": ["version", "targetPath", "artifactSha256"],
49
+ "properties": {
50
+ "version": { "$ref": "#/$defs/semver" },
51
+ "targetPath": { "$ref": "#/$defs/file" },
52
+ "artifactSha256": { "$ref": "#/$defs/sha256" }
53
+ }
54
+ },
55
+ "failures": {
56
+ "type": "array",
57
+ "maxItems": 100,
58
+ "items": { "type": "string", "minLength": 1, "maxLength": 512 }
59
+ }
60
+ },
61
+ "$defs": {
62
+ "semver": {
63
+ "type": "string",
64
+ "maxLength": 128,
65
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$"
66
+ },
67
+ "commit": {
68
+ "type": "string",
69
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
70
+ },
71
+ "instant": {
72
+ "type": "string",
73
+ "maxLength": 64,
74
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
75
+ },
76
+ "sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
77
+ "sha512": { "type": "string", "pattern": "^[a-f0-9]{128}$" },
78
+ "file": {
79
+ "type": "string",
80
+ "minLength": 1,
81
+ "maxLength": 256,
82
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._+-]{0,255}$"
83
+ },
84
+ "https": {
85
+ "type": "string",
86
+ "minLength": 1,
87
+ "maxLength": 2048,
88
+ "pattern": "^https://"
89
+ },
90
+ "build": {
91
+ "type": "object",
92
+ "additionalProperties": false,
93
+ "required": ["repository", "workflow", "workflowRef", "runId", "runAttempt"],
94
+ "properties": {
95
+ "repository": {
96
+ "type": "string",
97
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
98
+ },
99
+ "workflow": {
100
+ "type": "string",
101
+ "pattern": "^\\.github/workflows/[A-Za-z0-9][A-Za-z0-9._-]{0,127}\\.ya?ml$"
102
+ },
103
+ "workflowRef": { "type": "string", "pattern": "^refs/tags/v", "maxLength": 256 },
104
+ "runId": { "type": "string", "pattern": "^[0-9]{1,32}$" },
105
+ "runAttempt": { "type": "integer", "minimum": 1, "maximum": 1000 }
106
+ }
107
+ },
108
+ "artifact": {
109
+ "type": "object",
110
+ "additionalProperties": false,
111
+ "required": ["name", "length", "sha256", "sha512", "npmIntegrity"],
112
+ "properties": {
113
+ "name": { "$ref": "#/$defs/file" },
114
+ "length": { "type": "integer", "minimum": 1, "maximum": 536870912 },
115
+ "sha256": { "$ref": "#/$defs/sha256" },
116
+ "sha512": { "$ref": "#/$defs/sha512" },
117
+ "npmIntegrity": { "type": "string", "pattern": "^sha512-[A-Za-z0-9+/]+={0,2}$" }
118
+ }
119
+ },
120
+ "verification": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "required": [
124
+ "verified",
125
+ "attestationId",
126
+ "attestationUrl",
127
+ "issuer",
128
+ "identity",
129
+ "verifiedAt"
130
+ ],
131
+ "properties": {
132
+ "verified": { "type": "boolean" },
133
+ "attestationId": { "type": "string", "minLength": 1, "maxLength": 256 },
134
+ "attestationUrl": { "$ref": "#/$defs/https" },
135
+ "issuer": { "const": "https://token.actions.githubusercontent.com" },
136
+ "identity": { "$ref": "#/$defs/https" },
137
+ "verifiedAt": { "$ref": "#/$defs/instant" }
138
+ }
139
+ },
140
+ "provenance": {
141
+ "type": "object",
142
+ "additionalProperties": false,
143
+ "required": ["path", "length", "sha256", "verification"],
144
+ "properties": {
145
+ "path": { "$ref": "#/$defs/file" },
146
+ "length": { "type": "integer", "minimum": 1, "maximum": 16777216 },
147
+ "sha256": { "$ref": "#/$defs/sha256" },
148
+ "verification": { "$ref": "#/$defs/verification" }
149
+ }
150
+ },
151
+ "sbom": {
152
+ "type": "object",
153
+ "additionalProperties": false,
154
+ "required": [
155
+ "format",
156
+ "specVersion",
157
+ "path",
158
+ "length",
159
+ "sha256",
160
+ "attestationPath",
161
+ "attestationLength",
162
+ "attestationSha256",
163
+ "verification"
164
+ ],
165
+ "properties": {
166
+ "format": { "const": "CycloneDX" },
167
+ "specVersion": { "type": "string", "minLength": 1, "maxLength": 16 },
168
+ "path": { "$ref": "#/$defs/file" },
169
+ "length": { "type": "integer", "minimum": 1, "maximum": 16777216 },
170
+ "sha256": { "$ref": "#/$defs/sha256" },
171
+ "attestationPath": { "$ref": "#/$defs/file" },
172
+ "attestationLength": { "type": "integer", "minimum": 1, "maximum": 16777216 },
173
+ "attestationSha256": { "$ref": "#/$defs/sha256" },
174
+ "verification": { "$ref": "#/$defs/verification" }
175
+ }
176
+ },
177
+ "channel": {
178
+ "oneOf": [
179
+ {
180
+ "type": "object",
181
+ "additionalProperties": false,
182
+ "required": ["status"],
183
+ "properties": { "status": { "const": "missing" } }
184
+ },
185
+ {
186
+ "type": "object",
187
+ "additionalProperties": false,
188
+ "required": [
189
+ "status",
190
+ "artifactLength",
191
+ "artifactSha256",
192
+ "version",
193
+ "sourceCommit",
194
+ "publishedAt",
195
+ "location"
196
+ ],
197
+ "properties": {
198
+ "status": { "enum": ["verified", "mismatch"] },
199
+ "artifactLength": { "type": "integer", "minimum": 1, "maximum": 536870912 },
200
+ "artifactSha256": { "$ref": "#/$defs/sha256" },
201
+ "version": { "$ref": "#/$defs/semver" },
202
+ "sourceCommit": { "$ref": "#/$defs/commit" },
203
+ "publishedAt": { "$ref": "#/$defs/instant" },
204
+ "location": { "$ref": "#/$defs/https" }
205
+ }
206
+ }
207
+ ]
208
+ }
209
+ }
210
+ }
@@ -0,0 +1,212 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://knodin.dev/schemas/support-bundle-v2.schema.json",
4
+ "title": "knodin privacy-safe support bundle preview",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "previewId", "generatedAt", "manifest", "report", "files"],
8
+ "properties": {
9
+ "schemaVersion": { "const": 2 },
10
+ "previewId": { "type": "string", "pattern": "^[a-f0-9]{32}$" },
11
+ "generatedAt": { "type": "string", "format": "date-time" },
12
+ "manifest": {
13
+ "type": "object",
14
+ "additionalProperties": false,
15
+ "required": [
16
+ "schemaVersion",
17
+ "privacy",
18
+ "localOnly",
19
+ "uploaded",
20
+ "maxArchiveBytes",
21
+ "omissions",
22
+ "unavailableSections",
23
+ "files"
24
+ ],
25
+ "properties": {
26
+ "schemaVersion": { "const": 2 },
27
+ "privacy": { "const": "explicit-allowlist-local-only" },
28
+ "localOnly": { "const": true },
29
+ "uploaded": { "const": false },
30
+ "maxArchiveBytes": { "type": "integer", "maximum": 524288 },
31
+ "omissions": { "type": "array", "items": { "type": "string" } },
32
+ "unavailableSections": { "type": "array", "items": { "type": "string" } },
33
+ "files": {
34
+ "type": "array",
35
+ "minItems": 6,
36
+ "maxItems": 6,
37
+ "items": {
38
+ "type": "object",
39
+ "additionalProperties": false,
40
+ "required": ["path", "bytes", "fields", "retention", "redaction", "unavailable"],
41
+ "properties": {
42
+ "path": {
43
+ "enum": [
44
+ "support-report.txt",
45
+ "runtime.json",
46
+ "health.json",
47
+ "repository-scale.json",
48
+ "mcp-traces.json",
49
+ "failures.json"
50
+ ]
51
+ },
52
+ "bytes": { "type": "integer", "minimum": 0 },
53
+ "fields": { "type": "array", "items": { "type": "string" } },
54
+ "retention": { "type": "string" },
55
+ "redaction": { "const": ["explicit-allowlist"] },
56
+ "unavailable": { "type": ["string", "null"] }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ },
62
+ "report": { "type": "string" },
63
+ "files": {
64
+ "type": "object",
65
+ "additionalProperties": false,
66
+ "required": [
67
+ "runtime.json",
68
+ "health.json",
69
+ "repository-scale.json",
70
+ "mcp-traces.json",
71
+ "failures.json"
72
+ ],
73
+ "properties": {
74
+ "runtime.json": {
75
+ "type": "object",
76
+ "additionalProperties": false,
77
+ "required": ["knodin", "node", "platform", "arch"],
78
+ "properties": {
79
+ "knodin": { "type": "string" },
80
+ "node": { "type": "string" },
81
+ "platform": { "type": "string" },
82
+ "arch": { "type": "string" }
83
+ }
84
+ },
85
+ "health.json": {
86
+ "type": "object",
87
+ "additionalProperties": false,
88
+ "required": ["graph", "lifecycle", "installation"],
89
+ "properties": {
90
+ "graph": {
91
+ "type": "object",
92
+ "additionalProperties": false,
93
+ "required": ["status", "freshness"],
94
+ "properties": {
95
+ "status": { "type": "string" },
96
+ "freshness": {
97
+ "type": "object",
98
+ "additionalProperties": false,
99
+ "required": ["state", "commitRelation", "commitDistance"],
100
+ "properties": {
101
+ "state": { "type": "string" },
102
+ "commitRelation": { "type": "string" },
103
+ "commitDistance": { "type": ["integer", "null"] }
104
+ }
105
+ }
106
+ }
107
+ },
108
+ "lifecycle": {
109
+ "type": "object",
110
+ "additionalProperties": false,
111
+ "required": ["status", "queuedEvents", "processorState"],
112
+ "properties": {
113
+ "status": { "type": "string" },
114
+ "queuedEvents": { "type": ["integer", "null"] },
115
+ "processorState": { "type": "string" }
116
+ }
117
+ },
118
+ "installation": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": ["status"],
122
+ "properties": { "status": { "type": "string" } }
123
+ }
124
+ }
125
+ },
126
+ "repository-scale.json": {
127
+ "type": "object",
128
+ "additionalProperties": false,
129
+ "required": [
130
+ "sourceFiles",
131
+ "indexedFiles",
132
+ "filesWithSymbols",
133
+ "coveragePercent",
134
+ "missingFileCount",
135
+ "missingRecordCount"
136
+ ],
137
+ "properties": {
138
+ "sourceFiles": { "type": ["integer", "null"] },
139
+ "indexedFiles": { "type": ["integer", "null"] },
140
+ "filesWithSymbols": { "type": ["integer", "null"] },
141
+ "coveragePercent": { "type": ["number", "null"] },
142
+ "missingFileCount": { "type": ["integer", "null"] },
143
+ "missingRecordCount": { "type": ["integer", "null"] }
144
+ }
145
+ },
146
+ "mcp-traces.json": {
147
+ "type": "object",
148
+ "additionalProperties": false,
149
+ "required": ["records"],
150
+ "properties": { "records": { "type": "array", "items": { "$ref": "#/$defs/mcpTrace" } } }
151
+ },
152
+ "failures.json": {
153
+ "type": "object",
154
+ "additionalProperties": false,
155
+ "required": ["records"],
156
+ "properties": { "records": { "type": "array", "items": { "$ref": "#/$defs/failure" } } }
157
+ }
158
+ }
159
+ }
160
+ },
161
+ "$defs": {
162
+ "mcpTrace": {
163
+ "type": "object",
164
+ "additionalProperties": false,
165
+ "required": ["at", "event", "requestId", "traceId", "operation", "deadlineMs"],
166
+ "properties": {
167
+ "at": { "type": "string" },
168
+ "event": { "type": "string" },
169
+ "requestId": { "type": "string" },
170
+ "traceId": { "type": "string" },
171
+ "operation": { "type": "string" },
172
+ "deadlineMs": { "type": "integer" },
173
+ "kind": { "type": "string" },
174
+ "elapsedMs": { "type": "integer" },
175
+ "sequence": { "type": "integer" },
176
+ "predecessorTraceId": { "type": "string" }
177
+ }
178
+ },
179
+ "failure": {
180
+ "type": "object",
181
+ "additionalProperties": false,
182
+ "required": [
183
+ "schemaVersion",
184
+ "at",
185
+ "correlationId",
186
+ "surface",
187
+ "operation",
188
+ "phase",
189
+ "error"
190
+ ],
191
+ "properties": {
192
+ "schemaVersion": { "const": 1 },
193
+ "at": { "type": "string" },
194
+ "correlationId": { "type": "string" },
195
+ "surface": { "enum": ["cli", "mcp", "lifecycle"] },
196
+ "operation": { "type": "string" },
197
+ "phase": { "type": "string" },
198
+ "error": {
199
+ "type": "object",
200
+ "additionalProperties": false,
201
+ "required": ["name", "code", "messageFingerprint", "stack"],
202
+ "properties": {
203
+ "name": { "type": "string" },
204
+ "code": { "type": ["string", "null"] },
205
+ "messageFingerprint": { "type": "string" },
206
+ "stack": { "type": "array", "items": { "enum": ["at <repository>", "at <runtime>"] } }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }