Skip to content

docs: fix AimX v1/v2 rot, dead spec links, and removed-API references#145

Open
lxsaah wants to merge 1 commit into
refactor/036-w4-knx-ack-retransmitfrom
docs/036-doc-rot-fixes
Open

docs: fix AimX v1/v2 rot, dead spec links, and removed-API references#145
lxsaah wants to merge 1 commit into
refactor/036-w4-knx-ack-retransmitfrom
docs/036-doc-rot-fixes

Conversation

@lxsaah

@lxsaah lxsaah commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Doc-rot fixes surfaced by a fresh technical-debt scan after the 034→036 refactor cycle. Stacked on #144 (retarget to main as the stack merges). No wire or API behavior changes — the one wire-visible byte change is the client hello version, corrected from a stale "1.0" to the "2.0" the server already announces (the server never validates it).

AimX v1/v2 identity rot

  • remote::PROTOCOL_VERSION corrected to "2.0", documented, and exported; the AimX dispatch Welcome (was a hardcoded "2.0") and aimdb-client (was a stale local "1.0") both consume it now, so client and server can no longer drift.
  • Deleted the dead, never-exported v1 untagged Message envelope + helpers from remote::protocol (v2 uses tagged frames in session::aimx; this had zero users).
  • remote module docs: "AimX v1" and the link to the nonexistent docs/design/remote-access/aimx-v1.md replaced with the v2 NDJSON tagged-frame description, pointing at session::aimx and docs/design/remote-access-via-connectors.md. Same fix in remote::protocol and aimdb-cli headers.
  • aimdb-client README rewritten to match reality: AimxConnection (not the retired AimxClient), v2 framing, runtime-selected transports via endpoint URLs (UDS + serial).

Removed-API references (034 §3.6 leftovers)

  • connector module docs referenced the removed .link() API and an example built on RecordConfig::builder() — an API that never existed. Replaced with the real configure/link_to pattern.
  • ConnectorUrl docs no longer advertise Kafka/HTTP connector semantics for connectors that don't exist; documented as scheme-agnostic with the schemes actually in-tree (mqtt, knx, ws, uds, serial). Parser code untouched.

Stale doc examples

  • builder.rs AimDb example couldn't compile as written (register_record returns &mut Self, so chaining .build() by value is impossible); fixed to the canonical let (db, runner) = builder.build().await? shape. Same fix for the remote module example (.build()?.await? + tuple).

Validation

  • make fmt-checkmake clippy (all feature combos, -D warnings) ✅
  • cargo test -p aimdb-core -p aimdb-client -p aimdb-cli -p aimdb-mcp ✅, plus aimdb-core --no-default-features
  • aimdb-pro cargo check --workspace against this branch ✅

🤖 Generated with Claude Code

Doc-rot fixes from the post-036 debt scan; no wire or API behavior
changes (the one wire-visible byte change — the client hello version —
is corrected from a stale "1.0" to the "2.0" the server already
announces; the server never validates it).

- remote::PROTOCOL_VERSION corrected to "2.0", documented, and exported;
  the AimX dispatch Welcome and aimdb-client both use it now, so client
  and server can no longer drift. The dead, never-exported v1 untagged
  Message envelope and its helpers are deleted.
- remote module docs: "AimX v1" + link to the nonexistent
  docs/design/remote-access/aimx-v1.md replaced with the v2 NDJSON
  tagged-frame description pointing at session::aimx and
  remote-access-via-connectors.md; stale .build()? example fixed to the
  (db, runner) = build().await? shape.
- connector module docs: removed-`.link()` API replaced with the real
  configure/link_to pattern (the old example used a RecordConfig::builder
  API that never existed); ConnectorUrl no longer advertises Kafka/HTTP
  connector semantics for connectors that don't exist — documented as
  scheme-agnostic with real schemes (mqtt, knx, ws, uds, serial).
- builder.rs AimDb example fixed: register_record returns &mut Self, so
  the old chained .build() could not compile.
- aimdb-client README rewritten to match reality (AimxConnection, v2
  wire, endpoint URLs incl. serial); crate doc + aimdb-cli doc updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant