ticket #000040 Phase 5: phrase + content-token resolver cascade
Implements the layered cascade strategy from #000040 §3.1 (originally drafted as #000039 — renumbered after collision with parallel-shift's sqlite-vec ticket). What landed =========== arborist/qa/warrant_resolver.py: - _phrase_for_axiom(theorem_name) — strips leading categorical prefix ("Axiom of " / "Theorem " / "Principle ") and trailing parenthetical, returns FTS5 phrase syntax ('"line incidence"', '"plane incidence"', '"side angle side"', etc.) when the theorem name has 2+ tokens. - _content_tokens(chunk_content, max_n=8) — extract discriminating tokens from a claim-pack chunk's body. Drops stopwords / generic theorem terms / common-English (small hand-curated set). Requires count >= 2 to ditch typo / LaTeX residue singletons. Sorts by length DESC then first-position ASC. - _build_record_query_cascade(c, theorem_name, content) — returns ordered list of FTS5 queries to try: 1. Phrase from title 2. Content-tokens AND-joined 3. Existing discriminating-tokens AND-join (legacy) 4. Existing OR-fallback (legacy) - resolve_chunks gains a `record_content` parameter; tries each cascade query in order, first hit wins. - iter_claim_pack_records yields a 5-tuple including content so callers can thread it through. Tests: 6 new unit tests for the cascade helpers (phrase extraction, parenthetical stripping, single-token fallback, content-token filtering, count-2 minimum, cascade ordering). 20 total in test_warrant_resolver.py. Full suite: 1603 passed / 28 skipped. End-to-end honest result ======================== Re-running warrant-resolve on the existing shard cluster: records_total=92, records_resolved=11 (unchanged from Phase 4). The cascade is correct; the lift didn't materialize for Hilbert pillar IV's 7 missing records because of TERMINOLOGY MISMATCH, not query strategy: - claim-pack records (g4 2025) use modern post-1950s names: "Axiom of Line Incidence", "Group I: Axioms of Incidence". - Hilbert's 1902 Townsend translation uses the original "Verknüpfung" / "axioms of connection". - Empirically: the literal token "incidence" appears ZERO times in the ingested Hilbert TeX surface; "connection" is the relevant synonym. No matter how clever the query, you can't find a word that isn't there. The cascade is preserved for any future textbook where cited vocabulary matches textbook prose (modern Stanley / Brualdi / Knuth, etc.). Next-link follow-up: file #000042 term-aliases table (("incidence", "geometry") → ("connection", "geometry")). Sibling design to the citation-alias proposal at #000041. Renumbering note: the Phase 5 ticket file was renumbered 000039 → 000040 mid-session because parallel-shift took 000039 for sqlite-vec at nearly the same time. Internal references in the file follow the post-rename numbering (#000041 = citation-alias, #000042 = term-alias).
This commit is contained in:
parent
7f9bf606dc
commit
b9e5bbdb13
4 changed files with 517 additions and 25 deletions
|
|
@ -61,6 +61,8 @@ Newest first. Update on every open/close.
|
|||
|
||||
| ID | Title | Status | Opened | Directive |
|
||||
|----------|------------------------------------------------|-----------------------|------------|-----------|
|
||||
| #000040 | Phase 5 resolver fix — phrase + content-token cascade (Hilbert terminology mismatch surfaced) | closed · cascade landed 2026-05-09; lift blocked by 1902-vs-modern vocab; follow-up #000042 | 2026-05-09 | — |
|
||||
| #000039 | Optional `sqlite-vec` retrieval backend (A/B vs FTS5, hybrid not replacement) | open · awaiting go/no-go (doc-only Phase 0) | 2026-05-09 | — |
|
||||
| #000038 | Phase 4 content acquisition — proprietary textbook license decisions for warrant coverage | open · awaiting go/no-go | 2026-05-09 | — |
|
||||
| #000037 | Prometheus-Σ recursive falsification controller (bicameral substrate) | open · awaiting go/no-go (doc-only Phase 0) | 2026-05-09 | — |
|
||||
| #000036 | T3 per-window covert-channel budget bound | open · awaiting go/no-go (#000018 follow-up) | 2026-05-09 | — |
|
||||
|
|
@ -102,4 +104,4 @@ Newest first. Update on every open/close.
|
|||
|
||||
## Next ID
|
||||
|
||||
`000039`
|
||||
`000041`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue