knodin 0.7.5 → 0.7.6

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 (105) hide show
  1. package/README.md +4 -1
  2. package/dist/bin/cli.js +108 -1859
  3. package/dist/bin/launcher.js +3 -10
  4. package/dist/chunks/chunk-DMQAGX77.js +654 -0
  5. package/dist/chunks/chunk-F4Z3Z766.js +4 -0
  6. package/dist/chunks/chunk-SIJAQVSX.js +3 -0
  7. package/dist/chunks/chunk-X6M4HUUE.js +2 -0
  8. package/dist/chunks/chunk-YPRMY2LP.js +8 -0
  9. package/dist/chunks/pure-compression-cli-4TA2TQD5.js +5 -0
  10. package/dist/chunks/server-7EDF4CBY.js +14 -0
  11. package/dist/chunks/structural-fast-path-KD5KQSPX.js +4 -0
  12. package/dist/src/init-progress-worker.js +2 -106
  13. package/dist/src/repair-progress-worker.js +2 -120
  14. package/docs/INSTALLATION.md +17 -1
  15. package/docs/releases/0.7.6.md +25 -0
  16. package/package.json +1 -111
  17. package/dist/src/agent-integration.js +0 -238
  18. package/dist/src/artifact-refresh.js +0 -81
  19. package/dist/src/cli-args.js +0 -274
  20. package/dist/src/cli-model.js +0 -358
  21. package/dist/src/codeflow-replay.js +0 -80
  22. package/dist/src/compact-structural.js +0 -96
  23. package/dist/src/competitive-cold-mcp.js +0 -40
  24. package/dist/src/competitive-constraints.js +0 -20
  25. package/dist/src/competitive-manifest.js +0 -411
  26. package/dist/src/competitive-measurement.js +0 -183
  27. package/dist/src/competitive-runner.js +0 -487
  28. package/dist/src/competitive-sandbox.js +0 -108
  29. package/dist/src/context-export.js +0 -422
  30. package/dist/src/context.js +0 -102
  31. package/dist/src/diagnostics.js +0 -449
  32. package/dist/src/docs-sections.js +0 -141
  33. package/dist/src/doctor.js +0 -380
  34. package/dist/src/engine/ann-hnsw.js +0 -271
  35. package/dist/src/engine/embeddings.js +0 -193
  36. package/dist/src/engine/file-walker.js +0 -43
  37. package/dist/src/engine/git-history.js +0 -289
  38. package/dist/src/engine/index.js +0 -13377
  39. package/dist/src/engine/perf.js +0 -115
  40. package/dist/src/engine/prune.js +0 -112
  41. package/dist/src/engine/scip-import.js +0 -408
  42. package/dist/src/engine/source-policy.js +0 -69
  43. package/dist/src/engine/sqlite.js +0 -71
  44. package/dist/src/engine/symbol-delete.js +0 -58
  45. package/dist/src/execution-profile.js +0 -203
  46. package/dist/src/failure-diagnosis.js +0 -649
  47. package/dist/src/fleet.js +0 -7
  48. package/dist/src/git-executable.js +0 -31
  49. package/dist/src/graph-query-health.js +0 -115
  50. package/dist/src/hook-manager-integration.js +0 -156
  51. package/dist/src/index-activity.js +0 -125
  52. package/dist/src/init-progress.js +0 -155
  53. package/dist/src/init.js +0 -1254
  54. package/dist/src/lifecycle-health.js +0 -250
  55. package/dist/src/lsp-readonly.js +0 -217
  56. package/dist/src/output-compression.js +0 -629
  57. package/dist/src/output-telemetry.js +0 -363
  58. package/dist/src/pr-triage.js +0 -638
  59. package/dist/src/progressive-evidence.js +0 -473
  60. package/dist/src/pure-compression-cli.js +0 -101
  61. package/dist/src/relationship-adapters.js +0 -370
  62. package/dist/src/release-attestation.js +0 -533
  63. package/dist/src/release-preflight.js +0 -510
  64. package/dist/src/repair-progress.js +0 -262
  65. package/dist/src/repository-init-process.js +0 -173
  66. package/dist/src/repository-management.js +0 -1231
  67. package/dist/src/response-budget.js +0 -194
  68. package/dist/src/server.js +0 -172
  69. package/dist/src/structural-fast-path.js +0 -338
  70. package/dist/src/structural-snapshot.js +0 -33
  71. package/dist/src/system-config.js +0 -615
  72. package/dist/src/terminal-help.js +0 -83
  73. package/dist/src/tools/knodin-tools.js +0 -1529
  74. package/dist/src/update-ceremony.js +0 -158
  75. package/dist/src/update-policy.js +0 -944
  76. package/dist/src/update-trust.js +0 -503
  77. package/dist/src/version.js +0 -13
  78. package/dist/src/visualization.js +0 -162
  79. package/dist/src/wait-for-fresh.js +0 -98
  80. package/dist/src/worktree-lifecycle.js +0 -231
  81. package/docs/CONTAINED-EXECUTION.md +0 -77
  82. package/docs/DIAGNOSTICS.md +0 -45
  83. package/docs/GIT-HISTORY-REVIEW.md +0 -39
  84. package/docs/PROGRESSIVE-EVIDENCE.md +0 -37
  85. package/docs/PT-ACCESS-RECOMMENDATION.md +0 -91
  86. package/docs/RELEASE-0.3-EVIDENCE.md +0 -73
  87. package/docs/SCIP-IMPORT.md +0 -57
  88. package/docs/SIGNED-UPDATES.md +0 -151
  89. package/docs/TELEMETRY.md +0 -46
  90. package/docs/assets/knodin-favicon.svg +0 -4
  91. package/docs/releases/0.3.0.md +0 -46
  92. package/docs/releases/0.4.0.md +0 -68
  93. package/docs/releases/0.4.1.md +0 -28
  94. package/docs/releases/0.4.2.md +0 -27
  95. package/docs/releases/0.4.3.md +0 -23
  96. package/docs/releases/0.5.0.md +0 -29
  97. package/docs/releases/0.5.1.md +0 -17
  98. package/docs/releases/0.6.0.md +0 -18
  99. package/docs/releases/0.7.0.md +0 -24
  100. package/docs/releases/0.7.1.md +0 -21
  101. package/docs/releases/0.7.2.md +0 -21
  102. package/docs/releases/0.7.3.md +0 -23
  103. package/docs/releases/0.7.4.md +0 -17
  104. package/docs/releases/0.7.5.md +0 -20
  105. package/schemas/release-attestation-v1.schema.json +0 -210
@@ -1,73 +0,0 @@
1
- # Reckon Graph 0.3 evidence ledger
2
-
3
- This ledger freezes the field and competitor evidence used to define the 0.3
4
- release. Historical observations are not rewritten as current measurements.
5
-
6
- ## Minions field observation
7
-
8
- The prior 0.1.22 field run recorded:
9
-
10
- - 3,006 source files;
11
- - 2,949 indexed files and 157 health findings before repair;
12
- - 3,006 indexed files after repair;
13
- - current HEAD `cbf058aa...`;
14
- - recorded indexed HEAD `4d45fe02...`;
15
- - a 16-commit distance while 0.2.0 status incorrectly reported healthy;
16
- - 195 repair operations, including reconciliation of stale/orphaned state and
17
- regeneration of 1,874 symbol embeddings.
18
-
19
- The workload fast-forwarded main across 15 merged commits and removed 16 linked
20
- worktrees. The checked-in lifecycle regression recreates those lifecycle
21
- shapes, including additions, edits, renames, deletions, policy transitions,
22
- overlapping hook workers, immediate queries, and cleanup.
23
-
24
- The Minions checkout is a read-only field fixture for this release. Its current
25
- HEAD on 2026-07-30 was `44c91f6d013fd8d6f4e106d063a87eab94b19866`;
26
- the historical SHAs above belong to the original observation, not that later
27
- checkout state. Existing modified and untracked Minions files were left intact.
28
-
29
- ## Token Optimizer observation
30
-
31
- The complete 102.8-second demo artifact has SHA-256
32
- `a8085ec26d56ab220f3b31578f818a911caf277e604ed9f8d46c0d9f31fbb60d`.
33
- It demonstrates seven named surfaces: file outline, symbol extraction, symbol
34
- find, batch outline, project overview, output compression, and command running.
35
- It describes Python AST parsing and heuristic/regular-expression coverage for
36
- other languages.
37
-
38
- At release time, no authorized immutable source commit, packaged executable,
39
- README, version, or raw measurement data was available, so the original
40
- observation was `demo-only`. A post-release source audit now pins the authorized
41
- GHES implementation at
42
- `a2b9cef5efdfcf0393e9e7a5ded229ffd9f613d7`. It verifies the source inventory
43
- and selected implementation observations, including a behavioral compression
44
- budget probe. Equivalent end-to-end measurements remain incomplete, and the
45
- displayed savings remain hypotheses: the demo showed two calls, used a bytes/4
46
- token estimate, and showed inconsistent 83% and 93% targeted-lookup figures.
47
-
48
- The reproducible comparison contract is
49
- [`../benchmarks/evaluations/token-optimizer-20260730/comparison-manifest.json`](../benchmarks/evaluations/token-optimizer-20260730/comparison-manifest.json).
50
- The immutable source result is
51
- [`../benchmarks/evaluations/token-optimizer-20260730/raw-source-audit-20260730.json`](../benchmarks/evaluations/token-optimizer-20260730/raw-source-audit-20260730.json).
52
- Missing behavioral measurements are `null`, never zero.
53
-
54
- The later C56 replay now executes all seven pinned workflows with shared
55
- fixtures, real-token counts, 20 warm samples, five cold-process samples, and
56
- explicit correctness oracles. Both products pass the five structural oracles.
57
- The result is intentionally `complete-with-gaps`: Token Optimizer is smaller
58
- and faster on all five small-fixture structural calls, Reckon has no output
59
- compressor yet, and command execution remains containment-gated. See
60
- [`../benchmarks/evaluations/token-optimizer-20260730/summary.md`](../benchmarks/evaluations/token-optimizer-20260730/summary.md).
61
-
62
- ## Implemented and deferred
63
-
64
- Reckon now provides parser-grounded bounded file and batch outlines, compact
65
- source-only extraction, deterministic project overview, natural-prompt routing,
66
- real-token local telemetry, and a static local report through the existing
67
- single `reckon` gateway.
68
-
69
- `reckon run` is not shipped. A no-shell launcher alone could not prove portable
70
- hard memory limits and process-tree termination across POSIX and Windows. The
71
- full gate and adversarial fixtures remain documented in
72
- [`COMMAND-OUTPUT-COMPRESSION.md`](COMMAND-OUTPUT-COMPRESSION.md). This is a
73
- security decision, not a claim that the competitor implementation is unsafe.
@@ -1,57 +0,0 @@
1
- # Optional SCIP import
2
-
3
- knodin can add compiler-produced SCIP facts to its local graph without running a
4
- language server. The tier is deliberately opt-in:
5
-
6
- ```sh
7
- knodin index --scip path/to/index.scip
8
- ```
9
-
10
- The input must be a regular file inside the repository. knodin never discovers,
11
- downloads, or produces a SCIP index, and a normal `knodin init` or `knodin
12
- index` does not import one. Repositories without the flag keep the existing
13
- native and LSIF behavior byte-for-byte at the command boundary.
14
-
15
- ## Evidence and conflicts
16
-
17
- Imported definitions use stable repository/file/range identities, `SCIP_*`
18
- kinds, a summary containing the original SCIP symbol and `scip` provenance,
19
- `scip_reference`, `scip_relationship_reference`, `scip_implementation`,
20
- `scip_type_definition`, or `scip_definition` reference kinds, and `scip_import`
21
- file edges. Native and LSIF facts are not deleted or overwritten. If two tiers
22
- define the same name, normal ambiguity-safe resolution returns all candidates
23
- and requires a file, kind, or identity selector. A stale SCIP input is refused
24
- rather than replacing fresher source-derived evidence.
25
-
26
- Every successful index result includes the producer name/version and represented
27
- languages from the SCIP file plus the exact limits used. Defaults are 64 MiB,
28
- 10,000 documents, 250,000 decoded facts, and 30 seconds. Inputs that are
29
- missing, malformed, oversized, stale relative to a represented source file, or
30
- contain absolute, traversal, missing, symlink, or non-file document paths fail
31
- before the SCIP tier is replaced.
32
-
33
- ## Known bounds and limitations
34
-
35
- - The importer supports standard SCIP `Index`, `Document`, `Occurrence`,
36
- `SymbolInformation`, and `Relationship` fields needed for definitions,
37
- references, source ranges, and relationships. Unknown protobuf fields are
38
- skipped, but unsupported wire types and malformed ranges fail closed.
39
- - Precision and coverage are bounded by the producer. Checked-in coverage is
40
- npm-integrity-pinned `@sourcegraph/scip-typescript@0.4.0` over TypeScript. Its
41
- emitted documents omit the optional language field, so the import report says
42
- `unknown`; other conforming producers and languages are not certified by C84.
43
- - The index mtime must be at least as new as every represented source file.
44
- This is a conservative local freshness check, not a claim that the producer
45
- indexed the exact Git commit or compiler configuration.
46
- - An import replaces the prior SCIP tier as one snapshot. It does not merge
47
- multiple SCIP files, watch an index, start a daemon, or provide live LSP.
48
- Live LSP requires a separately approved roadmap item.
49
- - SCIP local symbols are scoped by document. Relationship flags remain distinct
50
- (`reference`, `implementation`, `type-definition`, or `definition`); only an
51
- actual cross-file occurrence reference contributes a `scip_import` file edge.
52
- - The checked-in replay is synthetic and authorizes no superiority,
53
- production-readiness, trusted-distribution, or cross-platform claim.
54
-
55
- The replay, verifier, raw results, and resource report live under
56
- `benchmarks/evaluations/c84-scip-import/`; run `npm run verify:c84` entirely
57
- offline to reproduce them.
@@ -1,151 +0,0 @@
1
- # Signed update metadata trust
2
-
3
- knodin's update trust is local and channel-independent. npm, Homebrew,
4
- Artifactory, GitHub SaaS, and GHES may transport metadata and artifacts, but no
5
- one transport is an authority to install code.
6
-
7
- `src/update-trust.ts` is the pure verification boundary. It performs no network
8
- request, package-manager command, filesystem activation, or telemetry write.
9
- `src/update-policy.ts` composes that verifier with bounded HTTPS fetching,
10
- private monotonic state, policy, channel cross-checking, quarantine, exact local
11
- manager artifacts, health validation, and rollback. C64 adds the release-time
12
- CycloneDX/Sigstore evidence and fail-closed five-channel attestation machinery;
13
- C65 must still certify the smoke sandbox and recovery drills, and a real release
14
- must produce verified evidence before activation is enabled.
15
-
16
- ## Trust model
17
-
18
- The metadata model has four disjoint Ed25519 roles:
19
-
20
- | Role | Purpose | Maximum signed lifetime | Required threshold |
21
- | --- | --- | ---: | ---: |
22
- | `root` | Delegates keys and rotates trust | 366 days | At least 2 |
23
- | `targets` | Authorizes immutable release artifacts and channels | 93 days | At least 2 |
24
- | `snapshot` | Binds an exact targets version, length, and digest | 32 days | At least 1 |
25
- | `timestamp` | Publishes the current snapshot and bounds freezes | 8 days | At least 1 |
26
-
27
- Root and targets thresholds prevent one stolen signing key from authorizing a
28
- release. All four roles must use separate, content-addressed keys. A root
29
- rotation is accepted one version at a time and only when both the previously
30
- trusted root threshold and the candidate root threshold sign the new root.
31
-
32
- The initial root envelope is trusted only when its SHA-256 matches an
33
- independently pinned digest shipped by a previously trusted knodin build. The
34
- pin must never be learned from fetched metadata or a package registry.
35
-
36
- Metadata is signed over deterministic UTF-8 JSON: object keys use ECMAScript
37
- code-unit ordering, arrays retain order, and undefined, cyclic, non-finite, or
38
- non-plain values are rejected. Key IDs are the SHA-256 of the canonical public
39
- key record.
40
-
41
- ## Verification order
42
-
43
- The verifier fails closed in this order:
44
-
45
- 1. Validate the installed trusted root and its independent digest pin.
46
- 2. Verify the trusted root's own threshold signatures.
47
- 3. Accept the same root byte-for-byte, or verify a one-step rotation under both
48
- old and new root thresholds.
49
- 4. Validate role separation, schema, generation time, expiry, and maximum
50
- metadata lifetime.
51
- 5. Verify threshold signatures for targets, snapshot, and timestamp.
52
- 6. Bind timestamp to the exact canonical snapshot envelope by version, byte
53
- length, and SHA-256.
54
- 7. Bind snapshot to the exact canonical targets envelope the same way.
55
- 8. Compare every role's version and digest with durable prior state. Lower
56
- versions are rollback; changed bytes at the same version are equivocation.
57
- 9. Select only the requested relative target path.
58
- 10. Before quarantine, compare the downloaded artifact with its signed byte
59
- length and SHA-256.
60
-
61
- The successful result returns the exact verified root envelope. C63 persists it
62
- for evidence, but never promotes a root merely because mutable local state says
63
- it is trusted: each check and rollback remains anchored to the independently
64
- shipped initial root and pin. When more than one rotation was missed, the client
65
- fetches each numbered intermediate root, bounds one check to 32 rotations,
66
- cross-checks every intermediate across configured mirrors, and advances only
67
- one dual-threshold version at a time. A skipped, substituted, malformed, or
68
- wrong-version intermediate root fails closed without persisting new trust.
69
-
70
- The signed target also carries the semantic version, release channel, full
71
- source commit, and digests for build provenance, the CycloneDX SBOM, its signed
72
- attestation, and the cross-channel release attestation. Metadata validation
73
- accepts these fields so notify-only clients can read a staged repository, but
74
- download/apply refuses when any digest is absent. The verifier does not invent
75
- missing provenance or promote a merely claimed channel result.
76
-
77
- ## Defenses and limits
78
-
79
- Executable tests cover valid threshold authorization, missing threshold
80
- signatures, signed-field mutation, artifact substitution, expired timestamp
81
- freeze, rollback, same-version equivocation, mix-and-match metadata, role-key
82
- reuse, root-pin substitution, future metadata, and root rotation without the
83
- old threshold. Recovery tests additionally cover missed sequential rotations,
84
- skipped roots, intermediate mirror disagreement, and malicious version jumps.
85
-
86
- An isolated 0.4.3 adversarial drill executed the trust, policy, CLI, and release-
87
- attestation suites together: 4 files and 52 scenarios passed on macOS with Node
88
- 26. Its machine-readable record is
89
- `docs/evidence/0.4.3-update-defense-drill.json`. The record separately identifies
90
- the post-tag commit from which the drill executed and the immutable 0.4.3 source
91
- commit whose implementation it exercised, plus the environment, command,
92
- defenses, and exclusions. Injected transport, package-manager, smoke, and health
93
- adapters make this repeatable evidence of the verification and recovery logic;
94
- they do not certify a real npm/Homebrew mutation path or replace the production
95
- ceremony and live drills.
96
-
97
- The verifier cannot make the first installation trustworthy by itself. A
98
- production release still requires an offline root-key ceremony, independent
99
- pin distribution, durable trusted-state storage, compromised-key rotation
100
- drills, and verified artifacts on every approved channel. Until that ceremony
101
- and C64–C65 are complete:
102
-
103
- - the former npm `latest` hint is not used by doctor, status, MCP, or update commands;
104
- - no release is authorized by `src/update-trust.ts` in production;
105
- - no automatic update may be enabled; and
106
- - a registry, formula, release page, or mutable URL must not be treated as a
107
- root of trust.
108
-
109
- ## Production key ceremony gate
110
-
111
- Private root keys must be created and retained offline under separate
112
- custodians. No production private key or recovery secret belongs in this
113
- repository, CI variables, npm, Homebrew, GitHub, GHES, or Artifactory. Before
114
- activating signed checks, the release owners must record:
115
-
116
- - custodians and a two-person approval path;
117
- - public key IDs and the independently reviewed root-envelope digest;
118
- - offline backup and recovery controls;
119
- - online targets/snapshot/timestamp key storage and rotation periods;
120
- - emergency revocation and root-rotation rehearsal evidence; and
121
- - the exact knodin source commit that first embeds the trusted root pin.
122
-
123
- This external ceremony is deliberately a release gate rather than generated
124
- test material masquerading as production trust.
125
-
126
- The fail-closed preparation contracts and multi-custodian rehearsal procedure
127
- are in [`ROOT-CEREMONY-RUNBOOK.md`](ROOT-CEREMONY-RUNBOOK.md). Their import seam
128
- accepts public material only and always returns `productionActivation: false`;
129
- it does not alter the production `trust-unconfigured` behavior.
130
-
131
- ## Client policy and recovery
132
-
133
- The implemented policy modes are `notify-only`, `download-verify-only`,
134
- `apply-patch`, and `apply-minor`; major updates always require manual approval.
135
- Policies also bound release age, approved channels, enterprise mirror origins,
136
- optional exact metadata/artifact cross-checks, and UTC maintenance windows.
137
-
138
- `knodin update status` and `explain` are offline reads. `check` uses no
139
- repository context. `apply` first quarantines and verifies the candidate plus a
140
- signed artifact for the currently installed version. A missing rollback target,
141
- provenance object, SBOM, release attestation, smoke sandbox, manager adapter, or
142
- health check is a refusal, not a warning. Explicit rollback re-verifies the
143
- stored signed metadata, artifact, provenance, SBOM, both attestations, and every
144
- quarantine path before invoking the manager; nested symlink redirection is a
145
- hard refusal. Apply also requires the candidate attestation's rollback version,
146
- path, and derived digest to match the separately downloaded and verified rollback
147
- artifact. Signed
148
- non-SemVer target versions are ineligible before path construction; quarantine
149
- uses fresh exclusive files under a symlink-rejecting private root; and automatic
150
- rollback succeeds only after a second health check validates the restored
151
- installation.
package/docs/TELEMETRY.md DELETED
@@ -1,46 +0,0 @@
1
- # Local savings telemetry
2
-
3
- knodin's optional telemetry is local, metadata-only, and disabled by default.
4
- It uses `gpt-tokenizer@3.4.0` with the `o200k_base` encoding and records:
5
-
6
- - the actual optimized response contract, bytes, and tokens;
7
- - an executed full-file baseline only when the operation identifies bounded
8
- repository-contained files;
9
- - byte and token savings, including negative savings;
10
- - latency p50/p95 inputs, process RSS, cold/warm operation state, success/error
11
- outcome, agent round trips, truncation, detail mode, and MCP schema token cost;
12
- - freshness failures, compression-fidelity samples, indexing time, and current
13
- local index storage where those measurements are available;
14
- - a one-way SHA-256-derived repository identifier for per-repository grouping.
15
-
16
- Unknown baselines remain `null`; knodin does not invent a full-file comparison.
17
- Persisted records contain no source or file paths. Enable persistence for an MCP
18
- call with `persistTelemetry: true`. Records default to 30-day retention and are
19
- stored mode `0600` with atomic replacement. Inspect and manage them with:
20
-
21
- ```text
22
- knodin telemetry status
23
- knodin telemetry report
24
- knodin telemetry export
25
- knodin telemetry clear
26
- ```
27
-
28
- `--retention-days 1..3650` changes the read/persistence window. `--input` and
29
- `--output` accept only repository-contained, non-symlink paths. `clear` is the
30
- only command that deletes the private JSONL file; report and export never do.
31
-
32
- The default report is `.knodin/telemetry-report.html`. It includes summary,
33
- operation, time-series, private repository, indexing-cost, latency, freshness,
34
- and fidelity views with light/dark styling. The default machine-readable export
35
- is `.knodin/telemetry-export.json` and labels measured, modeled, and unknown
36
- baselines explicitly. Neither artifact needs a daemon, hosted service,
37
- authentication, or source egress.
38
-
39
- Telemetry never persists source, raw tool output, command text, usernames, or
40
- absolute paths. A measured baseline is an executed, bounded, repository-local
41
- full-file read; it is not inferred from file counts. Unsupported baselines and
42
- metrics remain `null` or are counted as unavailable instead of being modeled.
43
-
44
- ROI telemetry is separate from troubleshooting diagnostics. Telemetry measures
45
- product behavior; `knodin diagnostics` retains sanitized failure envelopes and
46
- creates a user-inspectable support bundle. See `docs/DIAGNOSTICS.md`.
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
- <path d="M46,6 L4,32 L46,58 L46,44 L26,32 L46,20 Z" fill="#130032" />
3
- <path d="M58,24 L58,40 L34,32 Z" fill="#4C00FF" />
4
- </svg>
@@ -1,46 +0,0 @@
1
- # Reckon Graph 0.3.0 release notes
2
-
3
- Reckon Graph 0.3.0 makes graph freshness revision-truthful and closes the
4
- lifecycle and completion-audit gaps observed in a large multi-worktree field
5
- run. It is a backward-compatible minor release.
6
-
7
- ## Freshness and lifecycle
8
-
9
- - Every graph answer carries a canonical current/indexed revision and
10
- dirty-working-tree freshness envelope.
11
- - Durable, coalescing hook events survive contention and failures; status,
12
- `wait --fresh`, and `status --watch` expose queue progress.
13
- - Deep repair binds a revision only after complete content verification.
14
- - Worktree status, reconciliation, and safe dry-run removal expose per-worktree
15
- graph ownership and detect removed worktrees.
16
-
17
- ## Diagnostics and completion audits
18
-
19
- - Doctor reports separate Claude, Codex, Gemini, and Antigravity configuration,
20
- protocol checks, and active-session evidence.
21
- - Repair plans distinguish health findings from planned operations.
22
- - PR listing and audits return explicit repository/login/error/zero-result
23
- context, reviews, threads, checks, merge commits, branches, and graph impact.
24
-
25
- ## Bounded structural context
26
-
27
- - File and batch outlines include stable identity, signatures, ranges,
28
- visibility, containment, and parser evidence.
29
- - Source-only explain and deterministic project overview reduce unnecessary
30
- full-file reads.
31
- - Go and Rust outlines use checked-in local Tree-sitter grammars.
32
- - Optional local telemetry uses
33
- `gpt-tokenizer@3.4.0:o200k_base`, preserves negative savings, measures schema
34
- cost, and can render a static repository-local report without egress.
35
-
36
- Command execution/output compression was evaluated but is not shipped because
37
- portable hard memory and process-tree containment were not proven. Competitor
38
- behavioral measurements remain incomplete without an authorized packaged
39
- release or raw usage dataset. A post-release audit now pins and verifies the
40
- authorized source revision without treating source inspection as end-to-end
41
- performance evidence. See
42
- [`../RELEASE-0.3-EVIDENCE.md`](../RELEASE-0.3-EVIDENCE.md) and
43
- [`../COMMAND-OUTPUT-COMPRESSION.md`](../COMMAND-OUTPUT-COMPRESSION.md).
44
-
45
- No tag, npm publication, Homebrew publication, or P&T mirror is created by this
46
- release PR; each remains a separately authorized release action.
@@ -1,68 +0,0 @@
1
- # Reckon Graph 0.4.0 release notes
2
-
3
- Reckon Graph 0.4.0 delivers the implemented portions of the Token Optimizer
4
- parity program and adds trusted-update, release-attestation, large-portfolio,
5
- and compact-response capabilities. It is a backward-compatible minor release.
6
-
7
- ## Compact structural and diagnostic context
8
-
9
- - Compact file and batch outlines, symbol extraction, symbol search, and
10
- project overview reduce response tokens while retaining stable identity,
11
- source locations, parser evidence, ambiguity, and freshness.
12
- - Deterministic log compression preserves diagnostic structures, enforces hard
13
- budgets, records omissions, and supports bounded retrieval without rerunning
14
- the original command.
15
- - Failure diagnosis links log evidence to files, symbols, callers,
16
- dependencies, tests, and recent changes in the local graph.
17
- - The checked-in Token Optimizer replay and evidence-linked scorecard pin the
18
- competitor and Reckon revisions and keep unsupported claims explicit.
19
-
20
- ## Portfolio and lifecycle reliability
21
-
22
- - Repository filters are applied before inventory, large `git ls-files`
23
- responses are supported, and selected repositories are processed
24
- sequentially.
25
- - Portfolio initialization is bounded, resumable, and truthful in dry-run
26
- mode, including nested repositories and noisy Salesforce metadata.
27
- - Lifecycle queues, `wait --fresh`, and installed-versus-active client status
28
- provide revision-truthful observability.
29
- - Terminal help uses a declarative command model and the available terminal
30
- width while remaining snapshot-testable.
31
-
32
- ## Private ROI evidence
33
-
34
- - Local, opt-in telemetry uses a real tokenizer and records bounded operation,
35
- latency, indexing, schema, fidelity, and savings metrics without source,
36
- command text, absolute paths, usernames, or network egress.
37
- - The self-contained dashboard and export bundle distinguish directly measured
38
- observations from modeled counterfactuals.
39
-
40
- ## Trusted distribution and updates
41
-
42
- - Signed-only update status, check, explain, apply, and rollback policies bind
43
- artifact length/digest, channel, provenance, SBOM, release age, maintenance
44
- window, and rollback state.
45
- - TUF-inspired root, targets, snapshot, and timestamp verification detects
46
- rollback, freeze, mix-and-match, expiry, threshold, and compromised-channel
47
- failures. Bounded sequential root recovery handles missed rotations.
48
- - The release workflow builds one tarball, creates and independently verifies
49
- provenance and CycloneDX SBOM attestations, then publishes the exact bytes to
50
- npm and Docusign Artifactory.
51
- - Final certification additionally requires byte-identical GitHub SaaS, GHES,
52
- and Homebrew observations plus the machine-readable cross-channel release
53
- attestation.
54
-
55
- ## Intentional boundary
56
-
57
- Reckon does not expose unrestricted shell execution. Portable process-tree,
58
- filesystem, network, credential, and resource containment has not been proven,
59
- so command execution remains an explicit safety-based non-goal. Existing
60
- trusted execution tools can pass their output to Reckon's compression and
61
- failure-diagnosis operations.
62
-
63
- Version preparation does not itself publish any channel. The release is
64
- certified only after the separately authorized tag workflow and five-channel
65
- verification complete. Production offline root custody, compromised-runner
66
- drills, automated non-personal GHES mirroring, timed onboarding, and native
67
- Windows named-client certification remain documented limitations until their
68
- evidence is recorded.
@@ -1,28 +0,0 @@
1
- # Reckon Graph 0.4.1 release notes
2
-
3
- Reckon Graph 0.4.1 is the publishable patch release of the 0.4 line. It contains
4
- all functionality described in the 0.4.0 release notes plus a fail-closed
5
- release-verification compatibility fix.
6
-
7
- ## Release verification fix
8
-
9
- - The workflow now verifies signed provenance and the CycloneDX SBOM using the
10
- exact certificate identity together with repository, source digest, source
11
- ref, predicate type, and GitHub Actions OIDC issuer constraints accepted by
12
- the current GitHub CLI.
13
- - The release-attestation CLI test double now runs with `set -eu`, ensuring an
14
- assertion mismatch actually fails the test instead of continuing to a later
15
- successful command.
16
-
17
- ## Why 0.4.0 was not published
18
-
19
- The immutable `v0.4.0` tag reached the signed-evidence stage, then failed closed
20
- before npm or Artifactory publication because the installed GitHub CLI rejects
21
- combining `--cert-identity` with `--signer-workflow`. The tag remains unchanged
22
- for auditability and 0.4.0 was not published to any package channel. This patch
23
- release contains the corrected workflow rather than rewriting the existing
24
- tag.
25
-
26
- As with every release, version preparation alone does not certify distribution.
27
- Certification requires the tag workflow and byte-for-byte verification across
28
- npm, Docusign Artifactory, GitHub SaaS, GHES, and Homebrew.
@@ -1,27 +0,0 @@
1
- # Reckon Graph 0.4.2 release notes
2
-
3
- Reckon Graph 0.4.2 is the publishable patch release of the 0.4 line. It contains
4
- all functionality described in the 0.4.0 and 0.4.1 release notes plus a
5
- canonical CycloneDX attestation-predicate fix.
6
-
7
- ## CycloneDX attestation verification fix
8
-
9
- - The release workflow and final cross-channel verifier now use the canonical
10
- `https://cyclonedx.org/bom` predicate type emitted by GitHub's SBOM
11
- attestation action. The CycloneDX document's `specVersion` remains validated
12
- independently as 1.4, 1.5, or 1.6.
13
- - Regression tests require the canonical attestation predicate for SBOM bundles
14
- and reject accidental coupling to a document-version URI.
15
-
16
- ## Why 0.4.1 was not published
17
-
18
- The immutable `v0.4.1` tag produced a verified release tarball, signed SLSA
19
- provenance, and a signed CycloneDX SBOM, then failed closed before npm or
20
- Artifactory publication. Inspection of the signed bundle proved that GitHub
21
- emitted `https://cyclonedx.org/bom`, while the verifier requested
22
- `https://cyclonedx.org/bom/v1.5`. The tag remains unchanged for auditability;
23
- this patch release corrects the verifier instead of rewriting it.
24
-
25
- Version preparation alone does not certify distribution. Certification still
26
- requires the tag workflow and byte-for-byte verification across npm, Docusign
27
- Artifactory, GitHub SaaS, GHES, and Homebrew.
@@ -1,23 +0,0 @@
1
- # Reckon Graph 0.4.3
2
-
3
- Reckon Graph 0.4.3 corrects the approved Docusign Artifactory channel identity
4
- used by final release attestation.
5
-
6
- ## Release-integrity correction
7
-
8
- - Final channel evidence now requires the authoritative
9
- `artifactory-corp.docusignhq.com` host returned by Docusign Artifactory.
10
- - The obsolete `artifactory.docusignhq.com` alias is rejected. It does not
11
- serve the published raw artifact and must not appear in a verified release
12
- record.
13
- - Regression fixtures cover the production host and prevent the obsolete alias
14
- from returning.
15
-
16
- Version 0.4.2 was successfully published to npm, Artifactory, GitHub SaaS, and
17
- Homebrew, but its final five-channel attestation was intentionally withheld when
18
- the real Artifactory observation exposed this host mismatch. No mismatched
19
- artifact was installed: all four observed 0.4.2 artifacts had identical bytes.
20
-
21
- As with every release, 0.4.3 is certified only after the tag workflow and final
22
- cross-channel verification complete successfully. Preparing this version does
23
- not itself publish it.
@@ -1,29 +0,0 @@
1
- # knodin 0.5.0
2
-
3
- knodin 0.5.0 completes the public product and package rename from Reckon Graph.
4
-
5
- ## New identity
6
-
7
- - The unscoped npm package is `knodin`.
8
- - The canonical executable is `knodin`.
9
- - The MCP server and its single gateway tool are named `knodin`.
10
- - The display name is always lowercase, with the caret-beak mark as the
11
- canonical logo and `<◀ knodin` as the terminal lockup.
12
-
13
- ## Compatibility
14
-
15
- - The package still exposes `reckon` as a compatibility executable.
16
- - Existing `.reckon/` state, `reckon.yaml`, and `RECKON_*` environment
17
- variables are retained so the rename does not force a reindex or invalidate
18
- local configuration.
19
- - `knodin init` migrates managed MCP registrations and recognizes lifecycle
20
- hooks created by Reckon Graph.
21
- - Historical benchmark and release evidence retains its original product name
22
- and source identities.
23
-
24
- ## Distribution
25
-
26
- Public npm is the initial supported installation channel. The previous
27
- `reckon-graph` package remains available as a deprecated compatibility
28
- signpost; it is not unpublished. The legacy Homebrew formula is not a supported
29
- knodin 0.5.0 channel.
@@ -1,17 +0,0 @@
1
- # knodin 0.5.1
2
-
3
- knodin 0.5.1 makes the lowercase product name canonical across every public
4
- distribution surface.
5
-
6
- ## Canonical identity
7
-
8
- - The GitHub organization and repository are `knodin/knodin`.
9
- - Package metadata, release attestations, documentation, and planned Homebrew
10
- paths no longer use the temporary `knowdin` organization spelling.
11
-
12
- ## npm branding
13
-
14
- - The caret-beak SVG is included in the published package.
15
- - The README loads the logo through the public npm CDN, so it renders on npm
16
- even while the source repository remains private.
17
-
@@ -1,18 +0,0 @@
1
- # knodin 0.6.0
2
-
3
- This release completes the operational product rename.
4
-
5
- - Repository-local graph, hook, lifecycle, telemetry, and generated state now
6
- lives under `.knodin/`.
7
- - Team system configuration is now `knodin.yaml`.
8
- - Runtime environment variables use the `KNODIN_` prefix.
9
- - Managed Git hooks, agent instructions, MCP registrations, and configuration
10
- markers use only `knodin` identifiers.
11
- - The package installs only the `knodin` executable; the former command alias
12
- has been removed.
13
- - The npm README is reorganized around product value, measured competitive
14
- results, installation, first use, and capability reference.
15
-
16
- Existing local graph directories must be renamed from the former hidden-state
17
- path to `.knodin` before using this release. Re-run `knodin init` afterward to
18
- refresh managed hooks and agent configuration.
@@ -1,24 +0,0 @@
1
- # knodin 0.7.0
2
-
3
- This release is the dogfood-readiness release for local code intelligence with
4
- bounded, user-controlled troubleshooting evidence.
5
-
6
- - Adds `knodin diagnostics enable|status|collect|inspect|clear|disable` with a
7
- private, bounded local failure journal and redacted support bundles. Nothing
8
- is uploaded automatically.
9
- - Captures sanitized CLI and MCP failure correlation IDs without retaining
10
- source, queries, arguments, environment values, credentials, or raw paths.
11
- - Adds contained execution profiles with explicit platform support and
12
- fail-closed behavior when the requested containment cannot be established.
13
- - Adds structural cold-start routing and checked-in C87 latency evidence while
14
- preserving truthful response budgets and freshness metadata.
15
- - Integrates lifecycle refresh through hook-manager-native Lefthook routing,
16
- while preserving repository-owned configuration and distinguishing graph
17
- repair from lifecycle reinitialization.
18
- - Tightens freshness proof, response-budget accounting, package smoke coverage,
19
- and roadmap evidence for the completed local feature set.
20
-
21
- This ordinary 0.x release is intended for normal installation, including the
22
- initial Docusign rollout. The external evidence and signed-release gates in
23
- `roadmap/competitive-roadmap.md` remain open and continue to block GA and
24
- trusted-distribution claims; publication does not waive or simulate them.
@@ -1,21 +0,0 @@
1
- # knodin 0.7.1
2
-
3
- This is the first normally published 0.7 release of knodin. It provides local,
4
- opt-in diagnostics that users can collect and deliberately share when they
5
- need troubleshooting help; it is not a special dogfood build or prerelease.
6
-
7
- - Adds `knodin diagnostics enable|status|collect|inspect|clear|disable` with a
8
- private, bounded local failure journal and redacted support bundles. Nothing
9
- is uploaded automatically.
10
- - Captures sanitized CLI and MCP failure correlation IDs without retaining
11
- source, queries, arguments, environment values, credentials, or raw paths.
12
- - Adds contained execution profiles, structural cold-start routing, lifecycle
13
- refresh improvements, tighter freshness proof, and truthful response-budget
14
- accounting.
15
- - Corrects the release test suite so the competitive sandbox contract is
16
- verified on systems both with and without Bun installed.
17
-
18
- This ordinary 0.x release is suitable for installation through npm,
19
- Artifactory, and Homebrew, including use by Docusign employees. The external
20
- evidence and signed-release gates recorded in `roadmap/competitive-roadmap.md`
21
- remain open and continue to block GA and trusted-distribution claims.