chore(tasks): mark yaml-normalization, mcp-batch-cap, cov13, projection-truthfulness completed

This commit is contained in:
2026-08-30 23:36:41 +00:00
parent 1a5ae8748a
commit 9819c24b4f
5 changed files with 26 additions and 10 deletions
+2 -2
View File
@@ -1138,7 +1138,7 @@ mod tests {
.collect();
let mut args = Map::new();
args.insert("calls".to_string(), Value::Array(calls));
let dispatch_spine = dispatch(registry, provider());
let dispatch_spine = dispatch(registry);
let gateway = ToMcpGateway::new(Arc::clone(&dispatch_spine));
let result = invoke_tool(&gateway, "batch", Some(args), None).await;
@@ -1176,7 +1176,7 @@ mod tests {
.collect();
let mut args = Map::new();
args.insert("calls".to_string(), Value::Array(calls));
let dispatch_spine = dispatch(registry, provider());
let dispatch_spine = dispatch(registry);
let gateway = ToMcpGateway::new(Arc::clone(&dispatch_spine));
let result = invoke_tool(&gateway, "batch", Some(args), None).await;
+5 -1
View File
@@ -1,7 +1,7 @@
---
id: review-002-mcp-batch-cap
name: Cap MCP batch tool at MAX_BATCH_OPERATIONS (PRJ-22)
status: pending
status: completed
depends_on: []
scope: single
risk: low
@@ -44,3 +44,7 @@ doc (PRJ-09's fix) advertises no limit either.
One of the smallest tasks in the batch — a good first warm-up slice or
fold-in candidate if a session runs short (but keep the commit
separate; it is its own unit of work).
## Summary
MAX_BATCH_OPERATIONS hoisted to gateway/mod.rs (shared by routes/to_mcp/to_openapi); MCP batch rejects >100 calls pre-dispatch with INVALID_INPUT; schema maxItems + tool description updated. GatewayDispatch::invoke_count() test-spy accessor added.
@@ -1,7 +1,7 @@
---
id: review-002-projection-truthfulness
name: Projection doc truthfulness — dangling CallError ref, status clobber/drifts, OAS-invalid extension (PRJ-16b/17/18/19/20/21/23/24)
status: pending
status: completed
depends_on: []
scope: moderate
risk: low
@@ -86,3 +86,7 @@ PRJ-16b and PRJ-23 escaped). Consider one shared
ADR-045's version bump: these are doc-contract corrections — bump
`info.version` per ADR-045's tracking rule (gateway endpoint contract
itself unchanged).
## Summary
PRJ-16b BatchError component oneOf; PRJ-17 op-declared errors merge into protocol responses; PRJ-18 /publish 400 narrowed; PRJ-19 415/422 slots via shared builders; PRJ-20 /call 401 identity split; PRJ-21 unreachable /batch 500 removed; PRJ-23 invalid extension deleted; PRJ-24 dead search_filter removed. gateway-spec 1.2.0 -> 1.3.0 (minor per ADR-045). GW-15 413 context folded into 400-slot docs.
@@ -1,7 +1,7 @@
---
id: review-002-yaml-normalization
name: YAML input normalization — duplicates, .inf, merge keys, non-string keys (OAI-12)
status: pending
status: completed
depends_on: []
scope: narrow
risk: medium
@@ -67,3 +67,7 @@ The alias-bomb/depth bounds are dependency-provided and verified
working (review 002 re-verified) — do not re-implement them; the task
is about *semantic* normalization, not resource limits. ADR-051 is the
decision record to update if the merge-key stance changes behavior.
## Summary
Post-parse YAML normalization at the from_yaml seam: loud duplicate-key rejection (yaml_serde native), merge keys applied (shallow), .inf/.nan + non-representable keys rejected with pointers, scalar keys stringified per YAML 1.2 core schema. Premise correction recorded: serde_json Value itself last-wins on dups - parity contract is YAML-stricter-by-design. ADR-051 section added.
+5 -1
View File
@@ -1,7 +1,7 @@
---
id: review-002-cov13-dead-code
name: Delete dead accessors and FromRef impls — resolve_bearer wire-or-delete decision (COV-13)
status: pending
status: completed
depends_on: []
scope: single
risk: low
@@ -53,3 +53,7 @@ warm-up. If the `resolve_bearer` hook-decision feels non-obvious
(needs an ADR or design note), default to delete — dead code with an
aspirational doc claim is worse than no hook; a real hook can be added
when a concrete assembly-layer need exists.
## Summary
Merge note: resolved alongside mcp-batch-cap (invoke_count accessor kept, identity_provider/resolve_bearer deleted single-arg constructor).