PROD-NB-001 — Expose complete notebook kernel controls
| Field | Value |
|---|---|
| Status | Open; source-verified, live capture pending |
| Architecture state | Source-backed incomplete UI capability |
| Severity | Medium |
| Affected surface | Notebook toolbar, kernel menu, cell interrupt, and Stop Server |
| Components | sparqd/oqullus; Jupyter kernel APIs |
| Associated issue | oqullus #522 |
Where the problem appears
Inspect the notebook toolbar and attempt Interrupt, Restart, Restart and Run All, Shut Down, Start Server, and Stop Server.
Concrete observed case
Start Server, Stop Server, status, and cell cancellation are exposed. Notebook toolbar icons for interrupt and restart operations are visible but not wired, while the complete Kernel menu is disabled despite underlying lifecycle operations existing in Workspace context.
Expected condition
Every visible action works with correct notebook/server scope and feedback, or is absent. Restart and shutdown warn about state loss; Stop Server warns that it affects all sessions.
Cause and evidence
The UI surfaces toolbar controls without action handlers and hides the menu that would otherwise expose the implemented lifecycle operations.
Why it matters
Users facing a stuck kernel can click inert controls or resort to stopping the entire personal server, disrupting unrelated notebooks.
Existing controls and workarounds
Cell-level interrupt and server start/stop are available. Stop Server is a broader and more destructive workaround than notebook-scoped restart.
Alternatives considered
- Recommended: expose working Interrupt, Restart, Restart and Run All, and Shut Down with explicit scope and confirmation.
- Hide incomplete toolbar controls until implemented.
- Expose raw kernel/session creation — rejected; low-level identity should remain internal. Show Change Kernel only when multiple approved kernels exist.
Component involvement
sparqd/oqullusowns action visibility, invocation, confirmation, scope, and result feedback.- Jupyter kernel APIs provide the lifecycle operations.
Reproduction and verification
Follow NB-S012.
Resolution conditions
Close when every visible action has one request, correct scope, terminal feedback, state-loss warning, and automated plus deployed verification.
Validation and blockers
Source behavior is confirmed. Authenticated live capture remains pending.