Releases: Wombat164/neurokeeper
Release list
v0.3.5
Added
ref-audit --sarif+ a canonical Findings IR (scripts/_findings.py): SARIF 2.1.0 for GitHub code-scanning, the single seam future output formats render over. (R16)ref-audit --baseline/--write-baseline: adopt on a dirty vault, reporting and gating only NET-NEW debt; fingerprints are semantic so a rename does not resurrect the baseline. (R19)memory-consolidate --candidates: deterministic MERGE + CONTRADICTION candidate detection (a narrowing pre-filter for a gated judge). (R14)- Reusable audit substrate (
scripts/_audit.py): a tamper-evident hash-chained apply log any engine can write to;frontmatter-fix --audit-logis the first consumer. (R13 phase 1)
v0.3.4
Added
ref-audit --since <git-ref>(anddoctor --since, forwarded): report only findings for notes changed since a git ref, narrowing the--checkgate to the diff for pre-commit / CI. The scan stays graph-global; only the surfaced findings and the gate are scoped. A bad ref or non-git tree exits 2 rather than silently scanning the wrong scope. (Roadmap R15.)doctorrun-receipt: every run emits areceipt(tool/version/root/files_scanned/engines_run/duration_ms) in--jsonand as the human report's header line, so a wrong-root or 0-file run fails loudly instead of passing as a silent green. (Roadmap R18.)
v0.3.3
Fixed
frontmatter-lint/taxonomy-inventory(#3): the sharedmd_files()walker now skips dot-prefixed dirs (.obsidian,.git, tool caches), so.extractor_cache/*.mdno longer inflateno_fmand other counts.- Documented
name-reconcile --under/--no-exclusionsandfrontmatter-fix --dates. - Corrected docs that wrongly claimed the PyPI name
neurokeeperwas taken (it is free).
Added
- PyPI distribution under the natural name
neurokeepervia Trusted Publishing (OIDC).pipx install neurokeeper/uvx neurokeeper. - R20 wiki-coverage gate: CI fails when an engine or flag is missing from the wiki reference.
- Community-health files: CONTRIBUTING, CODE_OF_CONDUCT, CHANGELOG, THIRD-PARTY-LICENSES, issue + PR templates.
- Brand identity: logo mark (light/dark), social card, and a Brand page on the docs site.
Changed
- README refreshed with the new mark and ASCII-clean prose; corpus-wide dash cleanup; doc version pins to v0.3.3.
v0.3.2
Patch: consumer-issue fixes, verified against the raiser's vault.
Fixed
frontmatter-lint --json(#3): offending paths now live atoffvocab.<field>.<value> = [paths](per-value; count =len), and each value is the note's relpath (e.g.05 - Knowledge/foo.md, forward-slash). v0.3.1 emitted the containing directory, which was not actionable. Thefilesblock keeps the non-offvocab per-finding lists (no_fm / parse_err / missing_note_type / missing_sphere / unknown_fields).
New
memory-consolidate --lint(R11): advisory index-compression + size-cap + link-integrity check for the always-loaded entrypoint index (200-line / 25KB harness cap, 140 / 17.5KB headroom targets; caveman separator rules with context-aware[[wikilink]]/backtick exclusion). Never blocks (exit 0).
v0.3.1
Consumer-reported fixes + docs.
Fixed
- ref-audit: skip all dot-prefixed directories by default (Obsidian semantics) — tool caches like
.extractor_cache/no longer inflate orphan/dead-end/isolated counts (#2) - frontmatter-lint
--json: emit afilesblock with per-finding + per-off-vocab-value paths, actionable without a second grep pass; counts/offvocab unchanged (#3) - config.example:
memory_bytes_budgetcorrected to 25000 — the real MEMORY.md load cap (#4) - memory-consolidate:
BYTES_BUDGETrecalibrated 45000 → 25000 (real 200-line / 25KB harness cap)
New
- Obsidian integration guide (
docs/obsidian-integration.md) — maps each backend seam (LINK/METADATA/TAGS/STORE/GUARD) to the Obsidian adapter; the core stays backend-agnostic,MarkdownBackendis the neutral reference - dependabot: weekly grouped pip + github-actions updates
Roadmap: R11 (memory-index size-cap lint) + R12 (shared/cross-env consolidation).
Deferred: ref-audit alias resolution (#1) — pending the RESOLVE-seam work (it contradicts the verified "aliases don't resolve" finding).
neurokeeper v0.3.0 (renamed from claude-harness)
Project renamed: claude-harness -> neurokeeper. The bare name claude-harness was already taken on PyPI + npm and saturated on GitHub (a 2,886-star claude-code-harness and many more), and vault* alternatives would have tied the project to Obsidian -- against the backend-agnostic / Obsidian-exit design. neurokeeper = neural/second-brain + caretaker: it tends the synapses of your knowledge base (the wikilink/backlink graph), works across any markdown KB, and the name is free on PyPI/npm/crates. No functional changes since v0.2.2 -- the package, the neurokeeper CLI command, the plugin + marketplace name, and all docs/URLs are renamed. Install: /plugin marketplace add https://github.com/Wombat164/neurokeeper or pipx install git+https://github.com/Wombat164/neurokeeper. Docs: https://wombat164.github.io/neurokeeper/
claude-harness v0.2.2
Fix install docs: the bare PyPI name claude-harness is owned by an unrelated project, so the README now installs from GitHub (pipx install git+https://github.com/Wombat164/claude-harness). PyPI publishing would require a distinct distribution name first (see RELEASING).
claude-harness v0.2.1
Compliance pass against the official Claude Code plugin spec. The plugin structure was already compliant (claude plugin validate --strict passes); this enriches plugin.json with repository, license (MIT), keywords, homepage, and the schemastore $schema -- the metadata the official plugin-directory review and editor tooling read. No engine changes.
claude-harness v0.2.0
Adoption-ready milestone. Install path fixed (a valid marketplace.json), CI green across 9 OS/Python combos, claude plugin validate passes, full docs site, deterministic engines usable as a Claude Code plugin, a CLI, and a pre-commit/GitHub-Action CI gate. This release adds README status badges and docs/DISTRIBUTION.md (the listing playbook). No engine changes since v0.1.6. Docs: https://wombat164.github.io/claude-harness/
claude-harness v0.1.6
CI adapters (the portable-core reach payoff): a .pre-commit-hooks.yaml + a composite GitHub Action gate any vault repo on the deterministic reference-integrity + health checks. They run the vault-graph-aware checks claude-harness uniquely owns (broken wikilinks / .canvas / .base, orphans, health) and compose with markdownlint / lychee / check-jsonschema for the commoditized ones -- see docs/ci-adapters.md. Also: a synthetic examples/vault/ (demo + CI smoke fixture) and a check-release gate (version-sync + manifest sanity) in CI. Docs: https://wombat164.github.io/claude-harness/