docs(design): 054 zero-alloc connector boundary, 055 wildcard inbound links, 056 aimdb join CLI - #265
Merged
Merged
Conversation
… links, 056 aimdb join CLI - bench: add b0_alloc_connector, measuring per-message allocations at the connector boundary (Router::route 0, pump_source 2, outbound 2-3) and asserting them against a committed baseline. - 054: zero-allocation connector boundary, grounded in that baseline; extends 037's poll-based SPI to inbound dispatch, outbound readers, per-route publishers and written topics. - 055: wildcard inbound links on today's interfaces (additive): connector-supplied grammar, named captures, optional key interning. - 056: aimdb join CLI, porting the planning-branch implementation and fixing its five review defects. - 043 rev 2: deployment-neutral join format with discovery, optional app values and credential rotation on re-join. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E5ySyp4thSEktXg4Awwpn7
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Three separate design documents, a revision of 043, and an allocation benchmark that grounds 054 in measured numbers. No production code changes.
Benchmark:
aimdb-bench/benches/b0_alloc_connector.rsMeasures per-message heap allocations at the connector boundary on a no-op connector (Tokio, current-thread), with the results committed in
data/baselines/b0_alloc_connector.json:Router::route(64 routes, deserialize + produce)pump_sourcewith a minimalSourcerecv_into+Connector::publish, scratch serializerTopicProvider)The bench asserts these values exactly, so a regression or an improvement fails it until
EXPECTEDand the baseline are updated together.054 — Zero-allocation connector boundary. Buffers, the consume path (037) and routing already allocate nothing; every remaining per-message allocation comes from the connector interfaces (boxed futures, owned topic
Strings). Extends 037's poll-based approach to the connector boundary:InboundDispatch, and a poll-basedSource;SerializedReader, per-routeRoutePublisher(poll_ready/start_send), and aTopicWriterthat writes topics into scratch storage;This is an SPI break (next major); user-facing APIs are unchanged.
055 — Wildcard inbound links. Additive and independent of 054:
TopicGrammar,MQTT_GRAMMAR);{device}), available to the deserializer throughRuntimeContext;KeyIdinterning with a bounded table per link.It costs one allocation per message on pattern routes only, which goes away once 054 lands.
056 —
aimdb joinCLI. Ports the implementation from theplanningbranch (e0dcf9b; it compiles onmainand its 9 tests pass) and fixes five review defects:--force;http://was accepted;https://is now required except for loopback.It also defines distinct exit codes and a test plan.
043 rev 2. Made deployment-neutral:
GET /v1/join);appvalues in both directions;node_idinstead of the slot-basedstation_id;422and429errors;Revised in place, since it is still Proposed and no server implements it.
Related Issue
Checklist
cargo fmtandcargo clippy -p aimdb-bench --all-targets -- -D warningsclean)make check). Not run in full: onlycargo bench -p aimdb-bench --bench b0_alloc_connectorand clippy onaimdb-benchwere run.aimdb-bench/README.md)Known, left out of scope:
docs/design/044-embassy-mqtt-tls.mdstill links to042-public-weather-mesh-flagship.md, which is not onmain.🤖 Generated with Claude Code
https://claude.ai/code/session_01E5ySyp4thSEktXg4Awwpn7
Generated by Claude Code