docs(architecture): add Phase 0 architecture specs for ALPN-as-service model
Foundational architecture documents following the SDD process: ADRs: - 001: ALPN-based protocol dispatch (one endpoint, ALPN negotiation) - 002: ProtocolHandler trait (replaces StreamInterface/MessageInterface) - 003: Crate decomposition (one crate per handler, core provides shared infra) - 004: Auth as shared core (IdentityProvider, hybrid resolution model) - 005: irpc as call protocol foundation - 006: ALPN string convention and connection model (alknet/ prefix, one ALPN per connection) Docs: - overview.md: crate graph, shared types, ALPN registry, failure modes - README.md: index with doc table, ADR table, lifecycle definitions - open-questions.md: 10 OQs across 7 themes (3 resolved, 7 open) Crate spec stubs for all 11 planned crates (alknet-core through alknet CLI). Key decisions resolved during self-review: - AuthContext resolution is hybrid: endpoint resolves TLS-level auth, handlers resolve protocol-level auth (resolves OQ-02) - ALPN is per-connection not per-stream, corrected ADR-001 (resolves OQ-06) - ALPN naming uses alknet/ prefix without versions (resolves OQ-03) - HandlerError return type on ProtocolHandler trait - alknet/secret removed from ALPN registry until OQ-08 resolved
This commit is contained in:
23
docs/architecture/crates/alknet-http/spec.md
Normal file
23
docs/architecture/crates/alknet-http/spec.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
status: planned
|
||||
last_updated: 2026-06-15
|
||||
---
|
||||
|
||||
# alknet-http
|
||||
|
||||
> **Status: Planned** — This spec has not been written yet.
|
||||
|
||||
## Purpose
|
||||
|
||||
HTTP handler implementing `ProtocolHandler` on ALPN `alknet/http`. Provides axum router with auth middleware, REST API, dashboard, and MCP endpoint. Also handles standard HTTP ALPNs (`h2`, `http/1.1`) and WebTransport upgrade on `h3`.
|
||||
|
||||
## Key Questions
|
||||
|
||||
- How does HttpAdapter handle both `alknet/http` and standard ALPNs (`h2`, `http/1.1`, `h3`)?
|
||||
- WebTransport upgrade on `h3` — is this a separate handler or integrated into HttpAdapter?
|
||||
|
||||
## References
|
||||
|
||||
- [overview.md](../../overview.md)
|
||||
- ADR-002: ProtocolHandler trait
|
||||
- ADR-006: ALPN string convention and connection model
|
||||
Reference in New Issue
Block a user