Skip to content

Releases: Wombat164/neurokeeper

v0.3.5

Choose a tag to compare

@Wombat164 Wombat164 released this 04 Jul 17:43
21f198a

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-log is the first consumer. (R13 phase 1)

v0.3.4

Choose a tag to compare

@Wombat164 Wombat164 released this 04 Jul 14:46
35d3be8

Added

  • ref-audit --since <git-ref> (and doctor --since, forwarded): report only findings for notes changed since a git ref, narrowing the --check gate 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.)
  • doctor run-receipt: every run emits a receipt (tool / version / root / files_scanned / engines_run / duration_ms) in --json and 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

Choose a tag to compare

@Wombat164 Wombat164 released this 04 Jul 13:47
c92f67f

Fixed

  • frontmatter-lint / taxonomy-inventory (#3): the shared md_files() walker now skips dot-prefixed dirs (.obsidian, .git, tool caches), so .extractor_cache/*.md no longer inflate no_fm and other counts.
  • Documented name-reconcile --under / --no-exclusions and frontmatter-fix --dates.
  • Corrected docs that wrongly claimed the PyPI name neurokeeper was taken (it is free).

Added

  • PyPI distribution under the natural name neurokeeper via 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

Choose a tag to compare

@Wombat164 Wombat164 released this 04 Jul 09:57
f002f6c

Patch: consumer-issue fixes, verified against the raiser's vault.

Fixed

  • frontmatter-lint --json (#3): offending paths now live at offvocab.<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. The files block 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

Choose a tag to compare

@Wombat164 Wombat164 released this 04 Jul 09:26
517b01e

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 a files block with per-finding + per-off-vocab-value paths, actionable without a second grep pass; counts/offvocab unchanged (#3)
  • config.example: memory_bytes_budget corrected to 25000 — the real MEMORY.md load cap (#4)
  • memory-consolidate: BYTES_BUDGET recalibrated 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, MarkdownBackend is 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)

Choose a tag to compare

@Wombat164 Wombat164 released this 28 Jun 16:21

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

Choose a tag to compare

@Wombat164 Wombat164 released this 28 Jun 15:51

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

Choose a tag to compare

@Wombat164 Wombat164 released this 28 Jun 15:40

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

Choose a tag to compare

@Wombat164 Wombat164 released this 28 Jun 14:58

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

Choose a tag to compare

@Wombat164 Wombat164 released this 28 Jun 14:49

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/