- method: an embedded-SQL app is a grammar corpus; catalogue what it actually uses and add only that, translating its statements 1:1 as the acceptance (the postgres/System.Linq reference pattern applied to a whole application) - corpus #1 = ~/projects/skillhost (C++ MCP host, embedded SQLite skill catalog): surveyed, entire SQL footprint is one file — 1 table, a single-row parameterized INSERT, 4 SELECTs. 3 of 5 statements already run on the 9b surface (insert, where name==?, order by name; PK ≈ @unique). Exactly 2 are the real gap: - whole-query `count` (group-free; the degenerate aggregate, NOT the parked group-by) - correlated `not exists` subquery (skillhost's roots-of-the-tree) - notable finding: skillhost's NOT EXISTS is naturally a `backlink` emptiness in writeonce (children backlink + len==0), so the corpus may be fully expressible once len(query) is confirmed — the iteration may collapse to "confirm len(query) + add exists"; forks record this - explicitly parks everything skillhost does NOT use (join/having/ offset/distinct/CTE/window/union/upsert/returning/json/fts/triggers) and the full group-by; each enters only when a corpus demands it - acceptance: docs/examples/skill-catalog mirroring skillhost's schema + its 5 catalog ops as writeonce translations - roadmap + board rows added Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| examples | ||
| future-scope | ||
| plan | ||
| runtime | ||
| stories/language-runtime-database | ||
| superpowers | ||
| 00-code-review.md | ||
| 00-principles.md | ||
| 00-status.md | ||
| 01-problem.md | ||
| 02-recovery.md | ||
| 03-data.md | ||
| 04-ui.md | ||
| 05-datalayer.md | ||
| 06-markdown-render.md | ||
| 07-ssl.md | ||
| 08-project-structure.md | ||
| cm.md | ||
| writeonce-pl.md | ||