-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.vibe-risk-history.json
More file actions
138 lines (138 loc) · 8.67 KB
/
Copy path.vibe-risk-history.json
File metadata and controls
138 lines (138 loc) · 8.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{
"schema_version": 3,
"rubric_note": "v4 per-package scoring introduced 2026-06-11. Per-package histories + ledgers now live in packages/*/.vibe-risk-history.json. v4 scores are NOT directly comparable to the v3 unified totals below (rubric baseline reset: deterministic composition, first-party-only thresholds, flow-cost, .vibe-riskrc exclusions).",
"standing_deductions": [
{ "id": "SD-ROOT-001", "dimension": "module_srp", "sub_item": "SRP-F1", "points": -2, "kind": "disputed", "reason": "preview-site god files Nav.tsx/ChangedFilesTree.tsx >4000 tok — tracked in packages/preview-site ledger (SD-PV-001)", "clearing_condition": "see SD-PV-001", "verify_cmd": "node .claude/skills/vibe-risk-analyzer/references/scripts/census.mjs packages/preview-site/src --rc .vibe-riskrc.json", "registered": "2026-06-11", "last_verified": "2026-06-11" },
{ "id": "SD-ROOT-002", "dimension": "type_safety_contracts", "sub_item": "TYP-Q4", "points": -1, "kind": "disputed", "reason": "`as` assertion density across packages (DOM/CodeMirror/zod narrowing; 0 any) — tracked per package (SD-PV-003, SD-TR-002, SD-CE-002)", "clearing_condition": "see per-package ledgers", "verify_cmd": "rg -c \"\\bas\\s+[A-Z]\" packages/*/src", "registered": "2026-06-11", "last_verified": "2026-06-11" }
],
"scans": [
{
"date": "2026-06-11T02:40:00Z",
"mode": "full",
"skill_version": "4.1.0",
"rubric": "v4",
"phase": "post-remediation",
"monorepo_summary": true,
"total": 94,
"total_basis": "simple average of per-package v4 totals (95/92/96)",
"level": "EXCELLENT",
"per_package": {
"create-eikon-react": { "total": 95, "delta": "+3", "ai_native_ceiling": true },
"preview-site": { "total": 92, "delta": "+3" },
"template-react": { "total": 96, "delta": 0, "ai_native_ceiling": true }
},
"ledger": { "cleared": 5, "kept_policy": 3, "real_violation_fixed": "lib->landing (site-config relocated to lib/)" },
"build_status": "green: typecheck + lint + 725 tests (132+181+412) across all 3 packages; 0 console errors on live preview (port 3100)",
"notes": "Full remediation landed build-green. 0 files >4000 anywhere (4 god files split + data/vendored declared). Added i18n-dict.ts, spawn-collect.ts, package AGENTS.md, and a PR-PV scan-test fence that caught + fixed a real un-fenced lib->landing import. Remaining deductions are policy (as-assertion ceilings, intentional behavioral-test fixtures, ui_heavy coverage) — no debt left."
},
{
"date": "2026-06-11T00:00:00Z",
"mode": "full",
"skill_version": "4.1.0",
"rubric": "v4",
"monorepo_summary": true,
"total": 92,
"total_basis": "simple average of per-package v4 totals (optional summary row; not a substitute for per-package trend lines)",
"level": "EXCELLENT",
"per_package": {
"create-eikon-react": { "total": 92, "level": "EXCELLENT", "refactoring_risk": 5, "ai_extension_risk": 6, "history": "packages/create-eikon-react/.vibe-risk-history.json" },
"preview-site": { "total": 89, "level": "EXCELLENT", "refactoring_risk": 11, "ai_extension_risk": 8, "history": "packages/preview-site/.vibe-risk-history.json" },
"template-react": { "total": 96, "level": "EXCELLENT", "ai_native_ceiling": true, "refactoring_risk": 4, "ai_extension_risk": 3, "history": "packages/template-react/.vibe-risk-history.json" }
},
"ai_app_surface_active": false,
"vibe_riskrc": ".vibe-riskrc.json (added this scan: generatedGlobs .preview-cache + create-eikon-react/template; dataAssetGlobs template-snapshots)",
"top_issues": [
"template-react 96 = AI-native ceiling; preview-site 89 lowest (god files + thin behavioral tests)",
"per-package scoring reveals what the unified 91 average hid: preview-site test thinness",
"no .vibe-riskrc previously — generated/.preview-cache mirrors were polluting first-party size"
],
"notes": "First v4 scan, per-package mode. All 3 packages EXCELLENT (>=86). No package is an LLM application (Dim 13 inactive). madge reported 0 files (vacuous on Windows) — circular-dep cleanliness rests on graph-fallback import-scan (no cycle clusters) + boundary-imports.test + PR-PV import prohibitions + eslint. pnpm audit (official registry): 0 vulns. jscpd: 3.26%/1.62%/2.70%."
},
{
"date": "2026-06-04T17:30:00Z",
"mode": "full",
"skill_version": "3.0.0",
"total": 91,
"level": "EXCELLENT",
"total_loc": 56286,
"total_files": 432,
"project_scale": "LARGE",
"monorepo_packages": [
"template-react",
"preview-site",
"create-eikon-react"
],
"refactoring_risk": 10,
"refactoring_risk_level": "MINIMAL",
"ai_extension_risk": 7,
"ai_extension_risk_level": "MINIMAL",
"perf_debt_signals": 8,
"prohibition_count": 22,
"context_artifact_score": 10,
"dimensions": {
"module_srp": 6,
"pattern_consistency": 14,
"type_safety_contracts": 11,
"test_coverage_invariants": 12,
"ai_context_artifacts": 10,
"architecture": 8,
"dependency_health": 7,
"prohibition_density": 6,
"naming": 6,
"duplication": 5,
"determinism": 3,
"security_tooling": 3
},
"top_issues": [
"module SRP held at band 6/14: 7 files >4000 tok remain (Nav 6573, i18n data, icons data, ChangedFilesTree 5258, e2e-scenarios data, a test, useFooterSpotlight) + 66 files >2000 — coarse size bands + cohesive data/test files cap the score without harmful fragmentation",
"type safety 11/12: 145 `as` assertions (mostly legitimate DOM/CodeMirror narrowing); clearing to <20 would require unsafe changes",
"Nav.tsx and ChangedFilesTree.tsx are the only two genuinely-unsplit god files; both internal to preview-site"
],
"notes": "Post-workflow remediation (21-agent orchestration + manual cleanup). DONE: broke the preview-site circular dep (now 0 cycles in all 3 packages); 13 god files split cleanly preserving public exports (Footer 8904->3734, builder 6527->1157, index 5787->1613, e2e 10953->2726, Toolbar/FileExplorer/Hero/ScreenContent/handlers/simulate-strip/PlaygroundSection/ChangelogPage/apply-ui-snapshot/sync-ui-snapshots), dropping files>4000tok from 20 to 7; removed 4 genuinely-unused deps (@radix-ui/react-label, @tanstack/react-query, clsx, tailwind-merge) + 6 orphan files (device-mockups, ThemeToggle); expanded root AGENTS.md 39->129 lines; added preview-site/.agent/rules/00-structure.md (PR-PV-001..005). Cleaned up 2 incomplete parallel-agent splits (Nav, ChangedFilesTree) that had left orphan/duplicate files. VERIFIED GREEN: typecheck + 707 tests + lint (--max-warnings 0) + 0 madge cycles, all 3 packages; duplication 1.98%. Honest ceiling: a literal 100 would require fragmenting ~60 cohesive files (i18n tables, icon maps, UI showcases) below 1200 tokens and stripping ~125 legitimate `as` assertions, both of which degrade maintainability — declined as harmful."
},
{
"date": "2026-06-04T00:00:00Z",
"mode": "full",
"skill_version": "3.0.0",
"total": 86,
"level": "EXCELLENT",
"total_loc": 56369,
"total_files": 359,
"project_scale": "LARGE",
"monorepo_packages": [
"template-react",
"preview-site",
"create-eikon-react"
],
"refactoring_risk": 17,
"refactoring_risk_level": "LOW",
"ai_extension_risk": 13,
"ai_extension_risk_level": "MINIMAL",
"perf_debt_signals": 12,
"prohibition_count": 0,
"context_artifact_score": 9,
"dimensions": {
"module_srp": 6,
"pattern_consistency": 13,
"type_safety_contracts": 11,
"test_coverage_invariants": 12,
"ai_context_artifacts": 9,
"architecture": 8,
"dependency_health": 7,
"prohibition_density": 4,
"naming": 6,
"duplication": 4,
"determinism": 3,
"security_tooling": 3
},
"top_issues": [
"preview-site god files (PreviewFrame 938L, Footer 895L, builder 840L)",
"19 non-test files >4000 tokens",
"no grep-verifiable prohibition catalog (0 PR-NNN / backticked-pattern rules)",
"no root-level AGENTS.md for monorepo contributors",
"no coverage report emitted in CI"
],
"notes": "First scan. madge/knip/jscpd could not execute (npx broken under nvm4w on Windows; pnpm audit endpoint is a China mirror without audit support). Circular-dep and dead-code scores rest on the 12 structural scan tests + eslint import/no-restricted-paths evidence. .preview-cache/ (5 full template copies, gitignored build artifact) excluded from all counts."
}
]
}