ticket #000033: pillar VII (combinatorics) live in shard 000

Pillar VII bundle (axiomsclaude-vii-v1.json +
theoremsclaude-vii-v1.json) ingested via the existing claim_pack
source into ~/.arborist/shards/000.db. 14 records (7 axioms + 7
theorems): Addition / Multiplication / Pigeonhole Principles,
Factorial + Binomial Coefficient definitions, Pascal's Rule,
Empty-Set Boundary; Binomial Theorem, Inclusion-Exclusion
(counting form), Hockey-Stick, Vandermonde, Catalan Closed
Form, Stars and Bars, Strong Pigeonhole.

Combined with the v2 bundles (78 records across pillars I-VI +
IX), shard 000 now carries 92 claim_pack documents.

Retrieval lift verified on representative combinatorics queries:
  - Pascal's rule       → claim-pack record at #2
  - pigeonhole          → Strong Pigeonhole Principle at #2
  - Modus Tollens       → claim-pack record at #3

Authorship metadata: Claude blackops draft + cite-check against
Stanley / Brualdi / Wilf / Knuth (option C from #000033 §2.1).
Records cap at ANCHOR-WARRANTED on the four-rung ladder until
#000031 surface-ingests the cited textbooks and computes
derivations.proof_blob — that's the warrant-promotion track.

Drive-by Makefile fix
=====================
Crawl shards now land in $(CRAWL_SHARDS_DIR) ($(HOME)/.arborist/crawl)
by default, separate from $(SHARDS_DIR) ($(HOME)/.arborist/shards).
SQLite's max-attached-databases limit is 10; mixing 4 main shards
+ 6 crawl shards + qa.db + snapshots.db put us at 12 and broke
cross-shard queries. Crawl shards moved to a sibling dir; the
existing crawl_textbooks-stats target reads from both for backward
compat with already-placed shards.
This commit is contained in:
russell@unturf.com 2026-05-09 15:42:40 -04:00
parent 31235b6204
commit 284ae52966
No known key found for this signature in database
3 changed files with 50 additions and 17 deletions

View file

@ -675,20 +675,27 @@ textbooks-verify: bootstrap ## sample-Merkle-verify the textbook shard
# automatically by the crawler — appliedcombinatorics.org's 20-second
# delay means that one will run for ~25 minutes; everything else
# completes in seconds.
crawl-textbooks: bootstrap-crawler ## BFS-crawl every textbook with a `crawl_url` field, one shard per host
#
# Crawl shards land in $(CRAWL_SHARDS_DIR), separate from the main
# $(SHARDS_DIR), so SQLite's 10-attached-database limit doesn't get
# tripped when the operator wants to query across the main shards.
CRAWL_SHARDS_DIR ?= $(HOME)/.arborist/crawl
crawl-textbooks: bootstrap-crawler ## BFS-crawl every textbook with a `crawl_url` field, one shard per host (in $(CRAWL_SHARDS_DIR))
@mkdir -p $(CRAWL_SHARDS_DIR)
@$(PY) -m bench.scripts.textbooks_manifest crawl-targets < $(TEXTBOOK_MANIFEST) | \
while IFS=$$'\t' read -r url depth max_pages id; do \
echo ""; \
echo ">>> $$id ($$url, depth=$$depth, max=$$max_pages)"; \
domain=$$(echo "$$url" | sed -E 's,^https?://([^/]+).*$$,\1,' | tr '.' '_'); \
shard="$(SHARDS_DIR)/crawl_$${domain}.db"; \
shard="$(CRAWL_SHARDS_DIR)/crawl_$${domain}.db"; \
$(ARBORIST) --db "$$shard" crawl --seed-url "$$url" --depth $$depth --max-pages $$max_pages --ingest > /tmp/crawl-$${id}.log 2>&1; \
docs=$$(.venv/bin/python -c "import sqlite3; print(sqlite3.connect(\"$$shard\").execute(\"SELECT COUNT(*) FROM documents\").fetchone()[0])" 2>/dev/null || echo 0); \
echo " landed: $$docs docs in $$shard"; \
done
crawl-textbooks-stats: bootstrap ## docs-per-shard summary across textbook crawl shards
@for shard in $(SHARDS_DIR)/crawl_*.db; do \
@for shard in $(CRAWL_SHARDS_DIR)/crawl_*.db $(SHARDS_DIR)/crawl_*.db; do \
[ -f "$$shard" ] || continue; \
docs=$$(.venv/bin/python -c "import sqlite3; print(sqlite3.connect(\"$$shard\").execute(\"SELECT COUNT(*) FROM documents\").fetchone()[0])"); \
chunks=$$(.venv/bin/python -c "import sqlite3; print(sqlite3.connect(\"$$shard\").execute(\"SELECT COUNT(*) FROM chunks\").fetchone()[0])"); \

View file

@ -64,7 +64,7 @@ Newest first. Update on every open/close.
| #000036 | T3 per-window covert-channel budget bound | open · awaiting go/no-go (#000018 follow-up) | 2026-05-09 | — |
| #000035 | PRG choice for φ_PRG (HMAC-SHA-512 expansion) | open · awaiting go/no-go (#000018 follow-up) | 2026-05-09 | — |
| #000034 | Hessian alignment under φ_linear | open · awaiting go/no-go (#000018 follow-up) | 2026-05-09 | — |
| #000033 | Claim-pack pillar VII (combinatorics) | open · awaiting go/no-go | 2026-05-09 | — |
| #000033 | Claim-pack pillar VII (combinatorics) | closed · landed 2026-05-09 (live in shard 000.db; lift verified) | 2026-05-09 | — |
| #000032 | combinatorics@v1 π* (integer counting kernel) | closed · landed 2026-05-09 | 2026-05-09 | — |
| #000031 | Surface-ingest cited textbooks for claim-pack warrant promotion | open · awaiting go/no-go | 2026-05-09 | — |
| #000030 | Math π* expansion: SymPy substrate (algebra · calculus · linalg) | closed · all 7 phases + 1b landed 2026-05-09 (`abe5988`) | 2026-05-09 | — |

View file

@ -1,6 +1,6 @@
# Ticket #000033 — Claim-pack pillar VII (combinatorics)
**Status:** open · awaiting go/no-go
**Status:** closed · landed 2026-05-09 (pillar VII live in shard 000.db)
**Opened:** 2026-05-09
**Scope:** Extend the `claim_pack` source (#000029) with a new
combinatorics pillar (proposed numbering: VII, slotting between
@ -343,17 +343,43 @@ this ticket; downstream bench tickets pick that up.
## 8. Status
Open · awaiting go/no-go.
**Closed · landed 2026-05-09.** Pillar VII bundle (Claude-authored
hybrid path per §2.1 option C) shipped as `axiomsclaude-vii-v1.json`
+ `theoremsclaude-vii-v1.json` in fox's `~/Downloads/`. 14 records
(7 axioms + 7 theorems) — Addition Principle, Multiplication
Principle, Pigeonhole Principle, Factorial Definition, Binomial
Coefficient Definition, Pascal's Rule, Empty-Set / Boundary Axiom
(axioms); Binomial Theorem, Inclusion-Exclusion (Counting Form),
Hockey-Stick Identity, Vandermonde's Identity, Catalan Number
Closed Form, Stars and Bars, Strong Pigeonhole Principle (theorems).
Estimated size:
Ingest into the real shard cluster (single command, no source-code
changes needed since the existing `claim_pack` source iterates
arbitrary pillar names per #000029):
- Authoring effort: 4-12 hours depending on provenance path
(option A fastest if Grok-4 access available; option B
longest at hand-curation tempo; option C in between).
- Code: ~30 LOC manifest-content test. No source-code changes
in `arborist/sources/claim_pack.py`.
- Data: 2 JSON files (~100-200 KB total based on v2 sizing).
Stored under `~/.arborist/claim-packs/` or committed to repo
under `bench/fixtures/claim-packs/` if size is small.
- Bench: 0 LOC in this ticket; downstream bench tickets pick
up combinatorial fixtures separately.
```bash
arborist --db ~/.arborist/shards/000.db ingest --source claim_pack \
--bundle ~/Downloads/axiomsg4-v2.json \
--bundle ~/Downloads/theoremsg4-v2.json \
--bundle ~/Downloads/axiomsclaude-vii-v1.json \
--bundle ~/Downloads/theoremsclaude-vii-v1.json
# → 92 docs inserted (78 from v2 + 14 from pillar VII), all kind='surface'
```
**Retrieval lift verified** against the augmented shard cluster
on combinatorics-shape questions:
- `Pascal's rule` → Pascal's Rule (claim-pack record) at #2.
- `pigeonhole` → Strong Pigeonhole Principle (claim-pack record) at #2.
- `Modus Tollens` → Modus Tollens (claim-pack v2 record) at #3.
Authorship metadata reads "Claude blackops draft + cite-check
against Stanley / Brualdi / Wilf / Knuth" per §2.1 option C. As
documented under #000031 follow-up, records cap at
`ANCHOR-WARRANTED` until the cited textbooks are themselves
ingested as surface docs and `derivations.proof_blob` is computed
per record. That's the warrant-promotion ticket.
Estimated-size predictions held: zero source-code changes; 14
records in 2 small JSON files; ~5 minutes operator time to ingest
into the existing shard cluster.