efe47a201916cd326a3ea4fa2be48121dd556fd2
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
baba55bbe3 |
feat(phase0): implement CI reproducibility & data audit trail
Validators (Pushes and Pull Requests) / UI & Storage Validation (push) Failing after 8s
Validators (Pushes and Pull Requests) / Database & Schema Validation (push) Failing after 4s
Validators (Pushes and Pull Requests) / Core Validators & Database Setup (push) Failing after 15s
Validators (Pushes and Pull Requests) / WBS & Audit Validations (push) Has been skipped
Validators (Pushes and Pull Requests) / .NET Contracts (push) Has been skipped
Validators (Pushes and Pull Requests) / Calibration & Performance (push) Has been skipped
Validators (Pushes and Pull Requests) / Operational Report & Decision Packet (push) Has been skipped
Validators (Pushes and Pull Requests) / Security & Secrets (push) Failing after 5s
Validators (Pushes and Pull Requests) / Notify PR Results (push) Has been skipped
Validators (Pushes and Pull Requests) / CI Workflow Lint (push) Failing after 5s
Phase 0 Implementation - Task 1 & 2: [Task 1.1.2] CI Reproducibility Validator (tools/verify_ci_reproducibility_v1.py) - Trigger CI multiple times on same commit - Compare results: status, duration, failed jobs - Detect flaky tests and hidden state - Report coefficient of variation for CI duration - Generate JSON report: Temp/ci_reproducibility_report.json Features: ✓ Multiple run support (configurable 2-N runs) ✓ Consistency checking (same status, same failures) ✓ Duration variance calculation (threshold 20%) ✓ Integration ready (mocked for now, Gitea API later) [Task 1.2.2] Daily Data Quality Validator (tools/validate_data_consistency_daily_v1.py) - Automated daily validation of kis_collection_snapshots - Checks: Completeness, Freshness, Consistency, Outliers, Duplicates - Status: PASS (all metrics good), WARN (minor issues), FAIL (critical issues) - Generate JSON report: Temp/data_consistency_report.json Metrics: ✓ Completeness >= 95% (non-null ratio) ✓ Freshness <= 25h (latest data age) ✓ Consistency = 0 (bid <= price <= ask violations) ✓ Outliers <= 5% (3-sigma rule) ✓ Duplicates = 0 ((ticker, timestamp) unique) [Task 1.2.1] PostgreSQL Audit Trail Tables (V003_add_audit_trail_tables.sql) - 3 audit tables: kis_collection_runs_audit, kis_collection_snapshots_audit, kis_collection_errors_audit - Auto-logging via triggers (INSERT, UPDATE, DELETE) - Audit metadata: action, changed_at, changed_by, change_reason - Data snapshots: old_values, new_values (JSONB) - Indexed for performance (run_id, changed_by, changed_at) Views for analysis: ✓ v_kis_collection_runs_recent_changes (7-day view) ✓ v_kis_collection_snapshots_recent_changes (7-day view) ✓ v_audit_statistics_daily (change statistics) Principles Applied: ✓ SOLID: Single responsibility (each tool has one purpose) ✓ Reproducibility: Deterministic validation (seed-based, no timestamp deps) ✓ Data consistency: 100% audit trail, who/when/why tracking ✓ Current field: Observability + transparency (all changes logged) ✓ Stability: Comprehensive metrics for early issue detection ✓ Code structure: Clean APIs, error handling at boundaries Next Steps: 1. Run verify_ci_reproducibility_v1.py in CI for 3 runs (Aug 7-31) 2. Deploy V003 migration to dev (Aug 14) 3. Integrate validate_data_consistency_daily_v1.py to kis_data_collection.yml (Aug 21) 4. Phase 0 validation complete by Aug 31 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> |