disclosure-bureau/investigator-runtime
Luiz Gustavo 33dee46060
Some checks failed
CI / Web — typecheck + lint + build (push) Failing after 34s
CI / Scripts — Python smoke (push) Failing after 4s
CI / Web — npm audit (push) Failing after 39s
CI / Retrieval — golden set (Recall@5 + MRR) (push) Failing after 4s
W4.3: Poirot direct-testimony floor — no defamatory verdicts on thin data
Live failure surfaced by user feedback: Poirot wrote a low-credibility
verdict on J. Edgar Hoover (W-0002) based on 1 actual chunk and 11
entity_mentions false positives where 'DIRECTOR'/'DIRETOR' was linked to
him by mistake. Poirot's own bias_notes correctly identified this — yet
still produced a verdict. Published on a 'Disclosure Bureau' site, that's
libellously misleading.

Deleted W-0001 (Donald Keyhoe) and W-0002 (J. Edgar Hoover) from
public.witnesses + their .md files.

Prompt rewrite (prompts/poirot.md):
  - New "What counts as testimony" section up front, before discipline.
    Direct testimony = the person AUTHORED, was QUOTED verbatim with
    attribution, or GAVE testimony in a recorded hearing. Not: third-
    party mentions, generic title appearances ('Director'/'Diretor'
    that entity-extraction speculatively linked), CC lines.
  - HARD FLOOR rule: emit `direct_testimony_chunk_ids[]`. If < 3, refuse
    with INSUFFICIENT_TESTIMONY. For famous historical figures
    (Wikipedia-worthy public figures) the floor is 5.
  - Bias claims MUST cite a specific chunk; ungrounded bias claims drop.
  - Tone: "careful prosecutor preparing a brief, not debunker scoring
    points."

Defense in depth (poirot.ts):
  - Detective enforces the same floor before calling writeWitnessAnalysis,
    using a FAMOUS slug list (j-edgar-hoover, donald-keyhoe, j-allen-
    hynek, curtis-lemay, vannevar-bush, eisenhower, truman, kennedy,
    ted-bloecher, ...).
  - When the floor isn't met, emit `poirot_refused_floor` audit event +
    skip with reason like `insufficient_direct_testimony_1_of_5`.
  - Sentinel parser now also catches INSUFFICIENT_TESTIMONY when it
    appears on the first line of an otherwise-prose response.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 13:32:46 -03:00
..
prompts W4.3: Poirot direct-testimony floor — no defamatory verdicts on thin data 2026-05-24 13:32:46 -03:00
src W4.3: Poirot direct-testimony floor — no defamatory verdicts on thin data 2026-05-24 13:32:46 -03:00
Dockerfile W3.1-W3.4: Investigation Bureau foundation — migrations, runtime, Locard 2026-05-23 19:49:33 -03:00
package-lock.json W3.1-W3.4: Investigation Bureau foundation — migrations, runtime, Locard 2026-05-23 19:49:33 -03:00
package.json W3.1-W3.4: Investigation Bureau foundation — migrations, runtime, Locard 2026-05-23 19:49:33 -03:00
tsconfig.json W3.1-W3.4: Investigation Bureau foundation — migrations, runtime, Locard 2026-05-23 19:49:33 -03:00