Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
fa1f963
feat(cala): W4 tiered timeseries storage (task 1)
daharoni Apr 19, 2026
0e4c91a
feat(cala): W4 per-neuron event index (task 2)
daharoni Apr 19, 2026
b47703f
feat(cala): W4 footprint history snapshots (task 3)
daharoni Apr 19, 2026
2b0de20
feat(cala): W2 vitals metric emission (task 4)
daharoni Apr 19, 2026
18c3cfa
feat(cala): W2 periodic footprint snapshots (task 5)
daharoni Apr 19, 2026
e45ff77
feat(cala): archive-client timeseries + neuron queries (task 6)
daharoni Apr 19, 2026
0f645c8
feat(cala): header vitals bar with sparklines (task 7)
daharoni Apr 19, 2026
9d72651
feat(cala): scrolling event feed component (task 8)
daharoni Apr 19, 2026
6068ef5
feat(cala): dashboard layout integration (task 9)
daharoni Apr 19, 2026
23cca88
feat(cala-core): WASM bindings for the Extend driver (task 10)
daharoni Apr 19, 2026
ced5fcd
feat(cala): real extend cycles running in W2 (task 11)
daharoni Apr 19, 2026
2d56032
test(cala): Phase 6 extend E2E + drainApply fix (task 12)
daharoni Apr 19, 2026
ef9bf4d
feat(cala): user-authored mutations from UI (task 13)
daharoni Apr 19, 2026
4dc508c
feat(cala): coi-serviceworker for GitHub Pages SAB (task 14)
daharoni Apr 19, 2026
1685efd
feat(cala): Phase 6 exit — vitals UI + archive backend end-to-end (ta…
daharoni Apr 19, 2026
2381f3b
fix(cala): drive dashboard epoch from fit worker, not W1
daharoni Apr 19, 2026
728670e
style(cala): prettier --write across Phase 6 files
daharoni Apr 19, 2026
bdf35b5
fix(cala-core): update wasm-adapter test mock for Phase 6 bindings
daharoni Apr 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions apps/cala/e2e/phase5-exit.e2e.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -274,12 +274,32 @@ class StubMutationQueueHandle {
}
}

class StubExtender {
// No-op — Phase 5 E2E does not exercise extend. Fit worker
// constructs one because the Extender import became unconditional
// in task 11; `runCycle` and `pushResidual` are wired for the
// real path but here they just no-op so the Phase 5 assertions
// (frame ticks, metric events, preview frames) remain exactly
// what they were before task 11 landed.
constructor(_h: number, _w: number, _win: number, _extendCfg: string, _metadata: string) {}
pushResidual(_r: Float32Array): void {}
runCycle(_fitter: unknown, _queue: unknown): number {
return 0;
}
residualLen(): number {
return 0;
}
free(): void {}
}

vi.mock('@calab/cala-core', () => ({
initCalaCore: vi.fn(async () => undefined),
calaMemoryBytes: vi.fn(() => 0),
AviReader: StubAviReader,
Preprocessor: StubPreprocessor,
Fitter: StubFitter,
MutationQueueHandle: StubMutationQueueHandle,
Extender: StubExtender,
}));

// --- pump loop helper ---------------------------------------------------
Expand Down
Loading
Loading