delete the batch practice-problems module (superseded by practice sessions)

Owner ruling 2026-10-04: the module is a sunk cost, retrievable from
history if ever revisited. Removed: core practice contracts + pipeline
helpers, the PracticeStore port + adapter + data dir path, server
service + API routes (sets, clusters picker, practice aborts), the
practice pages + dialog/exam/list UI, chain-table's Generate handoff,
sidebar nav, activity-dock practice rows, and the partitioner/
problemGenerator/grader model roles (BACKGROUND_MODEL_ROLES 8 → 5).

Survivors, moved to core/chains.ts (pure + browser-safe): ReasoningChain,
chainsForSelection, formatChainLine — the chain table and graph
emission still consume them.
This commit is contained in:
amosblomqvist
2026-10-04 21:34:24 +03:00
parent a2c1287415
commit 814c2ad412
50 changed files with 125 additions and 5767 deletions
+4 -5
View File
@@ -880,12 +880,11 @@ export function GraphChromeRow({
)}
</div>
)}
{/* The chain table (chains overlay, owner plan 2026-09-29) — the
graph's free-form practice entry. Own container (36px band),
between the search and Import. */}
{/* The chain table (chains overlay, owner plan 2026-09-29). Own
container (36px band), between the search and Import. */}
{!isEmpty && (
<div className="graph-chrome-fade-in shrink-0 rounded-xl border bg-card/85 px-1 py-[3px] shadow-lg backdrop-blur">
<Hint label="Every reasoning chain, selectable for practice" side="bottom">
<Hint label="Every reasoning chain" side="bottom">
<button
type="button"
onClick={onOpenChains}
@@ -1664,7 +1663,7 @@ export function GraphView() {
ABSOLUTE INSIDE the graph area (the session-overlay idiom —
never a body portal) so the app chrome stays sharp and
reachable; the overlay itself is read-only toward the graph
and owns its selection + the custom practice dialog.
and owns its selection.
LAST CHILD OF THE ROOT, DELIBERATELY (owner, 2026-09-29
night): app-region subtraction resolves by DOM order, not
z-index — mounted earlier, the chrome's lh-no-drag column