ID-64 phase-a-findings (S344 s344-id64)
ID-64 Phase A — 7-OQ investigation findings (worker s344-id64, 2026-06-12)
Section titled “ID-64 Phase A — 7-OQ investigation findings (worker s344-id64, 2026-06-12)”READ-ONLY investigation. Source: historic-reingest-doc-review.md §5. Staging = turayklvaunphgbgscat.
Each item resolved with evidence; journal-intents below are for the PARENT to apply on MAIN via ledger-cli.ts.
Item 1 — Guide + MCP-content restore source ({64.7})
Section titled “Item 1 — Guide + MCP-content restore source ({64.7})”- NO historic SQL dump of
guides/guide_sections/feed config exists anywhere (worktree, main repo, archive, git history, staging Storage).data/exports/**never committed. - Staging live = 3 guides / 4 sections vs historic 9 guides / 117 sections → historic 117-section set is superseded, not lost.
- 3 standalone source docs SURVIVE as files: Telehouse PDF, SI-brief md, case-study md (
04-named-clients-and-case-studies.md) in~/Documents/development/kh-client-content-archive/AND at git refb6e35683d^. - Staging Storage EMPTY (0 objects across documents/templates/tender-documents buckets). Prod Storage not queried (read-only scope).
- Regen-prompt fallback recoverable:
knowledge-hub-archive/operations/guide-regeneration-prompts.md. - RECOMMENDATION: guides/guide_sections/feed config → export-from-current-live (not historic-dump restore); regen-prompts = fallback only. 3 source docs → export-restore via ID-45 cocoindex re-ingest from the archive/git-history copies.
Item 2 — coverage_targets intent ({64.7})
Section titled “Item 2 — coverage_targets intent ({64.7})”- 0 rows on staging. NO seed path in repo: only INSERT is RLS policy
coverage_targets_admin_insert(admin-gated runtime upsert,20260416102457:6077). App writes viaapp/api/coverage/targets/route.ts:24,79(runtime upsert). Table comment: admin-curated extensible metric model. - RECOMMENDATION: Disposition = “intentionally empty — RE-SEED-not-required”. Empty is the correct cold-start state. {64.7} needs no coverage_targets handling.
Item 3 — keep-set artefact exclusion ({64.7}) — MATERIAL CORRECTION
Section titled “Item 3 — keep-set artefact exclusion ({64.7}) — MATERIAL CORRECTION”- Doc’s
[E2E/[SUPERSEDE+ “3 demo items” framing is WRONG for this snapshot. Baseline predicate matches 0 rows on staging. - Staging census: 574 of 578 rows are bracket-prefixed test artefacts (
[MCP-SEED]×10,[S225-W1C-BATCHRECLASSIFY-*]×20,[S226-W1C-MARKDOWNBATCH-*]= the bulk,[CERT-BRIDGE-*]×8,[MD-PUB-*],[GOLDEN-PATH-*]). Genuine retained content ≈ 2 rows (Charnwood ITT template + Confidentiality Policy). All 578 havesource_url IS NULL. - The operative exclusion key is
title LIKE '[%'(not[E2E/[SUPERSEDE) + the CI/smoke UUID stubs (f0000000-0000-4000-8000-000000000001“CI Test Content Item”; “S316 Smoke Content Path Check”). - {64.7} MUST census the PROD handover corpus’s OWN bracket-tag families first (
split_part(title,']',1)) — prod may carry tag families absent on the refreshed staging snapshot. - RECOMMENDATION (ratify-by-default): EXCLUDE any
title LIKE '[%'+ the CI/smoke UUID stubs from the keep-set.
Item 4 — cutover mechanism ({64.8}) — FOR-LIAM design input
Section titled “Item 4 — cutover mechanism ({64.8}) — FOR-LIAM design input”- Task 82 (done) proved preview branches replay SCHEMA/migrations onto a dataless DB; reference data is absent + must be seeded. Branches do NOT carry the corpus.
- Supabase docs (unambiguous): merge-to-production deploys migrations/functions/storage-buckets only; “data doesn’t move between branches”; “seed-data changes not merged to production”. → candidate (b) branch-promotion is NON-VIABLE for the data move.
- RECOMMENDATION: author {64.8} on hybrid (c): schema via migration replay (already prod) + data via
pg_dump --data-onlyFK-ordered restore into prod, with doc §3 gotchas (prependSET search_path = public, extensions; PG-17 binaries; TRUNCATE CASCADE pre-seeded config tables BEFORE restore). FOR-LIAM decision; analysis only.
Item 5 — quality-gate equivalent → ID-45 spec input
Section titled “Item 5 — quality-gate equivalent → ID-45 spec input”- Recovered historic
scripts/quality-gate.ts+scripts/config/quality-gate/profiles.jsonat git ref6539fbff5^. 12 checks; there-ingestprofile = 6 must-pass: corpus_counts, embedding_coverage, chunk_coverage, classified_domains_not_empty, guide_domain_filter_resolves (+ entity_mention_coverage floors incl. 0.85 maps to the doc’s “≥85%”). - ID-45 state: title “T7 — Phew full-corpus reingest via cocoindex”; status
spec_needed; NO spec-chain ({45.x} = []); deps [101,28,36,41,69]. - New gate MUST: (a) DROP
history_v1_present(OQ-64-9 clean-slate content_history); (b) ADD net-new dimensions forreference_items,q_a_extractions, relationship triples (ID-101 parity, C1). - RECOMMENDATION: register the recovered profile as a seed for ID-45 {45.1} RESEARCH/{45.2} PRODUCT. ID-45 spec scope, NOT {64.8}.
Item 6 — legacy Google-News rows ({64.7})
Section titled “Item 6 — legacy Google-News rows ({64.7})”- Staging = 0 (all 578 source_urls NULL). The 8 legacy rows are in the PROD handover corpus only.
- Detection SQL for {64.7} (run vs prod):
SELECT id,title,source_url FROM content_items WHERE source_url LIKE '%news.google.com/rss%'. - RECOMMENDATION (default): DROP — opaque non-canonical redirector URLs, un-citeable provenance; re-resolve only if a row proves high-value evergreen on inspection.
Item 7 — products-services taxonomy domain
Section titled “Item 7 — products-services taxonomy domain”- ACTIVE:
taxonomy_domainsid=406054e3-…, name=products-services, display_name=“Products & Services”, is_active=true. Referenced inlib/taxonomy/taxonomy-format.ts:46, pipeline snapshot, search-eval, ontology MD (intentional client-provenance domain). - RECOMMENDATION: No action — active & referenced, not stale.