InsuranceBot / 80-audit /README.md
rohitsar567's picture
refactor: KI-047 β€” bucket reorg (Option A safe subset)
e2d09f9
|
Raw
History Blame Contribute Delete
3.19 kB

80-audit/ β€” Audit output + production-readiness register

Two artefact classes coexist here:

  1. ENTERPRISE_AUDIT.md β€” the master defect log. A living, hand-curated, severity-tagged register of every P0/P1/P2/P3 issue discovered during the readiness sprint, with evidence + fix status. Start here before any deploy decision.
  2. <run_id>/ subdirectories β€” per-run output of the multi-persona audit framework (tools/audit/). Each is a complete, immutable snapshot of one full or partial 100-persona pass.

ENTERPRISE_AUDIT.md

Section What's there
Executive scorecard One-line status per domain: disk stability, data pipeline, observability, accuracy, latency, profile capture, language fairness, code hygiene, test coverage, voice UX, fact-find tone, secrets.
Defect Register D-001 … D-NNN. Each row: severity (P0–P3) Β· title Β· symptom Β· root cause Β· impact Β· fix status.

Severity legend: P0 blocks production deployment Β· P1 blocks enterprise procurement Β· P2 quality / hygiene Β· P3 nice-to-have.

Status emoji: βœ… fixed Β· ⚠️ partial Β· 🟑 improving Β· πŸ”΄ open.

Run-directory layout

80-audit/
β”œβ”€β”€ ENTERPRISE_AUDIT.md
└── <run_id>/
    β”œβ”€β”€ transcripts/
    β”‚   β”œβ”€β”€ P001.json
    β”‚   β”œβ”€β”€ P002.json
    β”‚   β”œβ”€β”€ P003.partial.json     (in-flight or interrupted persona)
    β”‚   └── …
    β”œβ”€β”€ report.md                 (analyze.py rollup)
    └── summary.json              (machine-readable rollup)
Run-ID prefix Meaning
full_YYYYMMDD_HHMMSS Full 100-persona pass against the live HF Space.
postfix_YYYYMMDD_HHMMSS Targeted re-run after shipping a specific fix, used to confirm the defect is gone.

Each persona transcript

transcripts/P###.json captures the 30-turn flow for one persona. Per turn:

Field Source
user_text tools/audit/flows.py
reply_text live API
intent, brain_used backend/orchestrator.py
citations backend/main.py response
profile_updates backend/profile_extractor.py
faithfulness_passed, blocked backend/faithfulness.py
latency_ms wall-clock around the HTTP call

.partial.json files indicate the audit was interrupted (rate-limit pile-up, deploy mid-run, etc.); the runner is resumable and will pick up from the next persona on restart.

How runs flow into the register

  1. python tools/audit/run_audit.py writes per-persona transcripts.
  2. python tools/audit/analyze.py 80-audit/<run_id>/ rolls up report.md + summary.json.
  3. New defects β†’ new D-NNN row in ENTERPRISE_AUDIT.md.
  4. Fixes β†’ status flipped, run re-executed as postfix_…, evidence linked.

Related

  • tools/audit/README.md β€” framework that produces the run dirs
  • tools/audit/personas.json, tools/audit/flows.json β€” the deterministic inputs each run replays
  • Root CLAUDE.md β€” high-level project state; defers detail to this file for change history
  • kb/AUDIT_TRAIL.md β€” data-lineage doc that pairs with the behaviour-audit log