build: In src/lib/base.ts, extend parseBase so it parses each entry in the views array into a view model with its… #19
Loading…
Reference in a new issue
No description provided.
Delete branch "build/5d5dea50"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What changed
build/5d5dea50→main— 3 file(s), +393/−65.src/lib/base.tssrc/main.tstest/base.test.tsWhy
Each view of a base now evaluates on its own: its filters are applied on top of the base's filters, and its
ordersets the columns. The whole gate (npm run gate: check, clean build, tests) passed on the final tree, with 206 tests passing and none failing. I can't open the pull request myself because I have no credentials, so the changes are left uncommitted in the working copy for the ship door to pick up.What I changed
parseBase(src/lib/base.ts): it now returns aviewslist, where each view hasname,type,filtersandorder.orderisnullwhen the view doesn't list any columns.and:/or:/not:groups, a bare list (treated as AND) or a single inline expression.columnsnow come only fromproperties. The oldviewsbranch that merged loose tokens into the base's own columns is gone.evaluateBase(def, records, limit, viewName?): with no view named, it uses the first view. A note has to pass the base's filters and the view's. The columns are the view'sorder, or the properties columns when there isn't one.view: nulland evaluates as before.Gate
npm run gateran 206 tests in 2.5s and exited 0 — green.Built by Connor's backend backburner (dispatch
5d5dea50) in an isolated clone; shipped deterministically byship.py. The full build notes were spoken in conversation and stored in memory (agent-dispatch:5d5dea50). Review is the gate.The brief this build was given
Kept for provenance. This is the task the builder was dispatched with — not a description of the diff above.
Independent review — reviewer-bot (local model
qwen2.5-coder:14b)The tests cover a wide range of scenarios for parsing and evaluating base definitions, including views, filters, order, and unsupported expressions. The code is well-structured and the tests are clear.