Skip to content

Commit 81fc309

Browse files
leifericfclaude
andcommitted
release: prepare v0.2.0
Update CHANGES.md, README.md (introspect docs, version refs, pipeline diagram, command table), fix report contradictions and stale stats, bump version.edn to 0.2.0. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a4baa17 commit 81fc309

4 files changed

Lines changed: 109 additions & 213 deletions

File tree

CHANGES.md

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,58 @@
22

33
All notable changes to Noumenon are documented in this file.
44

5-
## 0.1.0 — 2026-03-27 — Initial Public Release
5+
## 0.2.0
6+
7+
### Features
8+
9+
- **Introspect** — Autonomous self-improvement loop. An LLM optimizer
10+
analyzes benchmark gaps and proposes changes to prompts, example queries,
11+
Datalog rules, source code, and ML model hyperparameters. Improvements are
12+
kept; regressions are reverted automatically. Inspired by Karpathy's
13+
autoresearch. See [reports/introspect-development-2026-03-28.md](reports/introspect-development-2026-03-28.md).
14+
- **ML query routing model** — On-device feedforward network predicts which
15+
Datalog queries to try for a given question. Trained via introspect, runs at
16+
zero token cost. Integrated into the ask agent as optional hints.
17+
- **Multi-repo evaluation** — Introspect evaluates across multiple repos to
18+
prevent overfitting prompts to a single codebase.
19+
- **Async MCP introspect**`noumenon_introspect_start`, `_status`, `_stop`
20+
tools for background optimization runs.
21+
- **Internal meta database** — Dedicated Datomic database (`noumenon-internal`)
22+
for cross-repo introspect history, with 5 named Datalog queries.
23+
- **Ask agent improvements** — Prompt caching (Anthropic API), parallel tool
24+
execution, column headers in query results, iteration-aware budget warnings,
25+
partial answers on budget exhaustion with resumable sessions.
26+
- **Issue reference extraction** — Commits now extract issue refs (`#123`,
27+
`PROJ-456`, URLs) into `:commit/issue-refs`.
28+
- **Scoped re-analysis**`--reanalyze` flag for `analyze` command supports
29+
`all`, `prompt-changed`, `model-changed`, and `stale` modes.
30+
31+
### Fixes
32+
33+
- Pin Clojure 1.12.3 in deps.edn to fix uberjar compilation (tools.build
34+
resolves 1.11.2 transitively, breaking AOT with neanderthal).
35+
- Python relative import handling in `enrich`.
36+
- Rust `use` statement capture alongside `mod` declarations.
37+
- Analysis prompt improvements: tighter confidence scoring, segment naming,
38+
call-names accuracy, safety concern calibration.
39+
- Ask agent prompt hardening against hedge paragraphs and answer quality issues.
40+
- Numerous introspect robustness fixes (path traversal blocking, TOCTOU
41+
mitigation, exception recovery, formatting-preserving revert).
42+
43+
### CLI Commands
44+
45+
Added `introspect` subcommand with `--max-iterations`, `--max-hours`,
46+
`--max-cost`, `--target`, `--eval-runs`, `--git-commit`, and `--verbose` flags.
47+
48+
### Dependencies
49+
50+
- Added `uncomplicate/deep-diamond` 0.43.0 and `uncomplicate/neanderthal` 0.61.0
51+
(ML model training).
52+
- Pinned `org.clojure/clojure` 1.12.3.
53+
54+
---
55+
56+
## 0.1.0
657

758
First public release of Noumenon, a Datomic-backed knowledge graph for
859
AI-assisted codebase understanding.
@@ -42,10 +93,3 @@ AI-assisted codebase understanding.
4293
`digest`, `import`, `analyze`, `enrich`, `update`, `watch`, `query`, `ask`,
4394
`show-schema`, `status`, `list-databases`, `serve`, `benchmark`
4495

45-
### Supported Languages
46-
47-
| Tier | Languages |
48-
|------|-----------|
49-
| Full (deterministic imports) | Clojure |
50-
| Import extraction | Elixir, Erlang, Python, JavaScript/TypeScript, Rust, Java |
51-
| Analysis only | All languages with text files |

README.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,22 +36,22 @@ clj -M:run --help
3636
Download the latest JAR from [GitHub Releases](https://github.com/leifericf/noumenon/releases):
3737

3838
```bash
39-
java -jar noumenon-0.1.0.jar --help
39+
java -jar noumenon-0.2.0.jar --help
4040
```
4141

4242
Build from source if needed:
4343

4444
```bash
4545
clj -T:build uber
46-
java -jar target/noumenon-0.1.0.jar --version
46+
java -jar target/noumenon-0.2.0.jar --version
4747
```
4848

4949
### Option 3: Use as a Clojure dependency
5050

5151
```clojure
5252
{:aliases
5353
{:noumenon
54-
{:extra-deps {io.github.leifericf/noumenon {:git/tag "v0.1.0" :git/sha "284ee79"}}
54+
{:extra-deps {io.github.leifericf/noumenon {:git/tag "v0.2.0" :git/sha "TBD"}}
5555
:main-opts ["-m" "noumenon.main"]}}}
5656
```
5757

@@ -130,9 +130,11 @@ flowchart LR
130130
F --> G
131131
132132
C --> H[Benchmark\nEvaluation workflows]
133+
H --> I[Introspect\nAutonomous self-improvement]
134+
I -.->|optimizes| E
133135
```
134136

135-
`enrich` is optional but recommended for deterministic dependency and test-impact analysis. `update` replaces the manual `import` + `enrich` workflow.
137+
`enrich` is optional but recommended for deterministic dependency and test-impact analysis. `update` replaces the manual `import` + `enrich` workflow. `introspect` uses benchmark results to autonomously improve the ask agent's prompts, examples, rules, and code.
136138

137139
## Command Reference
138140

@@ -141,7 +143,7 @@ clj -M:run <command> [options]
141143
clj -M:run <command> --help
142144
```
143145

144-
The CLI and [MCP](https://modelcontextprotocol.io) server expose the same capabilities.
146+
The CLI and [MCP](https://modelcontextprotocol.io) server expose the same capabilities. Use `--help` on any subcommand for details.
145147

146148
| Command | CLI | MCP tool | Description |
147149
|---|---|---|---|
@@ -159,12 +161,15 @@ The CLI and [MCP](https://modelcontextprotocol.io) server expose the same capabi
159161
| Benchmark | `benchmark <path>` | `noumenon_benchmark_run` | Evaluate knowledge graph efficacy |
160162
| Benchmark results | -- | `noumenon_benchmark_results` | Get benchmark results (latest or by ID) |
161163
| Benchmark compare | -- | `noumenon_benchmark_compare` | Compare two benchmark runs by score differences |
164+
| Introspect | `introspect <path>` | `noumenon_introspect_start` | Autonomous self-improvement loop |
165+
| Introspect status | -- | `noumenon_introspect_status` | Check running introspect session |
166+
| Introspect history | -- | `noumenon_introspect_history` | Query introspect runs and iterations |
162167
| Watch | `watch <path>` | -- | Auto-sync on new commits (CLI-only) |
163168
| Serve | `serve` | -- | Start MCP server (CLI-only) |
164169

165170
## Named Queries
166171

167-
48 named Datalog queries live in `resources/queries/` (EDN), covering hotspots, ownership, dependencies, complexity, churn, impact analysis, issue tracking, LLM cost tracking, and benchmarks. Run `clj -M:run query list` to see them all.
172+
56 named Datalog queries live in `resources/queries/` (EDN), covering hotspots, ownership, dependencies, complexity, churn, impact analysis, issue tracking, LLM cost tracking, benchmarks, and introspect history. Run `clj -M:run query list` to see them all.
168173

169174
## Data Model
170175

@@ -253,7 +258,7 @@ Run Noumenon as an [MCP](https://modelcontextprotocol.io) server so agents can c
253258

254259
```bash
255260
clj -M:run serve
256-
# or java -jar noumenon-0.1.0.jar serve
261+
# or java -jar noumenon-0.2.0.jar serve
257262
```
258263

259264
### [Claude Desktop](https://claude.ai/download) config
@@ -265,7 +270,7 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
265270
"mcpServers": {
266271
"noumenon": {
267272
"command": "java",
268-
"args": ["-jar", "/path/to/noumenon-0.1.0.jar", "serve"]
273+
"args": ["-jar", "/path/to/noumenon-0.2.0.jar", "serve"]
269274
}
270275
}
271276
}

0 commit comments

Comments
 (0)