knodin 0.6.0 → 0.7.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 (48) hide show
  1. package/README.md +26 -3
  2. package/dist/bin/cli.js +168 -12
  3. package/dist/bin/launcher.js +11 -0
  4. package/dist/src/agent-integration.js +3 -1
  5. package/dist/src/cli-args.js +8 -1
  6. package/dist/src/cli-model.js +35 -1
  7. package/dist/src/codeflow-replay.js +80 -0
  8. package/dist/src/competitive-cold-mcp.js +40 -0
  9. package/dist/src/competitive-manifest.js +106 -25
  10. package/dist/src/competitive-runner.js +37 -3
  11. package/dist/src/competitive-sandbox.js +1 -1
  12. package/dist/src/diagnostics.js +449 -0
  13. package/dist/src/engine/git-history.js +289 -0
  14. package/dist/src/engine/index.js +417 -70
  15. package/dist/src/engine/scip-import.js +408 -0
  16. package/dist/src/execution-profile.js +203 -0
  17. package/dist/src/failure-diagnosis.js +69 -10
  18. package/dist/src/hook-manager-integration.js +156 -0
  19. package/dist/src/init.js +319 -33
  20. package/dist/src/lifecycle-health.js +42 -4
  21. package/dist/src/output-telemetry.js +4 -0
  22. package/dist/src/progressive-evidence.js +473 -0
  23. package/dist/src/pure-compression-cli.js +101 -0
  24. package/dist/src/release-preflight.js +510 -0
  25. package/dist/src/repository-management.js +142 -0
  26. package/dist/src/response-budget.js +11 -1
  27. package/dist/src/server.js +22 -2
  28. package/dist/src/structural-fast-path.js +303 -0
  29. package/dist/src/structural-snapshot.js +33 -0
  30. package/dist/src/tools/knodin-tools.js +105 -14
  31. package/dist/src/update-ceremony.js +158 -0
  32. package/docs/CLI.md +22 -0
  33. package/docs/COMMAND-OUTPUT-COMPRESSION.md +31 -15
  34. package/docs/CONTAINED-EXECUTION.md +77 -0
  35. package/docs/DIAGNOSTICS.md +45 -0
  36. package/docs/DOCTOR-AND-UPDATES.md +5 -2
  37. package/docs/GIT-HISTORY-REVIEW.md +39 -0
  38. package/docs/MCP.md +15 -0
  39. package/docs/PROGRESSIVE-EVIDENCE.md +37 -0
  40. package/docs/REPOSITORIES-AND-WORKTREES.md +30 -0
  41. package/docs/SCIP-IMPORT.md +57 -0
  42. package/docs/SIGNED-UPDATES.md +5 -0
  43. package/docs/TELEMETRY.md +4 -0
  44. package/docs/releases/0.7.0.md +24 -0
  45. package/docs/releases/0.7.1.md +21 -0
  46. package/docs/releases/0.7.2.md +21 -0
  47. package/docs/releases/0.7.3.md +23 -0
  48. package/package.json +33 -2
@@ -0,0 +1,39 @@
1
+ # Bounded Git-history review signals
2
+
3
+ `knodin review` and the MCP gateway's `review` operation return `signals` beside
4
+ the compatibility `riskScore`. The signal groups stay separate:
5
+
6
+ - `graphImpact`: changed files and affected flows from indexed relationships;
7
+ - `testGaps`: missing test-path/reference facts;
8
+ - `structuralCentrality`: inbound, outbound, and total indexed references for
9
+ each changed symbol;
10
+ - `history`: rename-aware churn, co-change commit facts, and coupling ratios.
11
+
12
+ History output includes the exact contributing commit IDs, availability,
13
+ confidence, configured bounds, commands executed, analyzed counts, truncation,
14
+ and explicit omissions. Results are sorted deterministically. CLI and MCP output
15
+ also retain the review's graph `staleness` field.
16
+
17
+ ## Bounds and unavailable states
18
+
19
+ The defaults are 250 commits, 25 changed files, 100 related-file facts, a
20
+ 2-second timeout per Git command, and an 8 MiB output ceiling. Review uses one
21
+ bounded `git log` pass after HEAD and shallow-state probes, and caches facts by
22
+ repository, HEAD, requested files, and bounds. User-provided file paths must be
23
+ repository-relative; revisions never enter the history command.
24
+
25
+ `shallow`, `unborn`, `git-unavailable`, `not-a-repository`, `timeout`, and
26
+ `unavailable` are explicit. Missing history never produces synthetic commits or
27
+ coupling. Shallow results contain only locally present commits and disclose that
28
+ omission. Commit, file, and related-file truncation likewise names what was
29
+ omitted and why.
30
+
31
+ ## Interpretation limit
32
+
33
+ Co-change and coupling show correlation in the inspected history only. They do
34
+ not assert causation, defect likelihood, ownership, or mandatory remediation.
35
+ Treat them as review context alongside graph impact, test gaps, and structural
36
+ centrality—not as an opaque score or automated decision.
37
+
38
+ The reproducible synthetic-DAG evidence, raw replay, resource measurement, and
39
+ verifier are under `benchmarks/evaluations/c85-git-history/`.
package/docs/MCP.md CHANGED
@@ -4,6 +4,10 @@ knodin exposes exactly one MCP tool named `knodin`. Capabilities such as
4
4
  context, explain, review, search, docs, doctor, repositories, and systems are
5
5
  operations of that gateway, not separate top-level tools.
6
6
 
7
+ Use `operation: "evidence"` for deterministic `locate`, `outline`, `evidence`,
8
+ and `expand` source delivery with a verified complete-file hash handshake and
9
+ recoverable hard-budget continuations. See `docs/PROGRESSIVE-EVIDENCE.md`.
10
+
7
11
  ## Choose a scope
8
12
 
9
13
  - **Personal:** `knodin init --scope personal` configures detected clients with
@@ -98,3 +102,14 @@ If the handshake fails:
98
102
 
99
103
  MCP requests never trigger update-network checks. Cached update state is
100
104
  available through the `doctor` operation without changing stdio framing.
105
+ When local diagnostics have been explicitly enabled for the repository, an MCP
106
+ operation failure records the same bounded, sanitized failure envelope as the
107
+ CLI. It never records request arguments, queries, source, or raw responses. Use
108
+ the CLI `knodin diagnostics collect` and `inspect` workflow to review and share
109
+ support evidence; no MCP failure is uploaded automatically.
110
+
111
+ The `review` operation serializes graph impact, test gaps, structural
112
+ centrality, and bounded Git-history facts separately. Churn, co-change, and
113
+ coupling include contributing commits, bounds, omissions, confidence, and the
114
+ response's graph freshness. See `docs/GIT-HISTORY-REVIEW.md`; co-change is
115
+ correlation only and never an ownership, defect, or remediation assertion.
@@ -0,0 +1,37 @@
1
+ # Progressive source evidence
2
+
3
+ `knodin evidence` returns exact local source through four deterministic levels:
4
+
5
+ 1. `locate` — stable file identity, path, hash, size, freshness, and confidence.
6
+ 2. `outline` — top-level declaration signatures and exact line ranges.
7
+ 3. `evidence` — requested verbatim source lines with edit anchors intact.
8
+ 4. `expand` — the complete verbatim file within caller-selected hard budgets.
9
+
10
+ CLI:
11
+
12
+ ```bash
13
+ knodin evidence locate src/widget.ts
14
+ knodin evidence evidence src/widget.ts --start 10 --end 30
15
+ knodin evidence evidence src/widget.ts --continuation <evidence-handle> \
16
+ --baseline-hash <sha256> --baseline-bytes <bytes>
17
+ ```
18
+
19
+ The single MCP gateway uses `operation: "evidence"`, `file`, and
20
+ `evidenceLevel`. Supply a returned `continuation` to recover omitted source.
21
+ Every response names returned and omitted material, a reason, whether more
22
+ exists, a stable continuation and evidence handle, freshness, confidence, the
23
+ path taken, and exact item/UTF-8-byte/local-token-estimate budgets.
24
+ The mandatory recoverability envelope requires at least 1,600 effective bytes
25
+ (the lower of the byte cap and four times the local token-estimate cap); smaller
26
+ requests fail closed instead of dropping contract fields.
27
+
28
+ Source omission occurs only when a server-issued evidence handle is valid and
29
+ both `baselineHash` and `baselineBytes` equal the current complete local file.
30
+ Missing or partial metadata/handle, a stale/tampered hash, source changed since
31
+ a handle was issued, or a renamed path selects a named `full-*` recovery path.
32
+ Invalid or tampered handles fail closed. Inputs
33
+ must identify an exact repository-relative regular file; ambiguous selection,
34
+ absolute/traversal paths, and symlinks are refused.
35
+
36
+ This protocol does not summarize source and does not support token-savings or
37
+ task-success claims. See the C83 checked-in replay and limitations for bounds.
@@ -5,6 +5,7 @@ that discovered repositories form one software system.
5
5
 
6
6
  ```bash
7
7
  knodin repos discover <root...> --depth 4 --linked-worktrees=skip
8
+ knodin repos discover <root...> --json --signals
8
9
  knodin repos init <root...> --dry-run
9
10
  knodin repos status <root...>
10
11
  knodin repos doctor <root...>
@@ -23,6 +24,35 @@ Results distinguish:
23
24
  - stale linked-worktree metadata;
24
25
  - an unrelated repository under the same discovery root.
25
26
 
27
+ ### Opt-in repository signals
28
+
29
+ `repos discover --json --signals` adds a deterministic `signals` object to
30
+ every repository record; honest absence is `{}`. Without `--signals`, the JSON
31
+ shape and bytes are unchanged. Linked worktrees inspect their own checkout and
32
+ retain the existing `--linked-worktrees=skip|include` behavior.
33
+
34
+ Inspection is read-only, offline, credential-free, and restricted to these
35
+ repository-relative markers: `.github/workflows`, `.gitlab-ci.yml`,
36
+ `.circleci/config.yml`, `azure-pipelines.yml`, `Jenkinsfile`,
37
+ `sonar-project.properties`, `AGENTS.md`, `CLAUDE.md`, `.mcp.json`, and
38
+ `.vscode/mcp.json`. Marker contents are never read. Hook-manager detection is
39
+ restricted to `lefthook.yml`, `lefthook.yaml`, `.husky`, and
40
+ `.pre-commit-config.yaml`; Husky content reads are further restricted to
41
+ `.husky/pre-commit`, `.husky/commit-msg`, and `.husky/pre-push`. Only these
42
+ allowlisted regular hook configurations are read, with a combined 64 KiB cap,
43
+ to report `aidevTrackReferenced`. Remote URLs are read
44
+ from local Git configuration and emitted only as sanitized `name`, `host`, and
45
+ `owner` fields—credentials, paths, and repository names are omitted.
46
+
47
+ Returned fields, when present, are `hookManager`, sorted `markerFiles`, sorted
48
+ `remotes`, `ciProviders`, `agentConfigs`, and `aidevTrackReferenced`. The fixed
49
+ allowlists, 64 KiB hook-content ceiling, 16 KiB Git-output ceiling, discovery
50
+ depth, and existing response budgets bound work and serialization. The command
51
+ performs no writes, network or credential access, source egress, or incremental
52
+ model spend. Marker presence is descriptive only: it does not prove that a
53
+ skill applies or that a detected service is configured correctly. `knodin
54
+ doctor` and the single MCP gateway are unchanged.
55
+
26
56
  Sibling location never establishes system membership or a relationship.
27
57
  `repos init` works sequentially and performs each live repository operation in
28
58
  a disposable process with a 768 MiB RSS ceiling. A worker that exceeds the
@@ -0,0 +1,57 @@
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.
@@ -123,6 +123,11 @@ activating signed checks, the release owners must record:
123
123
  This external ceremony is deliberately a release gate rather than generated
124
124
  test material masquerading as production trust.
125
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
+
126
131
  ## Client policy and recovery
127
132
 
128
133
  The implemented policy modes are `notify-only`, `download-verify-only`,
package/docs/TELEMETRY.md CHANGED
@@ -40,3 +40,7 @@ Telemetry never persists source, raw tool output, command text, usernames, or
40
40
  absolute paths. A measured baseline is an executed, bounded, repository-local
41
41
  full-file read; it is not inferred from file counts. Unsupported baselines and
42
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,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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knodin",
3
- "version": "0.6.0",
3
+ "version": "0.7.3",
4
4
  "description": "knodin — source-evidenced local code intelligence with known bounds. Stable identity, fresh evidence, truthful budgets, and recoverable bounded views.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -17,16 +17,21 @@
17
17
  },
18
18
  "type": "module",
19
19
  "bin": {
20
- "knodin": "dist/bin/cli.js"
20
+ "knodin": "dist/bin/launcher.js"
21
21
  },
22
22
  "files": [
23
23
  "dist",
24
24
  "docs/DEAD-CODE-AND-IMPACT.md",
25
25
  "docs/DOCTOR-AND-UPDATES.md",
26
+ "docs/DIAGNOSTICS.md",
26
27
  "docs/INDEXING-POLICY-AND-PROVENANCE.md",
27
28
  "docs/INSTALLATION.md",
28
29
  "docs/MCP.md",
29
30
  "docs/COMMAND-OUTPUT-COMPRESSION.md",
31
+ "docs/CONTAINED-EXECUTION.md",
32
+ "docs/PROGRESSIVE-EVIDENCE.md",
33
+ "docs/GIT-HISTORY-REVIEW.md",
34
+ "docs/SCIP-IMPORT.md",
30
35
  "docs/CLI.md",
31
36
  "docs/PT-ACCESS-RECOMMENDATION.md",
32
37
  "docs/REPOSITORIES-AND-WORKTREES.md",
@@ -40,6 +45,10 @@
40
45
  "docs/releases/0.5.0.md",
41
46
  "docs/releases/0.5.1.md",
42
47
  "docs/releases/0.6.0.md",
48
+ "docs/releases/0.7.0.md",
49
+ "docs/releases/0.7.1.md",
50
+ "docs/releases/0.7.2.md",
51
+ "docs/releases/0.7.3.md",
43
52
  "docs/assets/knodin-favicon.svg",
44
53
  "docs/SYSTEMS-AND-RELATIONSHIPS.md",
45
54
  "docs/TELEMETRY.md",
@@ -63,18 +72,40 @@
63
72
  "test:watch": "vitest --watch",
64
73
  "test:coverage": "tsx scripts/run-vitest-shards.ts --coverage",
65
74
  "scan:sonar": "npm run test:coverage && sh scripts/run-sonar-scan.sh",
75
+ "mirror:sync": "sh tools/hooks/sync-ghes-mirror.sh",
66
76
  "test:pack-install": "tsx scripts/pack-install-smoke.ts",
67
77
  "test:package-managers": "tsx scripts/package-manager-smoke.ts",
68
78
  "test:naming-screen": "node --test scripts/naming-screen.test.js",
69
79
  "measure:schema": "tsx scripts/measure-tool-schema.ts",
70
80
  "check:dependency-deprecations": "tsx scripts/check-dependency-deprecations.ts",
71
81
  "check:hygiene": "node scripts/check-repository-hygiene.mjs",
82
+ "check:roadmap": "tsx scripts/check-roadmap.ts",
83
+ "verify:c79": "tsx scripts/verify-c79.ts",
84
+ "bench:c80": "tsx benchmarks/evaluations/c80-structural-routing/runner.ts",
85
+ "verify:c80": "tsx scripts/verify-c80.ts",
86
+ "bench:c81": "tsx benchmarks/evaluations/c81-powered-benchmark/runner.ts",
87
+ "verify:c81": "tsx scripts/verify-c81.ts",
88
+ "bench:c82": "tsx benchmarks/evaluations/c82-compress-diagnose/runner.ts",
89
+ "verify:c82": "tsx scripts/verify-c82.ts",
90
+ "bench:c83": "tsx benchmarks/evaluations/c83-progressive-evidence/runner.ts",
91
+ "verify:c83": "tsx scripts/verify-c83.ts",
92
+ "bench:c84": "tsx benchmarks/evaluations/c84-scip-import/runner.ts",
93
+ "verify:c84": "tsx scripts/verify-c84.ts",
94
+ "bench:c85": "tsx benchmarks/evaluations/c85-git-history/runner.ts",
95
+ "verify:c85": "tsx scripts/verify-c85.ts",
96
+ "bench:c86": "tsx benchmarks/evaluations/c86-static-embeddings/runner.ts",
97
+ "verify:c86": "tsx scripts/verify-c86.ts",
98
+ "bench:c87": "tsx benchmarks/evaluations/c87-structural-cold-start/runner.ts",
99
+ "verify:c87": "tsx scripts/verify-c87.ts",
100
+ "bench:c88": "tsx benchmarks/evaluations/c88-contained-execution/runner.ts",
101
+ "verify:c88": "tsx scripts/verify-c88.ts",
72
102
  "bench:ann": "bun scripts/ann-bench.ts",
73
103
  "bench:perf": "tsx scripts/perf-bench.ts",
74
104
  "bench:competitive": "tsx scripts/competitive-bakeoff.ts",
75
105
  "bench:token-optimizer": "tsx benchmarks/evaluations/token-optimizer-20260730/runner.ts",
76
106
  "audit:token-optimizer": "tsx scripts/token-optimizer-source-audit.ts",
77
107
  "release:attestation": "tsx scripts/release-attestation.ts",
108
+ "release:preflight": "tsx scripts/release-preflight.ts",
78
109
  "lint": "biome check .",
79
110
  "lint:fix": "biome check --write ."
80
111
  },