Skip to content

Commit 7f48d07

Browse files
authored
chore(release): cut v0.6.0 (#29)
CHANGELOG [Unreleased] -> [0.6.0] (call-graph edges, deterministic process paths, LLM process labeling); pyproject + uv.lock 0.5.0 -> 0.6.0; README status headline and DESIGN banner -> v0.6.
1 parent a40d44b commit 7f48d07

5 files changed

Lines changed: 12 additions & 13 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ All notable changes to this project are documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [0.6.0] - 2026-07-07
99

1010
### Added
1111

@@ -38,9 +38,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3838
across **three files**, cycle no-hang, `.kb/sinks.yaml` override proven end-to-end, no-sink route
3939
yields nothing, depth caps honored, re-index determinism. Headline HARD gates: thirteen →
4040
**fourteen**.
41-
42-
### Added
43-
4441
- **Call-graph edge extractor** (`kb.extract.deterministic.calls`): the sixth deterministic
4542
extractor — one `call_edge` artifact per RESOLVED caller→callee pair (`call:{caller}->{callee}`,
4643
call-site lines aggregated in the payload, the import-edge precedent). Three deterministic
@@ -288,7 +285,8 @@ freshness).
288285
import oracle, Tier-4 one-hop invalidation, and the store/provenance invariants — run in CI
289286
against a PostgreSQL 17 service.
290287

291-
[Unreleased]: https://github.com/v0ropaev/knowbase/compare/v0.5.0...HEAD
288+
[Unreleased]: https://github.com/v0ropaev/knowbase/compare/v0.6.0...HEAD
289+
[0.6.0]: https://github.com/v0ropaev/knowbase/compare/v0.5.0...v0.6.0
292290
[0.5.0]: https://github.com/v0ropaev/knowbase/compare/v0.4.0...v0.5.0
293291
[0.4.0]: https://github.com/v0ropaev/knowbase/compare/v0.3.0...v0.4.0
294292
[0.3.0]: https://github.com/v0ropaev/knowbase/compare/v0.2.0...v0.3.0

‎DESIGN.md‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
# knowbase — Design
22

3-
> Status: **agreed MVP design**, implemented through **v0.5**. This document is the source of truth
3+
> Status: **agreed MVP design**, implemented through **v0.6**. This document is the source of truth
44
> for the architecture. It supersedes the original free-form spec. Load-bearing decisions that are
55
> expensive to change later are marked **[LOCKED]**; everything else is revisable. The MVP vertical
66
> slice in §8 has shipped (provenance spine, import + FastAPI + domain-entity + library-surface
7-
> + event-handler extractors — with cross-file grounding, the sandboxed openapi and griffe oracles, the read-only MCP
8-
> server, pgvector embeddings/search, the RAG A/B gate plus a nightly LLM-judged A/B, LLM-grounded
9-
> descriptions through per-package overviews, incremental re-index, and published Docker images);
10-
> items still labelled *deferred* below remain so.
7+
> + event-handler + call-graph extractors plus the grounded process-path builder over them — with
8+
> cross-file grounding, the sandboxed openapi and griffe oracles, the read-only MCP server, pgvector
9+
> embeddings/search, the RAG A/B gate plus a nightly LLM-judged A/B, LLM-grounded descriptions
10+
> through per-package overviews and process-path labels, incremental re-index, and published Docker
11+
> images); items still labelled *deferred* below remain so.
1112
1213
---
1314

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ flowchart LR
8484

8585
## Status
8686

87-
**v0.5 — spine (artifact-identity rule v2), six deterministic extractors (cross-file grounding, incl. the library public-API surface, event handlers, and call-graph edges) plus the grounded process-path builder over them, LLM-grounded descriptions up to per-package architecture overviews, live incremental re-index (`kb watch`), MCP serving, the fourteen knowledge gates, and published Docker images.** Everything here grounds what it claims, and nothing it cannot:
87+
**v0.6 — spine (artifact-identity rule v2), six deterministic extractors (cross-file grounding, incl. the library public-API surface, event handlers, and call-graph edges) plus the grounded process-path builder over them, LLM-grounded descriptions up to per-package architecture overviews and business-process-path labels, live incremental re-index (`kb watch`), MCP serving, the fourteen knowledge gates, and published Docker images.** Everything here grounds what it claims, and nothing it cannot:
8888

8989
- **Provenance spine** — content-addressed `span_id` (LOCKED); tree-sitter spans with a normalized S-expression fingerprint and per-SHA location; a single-Postgres, Alembic-managed store with content-addressed idempotent writes; the ≥ 1 `derived_from` anti-hallucination invariant enforced in-app *and* by a deferred DB trigger; pygit2 git ingest (no checkout) with a diff-based invalidation seed.
9090
- **Deterministic extractors** — the **import / dependency graph** (grimp resolves the edge, tree-sitter grounds it on the exact import statement, with an honest `approximate` fallback for re-exports / relative / unmappable imports — never a silent loss); the **FastAPI API-contract** extractor, which grounds a single route **across files** (handler in `routes.py` + `response_model` class in `schemas.py`); the **domain-entity** extractor (pydantic / dataclass / SQLAlchemy classes and their fields, grounded on the class definition **and cross-file on the entities they reference** — purely static, with documented detection limits); the **library public-API-surface** extractor (what a package exposes from its `__init__.py` — `__all__`-authoritative, with `__init__` re-exports resolved **cross-file** to the defining function/class — validated against an independent **griffe** static oracle); the **event-handler** extractor (pydantic `@field_validator`/`@model_validator`, FastAPI `@app.on_event`, SQLAlchemy `@event.listens_for` — one artifact per handler, grounded on the handler span and **cross-file** on the class it listens to; the call-form `event.listen(...)` and dynamic names are documented gaps); and the **call-graph edge** extractor (deterministic caller→callee edges — same-module, imported **cross-file**, and `self.` method calls — one `call_edge` per resolved pair with call-site lines aggregated; `obj.method(...)`, `getattr`, inherited self-calls and decorator/default-arg expressions are documented gaps; the deterministic foundation under the future business-process extractor); and the **process-path builder** (second-order: BFS over the call edges from extracted entrypoints — route/event handlers — to sink-registry matches, one `process_path` grounded on EVERY span of the chain, multi-file provenance; built-in sink registry + per-repo `.kb/sinks.yaml` override).

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "knowbase"
3-
version = "0.5.0"
3+
version = "0.6.0"
44
description = "Versioned, provenance-grounded knowledge layer over a codebase"
55
readme = "README.md"
66
requires-python = ">=3.12"

‎uv.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)