Bump the alkcall dependency to 0.2 (with the gateway feature) and converge on the promoted shared pieces: - The local dispatch spine (gateway/dispatch.rs, 721 lines) is deleted; GatewayDispatch, schema_disclosure_denial, and DEFAULT_DEADLINE are re-exported from alkcall::gateway (alkcall ADR-048). The 30 s default deadline preserves the previous behavior exactly. - gateway/schema_cache.rs (PublishSchemaCache) is deleted: alkcall CF-003 compiles publish_schema at registration time and exposes OperationRegistry::publish_validator; the /publish chunk stream resolves against it. Un-compilable schemas are now rejected at registration, so the two end-to-end fail-closed tests were reworked into a registration-rejection test (a stronger guarantee). - schema_disclosure_denial consumers (to_mcp, routes) use alkcall's promoted implementation; the alkhttp-local copy is gone (ADR-071 updated: the guard stays as defense-in-depth, the implementation no longer forks). - CF-001: from_wss drop monitor and the WS overlay tests use CallError::connection_closed; the review-001-ws-eof-signal race tests now assert retryable CONNECTION_CLOSED on both resolution paths (the tolerated non-retryable INTERNAL write-failure outcome is gone). - Added CHANGELOG.md (Keep a Changelog), Unreleased section records the bump and convergence. Verification: cargo test default 453 ok, wss 470 ok, mcp 526 ok, all-features 575 ok; clippy -D warnings clean (default + all-features, all-targets); fmt clean; cargo doc warning-free. Net: -1093 lines.
46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this crate are documented here. The format is
|
|
based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
|
|
this crate adheres to [Semantic Versioning](https://semver.org/).
|
|
|
|
## [Unreleased]
|
|
|
|
### Changed
|
|
|
|
- **`alkcall` dependency bumped to 0.2** with the `gateway` feature
|
|
enabled. The transport-neutral dispatch spine now comes from
|
|
`alkcall::gateway` (promoted from this crate per alkcall ADR-048):
|
|
`GatewayDispatch`, `schema_disclosure_denial`, and
|
|
`DEFAULT_DEADLINE` are re-exported from `alkhttp::gateway`; the
|
|
local copy (`gateway/dispatch.rs`) was deleted. The spine is used
|
|
with the 30 s default deadline (identical behavior to the local
|
|
version). alkcall 0.2 also carries the consumer-findings fixes
|
|
CF-001..004 documented in
|
|
`alkcall/docs/reviews/consumer-findings-ledger.md`.
|
|
- **`/publish` chunk validation uses the registry-owned validator**
|
|
(CF-003). The local compile-once `PublishSchemaCache`
|
|
(`gateway/schema_cache.rs`) is removed — `publish_schema` is
|
|
compiled at **registration time** by alkcall and exposed as
|
|
`OperationRegistry::publish_validator`; an un-compilable schema is
|
|
now a registration error, so the fail-open window this cache closed
|
|
compiled at **registration time** by alkcall and exposed as
|
|
`OperationRegistry::publish_validator`; an un-compilable schema is
|
|
now a registration error, so the fail-open window this cache closed
|
|
GW-side cannot exist upstream either. The `/publish` chunk stream
|
|
resolves against the registry's cached validator.
|
|
- The from_wss drop monitor and the WS overlay tests use
|
|
`CallError::connection_closed` (CF-001), and the
|
|
review-001-ws-eof-signal race tests now assert retryable
|
|
`CONNECTION_CLOSED` on **both** resolution paths (the drop monitor
|
|
and the undelivered-request write failure) — the previously
|
|
tolerated non-retryable `INTERNAL: failed to write request frame`
|
|
outcome on the race path is gone.
|
|
|
|
### Notes
|
|
|
|
- **CF-004 convergence:** the alkhttp-local `services/schema`
|
|
defense-in-depth guard remains, but its shared check
|
|
(`schema_disclosure_denial`) is now alkcall's promoted
|
|
implementation (ADR-048); the alkhttp-local copy is gone. See
|
|
ADR-071 for the updated disposition. |