chore(tasks): summaries + oai11 completion for wave-1 merges

This commit is contained in:
2026-08-30 20:08:44 +00:00
parent a71592e42c
commit ef6eab020d
5 changed files with 26 additions and 6 deletions
@@ -53,4 +53,8 @@ terminates after 3 pages — the cycling shape is untested.
Small, self-contained, feature-gated (`mcp`). Consider (optional) a
`max_tools` sanity cap as well — same budget family, one more guard
against a hostile server — but do not let scope creep: the page cap +
deadline closes the hang, which is the finding.
deadline closes the hang, which is the finding.
## Summary
list_all_tools_bounded replaces rmcp's unbounded list_all_tools: 100-page cap + 60s deadline (per-page timeout sized to remaining budget), loud DiscoveryFailed naming both budgets on trip, fail-closed import. Cycling-cursor integration test (previously hung forever).
@@ -1,7 +1,7 @@
---
id: review-002-oai11-ref-memoization
name: Memoize $ref expansion to bound resolver work (OAI-11)
status: pending
status: completed
depends_on: []
scope: moderate
risk: medium
@@ -67,4 +67,8 @@ exponential re-resolution, not allocation). If memoizing, note the
active cycle attempt must never be cached (write-on-success at the
top of the recursion return path, or post-order). This is the one
subtle part; the existing cycle tests + the four new shape tests are
the safety net.
the safety net.
## Summary
Memoized $ref expansion (write-on-success cache) + node-budget accounting on memo hits + separate MAX_REF_HOP_DEPTH (64) from structural depth (128). Exponential diamond chains now fail with a clean budget error (<1s) instead of OOM. Note: the original WIP's unbounded memo-hit clone OOM-killed the dev server twice during implementation; verified under a 2G systemd scope.