knodin 0.7.6 → 0.8.3

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 (134) hide show
  1. package/README.md +41 -12
  2. package/benchmarks/competitors/SYNTHESIS.md +66 -0
  3. package/dist/bin/cli.js +2181 -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 +142 -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 +15094 -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 +70 -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/progress-worker-runtime.js +46 -0
  60. package/dist/src/progressive-evidence.js +477 -0
  61. package/dist/src/pure-compression-cli.js +102 -0
  62. package/dist/src/relationship-adapters.js +377 -0
  63. package/dist/src/release-attestation.js +533 -0
  64. package/dist/src/release-preflight.js +513 -0
  65. package/dist/src/repair-lease.js +85 -0
  66. package/dist/src/repair-progress-worker.js +83 -2
  67. package/dist/src/repair-progress.js +262 -0
  68. package/dist/src/repository-init-process.js +177 -0
  69. package/dist/src/repository-management.js +1261 -0
  70. package/dist/src/resource-reachability.js +456 -0
  71. package/dist/src/response-budget.js +200 -0
  72. package/dist/src/server.js +217 -0
  73. package/dist/src/structural-fast-path.js +344 -0
  74. package/dist/src/structural-snapshot.js +37 -0
  75. package/dist/src/system-config.js +638 -0
  76. package/dist/src/terminal-help.js +83 -0
  77. package/dist/src/tools/knodin-tools.js +1645 -0
  78. package/dist/src/update-ceremony.js +162 -0
  79. package/dist/src/update-policy.js +944 -0
  80. package/dist/src/update-trust.js +504 -0
  81. package/dist/src/version.js +13 -0
  82. package/dist/src/visualization.js +515 -0
  83. package/dist/src/wait-for-fresh.js +98 -0
  84. package/dist/src/worktree-lifecycle.js +234 -0
  85. package/docs/BEHAVIORAL-CONTRACT.md +114 -0
  86. package/docs/CLI.md +30 -1
  87. package/docs/COMPARISON.md +413 -0
  88. package/docs/COMPETITIVE-LANDSCAPE-2026-08.md +267 -0
  89. package/docs/CONTAINED-EXECUTION.md +77 -0
  90. package/docs/DEMO.md +49 -0
  91. package/docs/DIAGNOSTICS.md +80 -0
  92. package/docs/GIT-HISTORY-REVIEW.md +39 -0
  93. package/docs/HANDOFF.md +180 -0
  94. package/docs/INSTALLATION.md +21 -18
  95. package/docs/MCP.md +64 -8
  96. package/docs/PROGRESSIVE-EVIDENCE.md +37 -0
  97. package/docs/PT-ACCESS-RECOMMENDATION.md +89 -0
  98. package/docs/RELEASE-0.3-EVIDENCE.md +73 -0
  99. package/docs/REPOSITORIES-AND-WORKTREES.md +18 -6
  100. package/docs/SCIP-IMPORT.md +62 -0
  101. package/docs/SIGNED-UPDATES.md +151 -0
  102. package/docs/TELEMETRY.md +46 -0
  103. package/docs/TOKEN-OPTIMIZER-SCORECARD.md +79 -0
  104. package/docs/assets/knodin-favicon.svg +4 -0
  105. package/docs/releases/0.3.0.md +46 -0
  106. package/docs/releases/0.4.0.md +68 -0
  107. package/docs/releases/0.4.1.md +28 -0
  108. package/docs/releases/0.4.2.md +27 -0
  109. package/docs/releases/0.4.3.md +23 -0
  110. package/docs/releases/0.5.0.md +29 -0
  111. package/docs/releases/0.5.1.md +17 -0
  112. package/docs/releases/0.6.0.md +18 -0
  113. package/docs/releases/0.7.0.md +24 -0
  114. package/docs/releases/0.7.1.md +21 -0
  115. package/docs/releases/0.7.2.md +21 -0
  116. package/docs/releases/0.7.3.md +23 -0
  117. package/docs/releases/0.7.4.md +17 -0
  118. package/docs/releases/0.7.5.md +20 -0
  119. package/docs/releases/0.8.0.md +74 -0
  120. package/docs/releases/0.8.2.md +34 -0
  121. package/docs/releases/0.8.3.md +47 -0
  122. package/package.json +139 -4
  123. package/roadmap/competitive-roadmap.md +3896 -0
  124. package/schemas/release-attestation-v1.schema.json +210 -0
  125. package/schemas/support-bundle-v2.schema.json +212 -0
  126. package/dist/chunks/chunk-DMQAGX77.js +0 -654
  127. package/dist/chunks/chunk-F4Z3Z766.js +0 -4
  128. package/dist/chunks/chunk-SIJAQVSX.js +0 -3
  129. package/dist/chunks/chunk-X6M4HUUE.js +0 -2
  130. package/dist/chunks/chunk-YPRMY2LP.js +0 -8
  131. package/dist/chunks/pure-compression-cli-4TA2TQD5.js +0 -5
  132. package/dist/chunks/server-7EDF4CBY.js +0 -14
  133. package/dist/chunks/structural-fast-path-KD5KQSPX.js +0 -4
  134. package/docs/releases/0.7.6.md +0 -25
package/README.md CHANGED
@@ -31,9 +31,32 @@ one persistent local graph.
31
31
  - **Adopt locally:** initialize the checkout you already have and use the CLI or
32
32
  connect one MCP gateway.
33
33
 
34
- The practical payoff is less manual context assembly, fewer agent round trips,
35
- and fewer dependencies missed during reviewwith no hosted-service or
36
- source-egress overhead.
34
+ The practical value is less manual context assembly and fewer dependencies
35
+ missed during review, with no hosted-service or source-egress overhead. Fewer
36
+ agent round trips are an intended payoff; the narrow C93 replay measured no
37
+ round-trip difference, so knodin does not claim a general productivity effect.
38
+
39
+ Four checked answers define the product rather than a feature-count claim:
40
+
41
+ - **Value:** less manual context assembly and fewer missed dependencies. C93
42
+ records the paired task method; C100 narrows one missed-dependency result from
43
+ a Salesforce class file to the exact Flow-invoked Apex method.
44
+ - **ROI:** the intended mechanism is fewer corrective agent round trips without
45
+ hosted-service, authentication, or source-egress overhead. C93's accepted
46
+ two-task replay measured no round-trip benefit (both arms required one
47
+ correction), so this remains a product hypothesis rather than a measured
48
+ productivity claim. Billed cost and unobserved tokens remain unknown.
49
+ - **Tomorrow:** run `knodin init`, check `knodin status`, then use the local CLI
50
+ or single MCP gateway against the checkout already on disk.
51
+ - **Secret sauce:** stable identity, exact source evidence, explicit freshness,
52
+ and truthful budgets compose behind one compact local tool.
53
+
54
+ The checked [behavioral contract](docs/BEHAVIORAL-CONTRACT.md) release-gates
55
+ that composition. C101 binds the bounded resource-reachability, TypeScript DI,
56
+ and Salesforce Flow-to-Apex evidence to the retained one-process semantic
57
+ design. It rejects stale, truncated, ambiguous, or omission-only output when a
58
+ mutation tries to promote it into a complete or exact claim. These are
59
+ fixture-scoped guarantees with recorded limits, not universal superiority.
37
60
 
38
61
  ## How it compares
39
62
 
@@ -43,10 +66,11 @@ context over one locally persisted index.
43
66
 
44
67
  | Job | Typical specialized tools | knodin |
45
68
  |---|---|---|
46
- | Symbol navigation | CodeGraph, Serena, Sourcegraph | Ambiguity-safe definitions, callers, callees, paths, and verbatim source |
69
+ | Symbol navigation | CodeGraph, Serena, Sourcegraph | Ambiguity-safe definitions, callers, callees, paths, bounded Inversify/tsyringe DI edges, and verbatim source |
47
70
  | Change impact and review | code-review-graph, Greptile, Graphify | Diff-aware review, impact traversal, tests, risks, and PR triage |
48
71
  | Architecture mapping | Graphify, GitNexus | Communities, hubs, boundaries, flows, wiki, and local visualization |
49
72
  | Search and context assembly | Aider repo map, Repomix, semantic search tools | Hybrid search, bounded source packs, and recoverable diagnostic compression |
73
+ | Bounded resource and framework relationships | Code-Graph-RAG and framework-aware analyzers | Literal TS/JS resource paths, declared Inversify/tsyringe wiring, and one exact Salesforce Flow-to-Apex boundary, each with explicit omissions |
50
74
  | Deployment | Hosted services or separate local tools | One local process, SQLite graph, CLI, and one MCP gateway |
51
75
 
52
76
  ### Measured results
@@ -82,10 +106,7 @@ limitations.
82
106
 
83
107
  ## Install
84
108
 
85
- knodin requires a Node.js 24 or newer runtime. A repository may remain pinned to
86
- Node.js 20: the launcher verifies the active runtime and automatically hands
87
- off to a version-checked Node installation found on the absolute entries in
88
- `PATH` or under a standard version-manager/Homebrew location.
109
+ knodin requires Node.js 24 or newer.
89
110
 
90
111
  ```bash
91
112
  npm install --global --ignore-scripts knodin
@@ -111,6 +132,12 @@ knodin init --scope cli-only # graph and CLI without agent configuration
111
132
  See the [installation guide](docs/INSTALLATION.md) for package-manager details,
112
133
  managed registries, upgrades, and uninstall instructions.
113
134
 
135
+ If one application spans several repositories—including repositories you can
136
+ pull locally but cannot change upstream—follow the
137
+ [local multi-repository setup guide](docs/MULTI-REPO-LOCAL-SETUP.md). It covers
138
+ personal-only initialization, automatic refresh after pulls, hook coexistence,
139
+ portfolio search, and optional system composition.
140
+
114
141
  ## First workflow
115
142
 
116
143
  Start broad, inspect the likely change surface, then review the actual diff:
@@ -149,7 +176,7 @@ knodin repair
149
176
  | Command | Purpose |
150
177
  |---|---|
151
178
  | `knodin context` | Compact repository orientation and next-operation hint |
152
- | `knodin explain <symbol>` | Source, identity, callers, callees, and blast radius |
179
+ | `knodin explain <symbol>` | Source, identity, typed callers/callees, static-analysis omissions, and blast radius |
153
180
  | `knodin review` | Itemized graph impact, test gaps, centrality, and bounded Git-history evidence |
154
181
  | `knodin query …` | Impact, paths, callers, callees, tests, flows, and structured graph queries |
155
182
  | `knodin search <query>` | Explainable structural-first search with a bounded local embedding fallback |
@@ -159,10 +186,10 @@ knodin repair
159
186
  | `knodin compress …` | Bounded diagnostic output with recoverable local detail |
160
187
  | `knodin prs` | Open-PR triage using the authenticated local `gh` CLI |
161
188
  | `knodin wiki` | Static Markdown architecture documentation |
162
- | `knodin visualize` | Self-contained local graph visualization |
189
+ | `knodin visualize` | Self-contained local graph visualization: whole-repository dependency graph or a bounded call flow |
163
190
  | `knodin status --deep` | Index freshness, health, hooks, and integration status |
164
191
  | `knodin repair` | Repair or rebuild unhealthy local graph state |
165
- | `knodin diagnostics …` | Retain local failure evidence and create a redacted support bundle |
192
+ | `knodin diagnostics …` | Preview and archive explicit-allowlist local support evidence |
166
193
 
167
194
  Run `knodin --help` or read the [CLI reference](docs/CLI.md) for complete syntax.
168
195
 
@@ -218,7 +245,9 @@ productivity percentage or superiority over every competing product.
218
245
 
219
246
  ### Internal GHES mirror
220
247
 
221
- GitHub SaaS `knodin/knodin` is the authoritative review and release repository.
248
+ GitHub SaaS `DTS-Productivity-Engineering/knodin` is the authoritative
249
+ review and release repository. `knodin/knodin` is the Homebrew-tap repository,
250
+ not a source or release authority.
222
251
  The internal `github.docusignhq.com/Enterprise-Apps/knodin` repository is a
223
252
  read-only mirror for colleagues who need GHES access; work must not be opened
224
253
  or reviewed there.
@@ -0,0 +1,66 @@
1
+ # Local competitor bake-off synthesis
2
+
3
+ ## Outcome
4
+
5
+ The program exercised 11 runnable competitors locally and recorded one
6
+ credential/egress blocker. Across 713 paired cases, Reckon was faster in 488
7
+ (68.4%) and competitors were faster in 225 (31.6%). That aggregate is
8
+ directional—not a universal quality score—because packers, LSP editors, semantic
9
+ search engines, and graph tools do different work.
10
+
11
+ These are historical performance observations, not current competitive wins.
12
+ C24's oracle-aware replay contract and
13
+ `benchmarks/evaluations/competitive-fixture-inventory.json` identify which audit
14
+ rows have checked-in labels and which remain blocked on a shared fixture.
15
+
16
+ | Competitor | Paired cases | Reckon faster | Competitor faster | Primary competitor win |
17
+ |---|---:|---:|---:|---|
18
+ | GitNexus | 39 | 38 | 1 | ambiguity, directional impact, PDG, diff scopes |
19
+ | CodeGraph | 38 | 37 | 1 | bounded multi-symbol orientation |
20
+ | code-review-graph | 142 | 139 | 3 | filters, compact modes, explicit changes, DFS |
21
+ | Graphify | 142 | 98 | 44 | compact hubs/neighbors and relation filters |
22
+ | Serena | 31 | 31 | 0 | LSP navigation, diagnostics, guarded editing |
23
+ | codebase-memory-mcp | 75 | 17 | 58 | typed tracing, layers, filters, pagination |
24
+ | grepai | 59 | 55 | 4 | compact semantic ranking and feature paths |
25
+ | Repomix | 74 | 25 | 49 | portable packing and incremental exact retrieval |
26
+ | Aider repo-map | 36 | 36 | 0 | hard token budgets and ranked source maps |
27
+ | code2prompt | 65 | 0 | 65 | deterministic source/Git export controls |
28
+ | claude-context-mcp | 12 | 12 | 0 | extension-filtered contextual semantic chunks |
29
+ | mcp-codebase-index | — | — | — | blocked: mandatory hosted Gemini embeddings |
30
+
31
+ ## Where Reckon was beaten
32
+
33
+ The repeated, material gaps are now roadmap items:
34
+
35
+ 1. Call/reference precision, stable identities, ambiguity, and structural
36
+ implementations: C2 and C11.
37
+ 2. Honest byte/token/item budgets and compact top-N drill-downs: C3.
38
+ 3. Directional typed traversal, argument/data-flow facts, and architectural
39
+ layers/boundaries: C4 and C13.
40
+ 4. Uniform language/kind/path/relation filters and pagination: C12.
41
+ 5. Explicit change sets, staged scopes, revision pairs, and Git context: C5.
42
+ 6. Portable source-shaped exports with token metrics and per-file policies: C14.
43
+ 7. Diagnostics and broader verified symbol editing: C15 evaluation.
44
+ 8. Public index health/repair and local output telemetry: C16.
45
+ 9. DFS/feature paths, PDG, API shapes, and a bounded DSL remain evaluations:
46
+ C8-C10 and C17.
47
+
48
+ ## Defensible strengths
49
+
50
+ - One composable MCP tool rather than 8-30 schemas.
51
+ - Fully local, credential-free, source-private operation with embedded storage.
52
+ - Strong warm latency against GitNexus, CodeGraph, code-review-graph, Serena,
53
+ grepai, Aider, and Claude Context.
54
+ - Compiler-verified rename preview/apply/rollback.
55
+ - Rich graph facts—communities, hubs, bridges, flows, impact, risk, staleness—in
56
+ one process.
57
+
58
+ ## Marketing guardrails
59
+
60
+ Do not claim Reckon wins every query or every latency comparison. It lost the
61
+ aggregate warm-latency score to codebase-memory-mcp, Repomix, and code2prompt,
62
+ and lost specific quality/capability cases throughout the reports. Safe claims
63
+ are evidence-linked and replay-qualified: local and credential-free only after
64
+ the C33 gate, and measured latency only on the recorded workload.
65
+
66
+ “Free” remains blocked until C1 adds an explicit permissive license.