Skip to content

chore: v0.2 wave follow-ups -- status column, 401 version header, last_row_id over-report, conformance vocabulary #25

Description

@ssilvius

Goal

One card for the small items the v0.2 wave's workers and reviewers explicitly deferred, so none silently evaporates.

Each is independent, small, and was consciously left out of its parent PR with a reason. Work them as one housekeeping pass or peel off individually.

The items

  1. implementations.md status column (from P3: implementations.md lists the smugglr http-sql profile as unshipped #10): shipped-vs-in-flight lives in free prose inside Notes cells; nothing tracks it, which is how the smugglr row rotted for two months. Add a Status column across all rows.
  2. Worker 401 path escapes the version header (from PR docs(#4): raise X-Http-Sql-Version emission from SHOULD to MUST #16): now that X-Http-Sql-Version is MUST, the D1 worker's auth-failure response path (Hono app.onError / early 401) must be verified to carry the header; the reviewer flagged it as unverified.
  3. D1 last_row_id over-reporting (from PR fix(#6): narrow lastInsertId to string or null #17): D1 returns meta.last_row_id = 0 on SELECT/UPDATE/DELETE, now emitted as "0" -- a misleading lastInsertId for statements that inserted nothing. Map 0-on-non-INSERT to null, or verify D1's actual semantics and document.
  4. Conformance P-1..P-3 vocabulary (from PR fix(#8): dialect-neutral placeholders (S4.1) and parameter type mapping (S5) #15): the parameter-type cases still describe expectations in SQLite TEXT/INTEGER affinity vocabulary, and there is no boolean roundtrip case -- both stale against S5's dialect-neutral rewrite.

Resolved en route, recorded so nobody re-files: PR #19's exclusion of lastInsertId from the tagged-value MUSTs was justified by its then string|number union; #17's narrowing to string-or-null makes the exclusion permanently coherent (a decimal string loses nothing). No action.

Done When

  • Each numbered item fixed or explicitly dispositioned on this card

Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions