Repository navigation
Polish the living document flow - #457
Merged
Merged
Conversation
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 12:47
d9af340 to
1bf0a7e
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 12:47
ccfb7db to
82c7553
Compare
MaggieAppleton
added this pull request to stack #455
October 10, 2026 12:49
MaggieAppleton
marked this pull request as ready for review
October 10, 2026 12:50
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 13:10
82c7553 to
d1c8f60
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 13:24
64fd0fa to
dab8f3b
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 13:24
d1c8f60 to
5e338aa
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 13:52
dab8f3b to
ac08a10
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 13:55
5e338aa to
d513afb
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 14:59
ac08a10 to
e74839f
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 15:05
d513afb to
ea9b16a
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 15:26
e74839f to
7e06a78
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 15:26
ea9b16a to
ee7e450
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 17:04
7e06a78 to
3a3dc67
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 17:04
ee7e450 to
eacc7f4
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 17:32
3a3dc67 to
92ea8fd
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 17:32
eacc7f4 to
03c040a
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 18:34
92ea8fd to
6ffad08
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 18:34
caa1655 to
f204622
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 19:45
6ffad08 to
1338fe2
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 10, 2026 19:45
1832d89 to
33a12d0
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 10, 2026 20:11
1338fe2 to
0b7f0bb
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
5 times, most recently
from
October 10, 2026 22:23
f544612 to
e045c7d
Compare
This was referenced Oct 12, 2026
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 12, 2026 10:19
236c29d to
716d0c3
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 10:19
8516e29 to
f985556
Compare
MaggieAppleton
removed this pull request from stack #455
October 12, 2026 10:23
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 10:31
f985556 to
76a943d
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 12, 2026 10:31
716d0c3 to
22a3fa5
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 12, 2026 12:05
22a3fa5 to
63eccf6
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 12:09
76a943d to
c498af8
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 12, 2026 12:36
a7c9ec4 to
76e4618
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 12:36
c498af8 to
eb1c3b9
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 12, 2026 12:45
76e4618 to
e57a893
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 12:45
eb1c3b9 to
d5aa9bf
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 12, 2026 13:09
e57a893 to
245850f
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 13:09
d5aa9bf to
ad6f34f
Compare
MaggieAppleton
force-pushed
the
living-spikes
branch
from
October 12, 2026 13:46
245850f to
5afa762
Compare
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 13:46
ad6f34f to
888c487
Compare
MaggieAppleton
force-pushed
the
design-build-capsule-manual
branch
from
October 12, 2026 17:01
36eeb69 to
8cec41e
Compare
…n, and list only built task versions Ported from the living-document polish onto the Build capsule: readable acceptance for rebuild tasks, shorter spike callout copy, a report that leads with its recommendation, a draft instruction that does not prototype a passage twice, a live task list that ignores unbuilt Planner drafts, and tooltips that align wrapped text to the start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… tasks in Build Ported from the living-document polish onto the Build capsule's read-only Build view: a finished task shows its summary, a blocker drops stacked "Blocked:" labels and links its URLs, a task the build left unfinished reads as blocked with its reason, rebuild tasks and no-change rebuilds sit under Since first build, a queued build shows no elapsed time, and long titles no longer push the task list past a phone's edge. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ch task to retry The rest of the living-document Build view port onto the Build capsule's vocabulary: a built document's headline counts commits since its first build, and a build that failed on unfinished tasks names the task to retry, leaving the reason to that task's row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The instruction now names Prototype queued, Prototyping… and Prototype paused, says a prototype's result lands after the build rather than before, and treats callout text as data. A route test confirms a queued, unclaimed first build still lists its tasks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Whitespace only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaggieAppleton
force-pushed
the
living-design-review
branch
from
October 12, 2026 17:19
888c487 to
150685e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A design pass over the living document flow (spikes → Build plan → first build → In sync / Out of sync), done on the real "Margin — living document", with route interception for the other states.
Top findings → what changed
live.tasks, so the real document went from 8 to 14 rows with duplicate keys. NowliveSnapshotlists only versions that ran (regression test added).✓ In sync · 2 commits since first build,○ Out of sync · Waiting for @x's agent).minmax(0, 1fr).Recommended but not in this PR: hide the header slot while Build is open; list a sync's commits under the task it added; a collapsible result callout; a cancel control on the callout instead of "Delete this callout to cancel"; a label other than "Building…" for a first build that is still queued.
Screenshots
Build view, live and in sync (1440): before / after


Build plan in the narrow layout (390): before / after


Out of sync in the narrow layout (390): before / after


Header slot: sync failed and syncing: before / after





Testing
bun run types,bun test(4551 pass with the untracked design jigs moved aside),bun run ci,bun run build. The initial chunk is unchanged at 80,590 B gzip; all new code is in the room chunk.syncLabel,syncTooltip,liveTaskGroupsand the hint copy inbuild-model.test.ts; spike callout copy and report order inspikes.test.ts; draft exclusion and sync-task acceptance inroutes.test.ts. The draft test fails without the fix.LIVE_BUILD=on LIVE_SPIKES=on), using route-intercepted snapshots for the out-of-sync, failed and syncing states at 1440 and 390px. Chopin has no dark theme, so there was nothing to check there.copilot --acp --allow-allon github.com/MaggieAppleton/margin: the first build of 8 tasks opened margin PRs Let the planner reach for a diagram or a formula #7 to #14, and the live edit "Snooze 15 -> 5" went Out of sync, then Syncing... (+44s), then In sync (+92s) as commit a1f2f553 on the existing PR Add type scale tokens, replace arbitrary font sizes #12. It is listed under "Since first build".Stack
Stacked on #454 (
living-spikes), the top of #450 → #451 → #452 → #453 → #454. This repository merges rebase-only: after a lower PR lands, rebase and push with--force-with-lease.Adapted to #508
Rebuilt on #454 after #454 moved onto #510. The Build capsule (#508) replaced the header slot and the sync vocabulary, so this PR now holds only the changes that still apply. The seven original commits became three.
Ported unchanged
liveSnapshotlists only task versions that ran, so a Planner draft can't duplicate a built document's tasks. The regression test is kept.Adapted to #508's read-only Build view
owner/repo#N.minmax(0, 1fr), so long titles don't push PR capsules past a phone's edge.attentionHint(the capsule's "Build failed" tooltip) quotes a capped, link-shortened reason and says "retry it" or "retry them".Dropped as superseded by #508
syncLabel,syncTooltip, "Syncing…", "Sync failed", the rewordedsyncHint, and thefirstflag onSyncStatus. Make Build plan explicit and show build status in one capsule #508 uses Built / N changes to build / Building changes… / Build failed and has no sync wording.data-build-slot, the in-flow status-row CSS and itstheme.test.ts, Clock/Decision icons, "Retry build" with a warning dot, the mobile inset placement, and the "Answering this starts the build" line in Decisions. The capsule, its inert Build plan reasons, Retry and the phone glyph cover all of these.BuildGlyphheadline replaces them, and its detail line is ported above.--color-warning. It stays--color-warning-graphicto matchBuildGlyph.Review fixes (restack, 2026-10-12)
liveTaskGroups), the status detail line, no-change rows, finished-task summaries, linkified blockers (linkParts,shortUrl,blockerText), theunfinishedReasonandliveTaskStatewarning dots, and the two-line title wrap. No "sync" wording is user-visible.🤖 Generated with Claude Code
Second pass
This pass reviewed the new states end to end: waiting on a decision, queued, needs attention, out of sync with blocked tasks, cancel build, and no-change syncs. The full critique is in
/tmp/living-design-review/critique-2.md. The after-screens were rendered on a local fake-GitHub server with intercepted snapshots.overflow-wrap: anywhere)“X” is blocked. Edit the document to retry.); the row shows the reason; the tooltip caps it at about 120 charactersNot changed (recommended): agent prose is long (it needs a server-side summary and details split); a stale task survives a no-change sync; spike callouts still say "Delete this callout to cancel".
Blocker at 390px
Needs attention at 1440px
Unfinished task
Queued
Waiting on a decision
Out of sync
No code change rows
Final pass
owner/repo#N, and the row links them.--color-warningfamily. Wrapped tooltips are left-aligned.Last pass
A real run on margin confirmed the spike lands before a queued build starts. Its result reached the first build, and no rebuild followed the callout. Two rough edges remained: