Skip to content

Commit ef9f87e

Browse files
h4x0rclaude
andcommitted
docs(competitive-landscape): reframe shipped items as our capabilities, not backlog
All three survey-informed items are shipped, so present them as sqlite4n6 features (the survey surfaced the need) rather than a 'survey ideas / backlog' list. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 00c3390 commit ef9f87e

1 file changed

Lines changed: 22 additions & 22 deletions

File tree

docs/competitive-landscape.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -293,25 +293,25 @@ local Undark row, run on the **same** bytes as our carve. As with recall,
293293
throughput is not the headline: the survey's contribution and ours is **false
294294
positives** and **substrate coverage**, not raw speed.
295295

296-
## Survey ideas → our backlog
297-
298-
- **Throughput benchmark.** *Shipped:* a large-DB (≈100 MB) timing harness —
299-
`carve --format jsonl` measures ~15.3 s on a 100 MB database, reported alongside
300-
the survey's tools (see the Throughput section above).
301-
- **rowid → table inference for drop-recreate (the 0B nuance).** *Shipped (Detector
302-
A):* residue attributed to an `AUTOINCREMENT` table carries a `table_instance_risk`
303-
flag when its `rowid` exceeds the table's `sqlite_sequence` high-water mark —
304-
surfaced as a non-overclaiming **hint** (consistent with prior-incarnation
305-
residue, but also explainable by an `UPDATE`/`sqlite_sequence` edit/current-instance
306-
deletion), AUTOINCREMENT-only, never a predecessor assertion, never a reroute or
307-
tier change. The plain-`INTEGER PRIMARY KEY` case stays unflagged (genuinely
308-
undecidable from a bare snapshot). *Shipped (Detector B):* Detector B now flags an
309-
unambiguous sidecar `-wal`/`-journal` schema change — the prior `sqlite_master`
310-
shows a table absent or with a different CREATE SQL than current
311-
(`sidecar_schema_changed(table)`) — a table-level boundary hint, still not the
312-
same-schema case (a same-schema drop+recreate is indistinguishable from a benign
313-
page move) and never row-level provenance.
314-
- **WAL-checkpoint acquisition warning.** *Shipped:* the `SQLITE-WAL-UNCHECKPOINTED`
315-
audit note now carries the acquisition warning — a `-wal` a checkpoint would
316-
reclaim is forensically load-bearing, so the note tells the examiner to acquire
317-
the live `-wal` before any tool checkpoints it away.
296+
## Survey-informed capabilities
297+
298+
The survey's analysis surfaced these needs — now shipped `sqlite4n6` features:
299+
300+
- **Throughput measurement.** A large-DB (≈100 MB) timing harness — `carve
301+
--format jsonl` runs in ~15.3 s on a 100 MB database, reported alongside the
302+
survey's tools (see the Throughput section above).
303+
- **`table_instance_risk` drop-recreate hint.** Residue attributed to an
304+
`AUTOINCREMENT` table carries a `table_instance_risk` flag when its `rowid`
305+
exceeds the table's `sqlite_sequence` high-water mark (Detector A), plus a
306+
table-level flag when a `-wal`/`-journal` sidecar's prior `sqlite_master` shows a
307+
table absent or with a different CREATE SQL (Detector B,
308+
`sidecar_schema_changed(table)`). It is a non-overclaiming **hint** — consistent
309+
with prior-incarnation residue, but also explainable by an `UPDATE` /
310+
`sqlite_sequence` edit / current-instance deletion — AUTOINCREMENT-only for
311+
Detector A, never a predecessor assertion, never a reroute or tier change. The
312+
plain-`INTEGER PRIMARY KEY` and same-schema drop+recreate cases stay unflagged
313+
(genuinely undecidable from a bare snapshot / indistinguishable from a benign
314+
page move).
315+
- **WAL-checkpoint acquisition warning.** The `SQLITE-WAL-UNCHECKPOINTED` audit
316+
note tells the examiner to acquire the live `-wal` before any tool checkpoints it
317+
away — a `-wal` a checkpoint would reclaim is forensically load-bearing.

0 commit comments

Comments
 (0)