knodin 0.5.0 → 0.6.0

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 (41) hide show
  1. package/README.md +166 -534
  2. package/dist/bin/cli.js +5 -5
  3. package/dist/src/agent-integration.js +1 -15
  4. package/dist/src/artifact-refresh.js +1 -1
  5. package/dist/src/competitive-sandbox.js +4 -4
  6. package/dist/src/context-export.js +1 -1
  7. package/dist/src/docs-sections.js +5 -5
  8. package/dist/src/engine/ann-hnsw.js +5 -5
  9. package/dist/src/engine/embeddings.js +4 -4
  10. package/dist/src/engine/index.js +33 -33
  11. package/dist/src/engine/prune.js +2 -2
  12. package/dist/src/engine/symbol-delete.js +1 -1
  13. package/dist/src/index-activity.js +1 -1
  14. package/dist/src/init-progress-worker.js +1 -1
  15. package/dist/src/init.js +42 -59
  16. package/dist/src/lifecycle-health.js +10 -11
  17. package/dist/src/lsp-readonly.js +1 -1
  18. package/dist/src/output-compression.js +1 -1
  19. package/dist/src/output-telemetry.js +4 -4
  20. package/dist/src/pr-triage.js +2 -2
  21. package/dist/src/repair-progress-worker.js +1 -1
  22. package/dist/src/repository-init-process.js +1 -1
  23. package/dist/src/repository-management.js +3 -3
  24. package/dist/src/server.js +1 -1
  25. package/dist/src/system-config.js +7 -7
  26. package/dist/src/tools/knodin-tools.js +2 -2
  27. package/dist/src/update-policy.js +4 -4
  28. package/dist/src/wait-for-fresh.js +2 -2
  29. package/dist/src/worktree-lifecycle.js +2 -2
  30. package/docs/COMMAND-OUTPUT-COMPRESSION.md +1 -1
  31. package/docs/DOCTOR-AND-UPDATES.md +2 -2
  32. package/docs/INSTALLATION.md +5 -5
  33. package/docs/REPOSITORIES-AND-WORKTREES.md +1 -1
  34. package/docs/SYSTEMS-AND-RELATIONSHIPS.md +2 -2
  35. package/docs/TELEMETRY.md +2 -2
  36. package/docs/assets/knodin-favicon.svg +4 -0
  37. package/docs/releases/0.5.1.md +17 -0
  38. package/docs/releases/0.6.0.md +18 -0
  39. package/package.json +8 -6
  40. package/schemas/release-attestation-v1.schema.json +1 -1
  41. package/dist/src/tools/reckon-tools.js +0 -5
@@ -6,7 +6,7 @@ const delay = (milliseconds) => new Promise((resolve) => setTimeout(resolve, mil
6
6
  const PROCESSOR_RETRY_MS = 500;
7
7
  function installedProcessorIsRunning(repo) {
8
8
  try {
9
- const pid = Number(fs.readFileSync(path.join(repo, ".reckon", "hooks", "refresh.lock", "pid"), "utf-8"));
9
+ const pid = Number(fs.readFileSync(path.join(repo, ".knodin", "hooks", "refresh.lock", "pid"), "utf-8"));
10
10
  if (!Number.isInteger(pid) || pid <= 0)
11
11
  return false;
12
12
  process.kill(pid, 0);
@@ -17,7 +17,7 @@ function installedProcessorIsRunning(repo) {
17
17
  }
18
18
  }
19
19
  export function launchInstalledLifecycleProcessor(repo) {
20
- const processor = path.join(repo, ".reckon", "hooks", "background-index.sh");
20
+ const processor = path.join(repo, ".knodin", "hooks", "background-index.sh");
21
21
  if (fs.statSync(processor).mode & 0o111) {
22
22
  const child = childProcess.spawn(processor, [], {
23
23
  cwd: repo,
@@ -124,7 +124,7 @@ export async function inspectWorktrees(repoPath, status) {
124
124
  for (const worktree of current) {
125
125
  const identity = identityFor(repo, worktree.path, worktree.classification);
126
126
  const registered = registry.entries.some((entry) => entry.identity === identity);
127
- const graphInitialized = fs.existsSync(path.join(worktree.path, ".reckon", "db.sqlite"));
127
+ const graphInitialized = fs.existsSync(path.join(worktree.path, ".knodin", "db.sqlite"));
128
128
  let indexedHead = null;
129
129
  if (graphInitialized) {
130
130
  try {
@@ -160,7 +160,7 @@ export async function inspectWorktrees(repoPath, status) {
160
160
  locked: false,
161
161
  prunable: "registered worktree is absent from Git's worktree inventory",
162
162
  registered: true,
163
- graphInitialized: fs.existsSync(path.join(entry.path, ".reckon", "db.sqlite")),
163
+ graphInitialized: fs.existsSync(path.join(entry.path, ".knodin", "db.sqlite")),
164
164
  indexedHead: null,
165
165
  freshness: "removed",
166
166
  removedAt: entry.removedAt ?? null,
@@ -152,7 +152,7 @@ runtime evidence.
152
152
 
153
153
  ## Local retention and redaction
154
154
 
155
- Artifacts are stored beneath `.reckon/output/` with a private directory mode
155
+ Artifacts are stored beneath `.knodin/output/` with a private directory mode
156
156
  and `0600` files. The default returned content and bounded reads redact common
157
157
  credential forms and remove ANSI/control bytes. `--raw` is an explicit local
158
158
  request and can reveal the original secrets. Redaction is defense in depth,
@@ -41,8 +41,8 @@ timeout, no redirects, and remain within one approved HTTPS origin and path.
41
41
  Disable checks or all network access with:
42
42
 
43
43
  ```bash
44
- RECKON_UPDATE_CHECK=0 knodin doctor
45
- RECKON_OFFLINE=1 knodin update check
44
+ KNODIN_UPDATE_CHECK=0 knodin doctor
45
+ KNODIN_OFFLINE=1 knodin update check
46
46
  ```
47
47
 
48
48
  Requests contain fixed metadata or signed target paths only. They never contain
@@ -20,7 +20,7 @@ shells, Git hooks, and MCP clients.
20
20
  | Bun | `bun add --global --ignore-scripts knodin@<version>` | Executable gate provided; release verification requires the published version |
21
21
  | approved npm-compatible registry | use the npm command with approved registry configuration | Same artifact; registry authentication/promotion is organization-owned |
22
22
  | P&T GHES release asset | after migration, download the exact `.tgz` from `Enterprise-Apps/knodin`, verify SHA-256, then use the npm command with the local file | Planned knodin path; the legacy mirror remains authoritative until the external rename and release verification complete |
23
- | Homebrew | after migration, `brew install knowdin/tap/knodin` | Planned knodin path; the legacy tap remains authoritative until the external rename and formula gate complete |
23
+ | Homebrew | after migration, `brew install knodin/tap/knodin` | Planned knodin path; the legacy tap remains authoritative until the external rename and formula gate complete |
24
24
 
25
25
  “Guidance” is not a compatibility claim. The repository records the manager
26
26
  version, command, package version, platform, and result when a release gate is
@@ -28,7 +28,7 @@ actually run.
28
28
 
29
29
  The executable harness is `npm run test:package-managers -- npm pnpm bun`.
30
30
  Registry-backed release checks use
31
- `RECKON_SMOKE_PUBLISHED_VERSION=<version> npm run test:package-managers -- mise volta`;
31
+ `KNODIN_SMOKE_PUBLISHED_VERSION=<version> npm run test:package-managers -- mise volta`;
32
32
  they intentionally refuse to substitute a local tarball for a published
33
33
  manager-owned tool.
34
34
 
@@ -159,16 +159,16 @@ After the external tap is renamed and certified, install from the public
159
159
  knodin tap:
160
160
 
161
161
  ```bash
162
- brew install knowdin/tap/knodin
162
+ brew install knodin/tap/knodin
163
163
  ```
164
164
 
165
165
  A version is not called Homebrew-supported until the corresponding published
166
166
  npm tarball passes version, MCP initialize/tools-list, `init`, `status`,
167
167
  `query`, `repair`, and uninstall smoke tests. The tap is
168
- `knowdin/homebrew-tap`; the formula and attached release evidence must
168
+ `knodin/homebrew-tap`; the formula and attached release evidence must
169
169
  identify the exact source commit and tarball digest.
170
170
 
171
- The planned knodin formula will be maintained in `knowdin/homebrew-tap`; that
171
+ The planned knodin formula will be maintained in `knodin/homebrew-tap`; that
172
172
  path is not represented as live by this code-only rename.
173
173
  The repository-local `packaging/homebrew/knodin.rb` is a historical
174
174
  candidate fixture and must not be promoted or used to certify a newer release.
@@ -51,7 +51,7 @@ the manifest. The single MCP gateway exposes equivalent `dryRun` and
51
51
  Its warning is written only for human output, never JSON/JSONL or MCP stdio.
52
52
 
53
53
  Repository inventory is portfolio health, not semantic federation. Configure
54
- cooperating components explicitly in `reckon.yaml`; use
54
+ cooperating components explicitly in `knodin.yaml`; use
55
55
  `knodin system validate` before system-scoped queries.
56
56
 
57
57
  ## Independent repository search
@@ -5,7 +5,7 @@ may represent APIs, resources, repositories, or artifacts. Unrelated
5
5
  repositories remain separate even when they share a parent directory or match
6
6
  the same search query.
7
7
 
8
- Team configuration belongs in repository-root `reckon.yaml` and contains stable
8
+ Team configuration belongs in repository-root `knodin.yaml` and contains stable
9
9
  identities without local absolute paths. Personal checkout paths belong in:
10
10
 
11
11
  ```text
@@ -36,7 +36,7 @@ matches remain labeled and cannot silently create system membership. Optional
36
36
  runtime evidence corroborates static evidence; it does not replace canonical
37
37
  source.
38
38
 
39
- `.reckon/federation.json` remains a compatibility input and is never silently
39
+ `.knodin/federation.json` remains a compatibility input and is never silently
40
40
  discarded. Loaded entries are labeled `legacy-federation` until migrated to
41
41
  stable identities.
42
42
 
package/docs/TELEMETRY.md CHANGED
@@ -29,10 +29,10 @@ knodin telemetry clear
29
29
  `--output` accept only repository-contained, non-symlink paths. `clear` is the
30
30
  only command that deletes the private JSONL file; report and export never do.
31
31
 
32
- The default report is `.reckon/telemetry-report.html`. It includes summary,
32
+ The default report is `.knodin/telemetry-report.html`. It includes summary,
33
33
  operation, time-series, private repository, indexing-cost, latency, freshness,
34
34
  and fidelity views with light/dark styling. The default machine-readable export
35
- is `.reckon/telemetry-export.json` and labels measured, modeled, and unknown
35
+ is `.knodin/telemetry-export.json` and labels measured, modeled, and unknown
36
36
  baselines explicitly. Neither artifact needs a daemon, hosted service,
37
37
  authentication, or source egress.
38
38
 
@@ -0,0 +1,4 @@
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>
@@ -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 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
+
@@ -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.
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "knodin",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
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": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/knowdin/knodin.git"
8
+ "url": "git+https://github.com/knodin/knodin.git"
9
9
  },
10
- "homepage": "https://github.com/knowdin/knodin#readme",
10
+ "homepage": "https://github.com/knodin/knodin#readme",
11
11
  "bugs": {
12
- "url": "https://github.com/knowdin/knodin/issues"
12
+ "url": "https://github.com/knodin/knodin/issues"
13
13
  },
14
14
  "publishConfig": {
15
15
  "access": "public",
@@ -17,8 +17,7 @@
17
17
  },
18
18
  "type": "module",
19
19
  "bin": {
20
- "knodin": "./dist/bin/cli.js",
21
- "reckon": "./dist/bin/cli.js"
20
+ "knodin": "dist/bin/cli.js"
22
21
  },
23
22
  "files": [
24
23
  "dist",
@@ -39,6 +38,9 @@
39
38
  "docs/releases/0.4.2.md",
40
39
  "docs/releases/0.4.3.md",
41
40
  "docs/releases/0.5.0.md",
41
+ "docs/releases/0.5.1.md",
42
+ "docs/releases/0.6.0.md",
43
+ "docs/assets/knodin-favicon.svg",
42
44
  "docs/SYSTEMS-AND-RELATIONSHIPS.md",
43
45
  "docs/TELEMETRY.md",
44
46
  "schemas/release-attestation-v1.schema.json",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://raw.githubusercontent.com/knowdin/knodin/main/schemas/release-attestation-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/knodin/knodin/main/schemas/release-attestation-v1.schema.json",
4
4
  "title": "knodin release attestation",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
@@ -1,5 +0,0 @@
1
- /**
2
- * Legacy source compatibility for pinned replay runners and downstream imports.
3
- * New code must import the canonical knodin names from `knodin-tools.ts`.
4
- */
5
- export { closeKnodinToolEngine as closeReckonToolEngine, getDocumentedKnodinToolsForSchemaProof as getDocumentedReckonToolsForSchemaProof, getKnodinTools as getReckonTools, handleKnodinTool as handleReckonTool, } from "./knodin-tools.js";