|
| 1 | +# Release Update Plan for Velt Node SDK v1.0.5 |
| 2 | + |
| 3 | +## Overview |
| 4 | +- Release Type: Patch (tiny — 4 files, +33/-3 in SDK; single self-hosting field rename) |
| 5 | +- Key Changes: `PartialReactionAnnotation.user` renamed to `from` (reacting user), matching the frontend SDK's `PartialReactionAnnotation.from`. Affects self-hosting reaction resolvers (`sdk.selfHosting.getReactions().saveReactions()` persists `from`; resolved reactions expose `from`). |
| 6 | +- Breaking Changes: Yes — clean rename, no backward-compat read shim documented (unlike velt-py v0.1.12). |
| 7 | + |
| 8 | +> CRITICAL FRAMING: This is NOT a find-and-replace rename. The Node docs on `main` ALREADY use `from` for reactions (verified). There is NO stale `user` reaction-author field anywhere in the repo. The real work is illustrative/clarifying additions so the renamed field is actually shown in examples and the SH request type. Agent-3/6 must NOT fabricate a `user` → `from` rename. |
| 9 | +
|
| 10 | +## Areas Requiring Updates |
| 11 | + |
| 12 | +### 1. Data Models — `SaveReactionsRequest` SH (Node) |
| 13 | +- File: `api-reference/sdk/models/data-models.mdx` (~line 10826, heading `### \`SaveReactionsRequest\` SH (Node)`) |
| 14 | +- Changes: Update the `reactionAnnotation` field's inline shape from `Record<string, { annotationId: string; icon: string; metadata: object }>` to include the renamed field: `Record<string, { annotationId: string; icon?: string; from?: PartialUser; metadata?: object }>`. This reflects that the reacting user is now carried as `from`. |
| 15 | +- Priority: Medium |
| 16 | + |
| 17 | +### 2. Data Models — `PartialReactionAnnotation` (NO CHANGE — confirm only) |
| 18 | +- File: `api-reference/sdk/models/data-models.mdx` (~line 4921, `#### PartialReactionAnnotation`) |
| 19 | +- Changes: NONE. Table already lists `| \`from\` | \`PartialUser\` | No | User who created the reaction annotation |` (verified line 4930). Do NOT duplicate, do NOT re-add, do NOT rename. |
| 20 | +- Priority: N-A (confirm correct, leave untouched) |
| 21 | + |
| 22 | +### 3. Documentation — `backend-sdks/node.mdx` `#### saveReactions` example |
| 23 | +- File: `backend-sdks/node.mdx` (~line 279, under `### Reactions` → `#### saveReactions`) |
| 24 | +- Changes: The example object currently OMITS the reacting user (`{ annotationId, icon, metadata }`). Add `from: { userId: 'u-1' }` to the `'reaction-1'` reaction object so the renamed field is shown. Optionally add a one-line note that the reacting user is set via `from` (renamed from `user` in v1.0.5), making the `#reactions` anchor target meaningful for the changelog link. |
| 25 | +- Priority: High (this is the changelog's `Learn more` link target) |
| 26 | + |
| 27 | +### 4a. UI Customization — Wireframes |
| 28 | +- N/A — no UI/wireframe changes in this release. |
| 29 | + |
| 30 | +### 4b. UI Customization — Primitives |
| 31 | +- N/A — no new primitive components or props. |
| 32 | + |
| 33 | +### 5. Upgrade Guide |
| 34 | +- SKIP. `release-notes/version-5/upgrade-guide.mdx` is the JS v4→v5 guide. A Node-SDK self-hosting field rename does NOT belong there (consistent with velt-py v0.1.12 precedent). The changelog Breaking Changes entry + the node.mdx example/note are sufficient. |
| 35 | + |
| 36 | +### Other SKIP / N-A |
| 37 | +- `api-reference/sdk/api/api-methods.mdx` — SKIP (no method signature change). |
| 38 | +- `docs.json` — no navigation change. |
| 39 | + |
| 40 | +## Anchor Verification |
| 41 | +- Changelog `Learn more` link in `release-notes/version-5/velt-node-changelog.mdx` (line 14) targets `/backend-sdks/node#reactions`. |
| 42 | +- `backend-sdks/node.mdx` line 247 has `### Reactions`, which slugifies to `reactions`. CONFIRMED: the anchor resolves correctly. No anchor fix needed. |
| 43 | + |
| 44 | +## Implementation Sequence |
| 45 | +1. Agent-3: Add `from: { userId: 'u-1' }` to the `saveReactions` example in `backend-sdks/node.mdx` (~line 282); optionally add the one-line `from` (renamed from `user`) note. (Small) |
| 46 | +2. Agent-3: Update `SaveReactionsRequest` SH (Node) `reactionAnnotation` inline shape in `data-models.mdx` (~line 10833) to include `from?: PartialUser`. (Small) |
| 47 | +3. Agent-3: Confirm `#### PartialReactionAnnotation` already shows `from` (line 4930) — leave untouched. (Verify only) |
| 48 | +4. Agent-6: Confirm NO stale `user` reaction-author field exists repo-wide; do NOT introduce a rename. (Verify only) |
| 49 | + |
| 50 | +## Quality Checklist |
| 51 | +- [ ] `SaveReactionsRequest` SH (Node) `reactionAnnotation` shape updated to include `from?: PartialUser` |
| 52 | +- [ ] `saveReactions` example in node.mdx shows `from: { userId: 'u-1' }` |
| 53 | +- [ ] `#### PartialReactionAnnotation` confirmed already correct (`from`), NOT duplicated or re-renamed |
| 54 | +- [ ] No stale `user` reaction-author field introduced anywhere (it does not exist on main) |
| 55 | +- [ ] `#reactions` anchor confirmed resolving to node.mdx `### Reactions` |
| 56 | +- [ ] Breaking change kept in changelog only; NOT added to upgrade-guide.mdx |
| 57 | +- [ ] api-methods.mdx, UI/wireframes/primitives, docs.json untouched |
| 58 | +- [ ] Log file written to `.claude/logs/agent-2-planning-velt-node-1.0.5.md` |
0 commit comments