2746 Commits

Author SHA1 Message Date
Claude (adr9-steward) dce3ab63c7 docs(adr): ADR 009 folds ADR 008's 2026-10-06 answers: client-side view state, no layout tier, delivery by unaddressed notice (improvise-felo.4)
Quotes Q33, Q39 and Q46-Q52 with ids. Request parameters come from a
client's ephemeral UI state and saved views only supply defaults;
SaveView touches no operator; the circuit relies on no view-fact tier.
Q13 (now this ADR's, per "defer this to ADR 009") leans to an
unaddressed change notice, with the fates of GridExtent, Dirty and the
occupancy delta. Q23 concerns unsaved hides; Q24 asks which parameters
must travel. Reads ADR 008 at 5b29335a.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 23:05:11 -07:00
Claude (adr9-steward) 0b066d46cb docs(adr): ADR 009 corrects option (A)'s total cost to O(H log d) and leans to (A) (improvise-felo.4)
A total over all rows can subtract the hidden rows' groups at read time
for every aggregate (Min/Max skip fully hidden keys; the text rule counts
distinct keys left), so (A) is stateless and cheap; (B') becomes a memo
on it. Also: a hidden column item under a collapsed column group, clause
5a totals under both options, and (B')'s cost stated as an upper bound.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:47:59 -07:00
Claude (adr9-steward) 0cf16b043a docs(adr): ADR 009 reads ADR 008 at revision 29 (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:46:25 -07:00
Claude (adr9-steward) ad60ad2b7e docs(adr): ADR 009 marks (B) withdrawn where it first appears and states ADR 008 revision 28's totals rule (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:45:28 -07:00
Claude (adr9-steward) 405d433732 docs(adr): ADR 009 keys column totals by the hidden row set, because the shape key is shared (improvise-felo.4)
Plain (B) is withdrawn: two clients on one shape key with different
hidden rows would share one wrong total. The author now leans to (B'),
totals per (shape key, hidden row-axis set), with (A) and a mix still
open in question 23; question 14 states the cache cost.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:41:30 -07:00
Claude (adr9-steward) 15cb987a93 docs(adr): ADR 009 rebuilds column totals on a row hide, and fixes the review's nits (improvise-felo.4)
Today a column total pools only the drawn rows, so a hide changes it;
clause 7 now rebuilds totals on a row-axis hide or show by default (B),
with read-time subtraction (A) as question 23. Hidden page-category
items are filter keys; step 8, the stem path, the order label's cost,
the ADR 008 chat-list note and two citations are corrected. Reads ADR
008 at 99322d0e.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:39:32 -07:00
Claude (adr9-steward) 255e3d6d96 docs(adr): ADR 009 reads ADR 008 revision 25: the ref edge in clause 5a and the proposed question owners (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:32:39 -07:00
Claude (adr9-steward) 71a5623479 docs(adr): ADR 009 answers the review of 3698c680 (improvise-felo.4)
B1: clause 7 splits a shape key from read-time parameters and says
view_shape is not the key; clause 4, Q7 and Q11 follow. B2: one numbered
list of the twelve relayed chat statements. B3: withdrawn leans marked
superseded; clause 12's pruning text rewritten for the gallop baseline.
Also: clause 5a's fallback is answer-preserving (agg_values pools only
member_records), ADR 007 keys, T5 per-subscription coalescing, item
edits reach every subscriber, fold Sum exactness, owners for questions
shared with ADR 008, re-derived citations. Reads ADR 008 at 3180327b.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:30:55 -07:00
Claude (adr9-steward) 3698c68025 docs(adr): ADR 009 records the user's galloping top-left search and revises the predecessor lean (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:12:18 -07:00
Claude (adr9-steward) 885e8eb469 docs(adr): ADR 009 records the objection to snap-forward and argues the alternatives cannot stick (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:10:01 -07:00
Claude (adr9-steward) de3b2bc323 docs(adr): ADR 009 analyses predecessor search and a top-left on a pruned row (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:08:52 -07:00
Claude (adr9-steward) 6305fa3bc7 docs(adr): ADR 009 analyses forward-only, right-and-down pruning growth (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 15:05:38 -07:00
Claude (adr9-steward) 037f795473 docs(adr): ADR 009 corrects the single-window fixpoint claim and reads ADR 008 revision 21 (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 14:59:09 -07:00
Claude (adr9-steward) 530ec2941b docs(adr): ADR 009 reads ADR 008 revision 20 and cross-references its questions 60-65 (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 14:57:34 -07:00
Claude (adr9-steward) 09938f0064 docs(adr): ADR 009 analyses the client's fetch, prune and fill loop (improvise-felo.4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 14:56:49 -07:00
Claude (adr9-steward) 4851eec8a6 docs(adr): ADR 009 records window-relative pruning and the restricted skip query (improvise-felo.4)
The user's chat statements make pruning a filter over displayed values.
Clause 12 now names the query a client's fill loop needs and three ways
to answer it; question 19's recommendation is revised and question 22
added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 14:56:02 -07:00
Claude (adr9-steward) a9bcb816e9 docs(adr): ADR 009 revised to fit ADR 008's view/host split (improvise-felo.4)
Adds the user's ADR 008 statements that bear on this ADR, clauses 12-14
(network transparency, incremental max width, resident state), keys
operator state by projection shape at item grain, retires the per-mirror
delivery assumptions, and appends questions 12-21. Questions 1-11 stay
open. Reads ADR 008 at 69f0a7c6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 14:54:30 -07:00
Claude (adr9-steward) 502373c025 Merge commit '50e1314d069a4f6e549cd7d9795b6491a89bf903' into adr9-rev-steward 2026-10-05 14:43:31 -07:00
Claude (adr7-steward) 068e413071 docs(adr): mark CategoryRow pending Q23 and qualify answer 5's fit (improvise-cq1q.1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 14:07:05 -07:00
Claude (adr7-steward) 769f7b251f docs(adr): put answers 35 and 36 on their true head and mark Q23's premises (improvise-cq1q.1)
Merge the eighth and ninth rounds (all four comments are on 4aed8c07),
quote the anchored line, drop the lean toward option (c), add pending-Q23
markers, and record the review's non-blocking points as flagged text.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 13:49:46 -07:00
Claude (adr7-steward) 5385bb36bc docs(adr): fold answers 35 and 36, reopen Q23, add Q24 and Q25 (improvise-cq1q.1)
Measures get the id/display split and are the normal formula target;
dimension targets are rare. The mechanism is left to Q23 as options.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 13:31:14 -07:00
Claude (adr7-steward) e9659903d8 docs(adr): fold answers 33 and 34 into ADR 007 (improvise-cq1q.1)
Answer 33: typed names match ids first until a view-layer autocomplete
exists, reversing answer 31's order. Answer 34: "space" means whitespace
and a run of it becomes one underscore, overriding the ADR's U+0020 reading.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-05 13:28:07 -07:00
Claude (adr7-steward) 09deaeef2a Merge commit '50e1314d069a4f6e549cd7d9795b6491a89bf903' into adr7-steward-work 2026-10-05 13:25:44 -07:00
Ed Langley 50e1314d06 Merge pull request #334 from fiddlerwoaroof/docs/bookkeeping-2026-10-03
CI / Build all bundles (push) Has been cancelled
CI / Test and lint (host) (push) Has been cancelled
CI / Nix build (crate2nix) and the repo-stats pipeline (push) Has been cancelled
CI / wasm32 check (browser bundle crates) (push) Has been cancelled
CI / Browser JS unit tests (node --test) (push) Has been cancelled
CI / Knowledge base consistency (push) Has been cancelled
CI / Lint the harness crate (push) Has been cancelled
CI / Browser harness (OPFS contract + shell) (push) Has been cancelled
CI / Deploy to GitHub Pages (push) Has been cancelled
docs(context): repo-map and kb bookkeeping, 2026-10-03
2026-10-02 23:28:15 -07:00
Claude (bookkeeping) 91d9925494 docs(context): name the tests that guard the registry's name literals
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 23:21:49 -07:00
Claude (bookkeeping) 942888e0dc docs(context): correct gotchas 15 and 16 and drop the duplicate 8jk6.6 kb fact
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 23:15:02 -07:00
Claude (bookkeeping) dd1bf96e00 docs(context): fix the inventory rows and stale text the review blocked #334 on
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 23:07:47 -07:00
Claude (bookkeeping) 1da2695f1f docs(context): repo-map and kb bookkeeping for felo.13, 31oe.2/.3, 8jk6.3/.6 and stale-text fixes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 22:57:38 -07:00
Ed Langley d571abbd8a Merge pull request #322 from fiddlerwoaroof/feat/8jk6.3-date-hierarchy
feat(import): a date column imports as one hierarchical category (improvise-8jk6.3)
2026-10-02 22:32:35 -07:00
Ed Langley 6693178530 Merge pull request #316 from fiddlerwoaroof/fix/31oe-cmdlang
fix(command): pipe-quoted arguments and refusals for unknown names (improvise-31oe.2, 31oe.3)
2026-10-02 22:30:46 -07:00
Claude (cmdlang) 8fa504fbdc Merge gh/main into fix/31oe-cmdlang; renumber cli.md §13/§14 to §14/§15
#321 added its own cli.md section 13, so this PR's sections become 14 (pipe
quoting, surplus arguments) and 15 (names the document lacks), with every
citation renumbered. The stale descriptions of the deleted unknown_* helpers in
cli.md, command.md and the test evidence now describe RequireKnown, and section
15 says a refused name stops the rest of a `:` line but not a headless one.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 22:00:38 -07:00
Claude (8jk63-fix) 581934886d Merge remote-tracking branch 'gh/main' into feat/8jk6.3-date-hierarchy
# Conflicts:
#	context/test-evidence/formula-and-io.md
#	crates/improvise-io/src/import/wizard.rs
#	src/main.rs
2026-10-02 22:00:32 -07:00
Ed Langley 8da5a3101b Merge pull request #333 from fiddlerwoaroof/fix/felo13-layout-quadratic
perf(layout): O(1) axis index, layout and widths cached across keypresses (improvise-felo.13)
2026-10-02 21:55:37 -07:00
Ed Langley 7e87970278 Merge pull request #321 from fiddlerwoaroof/fix/headless-import-refusals
fix(import): headless import refuses instead of silently succeeding (improvise-8jk6.4, 8jk6.5, 8jk6.6)
2026-10-02 21:41:07 -07:00
Claude (cmdlang) c99353777b fix(command): refuse a malformed coordinate on : and let a later segment see an earlier one (improvise-31oe.3)
PR #316 review blockers. A cursor fallback (clear-cell, yank, paste,
drill-into-cell) now answers only for coordinates that were omitted, so
`:clear-cell Type/Clothing Month/Feb junk` is refused instead of clearing the
cursor's cell. The unknown-name checks move from `execute` to a RequireKnown
effect run at apply time, so `:create-view Second . switch-view Second` is
accepted as `improvise cmd` accepts it. Also pins that a quoted `.` is an
argument.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 21:33:16 -07:00
Claude (8jk63-fix) 0c56a4b9a1 fix(cli): refuse a --split-date or --axis that names nothing it built (improvise-tpm8) 2026-10-02 21:33:01 -07:00
Claude (8jk63-fix) 053699b652 test(cli): split-date and axis naming nothing are refused (improvise-tpm8) 2026-10-02 21:29:56 -07:00
Claude (8jk63-fix) ec9747cc0e fix(import): the date step refuses a spelling clash where the split fix is (improvise-d0n6) 2026-10-02 21:29:30 -07:00
Claude (8jk63-fix) 22d10987bf test(import): the date step refuses a spelling clash (improvise-d0n6) 2026-10-02 21:29:21 -07:00
Claude (imp321) a244553556 docs(import): name the pre-build refusals and the headless test that sees R5 (improvise-8jk6.17)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 21:28:13 -07:00
Claude (8jk63-fix) 08b7ab0f35 style(import): format and shorten the spelling-clash check (improvise-d0n6) 2026-10-02 20:58:51 -07:00
Claude (8jk63-fix) c3e12842c2 fix(import): refuse a raw date spelled like a generated item or group (improvise-d0n6) 2026-10-02 20:50:01 -07:00
Claude (8jk63-fix) b516567e58 test(import): a raw date spelled like a generated item or group must not merge (improvise-d0n6) 2026-10-02 20:49:26 -07:00
Claude (imp321) 8f93d4e14a Merge commit '8220a065819652bb224d0b25f5724d6e3a5fbbe8' into fix/headless-import-refusals 2026-10-02 20:30:44 -07:00
Claude (cmdlang) 2e90872a40 Merge commit '8220a065819652bb224d0b25f5724d6e3a5fbbe8' into fix/31oe-cmdlang 2026-10-02 20:30:30 -07:00
Claude (cmdlang) ca61bda130 fix(command): refuse a coordinate argument that is not Category/Item instead of dropping it (improvise-31oe.3)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 20:30:29 -07:00
Edward Langley 0f116ff582 Merge commit '8220a065819652bb224d0b25f5724d6e3a5fbbe8' into feat/8jk6.3-date-hierarchy 2026-10-02 20:30:05 -07:00
Claude (felo13) 49ea84ca5f fix(docs): register the layout evidence pages; test the two gaps the review found (improvise-felo.13)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 19:18:47 -07:00
Claude (felo13) 14cef311dd docs(evidence): layout cost evidence and measurements; fmt the merged bench (improvise-felo.13)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 19:01:46 -07:00
Claude (felo13) 3b168a2ec8 perf(grid): keep the whole-grid summary per layout and read a window over it; exact-key probe in DataStore (improvise-felo.13)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-10-02 18:54:47 -07:00