Cairn Docs Claims Blog Packages

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.

4 retired63 proved8 no proof

Counter window cairn_examples^3

The counter's window: a bar as long as the count, Increment, and Reset when there is something to reset.

Moves

IdClaimReads as
cairn_examples^1IncrementPress Increment.proved
cairn_examples^2ResetPress Reset.proved

Flows

IdClaimReads as
cairn_examples^4Count to threePress Increment three times.proved
cairn_examples^5Start overCount up, then press Reset.proved

Basics window cairn_examples^106

The window: a heading, the New item field and Add, the list of items, and the count of items left.

Moves

IdClaimReads as
cairn_examples^101Type a new itemType in the New item field, and press Enter.proved
cairn_examples^102AddPress Add.proved
cairn_examples^103Toggle an itemPress an item's checkbox.proved
cairn_examples^104Delete an itemPress an item's delete button.proved

Flows

IdClaimReads as
cairn_examples^107Add two items and finish oneType milk and press Enter, type eggs and press Add, then check milk.proved
cairn_examples^108Blank text adds nothingType spaces, then press Enter and Add.proved
cairn_examples^109Add an item, then delete itType milk, press Add, then press milk's delete button.proved

Todos window cairn_examples^201

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

IdClaimReads as
cairn_examples^202New todoType in the What needs to be done? field, and press Enter. (T5–T13)proved
cairn_examples^203Mark all as completePress the toggle-all checkbox. (T14–T17)proved
cairn_examples^204Complete a todoPress a todo's checkbox. (T19, T42)proved
cairn_examples^205Edit a todoDouble-click a todo's title. (T20, T25–T27)proved
cairn_examples^206Delete 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^207Edit 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^208AllPress the All filter. (T39–T43)proved
cairn_examples^209ActivePress the Active filter. (T39–T43)proved
cairn_examples^210CompletedPress the Completed filter. (T39–T43)proved
cairn_examples^211Clear completedPress Clear completed, shown while some todo is completed. (T37, T38)proved

Flows

IdClaimReads as
cairn_examples^216Add two todos and complete oneType milk and press Enter, type eggs with spaces around it and press Enter, then check milk.proved
cairn_examples^217Blank text adds nothingType spaces and press Enter.proved
cairn_examples^218Edit a todo and save with EnterAdd milk, double-click it, select all, type oat milk with spaces around it, press Enter.proved
cairn_examples^219Saving a blank edit deletes the todoAdd milk, double-click it, delete its text, and click elsewhere.proved
cairn_examples^220Escape cancels an editAdd milk, double-click it, delete its text, press Escape.proved
cairn_examples^221The Active filter hides completed todosAdd milk and eggs, check milk, press Active.proved
cairn_examples^222Clear completedAdd milk and eggs, check milk, press Clear completed.proved
cairn_examples^223Mark all as complete, then undo itAdd milk and eggs, check milk, press toggle all twice.proved
cairn_examples^224A new todo under the Completed filterAdd milk, press Completed, add eggs.proved

Clock window cairn_examples^406

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

IdClaimReads as
cairn_examples^401Start / StopPress Start (Stop while running).proved
cairn_examples^402LapPress Lap while the stopwatch runs.proved
cairn_examples^403ResetPress Reset while stopped.proved
cairn_examples^404Save lapsPress Save laps.proved
cairn_examples^405Load lapsPress Load laps.proved

Flows

IdClaimReads as
cairn_examples^407Two lapsPress Start, then Lap twice.proved
cairn_examples^408Start overPress Start, Lap, Stop, then Reset.proved

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

IdClaimReads as
cairn_examples^453Open the menuClick Tray's menu bar item.proved
cairn_examples^454Show OverlayChoose Show Overlay (Hide Overlay while it is shown), or press ⌘O with the menu open.proved
cairn_examples^455Keep Recent ItemsChoose Keep Recent Items.proved
cairn_examples^456Add ItemChoose Add Item while Keep Recent Items is on.proved
cairn_examples^459Quit TrayChoose Quit Tray, or press ⌘Q with the menu open.proved

Flows

IdClaimReads as
cairn_examples^461Show the overlayOpen the menu and choose Show Overlay.proved
cairn_examples^462Add an item and pick itChoose Add Item, then the new item under Recent Items.proved

Recent Items submenu cairn_examples^451

The Recent Items submenu: the recent items, newest first (or None yet), then Clear Recent Items.

Moves

IdClaimReads as
cairn_examples^457Recent itemChoose an item under Recent Items.proved
cairn_examples^458Clear Recent ItemsChoose Clear Recent Items under Recent Items, while there are some.proved

Overlay panel cairn_examples^452

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.

Gallery window cairn_examples^503

Six image tiles in a grid, each with its name and pixel size or fault, under a header with Fit and Reload.

Moves

IdClaimReads as
cairn_examples^501ReloadPress Reload.proved
cairn_examples^502FitPress Fit.proved
cairn_examples^506Load 24Press Load 24.proved
cairn_examples^507CancelPress Cancel.proved
cairn_examples^509Reload a tilePress a tile.proved
cairn_examples^512Next pagePress Next page.proved

Flows

IdClaimReads as
cairn_examples^505Reload, then fit insidePress Reload, then Fit.proved
cairn_examples^508Load many, then cancelPress Load 24, then Cancel.proved

Not in a place

Moves and flows that name no place.

IdKindClaimReads as
cairn_examples^215moveBack through filtersretired

Invariants

What holds in every state the app can reach.

IdClaimReads as
cairn_examples^6Moves never leave a press in progressretired
cairn_examples^105Items leftThe footer's count equals the number of items not done, and item ids stay distinct, in every reachable state.proved
cairn_examples^212Counter 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^213The list is the filter applied to the todosretired
cairn_examples^225The list is the filter applied to the todosretired
cairn_examples^226The 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^409Pending 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^460At most five recent itemsRecent Items never lists more than five items, however many are added.proved
cairn_examples^504Pending 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^510Tiles 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^511Tiles 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^513A 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