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.
- package/README.md +19 -7
- package/benchmarks/competitors/SYNTHESIS.md +66 -0
- package/dist/bin/cli.js +2164 -108
- package/dist/bin/launcher.js +25 -3
- package/dist/src/agent-integration.js +304 -0
- package/dist/src/artifact-refresh.js +82 -0
- package/dist/src/cli-args.js +292 -0
- package/dist/src/cli-model.js +384 -0
- package/dist/src/codeflow-replay.js +81 -0
- package/dist/src/compact-structural.js +96 -0
- package/dist/src/compare.js +39 -0
- package/dist/src/competitive-cold-mcp.js +40 -0
- package/dist/src/competitive-constraints.js +21 -0
- package/dist/src/competitive-manifest.js +411 -0
- package/dist/src/competitive-measurement.js +183 -0
- package/dist/src/competitive-runner.js +487 -0
- package/dist/src/competitive-sandbox.js +108 -0
- package/dist/src/context-export.js +423 -0
- package/dist/src/context.js +102 -0
- package/dist/src/deterministic-random.js +34 -0
- package/dist/src/diagnostics-write-helper.js +473 -0
- package/dist/src/diagnostics.js +1476 -0
- package/dist/src/docs-sections.js +141 -0
- package/dist/src/doctor.js +382 -0
- package/dist/src/engine/ann-hnsw.js +261 -0
- package/dist/src/engine/embeddings.js +193 -0
- package/dist/src/engine/file-walker.js +49 -0
- package/dist/src/engine/git-history.js +289 -0
- package/dist/src/engine/index.js +14238 -0
- package/dist/src/engine/perf.js +115 -0
- package/dist/src/engine/prune.js +112 -0
- package/dist/src/engine/sarif-import.js +341 -0
- package/dist/src/engine/scip-import.js +423 -0
- package/dist/src/engine/source-policy.js +85 -0
- package/dist/src/engine/sqlite.js +71 -0
- package/dist/src/engine/state-paths.js +175 -0
- package/dist/src/engine/symbol-delete.js +58 -0
- package/dist/src/execution-profile.js +208 -0
- package/dist/src/failure-diagnosis.js +655 -0
- package/dist/src/fleet.js +7 -0
- package/dist/src/git-executable.js +31 -0
- package/dist/src/graph-layout.js +173 -0
- package/dist/src/graph-query-health.js +115 -0
- package/dist/src/hook-manager-integration.js +156 -0
- package/dist/src/index-activity.js +126 -0
- package/dist/src/init-progress-worker.js +106 -2
- package/dist/src/init-progress.js +155 -0
- package/dist/src/init.js +1295 -0
- package/dist/src/lifecycle-health.js +282 -0
- package/dist/src/lsp-readonly.js +217 -0
- package/dist/src/mcp-graph-worker.js +69 -0
- package/dist/src/mcp-reliability.js +154 -0
- package/dist/src/mcp-worker-supervisor.js +350 -0
- package/dist/src/mirror.js +290 -0
- package/dist/src/node-runtime.js +157 -0
- package/dist/src/output-compression.js +630 -0
- package/dist/src/output-telemetry.js +368 -0
- package/dist/src/pr-triage.js +638 -0
- package/dist/src/progressive-evidence.js +477 -0
- package/dist/src/pure-compression-cli.js +102 -0
- package/dist/src/relationship-adapters.js +377 -0
- package/dist/src/release-attestation.js +533 -0
- package/dist/src/release-preflight.js +513 -0
- package/dist/src/repair-lease.js +85 -0
- package/dist/src/repair-progress-worker.js +120 -2
- package/dist/src/repair-progress.js +262 -0
- package/dist/src/repository-init-process.js +177 -0
- package/dist/src/repository-management.js +1261 -0
- package/dist/src/response-budget.js +196 -0
- package/dist/src/server.js +217 -0
- package/dist/src/structural-fast-path.js +344 -0
- package/dist/src/structural-snapshot.js +37 -0
- package/dist/src/system-config.js +638 -0
- package/dist/src/terminal-help.js +83 -0
- package/dist/src/tools/knodin-tools.js +1640 -0
- package/dist/src/update-ceremony.js +162 -0
- package/dist/src/update-policy.js +944 -0
- package/dist/src/update-trust.js +504 -0
- package/dist/src/version.js +13 -0
- package/dist/src/visualization.js +515 -0
- package/dist/src/wait-for-fresh.js +98 -0
- package/dist/src/worktree-lifecycle.js +234 -0
- package/docs/BEHAVIORAL-CONTRACT.md +72 -0
- package/docs/CLI.md +20 -1
- package/docs/COMPARISON.md +403 -0
- package/docs/COMPETITIVE-LANDSCAPE-2026-08.md +267 -0
- package/docs/CONTAINED-EXECUTION.md +77 -0
- package/docs/DIAGNOSTICS.md +80 -0
- package/docs/GIT-HISTORY-REVIEW.md +39 -0
- package/docs/HANDOFF.md +180 -0
- package/docs/INSTALLATION.md +21 -18
- package/docs/MCP.md +59 -8
- package/docs/PROGRESSIVE-EVIDENCE.md +37 -0
- package/docs/PT-ACCESS-RECOMMENDATION.md +89 -0
- package/docs/RELEASE-0.3-EVIDENCE.md +73 -0
- package/docs/REPOSITORIES-AND-WORKTREES.md +18 -6
- package/docs/SCIP-IMPORT.md +62 -0
- package/docs/SIGNED-UPDATES.md +151 -0
- package/docs/TELEMETRY.md +46 -0
- package/docs/TOKEN-OPTIMIZER-SCORECARD.md +79 -0
- package/docs/assets/knodin-favicon.svg +4 -0
- package/docs/releases/0.3.0.md +46 -0
- package/docs/releases/0.4.0.md +68 -0
- package/docs/releases/0.4.1.md +28 -0
- package/docs/releases/0.4.2.md +27 -0
- package/docs/releases/0.4.3.md +23 -0
- package/docs/releases/0.5.0.md +29 -0
- package/docs/releases/0.5.1.md +17 -0
- package/docs/releases/0.6.0.md +18 -0
- package/docs/releases/0.7.0.md +24 -0
- package/docs/releases/0.7.1.md +21 -0
- package/docs/releases/0.7.2.md +21 -0
- package/docs/releases/0.7.3.md +23 -0
- package/docs/releases/0.7.4.md +17 -0
- package/docs/releases/0.7.5.md +20 -0
- package/docs/releases/0.8.0.md +74 -0
- package/docs/releases/0.8.2.md +34 -0
- package/package.json +127 -4
- package/roadmap/competitive-roadmap.md +3801 -0
- package/schemas/release-attestation-v1.schema.json +210 -0
- package/schemas/support-bundle-v2.schema.json +212 -0
- package/dist/chunks/chunk-DMQAGX77.js +0 -654
- package/dist/chunks/chunk-F4Z3Z766.js +0 -4
- package/dist/chunks/chunk-SIJAQVSX.js +0 -3
- package/dist/chunks/chunk-X6M4HUUE.js +0 -2
- package/dist/chunks/chunk-YPRMY2LP.js +0 -8
- package/dist/chunks/pure-compression-cli-4TA2TQD5.js +0 -5
- package/dist/chunks/server-7EDF4CBY.js +0 -14
- package/dist/chunks/structural-fast-path-KD5KQSPX.js +0 -4
- package/docs/releases/0.7.6.md +0 -25
|
@@ -0,0 +1,151 @@
|
|
|
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.
|
|
@@ -0,0 +1,46 @@
|
|
|
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`.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Reckon vs Token Optimizer — evidence-linked scorecard
|
|
2
|
+
|
|
3
|
+
This scorecard evaluates Token Optimizer at immutable commit
|
|
4
|
+
`a2b9cef5efdfcf0393e9e7a5ded229ffd9f613d7`. The machine-auditable
|
|
5
|
+
[scorecard manifest](../benchmarks/evaluations/token-optimizer-20260730/scorecard.json)
|
|
6
|
+
links every disposition to implementation, verification source/test paths, benchmark
|
|
7
|
+
evidence, and a limitation. The [methodology](../benchmarks/evaluations/token-optimizer-20260730/methodology.md)
|
|
8
|
+
and [raw replay](../benchmarks/evaluations/token-optimizer-20260730/raw-behavior-replay-20260730.json)
|
|
9
|
+
are the authority for measured values.
|
|
10
|
+
|
|
11
|
+
## Executive result
|
|
12
|
+
|
|
13
|
+
Reckon passes the pinned operation-level oracle for all five safe structural
|
|
14
|
+
workflows and is smaller in real tokens and faster at warm p50/p95 for each. The
|
|
15
|
+
oracles are deliberately narrow: three Python names, one byte-exact Python
|
|
16
|
+
method body, two exact file sets, and one eligible-file count. They do not prove
|
|
17
|
+
signature, nesting, kind, or construct accuracy across all seven languages.
|
|
18
|
+
Reckon has the stronger
|
|
19
|
+
verified compression budget/recovery contract, local opt-in real-token
|
|
20
|
+
telemetry, graph-backed failure diagnosis, freshness evidence, lifecycle
|
|
21
|
+
automation, and implemented signed-update machinery. These are bounded results,
|
|
22
|
+
not proof that Reckon is better in every repository or environment.
|
|
23
|
+
|
|
24
|
+
Knodin does not copy the competitor's unrestricted shell command runner. C58's
|
|
25
|
+
portable prototype remains rejected. C88 instead ships immutable, doubly
|
|
26
|
+
enabled repository profiles on the certified macOS boundary; Linux and Windows
|
|
27
|
+
fail closed as `containment-unavailable` pending native adapters.
|
|
28
|
+
Reckon's onboarding readiness remains incomplete because native Windows
|
|
29
|
+
named-client and timed two-minute trials are missing. Trusted distribution is implemented but
|
|
30
|
+
not production-complete: the root ceremony, five-channel signed release,
|
|
31
|
+
sandbox/manager drills, and adversarial live exercises remain C62–C67 gates.
|
|
32
|
+
|
|
33
|
+
| Dimension | Comparative disposition | Readiness | Reproducible result and boundary |
|
|
34
|
+
|---|---|---|---|
|
|
35
|
+
| File outline | Stronger on pinned oracle | Implemented/verified | Three Python names pass; 56 vs 64 tokens and 0.203 vs 0.478 ms warm p50; cold startup is slower |
|
|
36
|
+
| Exact symbol source | Stronger on pinned oracle | Implemented/verified | One Python body is byte-exact; 33 vs 37 tokens and 0.258 vs 0.419 ms warm p50 |
|
|
37
|
+
| Symbol search | Stronger on pinned oracle | Implemented/verified | Exact seven-file set; 76 vs 84 tokens and 0.227 vs 1.112 ms warm p50 |
|
|
38
|
+
| Batch outline | Stronger on pinned oracle | Implemented/verified | Exact seven-file set; 331 vs 377 tokens and 0.184 vs 1.387 ms warm p50; Reckon bytes are larger |
|
|
39
|
+
| Project overview | Stronger on pinned oracle | Implemented/verified | Exact eligible-file count; 14 vs 127 tokens and 0.135 vs 0.589 ms warm p50 |
|
|
40
|
+
| Parser/language fidelity | Not comparatively verified | Implemented with limitations | Seven languages participate, but no shared construct-accuracy oracle exists |
|
|
41
|
+
| Output compression | Stronger on pinned oracle | Implemented/verified | 7/7 signals in 14/20 lines with hard recovery; competitor is faster warm, and Reckon's full envelope is 18 tokens larger |
|
|
42
|
+
| Command execution | Stronger control contract; portability limited | Implemented on certified macOS boundary | No shell/caller argv, double opt-in, sanitized environment, network/user-data/fork denial, hard time/output bounds, compression + diagnosis; Linux/Windows fail closed |
|
|
43
|
+
| Telemetry/privacy | Stronger source contract | Implemented/verified | Reckon is opt-in with real tokens; competitor defaults on and records sensitive paths/command text |
|
|
44
|
+
| Dashboard UX | Not comparatively verified | Implemented/verified | Both have local HTML; only Reckon's rendering/data contract is exercised here |
|
|
45
|
+
| Structural depth/freshness | Additional capability | Implemented/verified | Stable identity, relationships, and commit freshness; no comparative production study |
|
|
46
|
+
| Failure-to-code intelligence | Additional capability | Implemented/verified | Retained diagnostics map to code/tests/impact; static relations are not runtime proof |
|
|
47
|
+
| Cross-platform onboarding | Not comparatively verified | Implemented with limitations | macOS/Linux gates exist; timed and native Windows named-client trials are absent |
|
|
48
|
+
| Lifecycle/portfolio | Additional capability | Implemented with limitations | Live 61-repository bounded certification; async refresh can still require repair |
|
|
49
|
+
| Installation/maintenance | Stronger source contract | Implemented with limitations | Packaged install/uninstall versus competitor clone/venv/manual registration; Windows certification remains open |
|
|
50
|
+
| Trusted distribution | Stronger source contract | Production incomplete | Competitor has no trust mechanism; Reckon ceremony, drills, and five-channel release remain open |
|
|
51
|
+
| Natural routing | Claim not reproducible | Unverified claim | Neither product has a controlled versioned routing-frequency dataset |
|
|
52
|
+
| Claimed savings | Claim not reproducible | Unverified claim | Competitor percentages lack equivalent-case raw production data |
|
|
53
|
+
|
|
54
|
+
## What is factual to say
|
|
55
|
+
|
|
56
|
+
It is factual to say that Reckon is a more complete local code-intelligence
|
|
57
|
+
system than the pinned Token Optimizer implementation: it passes the pinned
|
|
58
|
+
operation-level structural and compression oracles and adds graph
|
|
59
|
+
relationships, impact/review context, failure diagnosis, freshness, lifecycle,
|
|
60
|
+
portfolio, private measurement, and update-trust machinery.
|
|
61
|
+
|
|
62
|
+
It is not yet factual to say “better across all dimensions” or “production
|
|
63
|
+
supply-chain complete.” Contained execution is macOS-only, onboarding
|
|
64
|
+
certification has named gaps, and the production trust
|
|
65
|
+
and distribution exercises remain open. Release-facing language must retain
|
|
66
|
+
those qualifications until C60, C62–C67 close with live evidence.
|
|
67
|
+
|
|
68
|
+
## Reproduce
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npm run audit:token-optimizer
|
|
72
|
+
REPLAY_OUTPUT="$(mktemp -t reckon-token-optimizer-replay.XXXXXX.json)"
|
|
73
|
+
npm run bench:token-optimizer -- "$REPLAY_OUTPUT"
|
|
74
|
+
npx vitest run src/__tests__/unit/docs-integrity.spec.ts
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The source audit requires authenticated GHES access. The replay is pinned to
|
|
78
|
+
immutable competitor blobs and records cold/warm latency, serialized bytes,
|
|
79
|
+
real `o200k_base` tokens, shared correctness oracles, and explicit gaps.
|
|
@@ -0,0 +1,46 @@
|
|
|
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.
|
|
@@ -0,0 +1,68 @@
|
|
|
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.
|
|
@@ -0,0 +1,28 @@
|
|
|
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.
|
|
@@ -0,0 +1,27 @@
|
|
|
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.
|
|
@@ -0,0 +1,23 @@
|
|
|
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.
|
|
@@ -0,0 +1,29 @@
|
|
|
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.
|
|
@@ -0,0 +1,17 @@
|
|
|
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 product and npm package use the `knodin` name.
|
|
9
|
+
- Correction: `knodin/knodin` is the Homebrew-tap repository. The authoritative
|
|
10
|
+
source repository remains `DTS-Productivity-Engineering/reckon-graph` until a
|
|
11
|
+
separately authorized GitHub repository rename occurs.
|
|
12
|
+
|
|
13
|
+
## npm branding
|
|
14
|
+
|
|
15
|
+
- The caret-beak SVG is included in the published package.
|
|
16
|
+
- The README loads the logo through the public npm CDN, so it renders on npm
|
|
17
|
+
even while the source repository remains private.
|
|
@@ -0,0 +1,18 @@
|
|
|
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.
|
|
@@ -0,0 +1,24 @@
|
|
|
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.
|
|
@@ -0,0 +1,21 @@
|
|
|
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.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# knodin 0.7.2
|
|
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
|
+
- Makes release verification deterministic across macOS and Linux, both with
|
|
16
|
+
and without Bun, including foreground execution of lifecycle-hook fixtures.
|
|
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.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# knodin 0.7.3
|
|
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
|
+
- Makes release verification deterministic across macOS and Linux, both with
|
|
16
|
+
and without Bun, including foreground execution of lifecycle-hook fixtures.
|
|
17
|
+
- Ensures `configure --scope cli-only` removes repository-detected Knodin MCP
|
|
18
|
+
configuration even when that agent's CLI is not installed locally.
|
|
19
|
+
|
|
20
|
+
This ordinary 0.x release is suitable for installation through npm,
|
|
21
|
+
Artifactory, and Homebrew, including use by Docusign employees. The external
|
|
22
|
+
evidence and signed-release gates recorded in `roadmap/competitive-roadmap.md`
|
|
23
|
+
remain open and continue to block GA and trusted-distribution claims.
|