buildlog 0.4.0__py3-none-any.whl → 0.6.0__py3-none-any.whl

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 (28) hide show
  1. buildlog/cli.py +799 -3
  2. buildlog/core/__init__.py +34 -0
  3. buildlog/core/operations.py +925 -0
  4. buildlog/mcp/server.py +16 -0
  5. buildlog/mcp/tools.py +266 -1
  6. buildlog/seed_engine/__init__.py +74 -0
  7. buildlog/seed_engine/categorizers.py +145 -0
  8. buildlog/seed_engine/extractors.py +148 -0
  9. buildlog/seed_engine/generators.py +144 -0
  10. buildlog/seed_engine/models.py +113 -0
  11. buildlog/seed_engine/pipeline.py +202 -0
  12. buildlog/seed_engine/sources.py +362 -0
  13. buildlog/seeds.py +211 -0
  14. buildlog/skills.py +26 -3
  15. buildlog-0.6.0.dist-info/METADATA +490 -0
  16. buildlog-0.6.0.dist-info/RECORD +38 -0
  17. buildlog-0.4.0.dist-info/METADATA +0 -894
  18. buildlog-0.4.0.dist-info/RECORD +0 -30
  19. {buildlog-0.4.0.data → buildlog-0.6.0.data}/data/share/buildlog/copier.yml +0 -0
  20. {buildlog-0.4.0.data → buildlog-0.6.0.data}/data/share/buildlog/post_gen.py +0 -0
  21. {buildlog-0.4.0.data → buildlog-0.6.0.data}/data/share/buildlog/template/buildlog/.gitkeep +0 -0
  22. {buildlog-0.4.0.data → buildlog-0.6.0.data}/data/share/buildlog/template/buildlog/2026-01-01-example.md +0 -0
  23. {buildlog-0.4.0.data → buildlog-0.6.0.data}/data/share/buildlog/template/buildlog/BUILDLOG_SYSTEM.md +0 -0
  24. {buildlog-0.4.0.data → buildlog-0.6.0.data}/data/share/buildlog/template/buildlog/_TEMPLATE.md +0 -0
  25. {buildlog-0.4.0.data → buildlog-0.6.0.data}/data/share/buildlog/template/buildlog/assets/.gitkeep +0 -0
  26. {buildlog-0.4.0.dist-info → buildlog-0.6.0.dist-info}/WHEEL +0 -0
  27. {buildlog-0.4.0.dist-info → buildlog-0.6.0.dist-info}/entry_points.txt +0 -0
  28. {buildlog-0.4.0.dist-info → buildlog-0.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,490 @@
1
+ Metadata-Version: 2.4
2
+ Name: buildlog
3
+ Version: 0.6.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: pyyaml>=6.0.0
27
+ Provides-Extra: all
28
+ Requires-Dist: mcp>=1.0.0; extra == 'all'
29
+ Requires-Dist: openai>=1.0.0; extra == 'all'
30
+ Requires-Dist: sentence-transformers>=2.2.0; extra == 'all'
31
+ Provides-Extra: dev
32
+ Requires-Dist: black>=24.0.0; extra == 'dev'
33
+ Requires-Dist: flake8>=7.0.0; extra == 'dev'
34
+ Requires-Dist: isort>=5.13.0; extra == 'dev'
35
+ Requires-Dist: mypy>=1.8.0; extra == 'dev'
36
+ Requires-Dist: pre-commit>=3.6.0; extra == 'dev'
37
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
38
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
39
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
40
+ Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
41
+ Provides-Extra: embeddings
42
+ Requires-Dist: sentence-transformers>=2.2.0; extra == 'embeddings'
43
+ Provides-Extra: mcp
44
+ Requires-Dist: mcp>=1.0.0; extra == 'mcp'
45
+ Provides-Extra: openai
46
+ Requires-Dist: openai>=1.0.0; extra == 'openai'
47
+ Description-Content-Type: text/markdown
48
+
49
+ <div align="center">
50
+
51
+ # buildlog
52
+
53
+ ### The Only Agent Learning System You Can Prove Works
54
+
55
+ [![PyPI](https://img.shields.io/pypi/v/buildlog?style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/buildlog/)
56
+ [![Python](https://img.shields.io/pypi/pyversions/buildlog?style=for-the-badge&logo=python&logoColor=white)](https://python.org/)
57
+ [![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)
58
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
59
+
60
+ **Falsifiable claims. Measurable outcomes. No vibes.**
61
+
62
+ <img src="assets/hero-banner-perfectdeliberate.png" alt="buildlog - The Only Agent Learning System You Can Prove Works" width="800"/>
63
+
64
+ > **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.
65
+
66
+ [The Problem](#the-problem) · [The Claim](#the-claim) · [The Mechanism](#the-mechanism) · [Quick Start](#quick-start) · [Review Gauntlet](#review-gauntlet)
67
+
68
+ ---
69
+
70
+ </div>
71
+
72
+ ## The Problem
73
+
74
+ Everyone's building "agent memory." Blog posts announce breakthroughs. Tweets show impressive demos. Products ship with "learning" in the tagline.
75
+
76
+ Ask them one question: **How do you know it works?**
77
+
78
+ You'll get:
79
+ - "It feels smarter"
80
+ - "Users report better results"
81
+ - "The agent remembers things now"
82
+
83
+ That's not evidence. That's vibes.
84
+
85
+ Here's what a real answer looks like:
86
+
87
+ > "We track Repeated Mistake Rate (RMR) across sessions. Our null hypothesis is that the system makes no difference. After 50 sessions, RMR decreased from 34% to 12% (p < 0.01). The effect size is 0.65. Here's the data."
88
+
89
+ If you can't say something like that, you don't have agent learning. You have a demo.
90
+
91
+ ---
92
+
93
+ ## The Claim
94
+
95
+ **buildlog** makes a falsifiable claim:
96
+
97
+ > **H₀ (Null Hypothesis):** buildlog makes no measurable difference to agent behavior.
98
+ >
99
+ > **H₁ (Alternative):** Agents using buildlog-learned rules have lower Repeated Mistake Rate than baseline.
100
+
101
+ We provide the infrastructure to **reject or fail to reject** this hypothesis with your own data.
102
+
103
+ If buildlog doesn't work, the numbers will show it. That's the point.
104
+
105
+ ---
106
+
107
+ ## The Metric: Repeated Mistake Rate (RMR)
108
+
109
+ ```
110
+ RMR = (Mistakes that match previous mistakes) / (Total mistakes logged)
111
+ ```
112
+
113
+ A mistake "matches" if it has the same semantic signature—same error class, similar description, same root cause showing up again.
114
+
115
+ **Why RMR?**
116
+ - **Observable**: You can count it
117
+ - **Attributable**: Lower RMR after rule injection = signal
118
+ - **Meaningful**: Repeating mistakes is the actual pain point
119
+
120
+ RMR is not the only metric that matters. But it's one we can measure, and measurement is where science starts.
121
+
122
+ ---
123
+
124
+ ## The Mechanism
125
+
126
+ buildlog uses **contextual bandits** to select which rules to surface.
127
+
128
+ ```
129
+ ┌─────────────────────────────────────────────────────────────────┐
130
+ │ CONTEXTUAL BANDIT SETUP │
131
+ ├─────────────────────────────────────────────────────────────────┤
132
+ │ │
133
+ │ Context (c): Error class, file type, task category │
134
+ │ Arms (a): Candidate rules to surface │
135
+ │ Reward (r): Human feedback (👍 helpful / 👎 not helpful) │
136
+ │ │
137
+ │ Policy π(c) → a: Thompson Sampling with Beta-Bernoulli │
138
+ │ │
139
+ │ Objective: Minimize regret = Σ(r* - r_chosen) │
140
+ │ │
141
+ └─────────────────────────────────────────────────────────────────┘
142
+ ```
143
+
144
+ **Arms** = learned rules (from buildlog entries, code reviews, explicit teaching)
145
+
146
+ **Context** = what kind of problem you're working on
147
+
148
+ **Reward** = did surfacing this rule actually help?
149
+
150
+ The system explores (tries uncertain rules) and exploits (uses proven rules) based on accumulated evidence. Thompson Sampling provides theoretical guarantees: O(√(KT log K)) regret bounds.
151
+
152
+ This isn't magic. It's a well-understood framework with decades of research. We're applying it to agent rule selection.
153
+
154
+ ---
155
+
156
+ ## The Pipeline
157
+
158
+ buildlog captures signal at every stage:
159
+
160
+ ```mermaid
161
+ flowchart LR
162
+ A["Work Sessions"] --> B["Structured Entries"]
163
+ B --> C["Extracted Rules"]
164
+ C --> D["Bandit Selection"]
165
+ D --> E["Rule Surfaced"]
166
+ E --> F["Human Feedback"]
167
+ F --> G["Posterior Update"]
168
+ G --> D
169
+
170
+ style F fill:#ff6b6b,color:#fff
171
+ style G fill:#4ecdc4,color:#fff
172
+ ```
173
+
174
+ ### Stage 1: Capture
175
+ Document your work. Include the fuckups—they're the most valuable signal.
176
+
177
+ ```bash
178
+ buildlog new auth-api
179
+ # Edit the markdown, document what happened
180
+ ```
181
+
182
+ ### Stage 2: Extract
183
+ Pull structured rules from your entries.
184
+
185
+ ```bash
186
+ buildlog distill # Extract patterns
187
+ buildlog skills # Deduplicate into rules
188
+ ```
189
+
190
+ ### Stage 3: Promote
191
+ Surface rules to your agent via CLAUDE.md, settings.json, or Agent Skills.
192
+
193
+ ```bash
194
+ buildlog promote --target skill
195
+ ```
196
+
197
+ ### Stage 4: Measure
198
+ Track what happens when rules are active.
199
+
200
+ ```bash
201
+ buildlog experiment start --error-class "type-errors"
202
+ # ... work session ...
203
+ buildlog experiment log-mistake --error-class "type-errors" \
204
+ --description "Forgot to handle null case"
205
+ buildlog experiment end
206
+ buildlog experiment report
207
+ ```
208
+
209
+ ### Stage 5: Learn
210
+ Log reward signals when rules help (or don't).
211
+
212
+ ```python
213
+ # Via MCP
214
+ buildlog_log_reward(
215
+ skill_id="arch-123",
216
+ reward=1, # 1 = helped, 0 = didn't help
217
+ context="type-errors",
218
+ outcome="Caught the bug before commit"
219
+ )
220
+ ```
221
+
222
+ ---
223
+
224
+ ## Review Gauntlet
225
+
226
+ Run your code through ruthless reviewer personas, each with curated rules from authoritative sources.
227
+
228
+ ```bash
229
+ # See available reviewers
230
+ buildlog gauntlet list
231
+
232
+ # Output:
233
+ # Review Gauntlet Personas
234
+ # ==================================================
235
+ # security_karen
236
+ # OWASP Top 10 security review
237
+ # Rules: 13 (v1)
238
+ #
239
+ # test_terrorist
240
+ # Comprehensive testing coverage audit
241
+ # Rules: 21 (v1)
242
+ #
243
+ # Total: 2 personas, 34 rules
244
+ ```
245
+
246
+ ### Reviewer Personas
247
+
248
+ | Persona | Focus | Rules |
249
+ |---------|-------|-------|
250
+ | **Security Karen** | OWASP Top 10, auth, injection, secrets | 13 |
251
+ | **Test Terrorist** | Coverage, property-based, metamorphic, contracts | 21 |
252
+ | **Ruthless Reviewer** | Code quality, FP principles | Coming soon |
253
+
254
+ Each rule includes:
255
+ - **Context**: When to apply it
256
+ - **Antipattern**: What violation looks like
257
+ - **Rationale**: Why it matters (with citations)
258
+
259
+ ### Usage
260
+
261
+ ```bash
262
+ # Generate a review prompt
263
+ buildlog gauntlet prompt src/api.py
264
+
265
+ # Export rules for manual review
266
+ buildlog gauntlet rules --format markdown -o review_checklist.md
267
+
268
+ # After running a review, persist learnings
269
+ buildlog gauntlet learn review_issues.json --source "PR#42"
270
+ ```
271
+
272
+ The gauntlet integrates with the learning loop—issues found become rules that accumulate confidence.
273
+
274
+ ---
275
+
276
+ ## Experiment Infrastructure
277
+
278
+ buildlog ships with infrastructure to run actual experiments:
279
+
280
+ ```bash
281
+ # Start a tracked session
282
+ buildlog experiment start --error-class "api-design"
283
+
284
+ # Log mistakes as they happen
285
+ buildlog experiment log-mistake \
286
+ --error-class "api-design" \
287
+ --description "Returned 200 for error case"
288
+
289
+ # End session
290
+ buildlog experiment end
291
+
292
+ # Get metrics
293
+ buildlog experiment metrics
294
+
295
+ # Full report across all sessions
296
+ buildlog experiment report
297
+ ```
298
+
299
+ The report includes:
300
+ - Total sessions, total mistakes
301
+ - Repeat rate (RMR)
302
+ - Mistakes by error class
303
+ - Rules that correlate with corrections
304
+
305
+ This is the data you need to make claims.
306
+
307
+ ---
308
+
309
+ ## Quick Start
310
+
311
+ ```bash
312
+ # Install
313
+ pip install buildlog
314
+
315
+ # Initialize
316
+ buildlog init
317
+
318
+ # Create your first entry
319
+ buildlog new my-feature
320
+
321
+ # After a few entries, extract rules
322
+ buildlog distill
323
+ buildlog skills
324
+
325
+ # Start measuring
326
+ buildlog experiment start
327
+ # ... work ...
328
+ buildlog experiment end
329
+ buildlog experiment report
330
+ ```
331
+
332
+ ### MCP Server (Claude Code Integration)
333
+
334
+ ```bash
335
+ pip install buildlog[mcp]
336
+ ```
337
+
338
+ Add to `~/.claude/settings.json`:
339
+
340
+ ```json
341
+ {
342
+ "mcpServers": {
343
+ "buildlog": {
344
+ "command": "buildlog-mcp"
345
+ }
346
+ }
347
+ }
348
+ ```
349
+
350
+ Available tools:
351
+ | Tool | Purpose |
352
+ |------|---------|
353
+ | `buildlog_status` | View rules by category and confidence |
354
+ | `buildlog_promote` | Surface rules to agent |
355
+ | `buildlog_reject` | Mark false positives |
356
+ | `buildlog_diff` | Rules pending review |
357
+ | `buildlog_learn_from_review` | Extract rules from code review |
358
+ | `buildlog_log_reward` | Record reward signal |
359
+ | `buildlog_start_session` | Begin tracked experiment |
360
+ | `buildlog_log_mistake` | Record mistake during session |
361
+ | `buildlog_experiment_report` | Full experiment report |
362
+
363
+ ### CLI Commands
364
+
365
+ ```bash
366
+ buildlog init # Initialize buildlog
367
+ buildlog new <slug> # Create entry
368
+ buildlog list # List entries
369
+ buildlog distill # Extract patterns
370
+ buildlog skills # Generate rules
371
+ buildlog stats # Usage statistics
372
+ buildlog reward <outcome> # Log reward signal
373
+
374
+ # Experiments
375
+ buildlog experiment start # Begin tracked session
376
+ buildlog experiment log-mistake # Record mistake
377
+ buildlog experiment end # End session
378
+ buildlog experiment report # Full report
379
+
380
+ # Review Gauntlet
381
+ buildlog gauntlet list # Show reviewers
382
+ buildlog gauntlet rules # Export rules
383
+ buildlog gauntlet prompt <path> # Generate review prompt
384
+ buildlog gauntlet learn <file> # Persist learnings
385
+ ```
386
+
387
+ ---
388
+
389
+ ## What This Is Not
390
+
391
+ **This is not AGI.** This is not "agents that truly learn." This is not a revolution.
392
+
393
+ This is:
394
+ - A structured way to capture engineering knowledge
395
+ - A bandit framework for rule selection
396
+ - Infrastructure to measure whether it works
397
+
398
+ Boring? Maybe. But boring things that work beat exciting things that don't.
399
+
400
+ ---
401
+
402
+ ## The Falsification Protocol
403
+
404
+ Want to test whether buildlog actually helps? Here's the protocol:
405
+
406
+ 1. **Baseline**: Run N sessions without buildlog rules active. Log mistakes.
407
+ 2. **Treatment**: Run N sessions with buildlog rules active. Log mistakes.
408
+ 3. **Compare**: Calculate RMR for both conditions.
409
+ 4. **Statistical test**: Two-proportion z-test or chi-squared.
410
+ 5. **Report**: Effect size, confidence interval, p-value.
411
+
412
+ If p > 0.05, we fail to reject the null. buildlog didn't help. That's a valid outcome.
413
+
414
+ If p < 0.05, we have evidence of an effect. How big? Check the effect size.
415
+
416
+ This is how you know. Not vibes. Data.
417
+
418
+ ---
419
+
420
+ ## Theoretical Foundations
421
+
422
+ For the technically curious:
423
+
424
+ | Concept | Application in buildlog |
425
+ |---------|------------------------|
426
+ | **Thompson Sampling** | Rule selection under uncertainty |
427
+ | **Beta-Bernoulli model** | Posterior updates from binary reward |
428
+ | **Contextual bandits** | Context-dependent rule selection |
429
+ | **Regret bounds** | O(√(KT log K)) theoretical guarantee |
430
+ | **Semantic hashing** | Mistake deduplication for RMR |
431
+
432
+ We're not inventing new math. We're applying proven frameworks to a new domain.
433
+
434
+ ---
435
+
436
+ ## Honest Limitations
437
+
438
+ Things we don't have figured out yet:
439
+
440
+ - **Credit assignment**: When multiple rules are active, which one helped?
441
+ - **Non-stationarity**: Developer skill changes over time
442
+ - **Cold start**: New rules have high uncertainty
443
+ - **Context representation**: What features actually matter?
444
+
445
+ These are hard problems. We have directional ideas, not solutions. If you're a researcher working on bandit algorithms or causal inference, we'd love to talk.
446
+
447
+ ---
448
+
449
+ ## Philosophy
450
+
451
+ 1. **Falsifiability over impressiveness** - If you can't prove it wrong, it's not a claim
452
+ 2. **Measurement over intuition** - "Feels better" is not evidence
453
+ 3. **Mechanisms over magic** - Explain how it works or admit you don't know
454
+ 4. **Boring over exciting** - Proven frameworks beat novel demos
455
+ 5. **Honesty over marketing** - State limitations. Invite scrutiny.
456
+
457
+ ---
458
+
459
+ ## Contributing
460
+
461
+ We're especially interested in:
462
+ - Better context representations for the bandit
463
+ - Credit assignment approaches
464
+ - Statistical methodology improvements
465
+ - Real-world experiment results (positive or negative)
466
+
467
+ ```bash
468
+ git clone https://github.com/Peleke/buildlog-template
469
+ cd buildlog-template
470
+ pip install -e ".[dev]"
471
+ pytest
472
+ ```
473
+
474
+ ---
475
+
476
+ ## License
477
+
478
+ MIT License — see [LICENSE](./LICENSE)
479
+
480
+ ---
481
+
482
+ <div align="center">
483
+
484
+ **"Agent learning" without measurement is just prompt engineering with extra steps.**
485
+
486
+ **buildlog is measurement.**
487
+
488
+ [Back to top](#buildlog)
489
+
490
+ </div>
@@ -0,0 +1,38 @@
1
+ buildlog/__init__.py,sha256=FrgjyZhC19YyB40rOXHJWTA4xKWx2Yn2heIhVraaZ7A,90
2
+ buildlog/cli.py,sha256=bSSMKKQa1YEfoJcksyrm6qymqXuFcBBFb25xHlG954s,40805
3
+ buildlog/confidence.py,sha256=EOkPxIH1_y7k6B3Hl7Wn0iR2qK_lumvOyyyqUdafXVY,9382
4
+ buildlog/distill.py,sha256=fqXW_YyBFIFhwIWhnR-TQ7U65gypqG-mcAzNBr-qaag,11262
5
+ buildlog/embeddings.py,sha256=vPydWjJVkYp172zFou-lJ737qsu6vRMQAMs143RGIpA,12364
6
+ buildlog/seeds.py,sha256=1-QljSHeFpFrN9QcjIA_Jn_QaxDdTGVvXWcO5-SYBJA,5831
7
+ buildlog/skills.py,sha256=N1LZBCTf3KCjcZGm46r2L_XDlCKj1-vLUn_3YllNH-M,31142
8
+ buildlog/stats.py,sha256=2WdHdmzUNGobtWngmm9nA_UmqM7DQeAnZL8_rLQN8aw,13256
9
+ buildlog/core/__init__.py,sha256=U7FS1CLUfnJ4AHGlgc3-F5KS7bepRMFD7TTvp8vKfQM,1301
10
+ buildlog/core/operations.py,sha256=iXrhBd7cbr9wMgpiIl4Q-7WIQOgQCWBepQibzgoY0Gg,51751
11
+ buildlog/mcp/__init__.py,sha256=jCLNUkYFrDcPd5dY9xbaaVANl-ZzdPim1BykgGY7f7U,334
12
+ buildlog/mcp/server.py,sha256=9AOvweRIQ-BJVbNc7OA6iRQ0lC9OjbUFsCHhU9FvJgk,1064
13
+ buildlog/mcp/tools.py,sha256=Zz_y4IwquSe1jwIb9EFlNO_Xc8GgR8f-OBj-yXdWUKk,12228
14
+ buildlog/render/__init__.py,sha256=VxJWEmcX7pSiC3W-ytsHv9gNVUr4hJrVHBW084kEnAI,1993
15
+ buildlog/render/base.py,sha256=gQfvOsH1zttAo10xtEyNsAbqZ4NRSPiDihO-aiGgTsw,533
16
+ buildlog/render/claude_md.py,sha256=Z_E6MbJyVM_hJSoB4KL2rvbt5UEQHekTpJijj106lsI,2624
17
+ buildlog/render/settings_json.py,sha256=4DS5OWksPrFCa7MIgWIu0t4rxYmItpMdGfTqMX3aMNs,2495
18
+ buildlog/render/skill.py,sha256=_7umIS1Ms1oQ2_PopYueFjX41nMq1p28yJp6DhXFdgU,5981
19
+ buildlog/render/tracking.py,sha256=6O0RIU-1gjVG-_S5dmXLz6RCMsQoHOR2u5___UpqXEo,1294
20
+ buildlog/seed_engine/__init__.py,sha256=f2LYSAs_D1bK4CW_pt54UEmy_SB1u1MOEJlKqM7_R7E,1869
21
+ buildlog/seed_engine/categorizers.py,sha256=uzatJQPG4Vf7z7ZAeyQbL-bVJ8cUKBHG-3U93-BFIRQ,4649
22
+ buildlog/seed_engine/extractors.py,sha256=rkztg62LzFH018ob5Tl1eFp_yfPo8syn3Ib4h6bAyK4,4824
23
+ buildlog/seed_engine/generators.py,sha256=T3N3uHg359xSBypIGmvVWYI0Qh8WLlGIFQWX0_gs0I4,4358
24
+ buildlog/seed_engine/models.py,sha256=qESSuoF3CJy8pp96E3Vmb38V-snzeaW0Xg0RfbH8v1U,3418
25
+ buildlog/seed_engine/pipeline.py,sha256=wLdcjyA_B4wFEb2iKwRCUGkX-oaVu9OXIcmLcEsJN6s,6527
26
+ buildlog/seed_engine/sources.py,sha256=8j9oUFZCSKMr5VpIuAxTPY3wTzfTEmw6M_41_aismiE,11184
27
+ buildlog-0.6.0.data/data/share/buildlog/copier.yml,sha256=A-1JKV59kOe0BQosGUBgRCg7iQozP_qyA3zfoHwpBKY,927
28
+ buildlog-0.6.0.data/data/share/buildlog/post_gen.py,sha256=XFlo40LuPpAsBhIRRRtHqvU3_5POss4L401hp35ijhw,1744
29
+ buildlog-0.6.0.data/data/share/buildlog/template/buildlog/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ buildlog-0.6.0.data/data/share/buildlog/template/buildlog/2026-01-01-example.md,sha256=7x9sKmydfmfKyNz9hV7MtYnQJuBwbxNanbPOcpQDDZQ,7040
31
+ buildlog-0.6.0.data/data/share/buildlog/template/buildlog/BUILDLOG_SYSTEM.md,sha256=osclytWwl5jUiTgSpuT4cT3h3oPvCkZ5GPCnFuJZNcY,3802
32
+ buildlog-0.6.0.data/data/share/buildlog/template/buildlog/_TEMPLATE.md,sha256=CUvxgcx1-9XT_EdQ8e_vnuPq_h-u1uhXJgForJU2Pso,2932
33
+ buildlog-0.6.0.data/data/share/buildlog/template/buildlog/assets/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ buildlog-0.6.0.dist-info/METADATA,sha256=9Kcb_L4qio5sPriweHSVUaIlieHziY2NlV0BTOhihlI,15144
35
+ buildlog-0.6.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
36
+ buildlog-0.6.0.dist-info/entry_points.txt,sha256=BMFclPOomp_sgaa0OqBg6LfqCMlqzjZV88ww5TrPPoo,87
37
+ buildlog-0.6.0.dist-info/licenses/LICENSE,sha256=fAgt-akug9nAwIj6M-SIf8u3ck-T7pJTwfmy9vWYASk,1074
38
+ buildlog-0.6.0.dist-info/RECORD,,