6 Commits

Author SHA1 Message Date
Marcos Paulo 18d02d3884 feat: assistant panel AI Elements (subagent trace, message footers, chat scroll, reasoning, plan/queue, confirmation, work summary, context meter, suggestions, model selector), checkpoint engine, object type / table formula / quick capture models; sync_sheet test isolation
ci / ci (macos-latest) (push) Has been cancelled
ci / ci (ubuntu-latest) (push) Has been cancelled
ci / ci (windows-latest) (push) Has been cancelled
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 21:01:23 -03:00
Marcos Paulo 3694e73de8 feat: Bases query pipeline: filter, sort, group, limit, summaries with lazy cells
ci / ci (macos-latest) (push) Has been cancelled
ci / ci (ubuntu-latest) (push) Has been cancelled
ci / ci (windows-latest) (push) Has been cancelled
run(Base, view, NoteSource, Env) with base and view filters (and/or/not), stable multi-key sort evaluating only the sort keys, groupBy and groupOrder (null group, hidden groups), limit across groups, built-in and custom summaries (Average, Min, Max, Sum, Range, Median, Stddev, Earliest, Latest, Checked, Unchecked, Empty, Filled, Unique, expressions over values), lazily memoised cells, dependency tracking so unused properties are never read; list methods sum, mean, median, min, max. 15000 rows with one filter and one sort run in well under the 500 ms bound. Bases task 7 (Claude Sonnet). Known gap: an empty groupOrder shows all groups (needs Option<Vec> in the model).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 03:03:30 -03:00
Marcos Paulo aeac86ddd2 feat: Bases model, evaluator, function library and map data model
ci / ci (macos-latest) (push) Has been cancelled
ci / ci (ubuntu-latest) (push) Has been cancelled
ci / ci (windows-latest) (push) Has been cancelled
.base model (filters, formulas, properties, views; unknown keys kept in order; limits and invalid-value errors), evaluator with the D5 type rules, lazy if and boolean operators, memoised formulas with cycle errors, depth cap 200, string/number/object/list/date/link/file/regexp functions with lambdas (regex through notescraft-regex), and the map model (Web Mercator, tile ids, viewport tiles, grid clustering, coordinate and colour parsing, OSM attribution constants; Paris z10 is tile 518/352). Bases tasks 2, 5, 6 (Claude Sonnet) and 8 (MiniMax M3.1 Flash, OpenCode Zen free route). Verified: notescraft-bases suites all pass, clippy -D warnings, xtask layers and tree clean. Known gaps: toFixed rounds ties to even, list.unique is quadratic.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 02:58:07 -03:00
Marcos Paulo 00726d5498 feat: Bases YAML subset parser and the expression lexer, parser and AST
ci / ci (macos-latest) (push) Has been cancelled
ci / ci (ubuntu-latest) (push) Has been cancelled
ci / ci (windows-latest) (push) Has been cancelled
yaml: lossless block and flow YAML subset with | and > scalars, comments, tab-indent error, limits (1 MiB, depth 12, 10000 nodes), emitter that round-trips; 9 fixtures from the Obsidian Bases docs (Bases tasks 1; written by Claude Sonnet after two MiniMax attempts produced no code). expr: tokens, AST and precedence-climbing parser with regex literals, arrays, objects, member/index/call, dependency collection, depth and length limits (task 3; MiniMax M3.1 Flash, OpenCode Zen free route). Verified: notescraft-bases 43+ tests pass, clippy -D warnings clean, xtask layers OK. The previous bases commit message claimed a YAML parser that did not exist yet.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 02:45:26 -03:00
Marcos Paulo 9993a66fee feat: Bases crate: YAML subset parser, value, date and duration types
notescraft-bases (L2, no I/O): hand-written lossless YAML subset parser and emitter with limits (1 MiB, depth 12, 10000 nodes), value and date types with durations, month clamp and a total order across types (Bases tasks 1 and 4). Built by MiniMax M3.1 Flash (OpenCode Zen free route). Verified as part of the full cargo xtask ci run on the combined tree.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 02:31:52 -03:00
Marcos Paulo 7f432138df docs: Obsidian plugin parity research, Bases spec and tasks, empty notescraft-bases crate
ci / ci (macos-latest) (push) Has been cancelled
ci / ci (ubuntu-latest) (push) Has been cancelled
ci / ci (windows-latest) (push) Has been cancelled
Inventory of the 29 core plugins (22 done, 2 partial, 5 missing), 80 community plugins with a verdict each, a ranked roadmap with 8 ready briefs, the Bases spec (D1-D13) and 20 tasks, ASCII wireframes of the Bases screens (PaperCraft was not running). crates/bases is registered at layer L2.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 00:30:28 -03:00