Skip to content

feat(config,server): X02 S4 — stable server IDs - #9

Merged
im-tyler merged 1 commit into
mainfrom
main-sync-f15355a
Sep 23, 2026
Merged

im-tyler merged 1 commit into
mainfrom
main-sync-f15355a

Conversation

@im-tyler

Copy link
Copy Markdown
Contributor

Mirror sync of Forgejo main f15355a (X02 ADR §1.3): servers.yml records gain an additive id (srv-<16hex>), minted once at server add for new entries, preserved by rename/update/re-add; legacy id-less entries stay id-less (no silent re-key). server list --json emits id. Pinned: mint shape/uniqueness, re-add + rename + update preserve id byte-identical, legacy stays id-less on upsert.

…int at add, preserved by rename/update/re-add)

servers.yml records gain an id (srv-<16hex>, crypto/rand), minted once at
server add for genuinely new entries only. RenameServer/UpdateServer carry
the whole entry so preservation is structural. AddServer's upsert preserves
the existing id — and deliberately leaves legacy id-less entries id-less:
minting there would silently re-key dash's name-hash fallback identity
underneath live references (X02 ADR §1.3's silent-re-key prohibition).
Legacy servers keep working through dash's fallback; adoption stays the
consumer's explicit decision.

Pinned: mint shape + uniqueness, re-add preserves id, legacy stays id-less
on upsert, rename/update preserve id byte-identical.
@im-tyler
im-tyler merged commit f305c45 into main Sep 23, 2026
1 check passed
@im-tyler
im-tyler deleted the main-sync-f15355a branch September 23, 2026 19:50
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