S161 Crosscheck Report — System Issues: PG vs Nuxt
S161 — Crosscheck Report: System Issues
Agent: Claude Code (CLI) | Ngày: 2026-03-25 Status: PG = Nuxt = 754. 100% KHỚP. Không cần fix code.
PG Truth
Total issues: 754
By severity: WARNING=620, CRITICAL=133, INFO=1
By issue_class: data_fault=615, render_fault=135, sync_fault=2,
watchdog_fault=1, contract_fault=1
By status: archived=738 (dot-scanner), open=16 (dieu31-runner)
meta_catalog: CAT-017 record_count=754
Nuxt Display
/api/registry/system-issues:
all=754, critical=133, warning=620, info=1, group_count=5
/api/registry/system-issues-groups:
data_fault=615, render_fault=135, sync_fault=2,
contract_fault=1, watchdog_fault=1
totals: all=754, critical=133, warning=620
/api/registry/counts:
total=17318 (SUM record_count for managed — NOT system_issues)
Crosscheck Table
| Metric | PG Truth | Nuxt Display | KHỚP/SAI |
|---|---|---|---|
| Tổng issues | 754 | 754 | KHỚP |
| CRITICAL | 133 | 133 | KHỚP |
| WARNING | 620 | 620 | KHỚP |
| INFO | 1 | 1 | KHỚP |
| Nhóm count | 5 | 5 | KHỚP |
| data_fault | 615 | 615 | KHỚP |
| render_fault | 135 | 135 | KHỚP |
| sync_fault | 2 | 2 | KHỚP |
| contract_fault | 1 | 1 | KHỚP |
| watchdog_fault | 1 | 1 | KHỚP |
| meta_catalog rc | 754 | N/A | KHỚP |
Age Analysis
By source_system:
| Source | Status | Count | % |
|---|---|---|---|
| dot-scanner | archived | 738 | 97.9% |
| dieu31-runner | open | 16 | 2.1% |
16 Runner Issues (all OPEN):
- #746-#761: Created by M1 test runs (2026-03-24) when contracts used wrong data-testid checks
- After M2 contract fix (v2.0), these checks no longer exist
- Issues are STALE/SUPERSEDED — no matching active contract check
- WATCHDOG #758: occurrence_count=4 (legitimate, actively updating)
Breakdown of 16 runner issues:
| Type | Count | Example |
|---|---|---|
| Old data-testid checks (fixed in M2) | 12 | "Health table exists", "Species table exists" |
| CASCADE parent (old) | 1 | "CASCADE: 9 checks failed in CTR-003" |
| WATCHDOG (active) | 1 | "Check luôn FAIL" — legitimate, occ=4 |
| Old LAYER 2 badge (fixed in M2) | 2 | "LAYER 2 badge present" |
Verdict
100% KHỚP — PG = Nuxt = 754 trên mọi metric.
Con số 754 là ĐÚNG:
- 738 legacy issues (dot-scanner, properly archived)
- 16 runner issues (15 stale from old contracts + 1 active WATCHDOG)
Finding: 15 stale runner issues
15 of 16 open runner issues reference OLD contract checks that no longer exist after M2 contract fix (v2.0). They should be archived with resolution "superseded by contract v2.0".
This is a lifecycle gap: runner creates issues but doesn't auto-close issues when the contract/check they reference is removed or changed. Recommendation for future: runner should check if its violation_hash still matches an active measurement/contract, and auto-archive if not.
Actions Taken
No code fix needed — data is 100% correct. No PR created.
Finding logged: 15 stale issues need manual archive or auto-lifecycle mechanism.
VERIFY NUXT
VERIFY NUXT:
- Nuxt URL: /api/registry/system-issues
Hiện: all=754, critical=133, warning=620, info=1, group_count=5
PG: COUNT(*)=754, CRITICAL=133, WARNING=620, INFO=1, 5 classes
KHỚP.
- Nuxt URL: /api/registry/system-issues-groups
Hiện: 5 groups — data_fault=615, render_fault=135, sync_fault=2, contract_fault=1, watchdog_fault=1
PG: Identical breakdown
KHỚP.
- Nuxt URL: /knowledge/registries (Dòng 11)
Số lượng: 754. Thành phần: 5 nhóm. Mồ côi: 133.
PG: 754 total, 5 classes, 133 CRITICAL.
KHỚP.
Tự kiểm tra
| # | Mục | ĐẠT |
|---|---|---|
| 1 | Đọc OR + quote checkpoint | ĐẠT |
| 2 | PG queries, kết quả chính xác | ĐẠT |
| 3 | Nuxt APIs, kết quả chính xác | ĐẠT |
| 4 | Crosscheck table đầy đủ | ĐẠT — 11 metrics, all KHỚP |
| 5 | verify_counts check | ĐẠT — meta_catalog 754 = COUNT(*) 754 |
| 6 | Age analysis | ĐẠT — 738 archived + 16 open (15 stale + 1 WATCHDOG) |
| 7 | VERIFY NUXT format | ĐẠT |
| 8 | Report uploaded | ĐẠT |