Claims · cairn_examples
cairn_examples 0.2.0: claims
Everything cairn_examples 0.2.0 claims a person can do and see, and what holds, by place, each with its evidence.
The counter's window: a bar as long as the count, Increment, and Reset when there is something to reset.
Moves
Flows
The window: a heading, the New item field and Add, the list of items, and the count of items left.
Moves
Flows
The window: the heading, toggle all and the new-todo field, the listed todos, the footer with the counter, filters and Clear completed, and the info line.
Moves
| Id | Claim | Reads as |
cairn_examples^202 | New todoType in the What needs to be done? field, and press Enter. (T5–T13) | proved |
cairn_examples^203 | Mark all as completePress the toggle-all checkbox. (T14–T17) | proved |
cairn_examples^204 | Complete a todoPress a todo's checkbox. (T19, T42) | proved |
cairn_examples^205 | Edit a todoDouble-click a todo's title. (T20, T25–T27) | proved |
cairn_examples^206 | Delete a todoPress a todo's delete button (×, drawn while the pointer is over the row or the button has keyboard focus). (T21, T22, T49) | proved |
cairn_examples^207 | Edit fieldIn edit mode, type in the todo's field; then press Enter, click elsewhere or Tab away, or press Escape. (T28–T31, T50) | proved |
cairn_examples^208 | AllPress the All filter. (T39–T43) | proved |
cairn_examples^209 | ActivePress the Active filter. (T39–T43) | proved |
cairn_examples^210 | CompletedPress the Completed filter. (T39–T43) | proved |
cairn_examples^211 | Clear completedPress Clear completed, shown while some todo is completed. (T37, T38) | proved |
Flows
| Id | Claim | Reads as |
cairn_examples^216 | Add two todos and complete oneType milk and press Enter, type eggs with spaces around it and press Enter, then check milk. | proved |
cairn_examples^217 | Blank text adds nothingType spaces and press Enter. | proved |
cairn_examples^218 | Edit a todo and save with EnterAdd milk, double-click it, select all, type oat milk with spaces around it, press Enter. | proved |
cairn_examples^219 | Saving a blank edit deletes the todoAdd milk, double-click it, delete its text, and click elsewhere. | proved |
cairn_examples^220 | Escape cancels an editAdd milk, double-click it, delete its text, press Escape. | proved |
cairn_examples^221 | The Active filter hides completed todosAdd milk and eggs, check milk, press Active. | proved |
cairn_examples^222 | Clear completedAdd milk and eggs, check milk, press Clear completed. | proved |
cairn_examples^223 | Mark all as complete, then undo itAdd milk and eggs, check milk, press toggle all twice. | proved |
cairn_examples^224 | A new todo under the Completed filterAdd milk, press Completed, add eggs. | proved |
The stopwatch's window: the reading, the time of day, Start/Stop, Lap, Reset, Save laps, Load laps, a status line and the laps.
Moves
Flows
Tray menu cairn_examples^450
The menu of Tray's menu bar item: the status line, Show or Hide Overlay, Keep Recent Items, Add Item, the Recent Items submenu and Quit Tray.
Moves
Flows
The Recent Items submenu: the recent items, newest first (or None yet), then Clear Recent Items.
Moves
A panel at the bottom of the screen, over every app, that never takes focus or clicks: a row of moving bars and a line of text. Shown and hidden from the menu.
No claim names this place.
Six image tiles in a grid, each with its name and pixel size or fault, under a header with Fit and Reload.
Moves
Flows
Not in a place
Moves and flows that name no place.
Invariants
What holds in every state the app can reach.
| Id | Claim | Reads as |
cairn_examples^6 | Moves never leave a press in progress | retired |
cairn_examples^105 | Items leftThe footer's count equals the number of items not done, and item ids stay distinct, in every reachable state. | proved |
cairn_examples^212 | Counter and idsThe counter shows the number of active todos, over all todos; todo ids are distinct, in every reachable state. (T24, T34) | proved |
cairn_examples^213 | The list is the filter applied to the todos | retired |
cairn_examples^225 | The list is the filter applied to the todos | retired |
cairn_examples^226 | The list is the filter applied to the todosThe rows on screen are exactly the todos the selected filter accepts, in creation order, under any hover and focus, in every reachable state. (T40, T42) | proved |
cairn_examples^409 | Pending requests have fresh idsThe pending save and load, if any, have ids below the next request's, so a reply to a later request is never taken for theirs. | proved |
cairn_examples^460 | At most five recent itemsRecent Items never lists more than five items, however many are added. | proved |
cairn_examples^504 | Pending loads have fresh idsEvery load waiting for its reply has an id below the next request's, so a reply to a later load is never taken for an earlier one. | proved |
cairn_examples^510 | Tiles fit the window at every sizeAt every window size the tiles don't overlap, read left to right and top to bottom, and stay inside the window; resizing reflows them. | proved |
cairn_examples^511 | Tiles are at least 180 points wideAt every window size from the window's minimum up, every tile is at least 180 points wide; the host keeps the window from being dragged smaller. | proved |
cairn_examples^513 | A dropped thumbnail waits to be loaded againA thumbnail the host dropped from its image cache shows as not loaded, and no late reply can show it as loaded, until the app loads it again. | proved |