Skip to content
C.W.K.
Stream
Lesson 03 of 05 · published

A Saved Screen Is Not a Checkpoint

~11 min · offline, read-shelf, tense, checkpoint, phone

Level 0Spark
0 XP0/48 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

Present Tense, on Purpose

The previous lesson put screen checkpoints in the future: parser state, modes, resizes, paged history that survive a lock as if you had never left. That is still the next milestone. On 2026-10-06 something narrower arrived in the present, and it sits exactly on the line this track exists to guard. The phone now keeps a read shelf: the last session lists it saw, and the last complete screen of each pane you visited, so a phone with no connection still shows you something. It looks like the thing the destination promises. It is deliberately not that thing.

What the Shelf Keeps

Open the app with no link to a Mac and the session list comes from the shelf, stamped with when it was saved and saying plainly what it cannot know:

Smolder on an iPhone with the office chip selected and its dot orange: "Saved sessions · Oct 12, 2026 at 10:15 AM" above a card reading "Saved observations · current processes and input availability need a connection", a Connect button, and two shell rows on CWKOfficeM3U in /Users/wankyuchoi, sized 55×20 and 100×32, each marked Saved observation; the + and Anvil buttons are greyed out.
Offline, the phone shows what it last saw — and says what it cannot know without a connection.

Each saved list holds at most 2,000 rows per Mac, with the limit labeled when it bites. Each visited pane can keep its last complete visible grid — dimensions, capture time, daemon incarnation, session identity, sequence, and whether it was scrolled back — forty screens per Mac, up to 64,000 characters each. Open one and it says what it is:

A saved pane on an iPhone: shell on CWKOfficeM3U, state "Saved screen · Read only", the line "Captured Oct 12, 2026 at 10:15 AM · 100×32", and the captured text [OFFICE] (base) ~ with a prompt; no keyboard row is shown.
A saved screen names itself, its time and its size. It is read, not resumed.

Saved screen · Read only. Captured with a time and a size. The new-session and Anvil buttons are greyed out. The text is selectable, because reading and copying are the whole point.

What the Shelf Refuses to Be

It is plain text: no colors, no parser state, no editable terminal. It is never fed back into the emulator and never into a PTY. Capture waits for a complete replay and stops at an output gap, and a partial replay can never overwrite the last complete saved screen. Every saved session row is stripped of writer, lease, hold and surface authority, so a cold pane is disconnected with input disabled. A fresh hello does not re-enable input by itself; the same fresh-attachment and complete-screen gates as always decide that. A changed daemon incarnation clears the old panes rather than resurrecting them under new sessions. No keystroke, create, hold or Anvil action is queued for later. Output is sampled at most every two seconds and flushed when a replay completes, a pane closes or a link drops.

Why This Belongs in the Tense Track

A reviewer who opens the phone on a train and sees a saved screen could call it a checkpoint and tick a milestone. It is not one, and the product labels make that impossible to miss: Saved, Read only, Captured, need a connection. That is Track 2's rule again, on the phone: a remembered recipe or a remembered picture is never a living process. The destination is still a reconstructed screen. The present is an honest photograph with its timestamp on it.

A saved screen is a timestamped photograph, not a checkpoint. It carries no input authority, never feeds the emulator or the PTY, and clears when the owner's incarnation changes. Reading it is present tense; reconstructing the screen is still the destination.

Code

The read shelf, against the checkpoint it is not·text
READ SHELF (present, since 2026-10-06)
  per Mac:  last complete session list  (<= 2,000 rows, limit labeled, saved-at time)
  per pane: last complete visible grid  (<= 40 screens per Mac, <= 64,000 chars each)
            + size, capture time, incarnation, session id, sequence, scrolled-back
  shown as: "Saved sessions · <time>", "Saved screen · Read only", "Captured <time> · <cols>x<rows>"
  input:    disabled; writer / lease / hold / surface authority stripped on save
  capture:  only after a complete replay; stops at an output gap;
            a partial replay never overwrites the last complete screen
  never:    fed into SwiftTerm or a PTY; queued keystrokes, creates, holds, Anvil acts
  incarnation changed -> old panes cleared, not resurrected

CHECKPOINT (destination, M2)
  parser state, modes, alt screen, cursor, resize history
  paged retained history across rotate / background / large output
  -> a screen you could keep typing into after a lock

External links

Exercise

You are on a plane with the phone. Write what Smolder can show you, what it says about each thing it shows, and three things it will refuse until it reconnects. Then write the one sentence you would put in a status report so nobody reads the shelf as a checkpoint.
Hint
Read and copy, yes. Type, create, hold, run an Anvil action, no. "Saved observations, captured at …; not a checkpoint" is a sentence a reviewer cannot misread.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign in — Please sign in to comment.

No comments yet — be the first.