Spaces:
Sleeping
Sleeping
80-audit/ β Audit output + production-readiness register
Two artefact classes coexist here:
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.<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
python tools/audit/run_audit.pywrites per-persona transcripts.python tools/audit/analyze.py 80-audit/<run_id>/rolls upreport.md+summary.json.- New defects β new
D-NNNrow inENTERPRISE_AUDIT.md. - Fixes β status flipped, run re-executed as
postfix_β¦, evidence linked.
Related
tools/audit/README.mdβ framework that produces the run dirstools/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