Skip to content

Fix six SDK gaps from gh-v1's C2–C3; tick plan 001 - #43

Merged
jallers merged 2 commits into
proposed_type_script_api_versionfrom
claude/admiring-ride-vsq4sa
Nov 7, 2026
Merged

jallers merged 2 commits into
proposed_type_script_api_versionfrom
claude/admiring-ride-vsq4sa

Conversation

@jallers

@jallers jallers commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

This fixes the six SDK gaps the gh-v1 session found in C2–C3 (gh-v1#36, #37), and ticks the plan 001 items that merged today.

  • Batches: batch.run now sends a batch made only of aliased updates or executes (with guard: false). It used to treat it as nothing to do. A read-back failure after the send now throws BatchRecordError with the full receipt. confirm sees the touched assets' names, and failed name lookups become receipt.notes.
  • Rows: an unset relation, which the server sends as { _oid: "NULL" }, now reads as null. Rank values (Order) are now numbers, and the generated types follow.
  • Plan 001: ticks G0–G3 (gh-v1#29–Support tonicExampleFilename in package.json to customize the Tonicdev link in npm #32), S1–S4 (k6i-agility-slack-bot#21–Minor fixes #24) and C1 (gh-v1#33, Add urls for activity stream api #35).

All 103 unit tests pass. On v1sdktesting the full live suite passes, including a new test where an aliased QuickClose batch runs and gets a named receipt.

🤖 Generated with Claude Code

https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
- batch.run sends a batch of only aliased updates/executes (with guard
  off) instead of treating it as nothing to do; Described.deferred lists
  them, and the receipt notes they are unsnapshotted and not reversed.
- A failure reading back after the send throws BatchRecordError carrying
  the receipt (sent, outcome, created, touched, reverse); only `after` is
  incomplete. The record is built from the response before any read-back.
- confirm sees receipt.names: the touched assets' numbers and names, looked
  up once (no second lookup after the send).
- namesOf takes an onFailure callback; runBatch turns failed lookups into
  receipt.notes instead of swallowing them.
- An unset single relation, sent as { _oid: "NULL" }, translates to null
  (with or without a schema; dropped from a multi-value list).
- Rank translates to a number (32-bit integers sent as strings); generated
  types follow.

Live (v1sdktesting): an aliased QuickClose batch runs and is named; the
full integration tier passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
@jallers jallers changed the title Plan 001: tick G0–G3, S1–S4 and C1 Fix six SDK gaps from gh-v1's C2–C3; tick plan 001 Nov 6, 2026
@jallers
jallers merged commit 207a2ac into proposed_type_script_api_version Nov 7, 2026
3 checks passed
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.

2 participants