chore(tasks): mark js01, con18-wss, fwd17-19, con18b completed

This commit is contained in:
2026-08-30 22:12:40 +00:00
parent 57ba9100c9
commit 8261fefd8f
4 changed files with 24 additions and 8 deletions
@@ -1,7 +1,7 @@
--- ---
id: review-002-con18-wss-sweep-exit id: review-002-con18-wss-sweep-exit
name: Dead-connection fast-fail + bounded from_wss sweep exit (CON-18) name: Dead-connection fast-fail + bounded from_wss sweep exit (CON-18)
status: pending status: completed
depends_on: [] depends_on: []
scope: narrow scope: narrow
risk: low risk: low
@@ -57,3 +57,7 @@ The alkcall-side CF-001 note matters: if/when the dead-mux write
mapping changes, the fail-fast class here should match. Keep the mapping changes, the fail-fast class here should match. Keep the
WS-02 losslessness invariant intact — fast-fail is an *additional* WS-02 losslessness invariant intact — fast-fail is an *additional*
resolution path, not a replacement for the watch signal. resolution path, not a replacement for the watch signal.
## Summary
50ms drain interval + monitor return after 8 consecutive empty post-EOF drains (~400ms grace); post-EOF registrations fail fast with retryable CONNECTION_CLOSED; fixed a busy-spin in the old select's eof branch. ADR-070 updated. No public API change.
@@ -1,7 +1,7 @@
--- ---
id: review-002-fwd17-19-contract-decisions id: review-002-fwd17-19-contract-decisions
name: Forwarding contract decisions — non-JSON SSE payloads, double-routed placeholders, percent preservation (FWD-17/18/19 decide+document or fix) name: Forwarding contract decisions — non-JSON SSE payloads, double-routed placeholders, percent preservation (FWD-17/18/19 decide+document or fix)
status: pending status: completed
depends_on: [review-002-fwd15-stream-timeout] depends_on: [review-002-fwd15-stream-timeout]
scope: narrow scope: narrow
risk: low risk: low
@@ -66,3 +66,7 @@ leak; each is a contract the code half-implies. Keep the decisions
small and documented rather than building speculative machinery (e.g. small and documented rather than building speculative machinery (e.g.
no new envelope schema unless (b) is actually chosen). Coordinate with no new envelope schema unless (b) is actually chosen). Coordinate with
review-002-fwd13-dot-segments (same helpers, different concerns). review-002-fwd13-dot-segments (same helpers, different concerns).
## Summary
FWD-17: non-JSON SSE payloads surface as {data, event} wrapper (event: captured, WHATWG last-wins, leak fixed). FWD-18: structural placeholder values are INVALID_INPUT (no JSON splicing into paths). FWD-19: % in values always encoded, template text preserves pre-encoded % (ADR-066 trust boundary). ADR-066 records all three; SseEvent gained an event field (crate-internal).
@@ -1,7 +1,7 @@
--- ---
id: review-002-js01-placeholder-check id: review-002-js01-placeholder-check
name: Fix placeholder check skipped when input_schema has no properties (JS-01) name: Fix placeholder check skipped when input_schema has no properties (JS-01)
status: pending status: completed
depends_on: [] depends_on: []
scope: single scope: single
risk: low risk: low
@@ -54,3 +54,7 @@ One-line fix + one test. Explicitly approved to fold into any commit
that is already touching from_jsonschema.rs (e.g. the wire-tests task) that is already touching from_jsonschema.rs (e.g. the wire-tests task)
if a session prefers — but if touched standalone, keep it its own if a session prefers — but if touched standalone, keep it its own
commit per the small-units convention. commit per the small-units convention.
## Summary
Removed the properties.is_empty() early return in spec_name_references_undeclared - placeholder templates with a properties-less input_schema now fail construction (matches from_openapi unbound_placeholders). Both acceptance branches tested.
@@ -1,7 +1,7 @@
--- ---
id: review-002-con18b-ws-polish id: review-002-con18b-ws-polish
name: WS small fixes — pre-send cap check, close reasons, custom-route knobs, axum-flavor tests (WS-14/15/17/18/19) name: WS small fixes — pre-send cap check, close reasons, custom-route knobs, axum-flavor tests (WS-14/15/17/18/19)
status: pending status: completed
depends_on: [review-002-ws13-idle-progress] depends_on: [review-002-ws13-idle-progress]
scope: moderate scope: moderate
risk: low risk: low
@@ -71,3 +71,7 @@ behavior-correctness one; WS-18 is the only new mechanism). If WS-13
(chief-risk task) changed the read-loop shape, rebase-verify the cap (chief-risk task) changed the read-loop shape, rebase-verify the cap
accounting comments before this task's slices — they cite accounting comments before this task's slices — they cite
pre/post-extend order explicitly. pre/post-extend order explicitly.
## Summary
WS-14 pre-send cap check in poll_write; WS-15 per-cause close reasons (close_reason module, absorbs the text-message reason bug); WS-18 60s write-progress timeout (close-less teardown on clogged socket); WS-17 WsTimeouts request extension (replaces-state precedence); WS-19 axum-flavor tests. One commit per item.