Skip to content

v0.1.0 — the first working version

Choose a tag to compare

@francescofioredev francescofioredev released this 08 Aug 00:24
· 36 commits to main since this release
829ccab

A knowledge base an agent writes and maintains, with provenance back to the sources and drift detection when they change.

All six roadmap phases complete. 176 tests. MIT.

Try it

git clone https://github.com/francescofioredev/accreta && cd accreta
bun install
cd examples/climate
bun run ../../packages/cli/src/main.ts reindex   # 10 pages, 27 links, ~20ms
bun run ../../packages/cli/src/main.ts lint      # clean
bun run ../../packages/cli/src/main.ts drift     # up to date, both sources

What works

  • packages/core — frontmatter parsing, wikilink resolution, link graph, SQLite index (FTS5 + links), search, lint, drift detection.
  • packages/adapters/{fs,git} — a source is four methods. The core imports no adapter and never branches on which one it holds.
  • packages/cliinit, reindex, lint, drift, search, show, consumers, canonical.
  • packages/mcp-server — seven read tools plus one write tool that is not registered unless writes are explicitly enabled.
  • templates/constitution/ — the method, plus codebase and research presets.
  • examples/climate/ — a worked knowledge base over scientific reports.

Three things worth reading about

A bug that failed silently in both directions. [[../modules/foo]] rendered and navigated correctly on GitHub while the graph quietly omitted the edge — so find_consumers under-reported with no symptom, and a shorter list of consumers is indistinguishable from a correct one. Two more defects with the same shape turned up in the YAML preprocessing pass. That pattern is why unresolvable links are a table, not a log line.

The benchmark found a bug in our own index before it answered its question. Alias queries scored 40% — ECS and thermal inertia returned nothing despite being names the pages declared in frontmatter. pages_fts was dropping aliases on the floor. One column later: 40% → 100%, overall 70% → 85%.

That number reads exactly like evidence that lexical search cannot handle synonyms, which is the standard argument for reaching for embeddings. ADR-0001 decides against building semantic search on the corrected numbers, records that paraphrase recall at 50% is a real weakness, and lists three concrete triggers that reopen the question.

Verifying the demo before tagging showed every page drifting. A git source was the whole repository rather than its own documents, so any commit to anything drifted everything. Fixed with path scoping (#29) — re-pinning would have hidden it and left every future commit to re-break it. A drift report that cries wolf is one people stop reading.

Deliberately not built

  • #21 — hosted deployment auth and the sync loop
  • #26 — the five-state skill installer

Both serve a deployment story that does not exist yet. Building them now would encode guesses about transport, identity and distribution that become load-bearing before anyone has tested them.

Not stable

The API will change. examples/climate and bench/ are the best guides to what the tool actually does.