P4: contrib/store — skill SQLite store (lifecycle + versions)
executus CI / test (pull_request) Successful in 1m36s
Adversarial Review (Gadfly) / review (pull_request) Successful in 11m23s

db.Skills() satisfies skill.SkillStore over SQLite, same JSON-blob + indexed
columns pattern. Versions live in their own table (each SkillVersion embeds a
full Skill snapshot as JSON), ordered newest-first by an append seq.

Test: round-trip (Tools, ExposeAsChatbotTool), visibility listing
(public/shared/private with SharedWith filtered in Go), chatbot-exposed,
newest-first versions + GetVersionByID, scheduled-due query + MarkScheduledRun.

contrib/store now covers budget + persona + skill; audit store next.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-26 22:47:35 -04:00
parent cb16008b14
commit 954efde474
5 changed files with 398 additions and 2 deletions
+2 -2
View File
@@ -77,8 +77,8 @@ BATTERIES (opt-in siblings, each nil-safe + a default):
contrib/store/ SECOND module (+ modernc.org/sqlite): [P4 ~]
pure-Go SQLite impls of the *Store seams. budget +
persona ✓ (JSON-blob+indexed cols, round-trip tested);
skill/audit pending.
persona + skill ✓ (JSON-blob+indexed cols, round-trip
tested); audit pending.
CI proves the driver lands HERE, not in the core go.sum.
```