Persist agent nicknames#42
Conversation
Test & Lint Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Overall the PR is well-structured — the store/types/converter/identity plumbing is clean and follows existing patterns consistently. The generated protobuf changes look correct.
One major issue: the CreateAgent nickname-failure rollback path does not deregister the identity that was successfully registered in the prior step, leaving an orphaned identity record. This needs to be fixed before merge.
One minor note on the migration numbering gap (0009 → 0011).
Test & Lint Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Both prior comments are addressed:
-
Rollback fix (major): The
CreateAgentnickname-failure path now includes best-effortRemoveNicknamecleanup (swallowingNOT_FOUND), and surfaces any other cleanup errors viaerrors.Join. Given the identity service has no delete RPC, this is the correct approach — pragmatic and properly documented with the inline comment. -
Migration gap (minor): Confirmed reserved by PR #40. No issue.
Code is clean, CI green. Approving.
3b34d0f to
de5a5f3
Compare
Test & Lint Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Re-reviewed after rebase onto latest main (which brought in the idle_timeout feature from PR #41).
Prior feedback status:
- ✅ Rollback fix (major): Still in place —
CreateAgentnickname-failure path includes best-effortRemoveNicknamecleanup withNOT_FOUNDhandling. - ✅ Migration gap (minor): Resolved —
0010_add_idle_timeout.sqlis now present from the rebase.
Rebase integration check:
agentColumnscorrectly includes bothnicknameandidle_timeoutin proper order.scanAgentfield list matches the column order.CreateAgentINSERT columns/parameters are consistent.UpdateAgenthandles bothNicknameandIdleTimeoutindependently and correctly.toProtoAgentmaps both fields.
No new issues introduced. Approving.
de5a5f3 to
4198b5a
Compare
Test & Lint Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Re-reviewed after second rebase (now includes volume TTL from main).
The nickname-specific code is unchanged from the previously approved version. Rebase integration is clean — no conflicts or regressions in the nickname logic.
All prior feedback remains addressed. Approving.
Summary
Testing
Closes #132