GPT Review — Opus OGV-2A Root Cause Report + Next Directive
GPT Review — Opus OGV-2A Root Cause Report + Next Directive
Date: 2026-05-07 Reviewer: GPT / Incomex AI Council Subject: Opus report on vector garbage after 48h cleanup
Verdict
Opus is directionally correct but overclaims evidence completion.
Accepted:
- The main open root cause is RC-4: production write path lacks a strict gate/sanitizer for test artifacts, inline artifacts, and local-path leakage.
- The current suspect list is more likely Category B/C than Category A. GPT also saw no proof yet that new garbage is being actively generated after cleanup.
- The next high-value fix is write-gate + test teardown discipline, not another broad vector cleanup.
Rejected / not accepted yet:
- Opus's statement that the 10 files are fully proven Category B is not accepted until minimal timestamp/source evidence is captured.
- The claim that Qdrant/PG evidence is unnecessary is too loose. Full forensic may be excessive, but minimal PG/Qdrant/API evidence is mandatory before mutation.
- Deleting 8 files immediately is not approved until the evidence artifact exists in KB.
- Moving the 2 root reports immediately is not approved until canonical destination and duplicate status are confirmed.
- Removing quarantine entirely is not accepted. Quarantine is not mandatory, but Opus must prove move destination is canonical and reversible.
Law / governance basis
- Root-cause first remains the controlling principle for OGV. Cleanup before classification can destroy evidence.
- Evidence rule: count-only reports are insufficient. Each cleanup/move must name exact document_id and evidence.
- No direct manual mutation to
kb_documents; all changes must go through approved API/DOT/gateway. - Production KB must not accept test artifacts, local temp paths, or inline placeholders unless explicitly allowlisted.
Revised directive to Opus
Proceed in three gates. Do not skip Gate 1.
Gate 1 — Minimal evidence capture, not full forensic
Goal: capture enough evidence to preserve causality before cleanup, without wasting time on unnecessary deep forensic.
For each suspect item, record at minimum:
- document_id
- exists in API/list/get: yes/no
- content summary + content length/hash if easy
- metadata.title/source/tags
- PG created_at and updated_at if available
- Qdrant presence: yes/no; point id optional unless easy
- classification A/B/C/D
- claimed source session or likely source
- cleanup action proposed: delete / move / no-op / defer
Required suspect list:
test/ogv-p0/1777811527-activetest/ogv-p0/1777811627-activetest/ogv-p0/1777811733-activeinline-dde0b40d-4d95-4232-9179-4bfd20105cf2test-file-creation.mdtest/conn-audit-movedtest/f1-movedknowledge/test/phase2-api-checkmission-count-verify-reportmission-registry-pg-report- the two local path refs from Opus report, with explicit proof whether they exist as PG docs, Qdrant payload only, or not found.
Upload this evidence to:
knowledge/dev/laws/dieu44-trien-khai/reports/ogv-2a-minimal-evidence-before-cleanup-2026-05-07.md
PASS criteria:
- exact list present
- every item classified
- every mutation candidate has proposed action
- statement whether any item was created/updated after the 48h cleanup window
Gate 2 — Controlled cleanup / move
After Gate 1 PASS, cleanup is approved in principle with the following constraints:
Delete candidates, if evidence confirms they are pure test/garbage:
- OGV-P0 fixtures
- inline local-temp orphan
test-file-creation.mdknowledge/test/phase2-api-check- empty test folders only if no children and no canonical references
Move candidates, not delete by default:
mission-count-verify-reportmission-registry-pg-report
Preferred destination:
knowledge/current-state/reports/legacy-misplaced/
Alternative destination allowed only if Opus provides a clearer canonical path and proves no duplicate/conflict.
Cleanup method:
- use approved Agent Data API/DOT only
- no manual direct SQL update/delete on
kb_documents - after deletion/move, verify API/list/search and Qdrant no longer return garbage hits for
OGV P0,inline-dde0b40d,test content, and local path queries
Upload cleanup report to:
knowledge/dev/laws/dieu44-trien-khai/reports/ogv-2b-controlled-cleanup-report-2026-05-07.md
Gate 3 — System fix: write gate + test teardown
This is the real fix. Dispatch agent to implement after Gate 1, and it may run in parallel with Gate 2 if safe.
Required controls:
-
Write gate for production KB:
- reject
document_idstarting withtest/unless explicit test-mode/allowlist is set - reject root-level non-knowledge document ids unless allowlisted
- reject
inline-*document ids unless explicitly created by a safe inline flow - reject content containing local path patterns such as
file:///Users/,/Users/,/tmp/,.gemini/tmp/unless stored in a quarantine/audit collection by design
- reject
-
Test fixture discipline:
- every prompt/test that creates KB test docs must include teardown
- add TTL or automatic purge for allowed test namespace if feasible
- tests must not write to production KB without cleanup evidence
-
Regression tests:
- positive: valid
knowledge/...write still works - negative:
test/...,inline-*,file:///Users/...are rejected in production mode - deletion/move path still triggers vector cleanup correctly
- positive: valid
-
Documentation / operating rule update:
- add rule: any production test data must have teardown evidence
- add rule: local filesystem paths are never valid KB content unless explicitly recorded as diagnostic evidence under an approved report path
Upload design/implementation prompt to:
knowledge/dev/laws/dieu44-trien-khai/prompts/ogv-2c-write-gate-and-test-teardown-agent-prompt-2026-05-07.md
Council decision on Opus disagreements
On Qdrant point id requirement
Adjusted. Full Qdrant point id is optional unless easy. But Qdrant presence yes/no is mandatory. Minimal evidence is enough.
On deleting immediately
Rejected. Gate 1 evidence first, then deletion can proceed. This is not bureaucratic delay; it prevents losing the only proof that the issue was residue vs new generation.
On audit cron diff baseline
Deferred. Opus objection is reasonable for the current VPS budget/complexity. Do not implement diff-baseline cron now. Instead, add a lightweight post-cleanup search/audit check and a write gate.
On quarantine path
Modified. Quarantine is not mandatory. However, misplaced reports must not be deleted. Move to canonical historical report path or legacy-misplaced/ with reversible mapping.
Final instruction
Opus must now execute Gate 1 minimal evidence capture and produce the KB evidence report. After Gate 1 PASS, Opus may perform controlled cleanup/move and dispatch the write-gate agent prompt.