test(explore): add the factory-closure fixture and its selection probe (CG-27)

A file whose top-level symbol spans almost all of it — createFoo() returning
an object of closures — is how Svelte 5 rune stores, React custom-hook modules,
IIFE module-pattern JS and Zustand's create((set,get)=>({…})) are all written.
probe-factory-closure.mjs measures what such a file DELIVERS from within: which
inner symbols' definitions reach the agent, not how many bytes did.
This commit is contained in:
Colby McHenry
2026-08-06 13:58:36 -05:00
parent dc4fd755ef
commit d49265043c
11 changed files with 992 additions and 0 deletions
@@ -0,0 +1,23 @@
import { createDashboardStore } from './stores/dashboard-store';
import { createAlertsStore } from './stores/alerts-store';
import { mountPanel } from './ui/panel';
import { parseFilterText } from './services/filter-parser';
import { refreshMetricCache } from './services/metric-service';
import type { StoreDeps } from './stores/types';
/** Wire a dashboard: build both stores, mount the panel, boot it. */
export async function startDashboard(deps: StoreDeps, baseUrl: string, dashboardId: string) {
const store = createDashboardStore(deps, baseUrl);
const alerts = createAlertsStore(deps, baseUrl);
const panel = mountPanel(store, dashboardId);
await panel.boot();
await alerts.refreshAlerts(dashboardId);
return { store, alerts, panel };
}
/** Apply the filter bar's text to the dashboard store. */
export function searchDashboard(store: ReturnType<typeof createDashboardStore>, text: string) {
return store.applyFilter(parseFilterText(text));
}
export { refreshMetricCache };