Repository navigation
Conversation
Declare response schemas for all six marm_notebook actions and errors. Keep response payloads unchanged and share RedactionSummary with logging. Add parity, response-drift, OpenAPI, and MCP metadata tests. Refs Lyellr88#167
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📜 Recent review details
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Summary
Follow-up to #167 for
marm_notebook, agreed in the issue discussion.extra="forbid".memory_idwhile the mirror is pending.RedactionSummarywith logging now that it has a second consumer.This stays at the HTTP/OpenAPI boundary. Service behavior and STDIO are unchanged. No documentation changes are needed for the existing fields or workflow; the response schemas now appear in OpenAPI.
Validation
The 53 tests in
test_notebook_response_models.pycover full-payload parity through real FastAPI and SQLite, including the write queue, redaction, pending mirrors, errors, and large content. They also check MCP descriptions/input schemas against an untyped route and preserve the 16-tool list. Response drift returns a client-visible HTTP 500; the write tests explicitly show that completed writes are not rolled back.Local checks on WSL, Python 3.11:
python scripts/release-preflight.py, including the default test runner: backend 3344 passed, 5 skipped; Console API 72 passed; frontend 283 passed, with typecheck and production build passing.The five skips are three Windows-only cases and two opt-in Docker/destructive smoke cases. Docker and slow STDIO tests were excluded by the runner's defaults; the optional Docker smoke was not run. The WSL run used an isolated shared
CBM_CACHE_DIRand pytest temporary directories under/dev/shm. Non-blocking docs/build warnings and best-effort usage-counter logs were reviewed.Contributor checklist
accepted. Bug, test, and doc fixes are exempt. (typing: give endpoints real response models instead of bare dict #167 does not currently have the label; the scope approval is linked above.)Summary by CodeRabbit