Ruben Fiszel and Claude Opus 5
dbb63cfb36
fix: the app head is the tail of app.versions, not the newest timestamp
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-16 09:13:01 +02:00
Ruben Fiszel and Claude Opus 5
63cc0181de
fix: a reused destination retires the routes pointing at it, and draft_base stays out of diffs
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-16 08:41:26 +02:00
Ruben Fiszel and Claude Opus 5
d17f8fc111
fix: the unread-head warning reads as caution in the deploy drawer too, and the cross-kind refusal names a remedy
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-16 00:15:36 +02:00
Ruben Fiszel and Claude Opus 5
6af8118513
feat: an app deploy answers with the version it wrote, so the editor stops inferring it
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 23:44:51 +02:00
Ruben Fiszel and Claude Opus 5
df2973ffff
fix: an unread head confirms with the copy for caution, not for an observed deploy
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 22:55:35 +02:00
Ruben Fiszel and Claude Opus 5
a51ead0e21
fix: an unanswered head read confirms rather than assuming the app editor is current
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 21:01:52 +02:00
Ruben Fiszel and Claude Opus 5
46817d8a90
fix: the move endpoint validates its source path, and two comments say what their branch does
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 20:44:59 +02:00
Ruben Fiszel and Claude Opus 5
9abd8fa7aa
fix: a fresh session checkout takes the head its payload came from, and a deploy keeps the base it pinned
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 20:27:31 +02:00
Ruben Fiszel and Claude Opus 5
de5769fb56
fix: the cross-kind refusal reads properly, and a session flow keeps its own response's head
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 20:10:50 +02:00
Ruben Fiszel and Claude Opus 5
dfbc696ddb
fix: the other app kind collides whoever owns it, and session tabs get a head to compare
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 19:51:55 +02:00
Ruben Fiszel and Claude Opus 5
8e10e5a091
docs: the base-unknown confirmation says what it knows, and two comments match the guard
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 19:05:34 +02:00
Ruben Fiszel and Claude Opus 5
60bf076b60
fix: an unclaimed deploy always confirms, and the prompt keeps warning a loaded teammate draft
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 18:44:55 +02:00
Ruben Fiszel and Claude Opus 5
1662dfbc33
fix: a failed anchor read is not a raced deploy, and take latest closes only its own drawer
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 18:20:06 +02:00
Ruben Fiszel and Claude Opus 5
2d0a4f777f
fix: session tabs compare the same base pair, and a consumed draft is not out of date
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 17:38:42 +02:00
Ruben Fiszel and Claude Opus 5
168ef0c6f5
fix: an emptied selection is no shift anchor, and a deploy leaves no draft for the prompt to compare
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 17:15:29 +02:00
Ruben Fiszel and Claude Opus 5
0a6d49800e
fix: a group member can be told where their item went, and a deploy names the head's author
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 16:50:42 +02:00
Ruben Fiszel and Claude Opus 5
5baae5c3d1
docs: the raw-app deploy comment says what that editor actually does with version
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 16:23:26 +02:00
Ruben Fiszel and Claude Opus 5
61d13cb72e
fix: the route's lineage follows an in-place deploy, and the raw-app editor's event type carries the head
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 16:22:51 +02:00
Ruben Fiszel and Claude Opus 5
b95cc73857
fix: the derived base is read after the sanitizer, and a deploy that claims nothing leaves no base to compare
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 15:56:26 +02:00
Ruben Fiszel and Claude Opus 5
4f3d99c65b
fix: a deploy always names the head it left behind, and pins a base only when it can claim one
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 15:34:04 +02:00
Ruben Fiszel and Claude Opus 5
c037b3e97b
fix: a deploy claims only the version it appended to the head it read, and names the head separately
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 15:05:06 +02:00
Ruben Fiszel and Claude Opus 5
04bae85e93
refactor: pin the version this deploy wrote even when one landed on top, and tighten three comment blocks
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 14:46:53 +02:00
Ruben Fiszel and Claude Opus 5
8a05c7a8aa
fix: the deploy-override diff takes an opening its editor can hand back
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 14:23:39 +02:00
Ruben Fiszel and Claude Opus 5
03ec3fde2f
fix: an app deploy pins only a version it wrote as the next draft's base
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 14:21:27 +02:00
Ruben Fiszel and Claude Opus 5
a149ba9231
fix: abandoning an opening clears the drawer it still owns
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 13:50:06 +02:00
Ruben Fiszel and Claude Opus 5
bd2616c5af
fix: the no-op routed discard gates its answer on reading the destination, and a session draft keeps its unknown base
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 13:37:54 +02:00
Ruben Fiszel and Claude Opus 5
5b4d745b55
fix: a retried routed discard still names the destination, and filling the drawer takes the opening too
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 12:32:23 +02:00
Ruben Fiszel and Claude Opus 5
7b490b87a8
fix: taking the diff drawer without a token claims it, and the classic app editor takes one
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 12:13:37 +02:00
Ruben Fiszel and Claude Opus 5
f71262dc7f
fix: the drawer owns its opening, a loaded script draft keeps no base it lacks, and a legacy occupant says who can clear it
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 11:54:01 +02:00
Ruben Fiszel and Claude Opus 5
d3b87cf70b
fix: a legacy draft occupies its destination, a superseded opening writes nothing, and a loaded flow draft keeps no base it lacks
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 11:15:11 +02:00
Ruben Fiszel and Claude Opus 5
493448b2ce
fix: a routed discard names where it landed, a superseded drawer opening is dropped, and a loaded draft keeps its base in every editor
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 10:31:49 +02:00
Ruben Fiszel and Claude Opus 5
c80f3f5293
fix: a loaded raw-app draft keeps its own fork base, and an unknown head is refused
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 09:59:10 +02:00
Ruben Fiszel and Claude Opus 5
201945146b
fix: a NUL in a move's summary is dropped, and take latest simply adopts the head it was handed
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 09:46:54 +02:00
Ruben Fiszel and Claude Opus 5
9237a93783
fix: the flow drawer's head is the version its payload came from, and its callback type says so
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 09:34:03 +02:00
Ruben Fiszel and Claude Opus 5
f5c97aae13
fix: a head nobody could name is not behind, so take latest is not offered without one
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 09:20:06 +02:00
Ruben Fiszel and Claude Opus 5
062adc284b
feat: take latest adopts the head the diff shows, and is offered while the drawer sees the draft behind
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 09:02:51 +02:00
Ruben Fiszel and Claude Opus 5
194c3218d8
fix: taking the latest moves the head each editor knows, not just the base
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 08:47:47 +02:00
Ruben Fiszel and Claude Opus 5
a4da7d3ee6
fix: take latest re-reads the head at click time; type the kept head as prepared diff data
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 01:26:36 +02:00
Ruben Fiszel and Claude Opus 5
19226a1783
fix: say so when a version fails to load in the diff picker
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 01:15:23 +02:00
Ruben Fiszel and Claude Opus 5
1c035e44ab
fix: the picker marks the version on display as head, restore compares the head, relocation follows the last move
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 01:14:59 +02:00
Ruben Fiszel and Claude Opus 5
8146737342
fix: a failed version load keeps the picker on what the diff shows; one spelling for a legacy delete
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 00:55:55 +02:00
Ruben Fiszel and Claude Opus 5
7a345b6c7e
fix: count picker load generations, and report a skipped legacy upsert as a conflict
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 00:31:09 +02:00
Ruben Fiszel and Claude Opus 5
f007ce8e8e
fix: a poisoned draft's path keys follow a move, legacy only bypasses routing on a delete, picker loads are generation-guarded
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 00:16:07 +02:00
Ruben Fiszel and Claude Opus 5
0a1dca929b
fix: a redeploy ends a route off its path, take-latest persists on raw apps, stale picker loads are dropped
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-15 00:00:30 +02:00
Ruben Fiszel and Claude Opus 5
73b16863c0
fix: a clone keeps only a base it can resolve; a base-unknown script deploys without a false guard
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-14 22:48:00 +02:00
Ruben Fiszel and Claude Opus 5
29e75d27d5
fix: an unknown base stays unknown in every loader, and an owner move extends an item move
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-14 22:32:28 +02:00
Ruben Fiszel and Claude Opus 5
68cd7a4420
fix: a draft-only app move refuses the other app kind; a session keeps an unknown base unknown
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-14 20:51:14 +02:00
Ruben Fiszel and Claude Opus 5
ee2c2abcb9
fix: session loaders keep a draft's base, and a failed relocation flush stays put
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-14 20:15:04 +02:00
Ruben Fiszel and Claude Opus 5
ccea81f5e9
refactor: the server follows a moved draft through a move record, not client-sent row ids
...
A move writes old path -> new path (per workspace and kind, per owner for a
draft-only move) in its transaction; a draft save or discard addressed to a
path the caller has no draft at resolves through it and keeps the moved
draft's path keys. Creating an item at a path drops the records leaving it.
Every writer (edit routes, sessions, chat, CLI, the tab-close flush) follows
without passing an id, so the id plumbing is gone.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-14 19:14:26 +02:00
Ruben Fiszel and Claude Opus 5
1005868e41
fix: guard a base-unknown raw-app deploy against the head at load; keep the base in session hydration
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-14 17:21:18 +02:00