#000070: spatial-anchor pi*_w_object ticket + pre-review bench
New ticket for Joseph (@TrudoJo)'s 6-dim procedural spatial-anchor framework as the first verifier kernel under the #000013 v7-W reserved namespace. A single committed 32-byte SHA-256 hash deterministically expands into six 32-byte regions H1..H6 via the HMAC-SHA-512 KDF already shipped in arborist/substrate/anchor_prg.py (#000035); each region drives one quantized object dimension under a fixed canonical mapper. Domain separation from #000035 by dedicated spatial_anchor_seed published in the v7-W manifest -- preserves #000035's KAT freeze + dav1d 2026-05-11 final review intact. Bundle: - docs/tickets/ticket-000070-spatial-anchor-pi-w-object.md (718 lines): full spec with 8 design-choice subsections, working Python sketch, 12-NOT scope boundaries, 8-row cross-references, five-step deletions, 10 open questions for dav1d. - bench/spatial_anchor_validation.py: pure-stdlib pre-review evidence (~2s, RNG-seed-pinned, reproducible). Five benches: avalanche, cell-distribution uniformity, collision vs birthday-bound, cross-region independence, domain separation. - bench/spatial_anchor_validation_results.md: report from first run. - Makefile: 'make bench-spatial-anchor [SPATIAL_N=N]' target + PHONY. - docs/TICKETS.md: index row + Next ID 000070 -> 000071. Bench headlines (N=10000): - Avalanche mean 767.85 bits (PRF null 768, z=-0.49) -> PASS - Cell-distribution chi^2 |z|<1 at L=2,3,4 -> PASS - Birthday-bound ratio obs/exp 0.989/1.038 at populated L -> PASS - Cross-region Pearson all 15 pairs < 2sigma -> PASS - Domain separation Arm A 767.91 / Arm B exact 0 collision -> PASS Five of dav1d's ten open questions (Q1 seed source, Q2 segmentation, Q3 position mapper, Q8 endianness, Q9 KAT adversarial vectors) now resolve with measurements rather than appeals to PRF authority. Q4/Q5/Q6/Q7/Q10 remain non-empirical design decisions. Status: open, awaiting dav1d review + fox go/no-go. No registry slot booked, no substrate-paper amendment landed, no kernel module created.
This commit is contained in:
parent
2b8777c947
commit
55b651f624
5 changed files with 1463 additions and 2 deletions
30
Makefile
30
Makefile
|
|
@ -39,7 +39,7 @@ SEARCH_Q ?= computer
|
|||
bench-5f-falsification-hard bench-fork-baseline-hard bench-5f-formulate-hard \
|
||||
bootstrap-math bootstrap-nli bootstrap-nli-only bench-nli-shadow export-nli-onnx bench-nli-backends judge-self-test control-ab control-sweep rapl-access rapl-access-revoke clean clean-db clean-data help \
|
||||
textbooks-summary textbooks-urls fetch-textbooks textbooks-stats textbooks-verify \
|
||||
crawl-textbooks crawl-textbooks-stats textbook textbook-list bench-jaggedness \
|
||||
crawl-textbooks crawl-textbooks-stats textbook textbook-list bench-jaggedness bench-spatial-anchor \
|
||||
monitor-poll monitor-graph monitor-access \
|
||||
bootstrap-object-store cold-pack cold-pack-dvd cold-pack-all cold-pack-all-dvd cold-unpack cold-hydrate cold-stats cold-list \
|
||||
wallet-demo wallet-serve wallet-pin wallet-ask
|
||||
|
|
@ -296,6 +296,17 @@ bench-jaggedness: bootstrap ## #000060: deterministic retrieval jaggedness acros
|
|||
--conc $(JAGGED_CONC) \
|
||||
--shards-dir $(SHARDS_DIR)
|
||||
|
||||
# Empirical pre-review validation of Joseph @TrudoJo's 6-dim spatial-anchor
|
||||
# framework (ticket #000070). Pure stdlib, ~2s on a workstation. Answers
|
||||
# dav1d's open questions §2.1 / §2.2 / §2.3 / §2.8 with measurements
|
||||
# instead of appeals to PRF authority. Reproducible: same RNG seed → same
|
||||
# byte output. See bench/spatial_anchor_validation.py.
|
||||
# make bench-spatial-anchor # default N=10000
|
||||
# make bench-spatial-anchor SPATIAL_N=50000 # tighter stderr
|
||||
SPATIAL_N ?= 10000
|
||||
bench-spatial-anchor: bootstrap ## #000070: pre-review empirical evidence for 6-dim spatial-anchor framework [SPATIAL_N=10000]
|
||||
PYTHONUNBUFFERED=1 $(PY) bench/spatial_anchor_validation.py --n $(SPATIAL_N)
|
||||
|
||||
# Request-load monitor for the single-slot LLM endpoints (fox 2026-05-21:
|
||||
# "are we being swamped because we're open to internet?"). Stdlib-only
|
||||
# (urllib + sqlite3 + hand-rolled SVG) — no bootstrap, no venv. The backend
|
||||
|
|
@ -1598,6 +1609,23 @@ sidecar-build: bootstrap ## build HTTP-optimized inverted-index sidecar [SHARD=p
|
|||
@test -n "$(OUT)" || { echo 'OUT required'; exit 2; }
|
||||
@$(ARBORIST) sidecar build --shard "$(SHARD)" --out "$(OUT)"
|
||||
|
||||
sidecar-build-fts: bootstrap ## build slim FTS5 sidecar (.idx.db) from a shard [SHARD=path OUT=path]
|
||||
@test -n "$(SHARD)" || { echo 'usage: make sidecar-build-fts SHARD=/path/to/shard.db OUT=/path/to/shard.idx.db'; exit 2; }
|
||||
@test -n "$(OUT)" || { echo 'OUT required'; exit 2; }
|
||||
@$(ARBORIST) sidecar build-fts --shard "$(SHARD)" --out "$(OUT)"
|
||||
|
||||
sidecar-build-fts-all: bootstrap ## build slim FTS5 sidecar for every shard in SHARDS_DIR [SHARDS_DIR=path OUT_DIR=path]
|
||||
@: $${SHARDS_DIR:=$(HOME)/.arborist/shards}
|
||||
@: $${OUT_DIR:=$(HOME)/.arborist/sidecar-fts}
|
||||
@mkdir -p "$$OUT_DIR"
|
||||
@for SHARD in "$$SHARDS_DIR"/[0-9][0-9][0-9].db; do \
|
||||
OUT="$$OUT_DIR/$$(basename $$SHARD .db).idx.db" ; \
|
||||
if [ -f "$$OUT" ]; then echo "skip $$OUT (exists)"; continue; fi ; \
|
||||
echo ">> building $$OUT" ; \
|
||||
$(ARBORIST) sidecar build-fts --shard "$$SHARD" --out "$$OUT" ; \
|
||||
done
|
||||
@ls -lh "$$OUT_DIR"/*.idx.db 2>/dev/null || true
|
||||
|
||||
sidecar-search: bootstrap ## query a local sidecar.bin [Q="..." SIDECAR=/path/sidecar.bin LIMIT=N MODE=or|and]
|
||||
@test -n "$(Q)" || { echo 'usage: make sidecar-search Q="your question" SIDECAR=/path/sidecar.bin [LIMIT=N] [MODE=or|and]'; exit 2; }
|
||||
@test -n "$(SIDECAR)" || { echo 'SIDECAR=/path/sidecar.bin required'; exit 2; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue