cat / 012
clone

a spreadsheet for the terminal: lotus 1-2-3 looks, google sheets keys and formulas, one go binary

Roadmap: fixtures, random edits, the speed gate and crash safety shipped; cycles through several arrays ahead

Dami committed 0bba145
commit
0bba14514141b8eb84af22023a045deb47ffa21d
parent
bfc9bd831376c8e072afc98944e67e0b402544cb
author
Dami <dami.etoile@gmail.com>
kind
docs risk score 0.0 of 3, Jev's estimate
1 file changed, +5 -4
MROADMAP.md9+++++----
M ROADMAP.md +5 -4
@@ -60,11 +60,8 @@ shared editing in section 3.
6060 6161 | Item | Result | Size |6262 |---|---|---|63-| Files saved by each release kept as fixtures that every later build opens and saves unchanged; the `.012` format written down with a version | Old files keep opening | S |64-| Random sequences of edits, sorts, fills and region runs checked for invariants: undo all restores the start, save and reopen match, a full recalc agrees with the incremental one | Bugs between features found before users hit them | M |6563 | A workbook of formulas where 012 matches Sheets on purpose (dates, text, rounding, errors, spills), results checked once in Sheets and asserted after; differences chosen on purpose listed in the docs | Formula results people rely on stay put | S |66-| Frame time and recalculation checked in `make check` against a baseline with a noise margin | Slowdowns fail the check, not a later benchmark | S |67-| A panic in any session saves the workbook for recovery and writes a short report, tested end to end | A crash loses nothing | S |64+| Cycles through several arrays settled the same whatever order they're computed in: the rare cycles the random edits still find with `-randedit.seeds=40000` (an array blocked or not depending on which of two was checked first) | Every cycle reads the same when reopened | S |6865 | A week of real use by the owner, problems triaged into this page | Rough edges found by use | S |6966 7067 ### 5. Around the grid
@@ -149,6 +146,8 @@ stream above rather than a design of their own.
149146 - Import CSV, TSV, JSON, NUON, XLSX, SQLite, Parquet and Lotus `.wk1`; export CSV, TSV, JSON, NUON, XLSX and SQLite; import locations; save-as and overwrite checks: [Files](docs/files/README.md)150147 - `.012` files read and written as a stream, cells straight into and out of the store: [The .012 format](docs/files/format.md#reading-and-writing)151148 - Following files: a linked region follows a CSV, TSV, JSON lines or NUON file as it grows and any importable file as it's rewritten, keeping every row or the last ones, its rows arriving as the change stream: [Following files](docs/files/following.md)149+- The `.012` format written down with a version, and each release's workbooks kept as fixtures that every later build opens and saves unchanged: [The .012 format](docs/files/format.md#versions), [Releasing](docs/contributing/releasing.md#file-fixtures)150+- A crash keeps unsaved work for recovery, restores the terminal and writes a report, locally and in `012 serve`: [Saving](docs/files/saving.md#if-012-crashes)152151 153152 **Upkeep**154153
@@ -157,3 +156,5 @@ stream above rather than a design of their own.
157156 - `make stress-report` flags regressions against the last release's run, allowing for noise: [Observability](docs/contributing/observability.md#regressions-against-the-last-release)158157 - Grafana: recent traces and a trace view of the nested spans: [Observability](docs/contributing/observability.md#the-stack)159158 - Every overlay, prompts and formula suggestions behind narrow hosts, most in packages of their own with fake-host tests: [Architecture](docs/contributing/architecture.md#the-ui)159+- Random sequences of edits, pastes, fills, sorts, inserts, formats and region runs checked for undo, reopening and full recalculation agreeing: [Testing](docs/contributing/testing.md#unit-tests)160+- Frame time and recalculation held to a checked-in baseline in `make check`: [Bounds of support](docs/contributing/limits.md#the-speed-gate)