OKF round-4 feedback — RATIFIED DECISION LOG
OKF round-4 feedback — RATIFIED DECISION LOG
Section titled “OKF round-4 feedback — RATIFIED DECISION LOG”Owner ratification via Lavish board (.lavish/okf-triage-board.html), 2026-06-28. Source findings:
.user-scratch/RECOVERED-findings.md (E1/E2/E4/E5/E7/E8/E11) + workflow run wf_da6fa678-4c7 (E3/E6/E9/E10/E12).
Follow-up checks (F1–F4) in flight: run wf_7f9d01cf-9a8.
DB note: zjqbrdctesqvouboziae = Platform DB (prod+staging). rovrymhhffssilaftdwd = CLIENT PROD DB.
Prior agents queried Platform; some owner facts are client-prod. F1 reconciles.
Ratified decisions (10)
Section titled “Ratified decisions (10)”| # | Decision | Ratified call | Owner modifier / caveat |
|---|---|---|---|
| D1 | Classification cols → SD (E2) | Persist computed + drop dead/no-producer | Only persist confidence/reasoning/secondary IF actually USED → F4 verifies consumers; on source_documents not content_items |
| D2 | Forms match pool (E5) | 1A drop SD + 2A include RI now | Track RI usage on the Intelligence-domain track |
| D3 | Manual q_a authoring (E7) | A — new id-131 sub-task + 'manually_authored' origin_kind | Q: was a Q&A editor built then removed? (EP8: “writes INTO a fully-mature Q&A editor surface”) → F2 |
| D4 | thumbnail_url (E9) | B — ship empty nullable col now, backfill later | Client-prod (rovrymhhffssilaftdwd) HAS thumbnail rows — reconcile + find writer → F1. id-111/110/112 are CLOSED; id-118 surfaces them to UI (id-118 IS a valid awareness target) |
| D5 | layer axis (E10) | Retire from source_documents (no SD col) | KEEP the layer concept in the ontology — do NOT deprecate the 03-layer-vocabulary CV; re-frame it as the Guides audience axis |
| D6 | Dead-loader / register (E11) | A — keep Decision A (retire loader) + reframe | Conflated — the real ask is id-133 must BUILD ON the original id-63 ontology plans (phase-b-prerequisite-1-onthology-pipeline*.md), not entity_type/relationship → F3 |
| D7 | GOV-FACET per-axis (E12) | A — per-axis; Q&A drops freshness (0 net-new cols) | Defer RI freshness/validity/contradiction to the Intelligence-domain track (follows id-130) — track, not lose. Expiry-data history → bl-90 (docs/research/human-validation-auto-metadata-research.md) |
| D8 | Citation rationale (§4) | A — reframe; anchors-only conclusion stands | — |
| D9 | hybrid_search re-research (§3.3) | A — new research sub-task in id-131, blocks the RPC-rewrite subtasks | review id-71 |
| D10 | id-134 corpus ownership (RATIFY-1) | 1A committed in-repo + 2A defer Platform OKF repo | Keep a synced copy OUTSIDE the main repo for integration testing. Note: id-132 may build the Platform OKF repo imminently — coordinate |
Confirmations / parked
Section titled “Confirmations / parked”- ✓ RATIFY-1b (no manifest) · ✓ RATIFY-2 (Q&A sidecar retired, QA-DBONLY) · ✓ RATIFY-4
- ⏸ RATIFY-3 — do NOT build id-134 files until id-131 final shape confirmed (these decisions reshape id-131) — holds
- ⏸ PARKED —
workspace_idvs activity-id abstraction (strategic; own review)
Empirical-answered (fold in, no decision)
Section titled “Empirical-answered (fold in, no decision)”- E1 —
completedpipeline_runs = cron/MCP audit; id-134 gate filterspipeline_name='kh_canonical_pipeline' AND op_id NOT NULL; corrects v3 §9 → 0 chunks/33 items/498 runs (Platform DB) - E3 —
governance-section.tsx: keep; repointfetchLastFreshnessCheck(:102-118) to facet; ADD to GOV-FACET consumer list (spec omits it) - E4 —
declare_vector_indexavoidance is deliberate (DDL-via-migration governance); embeddings ARE written; EMB-STORE same pattern - E6 — walk = enumerate-all / process-delta (owner right re: processing); per-walk declare_row UPSERT is O(all files) — id-134 cost note
- E8 — id-132 OKF-conformant;
toolbox/enrichment/fileset.tsnot reviewed but consumer-side; optional consumer-side OKF-MCP backlog; fix cosmetic method-name in TECH
Tracking actions to create (Curator) — so deferred work is NOT lost
Section titled “Tracking actions to create (Curator) — so deferred work is NOT lost”- RI lifecycle facet (freshness/validity/supersession/contradiction) → Intelligence-domain track, after id-130. Ref bl-90 +
human-validation-auto-metadata-research.md. (from D7/D2) - Synced Platform-corpus copy outside main repo for integration testing. (from D10.1)
- Coordinate Platform OKF repo with id-132 (may be built imminently). (from D10.2)
- PARKED workspace_id vs activity-id abstraction review.
Follow-up RESULTS (run wf_7f9d01cf-9a8 — F1/F2/F3 agents; F4 done by orchestrator)
Section titled “Follow-up RESULTS (run wf_7f9d01cf-9a8 — F1/F2/F3 agents; F4 done by orchestrator)”F1 — ⚠️ MAJOR: reversibility premise is Platform-only; client-prod has real data.
- CLIENT PROD
rovrymhhffssilaftdwd(“canonical-phew”, ACTIVE): content_items=631, content_chunks=926, thumbnail_url populated=55 (og:image, writer retired ID-110 commitf9bcc26a2026-06-14), q_a_pairs(typed)=0, reference_items=0, q_a_extractions=3. - 396 content_items are
content_type='q_a_pair'(380qa_import+ 15manual+ 1 null) — the Q&A mass lives in the god-table, not the typed table. So “q_a_pairs=0” is misleading. - Platform (33/0/3/0) is a near-empty unrelated dataset → the v3 “zero prod data / fully reversible” claim holds ONLY for Platform.
- D4 thumbnail: genuinely net-new on RI (ship empty). The 55 old client-prod og:image values are wiped (not backfilled). Writer retired (ID-110) → open sub-point: re-wire og:image capture (
content-extractor.ts:276) into the NEW reference ingest so RIs get thumbnails going forward, vs leave empty. - D11 — DISSOLVED by owner (2026-06-28): client-prod is NOT live / no real users; id-45 does a full-replace re-ingest (cocoindex full walk) that WIPES & rebuilds client-prod from the gated corpus. So current client-prod content = pre-OKF debris, not data to migrate. The “disposable L-records, regenerated from L-raw” framing is correct — make it explicit that it covers client-prod via wipe-and-replace (not just Platform’s emptiness).
- Flag (non-blocking): the 15
manualq_a_pairs in client-prod are NOT corpus-derived → discarded by the wipe. Acceptable (not-live seed data); future manual pairs use the D3 authoring path. Confirm none of the 15 need preserving into the corpus first.
F2 — Q&A editor EXISTS (live, mature, shipped S198) — D3 = reuse-and-repoint, not build-new.
- Live surfaces:
app/item/new/create-content-client.tsx(Q&A create),components/qa/qa-answer-display.tsx(Tiptap inline edit),app/library/library-content.tsx(Q&A Library viewer). EP8 confirms “Shipped S198 / fully-mature.” The only deletions were a hook-refactor + docx-parser retirement (not the editor). - D3 reframes: rebind the existing Q&A editor’s data layer from content_items → typed q_a_pairs + add the manual-authoring create path (
'manually_authored'origin_kind). Gated by the content_items→q_a_pairs cutover. Not greenfield.
F3 — id-133 BUILDS ON id-63 (faithful) — D6 satisfied.
- Decision A (markdown register authoritative) = original Q-OQR1-12; Decision B (per-value provenance) extends Q-OQR1-11; entity_type/relationship CORE-closed honoured; HARD/SOFT enforcement preserved (id-63’s contribution).
- ONE loose thread: original “auto-fresh register / ID-9-Astro auto-sync” vision is replaced by hand-authored-contract + parity-guard + docubot lane. id-133 should add a reconciliation note tying the docubot lane to the original auto-fresh intent + explicitly closing the ID-9/Astro linkage (else lineage looks abandoned). Otherwise aligned — no other id-133 changes.
F4 — all 3 computed cols ARE consumed (on surviving surfaces) — D1 persist all 3, drop dead.
classification_confidence: review-queue ordering (app/api/review/queue),lib/quality/quality-score.ts, MCPformatters/quality.ts. USED.classification_reasoning:lib/provenance/item-provenance.ts, MCPformatters/ai.ts. USED (provenance/audit).secondary_domain/secondary_subtopic:components/review/review-card.tsx(display),lib/domains/procurement/form-templating/template-coverage.ts(forms matching), provenance, MCP. USED.- → Persist confidence/reasoning/secondary_* onto source_documents (extend flow.py to write them); drop
classification_model(dead, 0 consumers as a stored value).
NEW DECISION pending owner (D11): client-prod migration framing — see chat
Section titled “NEW DECISION pending owner (D11): client-prod migration framing — see chat”Propagation order (after F1–F4 resolve)
Section titled “Propagation order (after F1–F4 resolve)”- okf-record-model-v3.md — §3.2 (thumbnail D4, layer DROP D5, classification reclassify D1), §3.4 (citation reframe D8), §5 (per-axis facet D7 + RI deferral), §8.2 (forms drop SD D2), §9 (E1 numbers + DB caveat)
- id-131 PRODUCT/TECH — per-axis facet (D7), classification cols (D1/F4), thumbnail RI (D4/F1), forms (D2), citation (D8), GOV-FACET consumer list +governance-section.tsx (E3); +subtasks: manual q_a (D3/F2), search-redesign research (D9)
- id-133 TECH — BI-4 retire-from-SD-keep-CV (D5), BI-7/Decision A reframe + id-63 alignment (D6/F3)
- id-132 — method-name fix + Pass-2 note (E8); Platform OKF repo coordination (D10)
- id-134 — HELD per RATIFY-3 (gate op_id filter E1, corpus ownership D10 queued)
- Ledger/Curator — the 4 tracking actions above