cc470a363a
docs: port architecture specs + 45 ADRs from alknet, renumbered
...
Port the call + channels architecture documentation from the alknet
mono-repo into docs/architecture/, renumbered as alkcall ADR-001..045.
Renumbering map (alknet -> alkcall):
Core: 001,002,004,006,007,011,065,070,092,014,050,091 -> 001-012
Call: 005,064,012,023,015,022,024,016,049,017,028,029,030,032,066,069,067,068 -> 013-030
Shared: 003,009,013 -> 031-033
Channels: 071,093,072,073,074,075,076,094,079,080,081,089 -> 034-045
3 superseded/reversed ADRs kept for historical trail:
- ADR-013 (irpc foundation, superseded by ADR-014)
- ADR-023 (peer-scoped filtering, superseded by ADR-024)
- ADR-077 (TTY inside channels, reversed by ADR-035 — not ported, TTY-only)
Ported docs (11 spec files + README + open-questions):
- call-README.md, call-protocol.md, operation-registry.md, client-and-adapters.md
- channels-README.md, channels-overview.md, channels-wire.md, channels-connection.md, channels-adapter.md, channel-operations.md, channel-client.md
- README.md (index with doc table, ADR table grouped by category, key principles)
- open-questions.md (lean — 30 OQs, renumbered OQ-01..030; includes new OQ-22 for the pub/sub gap)
Cross-reference rewriting:
- All ADR-NNN references rewritten single-pass (no chaining bug)
- Markdown link paths fixed
- Title lines aligned with filenames
- Non-ported ADR refs (052, 082, 086, etc.) left as-is with README note
The open-questions.md includes OQ-22 (new): the call protocol pub/sub
gap — subscribe exists but pub does not, needed for channels
channel/resources/subscribe fan-out. This is the next ADR to write
(alkcall ADR-046).
2026-08-12 07:06:57 +00:00
4bc7a19695
feat: extract alknet-call into alkcall, vendor core types
...
Phase 1 of the alknet-call + alknet-channels unification. The call crate
is extracted verbatim from /workspace/@alkdev/alknet/crates/alknet-call
and the needed alknet-core types are vendored into src/core/ — alkcall is
the home for these types going forward (no separate alkcore crate).
Vendored core types (src/core/):
- auth.rs: Identity, AuthToken, AuthContext, IdentityProvider
- ownership.rs: OwnershipProvider, OwnershipStore, InMemoryOwnershipStore,
OwnershipError
- types.rs: ProtocolHandler, Connection, BiStream, BidiStreamSource,
SendStream, RecvStream, HandlerError, StreamError, Capabilities, Secret,
IdentityAlreadySet
- Stripped: quinn/iroh/rustls deps, Connection::from_quinn/from_iroh
(the dial lives in the consumer per ADR-089), config/credentials/
fingerprint/store modules, ConfigIdentityProvider/IdentityStore
Call crate (src/client, src/protocol, src/registry/):
- Copied verbatim from alknet-call; alknet_core::{auth,types,ownership}
rebound to crate::core::{auth,types,ownership}
- ALPN strings unchanged (alknet/call — wire-stable per ADR-006)
- No behavioral changes
Verification:
- cargo test: 343 passed (0 failed)
- cargo clippy --all-targets -- -D warnings: clean
- cargo fmt --check: clean
- cargo doc --no-deps: 1 pre-existing broken intra-doc link
(CallAdapter in dispatch.rs — Phase 2 cleanup)
Next: Phase 2 — channels greenfield implementation + ALPN rename +
architecture doc porting.
2026-08-12 05:52:18 +00:00
a779dd0d0d
docs: replace alkvault scaffold with alkcall project conventions
...
- AGENTS.md: full rewrite for the call+channels RPC crate (async/tokio,
vendored core types, alktype dep, producer/consumer framing, the two
stable wire formats, no-env-vars invariant, OperationEnv trait, abort
cascade, AccessControl peer auth, ADR index for both halves)
- implementation-specialist.md: replace vault crypto conventions (OsRng,
zeroize, AES-GCM) with 15 alkcall protocol conventions matching AGENTS.md
- docs/sdd_process.md: fix alkvault -> alkcall reference
Verification: no code changed (docs-only)
commit 0a031cd..HEAD
2026-08-12 05:47:59 +00:00