Skip to content

Commit b1b7bb5

Browse files
committed
Add Baseline tab, Coverage perf + depth fixes, dark mode toggle
Baseline tab (new): - 33-feature x 25-partner correctness matrix from Notion Partner Hub - E3 cell treatment: status emoji + colored letter badges (C/A/I/▶/D/T/✱) - View/Edit toggle with commit/cancel accumulator (batch saves to PB) - PocketBase baseline collection with public read/write, SSE live updates - Stats bar, collapsible categories, fixed legend, 200ms CSS tooltips - Full-row hover highlight, zebra stripes matching Coverage tab Coverage tab fixes: - Depth chip: green = at max achievable (not hardcoded per level) - maxPossible computed from probe existence (CATALOG_TO_D5_KEY) - D5 false positives: removed shared key aliases - Stats bar derives green/amber/red from same logic as depth chips - Hide badges for non-existent tests (was strikethrough) - Render perf: memoize featuresByCategory, React.memo CategorySection - Load perf: getFullList single call (was 7 sequential round-trips) Both tabs: - Dark/light/system theme toggle (upper right) - Column order: Coverage first (1-18), Baseline extras (19-25) - LangGraph naming (orchestration layer, not model router) - Row hover highlight including sticky column
1 parent c8e0ae2 commit b1b7bb5

42 files changed

Lines changed: 10694 additions & 293 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/// <reference path="../pb_data/types.d.ts" />
2+
migrate(
3+
(db) => {
4+
const dao = new Dao(db);
5+
const c = new Collection({
6+
name: "baseline",
7+
type: "base",
8+
schema: [
9+
{ name: "key", type: "text", required: true },
10+
{ name: "partner", type: "text", required: true },
11+
{ name: "feature", type: "text", required: true },
12+
{
13+
name: "status",
14+
type: "select",
15+
required: true,
16+
options: { values: ["works", "possible", "impossible", "unknown"], maxSelect: 1 },
17+
},
18+
{ name: "tags", type: "json", options: { maxSize: 500 } },
19+
{ name: "updated_at", type: "date", required: true },
20+
{ name: "updated_by", type: "text" },
21+
],
22+
indexes: [
23+
"CREATE UNIQUE INDEX idx_baseline_key ON baseline (key)",
24+
"CREATE INDEX idx_baseline_partner ON baseline (partner)",
25+
"CREATE INDEX idx_baseline_feature ON baseline (feature)",
26+
],
27+
listRule: "",
28+
viewRule: "",
29+
createRule: "",
30+
updateRule: "",
31+
deleteRule: null,
32+
});
33+
dao.saveCollection(c);
34+
},
35+
(db) => {
36+
const dao = new Dao(db);
37+
const c = dao.findCollectionByNameOrId("baseline");
38+
dao.deleteCollection(c);
39+
},
40+
);

0 commit comments

Comments
 (0)