buildlog 0.8.0__tar.gz → 0.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. buildlog-0.9.0/PKG-INFO +248 -0
  2. buildlog-0.9.0/README.md +188 -0
  3. {buildlog-0.8.0 → buildlog-0.9.0}/pyproject.toml +1 -1
  4. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/cli.py +223 -4
  5. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/core/operations.py +19 -13
  6. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/llm.py +51 -4
  7. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/mcp/server.py +4 -0
  8. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seed_engine/__init__.py +2 -0
  9. buildlog-0.9.0/src/buildlog/seed_engine/llm_extractor.py +121 -0
  10. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seed_engine/pipeline.py +45 -1
  11. buildlog-0.8.0/PKG-INFO +0 -151
  12. buildlog-0.8.0/README.md +0 -91
  13. {buildlog-0.8.0 → buildlog-0.9.0}/.gitignore +0 -0
  14. {buildlog-0.8.0 → buildlog-0.9.0}/LICENSE +0 -0
  15. {buildlog-0.8.0 → buildlog-0.9.0}/copier.yml +0 -0
  16. {buildlog-0.8.0 → buildlog-0.9.0}/post_gen.py +0 -0
  17. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/__init__.py +0 -0
  18. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/confidence.py +0 -0
  19. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/core/__init__.py +0 -0
  20. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/core/bandit.py +0 -0
  21. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/data/__init__.py +0 -0
  22. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/data/seeds/security_karen.yaml +0 -0
  23. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/data/seeds/test_terrorist.yaml +0 -0
  24. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/distill.py +0 -0
  25. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/embeddings.py +0 -0
  26. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/engine/__init__.py +0 -0
  27. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/engine/bandit.py +0 -0
  28. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/engine/confidence.py +0 -0
  29. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/engine/embeddings.py +0 -0
  30. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/engine/experiments.py +0 -0
  31. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/engine/types.py +0 -0
  32. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/mcp/__init__.py +0 -0
  33. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/mcp/tools.py +0 -0
  34. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/__init__.py +0 -0
  35. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/base.py +0 -0
  36. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/claude_md.py +0 -0
  37. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/continue_dev.py +0 -0
  38. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/copilot.py +0 -0
  39. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/cursor.py +0 -0
  40. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/settings_json.py +0 -0
  41. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/skill.py +0 -0
  42. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/tracking.py +0 -0
  43. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/render/windsurf.py +0 -0
  44. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seed_engine/categorizers.py +0 -0
  45. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seed_engine/extractors.py +0 -0
  46. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seed_engine/generators.py +0 -0
  47. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seed_engine/models.py +0 -0
  48. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seed_engine/sources.py +0 -0
  49. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/seeds.py +0 -0
  50. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/skills.py +0 -0
  51. {buildlog-0.8.0 → buildlog-0.9.0}/src/buildlog/stats.py +0 -0
  52. {buildlog-0.8.0 → buildlog-0.9.0}/template/buildlog/.gitkeep +0 -0
  53. {buildlog-0.8.0 → buildlog-0.9.0}/template/buildlog/2026-01-01-example.md +0 -0
  54. {buildlog-0.8.0 → buildlog-0.9.0}/template/buildlog/BUILDLOG_SYSTEM.md +0 -0
  55. {buildlog-0.8.0 → buildlog-0.9.0}/template/buildlog/_TEMPLATE.md +0 -0
  56. {buildlog-0.8.0 → buildlog-0.9.0}/template/buildlog/_TEMPLATE_QUICK.md +0 -0
  57. {buildlog-0.8.0 → buildlog-0.9.0}/template/buildlog/assets/.gitkeep +0 -0
@@ -0,0 +1,248 @@
1
+ Metadata-Version: 2.4
2
+ Name: buildlog
3
+ Version: 0.9.0
4
+ Summary: Engineering notebook for AI-assisted development
5
+ Project-URL: Homepage, https://github.com/Peleke/buildlog-template
6
+ Project-URL: Repository, https://github.com/Peleke/buildlog-template
7
+ Author: Peleke Sengstacke
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Keywords: ai,buildlog,development,documentation,journal
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Documentation
21
+ Classifier: Topic :: Software Development :: Documentation
22
+ Requires-Python: >=3.10
23
+ Requires-Dist: click>=8.0.0
24
+ Requires-Dist: copier>=9.0.0
25
+ Requires-Dist: numpy>=1.21.0
26
+ Requires-Dist: pymupdf>=1.26.7
27
+ Requires-Dist: pyyaml>=6.0.0
28
+ Provides-Extra: all
29
+ Requires-Dist: anthropic>=0.40.0; extra == 'all'
30
+ Requires-Dist: mcp>=1.0.0; extra == 'all'
31
+ Requires-Dist: ollama>=0.4.0; extra == 'all'
32
+ Requires-Dist: openai>=1.0.0; extra == 'all'
33
+ Requires-Dist: sentence-transformers>=2.2.0; extra == 'all'
34
+ Provides-Extra: anthropic
35
+ Requires-Dist: anthropic>=0.40.0; extra == 'anthropic'
36
+ Provides-Extra: dev
37
+ Requires-Dist: black>=24.0.0; extra == 'dev'
38
+ Requires-Dist: flake8>=7.0.0; extra == 'dev'
39
+ Requires-Dist: isort>=5.13.0; extra == 'dev'
40
+ Requires-Dist: mkdocs-material>=9.5.0; extra == 'dev'
41
+ Requires-Dist: mypy>=1.8.0; extra == 'dev'
42
+ Requires-Dist: pre-commit>=3.6.0; extra == 'dev'
43
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
44
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
45
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
46
+ Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
47
+ Provides-Extra: embeddings
48
+ Requires-Dist: sentence-transformers>=2.2.0; extra == 'embeddings'
49
+ Provides-Extra: engine
50
+ Provides-Extra: llm
51
+ Requires-Dist: anthropic>=0.40.0; extra == 'llm'
52
+ Requires-Dist: ollama>=0.4.0; extra == 'llm'
53
+ Provides-Extra: mcp
54
+ Requires-Dist: mcp>=1.0.0; extra == 'mcp'
55
+ Provides-Extra: ollama
56
+ Requires-Dist: ollama>=0.4.0; extra == 'ollama'
57
+ Provides-Extra: openai
58
+ Requires-Dist: openai>=1.0.0; extra == 'openai'
59
+ Description-Content-Type: text/markdown
60
+
61
+ <div align="center">
62
+
63
+ # buildlog
64
+
65
+ ### A measurable learning loop for AI-assisted work
66
+
67
+ [![PyPI](https://img.shields.io/pypi/v/buildlog?style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/buildlog/)
68
+ [![Python](https://img.shields.io/pypi/pyversions/buildlog?style=for-the-badge&logo=python&logoColor=white)](https://python.org/)
69
+ [![CI](https://img.shields.io/github/actions/workflow/status/Peleke/buildlog-template/ci.yml?branch=main&style=for-the-badge&logo=github&label=CI)](https://github.com/Peleke/buildlog-template/actions/workflows/ci.yml)
70
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
71
+ [![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue?style=for-the-badge&logo=github)](https://peleke.github.io/buildlog-template/)
72
+
73
+ **Track what works. Prove it. Drop what doesn't.**
74
+
75
+ <img src="assets/hero-banner-perfectdeliberate.png" alt="buildlog - A measurable learning loop for AI-assisted work" width="800"/>
76
+
77
+ > **RE: The art.** Yes, it's AI-generated. Yes, that's hypocritical for a project about rigor over vibes. Looking for an actual artist to pay for a real logo. If you know someone good, [open an issue](https://github.com/Peleke/buildlog-template/issues) or DM me. Budget exists.
78
+
79
+ **[Read the full documentation](https://peleke.github.io/buildlog-template/)**
80
+
81
+ </div>
82
+
83
+ ---
84
+
85
+ ## The Problem
86
+
87
+ Most AI agents do not learn. They execute without retaining context. You can bolt on memory stores and tool routers, but if the system cannot demonstrably improve its decision-making over time, you have a persistent memory store, not a learning system.
88
+
89
+ Every AI-assisted work session produces a trajectory: goals, decisions, tool uses, corrections, outcomes. Almost all of this is discarded. The next session starts from scratch with the same blind spots.
90
+
91
+ buildlog exists to close that gap. It captures structured trajectories from real work, extracts decision patterns, and uses statistical methods to select which patterns to surface in future sessions, then measures whether that selection actually reduced mistakes.
92
+
93
+ buildlog measures whether the system actually got better, and proves it.
94
+
95
+ ## How It Works
96
+
97
+ ### 1. Capture structured work trajectories
98
+
99
+ Each session is a dated entry documenting what you did, what went wrong, and what you learned. Each session is a structured record of decisions and outcomes, not a chat transcript.
100
+
101
+ ```bash
102
+ buildlog init # scaffold a project
103
+ buildlog new my-feature # start a session
104
+ # ... work ...
105
+ buildlog commit -m "feat: add auth"
106
+ ```
107
+
108
+ ### 2. Extract decision patterns as seeds
109
+
110
+ The seed engine watches your development patterns and extracts **seeds**: atomic observations about what works. A seed might be "always define interfaces before implementations" or "mock at the boundary, not the implementation." Each seed carries a category, a confidence score, and source provenance.
111
+
112
+ Extraction runs through a pipeline: `sources -> extractors -> categorizers -> generators`. Extractors range from regex-based (fast, cheap, brittle) to LLM-backed (accurate, expensive). The pipeline deduplicates semantically using embeddings.
113
+
114
+ ### 3. Select which patterns to surface using Thompson Sampling
115
+
116
+ Seeds compete for inclusion in your agent's instruction set. The system treats each seed as an arm in a contextual bandit and uses **Thompson Sampling** to balance exploration (trying under-tested rules) against exploitation (surfacing rules with strong track records).
117
+
118
+ Each seed maintains a Beta posterior updated by observed outcomes. Over time, the system converges on the rules that actually reduce mistakes in your specific codebase and workflow, not rules that sound good in the abstract.
119
+
120
+ ### 4. Render to every agent format
121
+
122
+ Selected rules are written into the instruction files your agents actually read:
123
+
124
+ - `CLAUDE.md` (Claude Code)
125
+ - `.cursorrules` (Cursor)
126
+ - `.github/copilot-instructions.md` (GitHub Copilot)
127
+ - Windsurf, Continue.dev, generic `settings.json`
128
+
129
+ The same knowledge base renders to every agent format.
130
+
131
+ ```bash
132
+ buildlog skills # render current policy to agent files
133
+ ```
134
+
135
+ ### 5. Close the loop with experiments
136
+
137
+ Track whether the selected rules are working. Run experiments, measure Repeated Mistake Rate (RMR) across sessions, and get statistical evidence, not feelings, about what improved.
138
+
139
+ ```bash
140
+ buildlog experiment start
141
+ # ... work across sessions ...
142
+ buildlog experiment end
143
+ buildlog experiment report
144
+ ```
145
+
146
+ ## What Else Is In the Box
147
+
148
+ - **Review gauntlet:** automated quality gate with curated reviewer personas. Runs on commits (via Claude Code hooks or CI) and files GitHub issues for findings, categorized by severity.
149
+ - **LLM-backed extraction:** when regex isn't enough, the seed engine can use OpenAI, Anthropic, or Ollama to extract patterns from code and logs. Metered backend tracks token usage and cost.
150
+ - **MCP server:** buildlog exposes itself as an MCP server so agents can query seeds, skills, and build history programmatically during sessions.
151
+ - **npm wrapper:** `npx @peleke.s/buildlog` for JS/TS projects. Thin shim that finds and invokes the Python CLI.
152
+
153
+ ## Current Limits
154
+
155
+ This is v0.8, not the end state.
156
+
157
+ - **Extraction quality is uneven.** Regex extractors miss nuance; LLM extractors are accurate but expensive. The middle ground is still being found.
158
+ - **Feedback signals are coarse.** Repeated Mistake Rate works but requires manual tagging. Richer automatic signals (test outcomes, review results, revision distance) are on the roadmap.
159
+ - **Credit assignment is limited.** When multiple rules are active, the system doesn't yet isolate which one was responsible for an outcome.
160
+ - **Single-agent only.** Multi-agent coordination (shared learning across agents) is designed but not implemented.
161
+ - **Long-horizon learning is not modeled.** The bandit operates per-session. Longer arcs of competence building need richer policy models.
162
+
163
+ The roadmap: contextual bandits (now) -> richer policy models -> longer-horizon RL -> multi-agent coordination. Each step builds on the same foundation: measuring whether rule changes actually reduce mistakes.
164
+
165
+ ## Installation
166
+
167
+ ### Global install (recommended)
168
+
169
+ ```bash
170
+ uv tool install "buildlog[mcp]" # or: pipx install "buildlog[mcp]"
171
+ ```
172
+
173
+ This puts `buildlog` and `buildlog-mcp` on your PATH. Works from any directory. The `[mcp]` extra is required for the MCP server.
174
+
175
+ ### Per-project (virtual environment)
176
+
177
+ ```bash
178
+ uv pip install "buildlog[mcp]" # or: pip install "buildlog[mcp]"
179
+ ```
180
+
181
+ Omit `[mcp]` if you only need the CLI.
182
+
183
+ ### For JS/TS projects
184
+
185
+ ```bash
186
+ npx @peleke.s/buildlog init
187
+ ```
188
+
189
+ ### MCP server for Claude Code
190
+
191
+ Add to `~/.claude/claude_code_config.json`:
192
+
193
+ ```json
194
+ {
195
+ "mcpServers": {
196
+ "buildlog": {
197
+ "command": "buildlog-mcp",
198
+ "args": []
199
+ }
200
+ }
201
+ }
202
+ ```
203
+
204
+ This exposes buildlog tools (seeds, skills, experiments, gauntlet, bandit status) to any Claude Code session.
205
+
206
+ ## Quick Start
207
+
208
+ ```bash
209
+ buildlog init # scaffold a project (run in any repo)
210
+ buildlog new my-feature # start a session
211
+ # ... work ...
212
+ buildlog distill && buildlog skills
213
+ buildlog experiment start
214
+ # ... work across sessions ...
215
+ buildlog experiment end
216
+ buildlog experiment report
217
+ ```
218
+
219
+ ## Documentation
220
+
221
+ | Section | Description |
222
+ |---------|------------|
223
+ | [Installation](https://peleke.github.io/buildlog-template/getting-started/installation/) | Setup, extras, and initialization |
224
+ | [Quick Start](https://peleke.github.io/buildlog-template/getting-started/quick-start/) | Full pipeline walkthrough |
225
+ | [Core Concepts](https://peleke.github.io/buildlog-template/getting-started/concepts/) | The problem, the claim, and the metric |
226
+ | [CLI Reference](https://peleke.github.io/buildlog-template/guides/cli-reference/) | Every command documented |
227
+ | [MCP Integration](https://peleke.github.io/buildlog-template/guides/mcp-integration/) | Claude Code setup and available tools |
228
+ | [Experiments](https://peleke.github.io/buildlog-template/guides/experiments/) | Running and measuring experiments |
229
+ | [Review Gauntlet](https://peleke.github.io/buildlog-template/guides/review-gauntlet/) | Reviewer personas and the gauntlet loop |
230
+ | [Multi-Agent Setup](https://peleke.github.io/buildlog-template/guides/multi-agent/) | Render rules to any AI coding agent |
231
+ | [Theory](https://peleke.github.io/buildlog-template/theory/00-background/) | The math behind Thompson Sampling |
232
+ | [Philosophy](https://peleke.github.io/buildlog-template/philosophy/) | Principles and honest limitations |
233
+
234
+ ## Contributing
235
+
236
+ ```bash
237
+ git clone https://github.com/Peleke/buildlog-template
238
+ cd buildlog-template
239
+ uv venv && source .venv/bin/activate
240
+ uv pip install -e ".[dev]"
241
+ pytest
242
+ ```
243
+
244
+ We're especially interested in better context representations, credit assignment approaches, statistical methodology improvements, and real-world experiment results (positive or negative).
245
+
246
+ ## License
247
+
248
+ MIT License. See [LICENSE](./LICENSE)
@@ -0,0 +1,188 @@
1
+ <div align="center">
2
+
3
+ # buildlog
4
+
5
+ ### A measurable learning loop for AI-assisted work
6
+
7
+ [![PyPI](https://img.shields.io/pypi/v/buildlog?style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/buildlog/)
8
+ [![Python](https://img.shields.io/pypi/pyversions/buildlog?style=for-the-badge&logo=python&logoColor=white)](https://python.org/)
9
+ [![CI](https://img.shields.io/github/actions/workflow/status/Peleke/buildlog-template/ci.yml?branch=main&style=for-the-badge&logo=github&label=CI)](https://github.com/Peleke/buildlog-template/actions/workflows/ci.yml)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
11
+ [![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue?style=for-the-badge&logo=github)](https://peleke.github.io/buildlog-template/)
12
+
13
+ **Track what works. Prove it. Drop what doesn't.**
14
+
15
+ <img src="assets/hero-banner-perfectdeliberate.png" alt="buildlog - A measurable learning loop for AI-assisted work" width="800"/>
16
+
17
+ > **RE: The art.** Yes, it's AI-generated. Yes, that's hypocritical for a project about rigor over vibes. Looking for an actual artist to pay for a real logo. If you know someone good, [open an issue](https://github.com/Peleke/buildlog-template/issues) or DM me. Budget exists.
18
+
19
+ **[Read the full documentation](https://peleke.github.io/buildlog-template/)**
20
+
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## The Problem
26
+
27
+ Most AI agents do not learn. They execute without retaining context. You can bolt on memory stores and tool routers, but if the system cannot demonstrably improve its decision-making over time, you have a persistent memory store, not a learning system.
28
+
29
+ Every AI-assisted work session produces a trajectory: goals, decisions, tool uses, corrections, outcomes. Almost all of this is discarded. The next session starts from scratch with the same blind spots.
30
+
31
+ buildlog exists to close that gap. It captures structured trajectories from real work, extracts decision patterns, and uses statistical methods to select which patterns to surface in future sessions, then measures whether that selection actually reduced mistakes.
32
+
33
+ buildlog measures whether the system actually got better, and proves it.
34
+
35
+ ## How It Works
36
+
37
+ ### 1. Capture structured work trajectories
38
+
39
+ Each session is a dated entry documenting what you did, what went wrong, and what you learned. Each session is a structured record of decisions and outcomes, not a chat transcript.
40
+
41
+ ```bash
42
+ buildlog init # scaffold a project
43
+ buildlog new my-feature # start a session
44
+ # ... work ...
45
+ buildlog commit -m "feat: add auth"
46
+ ```
47
+
48
+ ### 2. Extract decision patterns as seeds
49
+
50
+ The seed engine watches your development patterns and extracts **seeds**: atomic observations about what works. A seed might be "always define interfaces before implementations" or "mock at the boundary, not the implementation." Each seed carries a category, a confidence score, and source provenance.
51
+
52
+ Extraction runs through a pipeline: `sources -> extractors -> categorizers -> generators`. Extractors range from regex-based (fast, cheap, brittle) to LLM-backed (accurate, expensive). The pipeline deduplicates semantically using embeddings.
53
+
54
+ ### 3. Select which patterns to surface using Thompson Sampling
55
+
56
+ Seeds compete for inclusion in your agent's instruction set. The system treats each seed as an arm in a contextual bandit and uses **Thompson Sampling** to balance exploration (trying under-tested rules) against exploitation (surfacing rules with strong track records).
57
+
58
+ Each seed maintains a Beta posterior updated by observed outcomes. Over time, the system converges on the rules that actually reduce mistakes in your specific codebase and workflow, not rules that sound good in the abstract.
59
+
60
+ ### 4. Render to every agent format
61
+
62
+ Selected rules are written into the instruction files your agents actually read:
63
+
64
+ - `CLAUDE.md` (Claude Code)
65
+ - `.cursorrules` (Cursor)
66
+ - `.github/copilot-instructions.md` (GitHub Copilot)
67
+ - Windsurf, Continue.dev, generic `settings.json`
68
+
69
+ The same knowledge base renders to every agent format.
70
+
71
+ ```bash
72
+ buildlog skills # render current policy to agent files
73
+ ```
74
+
75
+ ### 5. Close the loop with experiments
76
+
77
+ Track whether the selected rules are working. Run experiments, measure Repeated Mistake Rate (RMR) across sessions, and get statistical evidence, not feelings, about what improved.
78
+
79
+ ```bash
80
+ buildlog experiment start
81
+ # ... work across sessions ...
82
+ buildlog experiment end
83
+ buildlog experiment report
84
+ ```
85
+
86
+ ## What Else Is In the Box
87
+
88
+ - **Review gauntlet:** automated quality gate with curated reviewer personas. Runs on commits (via Claude Code hooks or CI) and files GitHub issues for findings, categorized by severity.
89
+ - **LLM-backed extraction:** when regex isn't enough, the seed engine can use OpenAI, Anthropic, or Ollama to extract patterns from code and logs. Metered backend tracks token usage and cost.
90
+ - **MCP server:** buildlog exposes itself as an MCP server so agents can query seeds, skills, and build history programmatically during sessions.
91
+ - **npm wrapper:** `npx @peleke.s/buildlog` for JS/TS projects. Thin shim that finds and invokes the Python CLI.
92
+
93
+ ## Current Limits
94
+
95
+ This is v0.8, not the end state.
96
+
97
+ - **Extraction quality is uneven.** Regex extractors miss nuance; LLM extractors are accurate but expensive. The middle ground is still being found.
98
+ - **Feedback signals are coarse.** Repeated Mistake Rate works but requires manual tagging. Richer automatic signals (test outcomes, review results, revision distance) are on the roadmap.
99
+ - **Credit assignment is limited.** When multiple rules are active, the system doesn't yet isolate which one was responsible for an outcome.
100
+ - **Single-agent only.** Multi-agent coordination (shared learning across agents) is designed but not implemented.
101
+ - **Long-horizon learning is not modeled.** The bandit operates per-session. Longer arcs of competence building need richer policy models.
102
+
103
+ The roadmap: contextual bandits (now) -> richer policy models -> longer-horizon RL -> multi-agent coordination. Each step builds on the same foundation: measuring whether rule changes actually reduce mistakes.
104
+
105
+ ## Installation
106
+
107
+ ### Global install (recommended)
108
+
109
+ ```bash
110
+ uv tool install "buildlog[mcp]" # or: pipx install "buildlog[mcp]"
111
+ ```
112
+
113
+ This puts `buildlog` and `buildlog-mcp` on your PATH. Works from any directory. The `[mcp]` extra is required for the MCP server.
114
+
115
+ ### Per-project (virtual environment)
116
+
117
+ ```bash
118
+ uv pip install "buildlog[mcp]" # or: pip install "buildlog[mcp]"
119
+ ```
120
+
121
+ Omit `[mcp]` if you only need the CLI.
122
+
123
+ ### For JS/TS projects
124
+
125
+ ```bash
126
+ npx @peleke.s/buildlog init
127
+ ```
128
+
129
+ ### MCP server for Claude Code
130
+
131
+ Add to `~/.claude/claude_code_config.json`:
132
+
133
+ ```json
134
+ {
135
+ "mcpServers": {
136
+ "buildlog": {
137
+ "command": "buildlog-mcp",
138
+ "args": []
139
+ }
140
+ }
141
+ }
142
+ ```
143
+
144
+ This exposes buildlog tools (seeds, skills, experiments, gauntlet, bandit status) to any Claude Code session.
145
+
146
+ ## Quick Start
147
+
148
+ ```bash
149
+ buildlog init # scaffold a project (run in any repo)
150
+ buildlog new my-feature # start a session
151
+ # ... work ...
152
+ buildlog distill && buildlog skills
153
+ buildlog experiment start
154
+ # ... work across sessions ...
155
+ buildlog experiment end
156
+ buildlog experiment report
157
+ ```
158
+
159
+ ## Documentation
160
+
161
+ | Section | Description |
162
+ |---------|------------|
163
+ | [Installation](https://peleke.github.io/buildlog-template/getting-started/installation/) | Setup, extras, and initialization |
164
+ | [Quick Start](https://peleke.github.io/buildlog-template/getting-started/quick-start/) | Full pipeline walkthrough |
165
+ | [Core Concepts](https://peleke.github.io/buildlog-template/getting-started/concepts/) | The problem, the claim, and the metric |
166
+ | [CLI Reference](https://peleke.github.io/buildlog-template/guides/cli-reference/) | Every command documented |
167
+ | [MCP Integration](https://peleke.github.io/buildlog-template/guides/mcp-integration/) | Claude Code setup and available tools |
168
+ | [Experiments](https://peleke.github.io/buildlog-template/guides/experiments/) | Running and measuring experiments |
169
+ | [Review Gauntlet](https://peleke.github.io/buildlog-template/guides/review-gauntlet/) | Reviewer personas and the gauntlet loop |
170
+ | [Multi-Agent Setup](https://peleke.github.io/buildlog-template/guides/multi-agent/) | Render rules to any AI coding agent |
171
+ | [Theory](https://peleke.github.io/buildlog-template/theory/00-background/) | The math behind Thompson Sampling |
172
+ | [Philosophy](https://peleke.github.io/buildlog-template/philosophy/) | Principles and honest limitations |
173
+
174
+ ## Contributing
175
+
176
+ ```bash
177
+ git clone https://github.com/Peleke/buildlog-template
178
+ cd buildlog-template
179
+ uv venv && source .venv/bin/activate
180
+ uv pip install -e ".[dev]"
181
+ pytest
182
+ ```
183
+
184
+ We're especially interested in better context representations, credit assignment approaches, statistical methodology improvements, and real-world experiment results (positive or negative).
185
+
186
+ ## License
187
+
188
+ MIT License. See [LICENSE](./LICENSE)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "buildlog"
7
- version = "0.8.0"
7
+ version = "0.9.0"
8
8
  description = "Engineering notebook for AI-assisted development"
9
9
  readme = "README.md"
10
10
  license = "MIT"