Skip to content

/next page: LSQB id-form runs, the narrow analytical view, sparse whole records, and re-pin rows 60-64 - #162

Merged
tae898 merged 2 commits into
mainfrom
page-lsqb-and-repin-rows
Oct 4, 2026
Merged

tae898 merged 2 commits into
mainfrom
page-lsqb-and-repin-rows

Conversation

@tae898

@tae898 tae898 commented Oct 4, 2026

Copy link
Copy Markdown

Closes #161.

Generated sentences, each keyed on a field the next measurement's rows record:

  • Sparse vector search (live; ArcadeDB l3s rows without sparse_result): "On this table each ArcadeDB search returns every hit's whole record, while every other engine returns the ids of its hits, not the records. The next measurement has ArcadeDB return ids as well."
  • Graph OLAP (pending table; l2 olap rows without lsqb_text), as it will render on the October rows: "In LSQB Q5 and LSQB Q8, the check that two matched nodes are different compared their id properties, where LSQB's own text compares the nodes themselves. The answers are the same either way, but on the build measured here the id form keeps ArcadeDB on a slower plan than LSQB's own text gets. The next measurement runs LSQB's own text." (Q6 and Q9 are excluded at the full scale; with all four measured it names all four.) Sourced to the pin's config A runs: q5 0.26-0.28 s against 0.21 s, q6 0.97-1.80 against 0.061, q8 0.75-0.76 against 0.15-0.16, q9 33.59 against 0.0105.
  • Graph OLAP (ArcadeDB with-view rows without gav_types): the view covers only persons and their friendships, every LSQB query reads kinds of node it leaves out, and the next measurement builds it over every type and keeps the rows without the view.
  • Page-level list: four items (LSQB's own text, the view over every type, sparse ids, the documents lane's columnar insert for ArcadeDB embedded), each shown only while its condition holds.
  • page_check: a disclosure check for the LSQB id form, modelled on the one-way-friendship check.
  • CAMPAIGN section 7 rows 60-64.

Regenerated from the tracked rows with the land_stage procedure (the unchanged generator reproduced the tracked payload byte for byte first). No table, entry, cell, column, or top-level field changed; l3s gained one condition and the page list two live lines. Gates: equivalence, provenance, fairness, version consistency, version pin, and structure pass; page_check --preview against the real site exits 0 with 0 condition findings. On stand-in rows, setting each key retires its sentence and list item.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi

tae898 and others added 2 commits October 4, 2026 21:27
…e whole records, and the documents load in the list of what the next measurement changes

- Graph OLAP (l2olap, pending; appears when the table lands): a sentence
  that the LSQB queries a row without `lsqb_text` measured (of q5, q6, q8,
  and q9, named as the table's columns name them) compared the matched
  nodes' ids where LSQB's own text compares the nodes, which keeps ArcadeDB
  off the operators it has for them and slows other engines too, and that
  the next measurement runs LSQB's own text (BUGS F174, DECISIONS #154
  items 1 and 2; export_web._lsqb_id_form_note). page_check checks the
  disclosure the way it checks F169's.
- Graph OLAP: a sentence that ArcadeDB's Graph Analytical View covers only
  the persons and their friendships, so no LSQB query can use it, and that
  the next measurement builds it over every type and keeps the rows without
  it; keyed on ArcadeDB with-view rows without `gav_types` (DECISIONS #154
  item 3).
- Sparse vector search (l3s): a sentence that each ArcadeDB search returns
  every hit's whole record while every other engine returns ids; keyed on
  ArcadeDB sparse rows without `sparse_result` (DECISIONS #153 item 1).
- Page-level list: one line each for the LSQB text, the view over every
  type, the sparse ids (each shown while its table sentence is on the
  page), and ArcadeDB embedded's columnar documents load, keyed directly on
  the ArcadeDB embedded documents rows without `columnar_insert`, since the
  tables' ingest-path sentence already says what ran (DECISIONS #153 item 2).
- CAMPAIGN section 7 rows 60-64: LSQB's own text on every engine and the
  #109 re-decision; the view over every type; the sparse arms return ids;
  the documents lane's columnar insert once own issue #150 ships (the
  user's choice over my recommendation); the sparse multipass driver keeps
  each comparator's version (F173, own issue #158).

Payload regenerated by refresh_web_page steps 2 and 3 by hand
(BENCH_ENGINE_COMMIT=417314c18, BENCH_INSTRUMENT=2026-10,
BENCH_ONLY_LANES=e2,l1tpc,l2,l3s,lifecycle; untracked runs.jsonl,
e4decomp_417314c18, and sparse_mp_417314c18 copied from the main
checkout); the unchanged generator reproduced the tracked payload byte for
byte first. No table, entry, cell, column, or top-level field changed: l3s
gains one condition, the page conditions gain two lines, and
condition_provenance gains their three records. Gates: equivalence,
provenance, fairness, version consistency, version pin, and structure ok
with logs identical to the baseline; page_check against the real site
rc=0, 0 condition findings. The l2olap sentences and list lines were
checked on stand-in rows (the laptop skeleton's sf1 graph analytics rows at
sf1full): they render, name LSQB Q5 and LSQB Q8 when q6 and q9 are
excluded at the tier, and leave with `lsqb_text`, `gav_types`,
`sparse_result`, and `columnar_insert` set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi
…query it can name

On the real October rows the l2olap sentence names LSQB Q5 and LSQB Q8
(q6 and q9 are excluded at sf1full), and two clauses were not sourced for
those two: "the operators it has for these queries" (the hunt found count
operators for q5, q6, and q9, not q8) and "slows other engines too"
(measured on Neo4j, on q9 only). The second sentence now reads "The answers
are the same either way, but on the build measured here the id form keeps
ArcadeDB on a slower plan than LSQB's own text gets.", which holds at the
pin for each of q5, q6, q8, and q9 with and without the lane's view
(perf-lsqb-q9-20261004 out/summary-all-runs.md, recA1-oct and recA2-oct;
q5's order reverses on newer main, hence "the build measured here"). The
page_check docstring, the exporter comment, and CAMPAIGN row 60's status
say the same. The page-list item is unchanged.

Payload regenerated the same way (refresh_web_page steps 2 and 3 by hand):
byte-identical to the previous commit's, since l2olap is pending. Gates:
equivalence, provenance, fairness, version consistency, version pin, and
structure ok; page_check against the real site rc=0, 0 condition findings;
every gate log identical to the previous commit's run. Stand-in rows render
the new sentence for LSQB Q5 and LSQB Q8 and for all four, page_check
reports it disclosed (and missing once removed), and `lsqb_text` retires it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi
@tae898
tae898 merged commit 5b357a0 into main Oct 4, 2026
2 checks passed
@tae898
tae898 deleted the page-lsqb-and-repin-rows branch October 4, 2026 12:40
tae898 added a commit that referenced this pull request Oct 6, 2026
…-pin rows, fix stale facts (#230)

* benchmark docs: retire the October chain narrative, condense built re-pin rows, fix stale facts (#227)

Markdown only, under benchmarks/. No script, data file, Dockerfile, or workflow changes, so the stage scripts the 26.10.1 measurement pulls on mini are unchanged (make_2610_stages.py --after none --rep-pass 3 emits 34 byte-identical files before and after).

CAMPAIGN.md: section 6 now describes the 26.10.1 measurement (generator, tiers, repetition passes) and keeps the October chain drawing only because structure_check.py parses it against make_october_stages.STAGES; the stage-by-stage October history became rules. Section 7 loses the skeleton and harness-fix history, condenses every built and verified row to what was built and where it lives (no row renumbered, reordered, or deleted; rows 70, 73, and 68 keep what their tests read), keeps open rows whole, adds the missing row 71 (Bolt, decided against, DECISIONS #162), and fixes wrong citations (DECISIONS #147 for rows 5 and 54, the deleted REPIN-REHEARSAL). Rows 45 and 53 describe the tiered, two-pass chain. Row 20 says the PostgreSQL fits are done, row 40 that the lifecycle expansion left the roster (DECISIONS #139), row 44 that DuckDB VSS and ArangoDB split ingest from index. Step 9 loses its dated done/next list.

PROTOCOL, FAIRNESS, PAGE-SPEC, READING-RESULTS, PUBLISHING, RESULTS-MAP, COMPARATORS, QUANTIZATION, README: a paper is back (DECISIONS #137, #146); KNOWN_DISAGREEMENTS holds the three PostgreSQL + AGE entries; three engines have no durability knob (SurrealDB served has one, BUGS F165); INDEX_KINDS_GATE_FAILS is True; the graph tables ask undirected over one stored edge; the ArcadeDB pin row names the 26.10.1 release; FalkorDB moved to 6.0.1; MongoDB's graph arm chains $lookup; the cancelled September extension and qOD/qOL/qOM narrative is gone.

benchmarks/python-bindings: delete docs/dev-log-2026-06.md (a planning log of a layout that was never built that way) and docs/ladybug-package.md (folded into the README), and cut the superseded wheel-size audit from jpype_overhead/REPORT.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi

* CAMPAIGN row 22: the clean-close numbers live in the evidence column only

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

/next page: disclose the LSQB id-form runs, the narrow analytical view, and the sparse whole-record results; re-pin rows for DECISIONS #153-#154

1 participant