WS-A4 [PROTO] Id conventions: opaque ids, id vs <noun>_id naming, AddAccountResponse returns full config #276

Closed
opened 2026-07-31 18:12:45 +00:00 by KofTwentyTwo · 1 comment
KofTwentyTwo commented 2026-07-31 18:12:45 +00:00 (Migrated from github.com)

Stop leaking imap-uid-{n} on the wire (backed by WS-B1 surrogate id); consistent naming; Message.id opacity doc. Size M. Dep: WS-B1.

Part of the Roadmap-to-9/10 program (design: scratchpad/design/, ROADMAP-TO-9.md). Serial PROTO queue: only one [PROTO] story in flight at a time; WS-A is the sole .proto editor. Detailed brief written at dispatch. DoD per docs/STORY-WORKFLOW.md (engine+proto+CLI+offline mock-only E2E, no fabrication, golden regen on proto change).

Stop leaking imap-uid-{n} on the wire (backed by WS-B1 surrogate id); consistent naming; Message.id opacity doc. Size M. Dep: WS-B1. Part of the Roadmap-to-9/10 program (design: scratchpad/design/, ROADMAP-TO-9.md). Serial PROTO queue: only one [PROTO] story in flight at a time; WS-A is the sole .proto editor. Detailed brief written at dispatch. DoD per docs/STORY-WORKFLOW.md (engine+proto+CLI+offline mock-only E2E, no fabrication, golden regen on proto change).
KofTwentyTwo commented 2026-07-31 22:04:13 +00:00 (Migrated from github.com)

Delivered via PR #353 (WS-A4, squash-merged to dev). Id-naming law applied: reference fields renamed to _id (RemoveAccount/TestAccountConnection .id->account_id, Delete/UpdateRule .id->rule_id, MessageSearchHit.id->message_id) at the SAME field numbers (wire-compatible; names don't affect wire). Opacity doc comments on entity ids (Message.id anchors the WS-B1 surrogate-id explanation). AddAccountResponse now returns {AccountConfig config} (no secret; AccountConfig never carried a password) mirroring other create responses; daemon+CLI updated. Golden regenerated; 527 tests.

Delivered via PR #353 (WS-A4, squash-merged to dev). Id-naming law applied: reference fields renamed to <noun>_id (RemoveAccount/TestAccountConnection .id->account_id, Delete/UpdateRule .id->rule_id, MessageSearchHit.id->message_id) at the SAME field numbers (wire-compatible; names don't affect wire). Opacity doc comments on entity ids (Message.id anchors the WS-B1 surrogate-id explanation). AddAccountResponse now returns {AccountConfig config} (no secret; AccountConfig never carried a password) mirroring other create responses; daemon+CLI updated. Golden regenerated; 527 tests.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/nuncio#276