Commit Graph

68 Commits

Author SHA1 Message Date
lilleman 63e985a53d Move List's path enumeration into list.go, position into node.go and sortedNames into sorted.go 2026-10-07 02:27:24 +02:00
lilleman 10dbd471fb Delete the doc lines the 2026-10-07 panel read as restating their code, and say what gatherFields' index is 2026-10-07 02:04:32 +02:00
lilleman 63223c6d63 Answer stability round 1, prose round 1 and product-owner round 1: startOf's doc names the head, the old senses leave names, comments, messages and tests, and the vocabulary defines scope, link and head 2026-10-07 01:04:44 +02:00
lilleman 98bb73f096 Give scope, binding, link, pick and head one meaning each: renderEnv, nodeSet, pipeline, resolvedRef, resolveTemplates, drawItem and a read's start 2026-10-07 01:04:44 +02:00
lilleman 707cd6b203 Move a table's rows, links and pins into internal/rows, and walk every path through one per-step function, so Fake refuses a level carrying a repeat 2026-10-05 22:10:04 +02:00
lilleman d7613bd7c7 Answer prose round 2: a complexity rule whose exception excepts, and plainer walk and ancestor comments 2026-10-05 21:21:46 +02:00
lilleman 449e8e3233 Answer prose round 1 and product-owner round 1: plainer walk, link and ancestor comments, a complexity rule that reads one way, shorter items 115 and 116, and a cycle through a cell filed under item 115 2026-10-05 21:21:46 +02:00
lilleman 54cb52b483 Answer architecture round 1: one categoryPath, the walk's label named label, checkAncestors split from proveParent, and file items 115 and 116 2026-10-05 21:21:46 +02:00
lilleman 8ffaa31e39 Set a table's path when it compiles, link a table family in one function, and label a cell from the walk 2026-10-05 21:21:46 +02:00
lilleman dd2fe61b13 Answer architecture round 1: one invariant phrase in internal/invariant, held across every package, Source built by Dir and FS, coverage counted across packages, and file items 112 and 113 2026-10-05 16:30:28 +02:00
lilleman f4a05fbb36 Answer architecture round 3: walk a table's row node in the cycle check, record where the read-once spelling meets an inline refusal, and cite goal 5.2 for a path tag drawing afresh 2026-10-05 10:19:01 +02:00
lilleman 1a15a139c8 Answer architecture round 1: refuse a name read inside the field it binds, check every scope's cycles, build a column read in one pass, drop the implicit struct pick for names across tags, and state the fresh-draw rule once 2026-10-05 10:19:01 +02:00
lilleman 6aebeebb72 Draw every {…} afresh, keep a pick only by name, and delete drawGroup with the hold and draw fences 2026-10-05 10:19:01 +02:00
lilleman 3bb8628e39 Answer architecture round 2: one folder walk and one sorted-keys helper, REGENERATE for the index, and the held decisions naming the items that end them 2026-10-03 20:37:07 +02:00
lilleman 5667cd5dc3 Load a shipped category on the first call reaching it, from an index generated from data/ 2026-10-03 20:37:07 +02:00
lilleman 5cb919eb3c Rewrap checkNoCycles' doc 2026-09-30 22:01:04 +02:00
lilleman a9448d1a99 Delete comments restating their code, and doc.go's partial list of draw fences 2026-09-30 22:01:04 +02:00
lilleman 6b9755b3ef Compile each path's steps, leaves and cover once at link, deleting pathCover, coverPath and pathLeaves 2026-09-30 20:02:16 +02:00
lilleman 6ee7ee4234 Delete the sort-order restatements on walkNodes and compileFields 2026-09-29 15:49:10 +02:00
lilleman 9b050994f5 Delete the reported-order clauses and checkRecordDraws' record-only comment 2026-09-29 15:49:10 +02:00
lilleman a7d77bd3ad Rename arm.key to head, give renderScope.row its own type, and value.go to valueproof.go 2026-09-29 10:28:15 +02:00
lilleman 30d0f84ea4 Drop table.fields for formatTemplate.fields 2026-09-29 10:08:41 +02:00
lilleman 38837b86a8 Panic through internalError on a node kind contained or paths does not list 2026-09-29 02:48:58 +02:00
lilleman a9f35a1ab3 Correct List's, reached's and rng's false comments 2026-09-29 02:07:40 +02:00
lilleman 514d738b08 Report every invariant break through internalError 2026-09-29 01:51:44 +02:00
lilleman e09a0434a3 Drop the comment restating readsRef 2026-09-29 00:29:07 +02:00
lilleman 010bcd15bc Carry the linked arm on renderEdge and reader, and drop the done round item 2026-09-29 00:29:07 +02:00
lilleman d19c5d4719 Make renderEdges panic on a node kind it does not handle, and drop the done round item 2026-09-29 00:13:54 +02:00
lilleman e257dc0e6e Return link's and format compile's outputs as templateLink and formatOps, assigned once in linkTemplate 2026-09-28 23:55:22 +02:00
lilleman 8f86de2187 Name pathKeys, pathKeyReaders, proveKeys and readValue's hold for what they hold, and give no token kind to the zero value 2026-09-28 12:06:03 +02:00
lilleman affbb9ac6f Give head, index, bound and draw one meaning each, name familyRoot, and type the token kinds 2026-09-28 12:06:03 +02:00
lilleman 060fb42fee Refuse a selector on a template before its level fence, give pathCheck one entry over its own tail, and scope the probe decision to descend 2026-09-28 00:55:48 +02:00
lilleman 68033bd42f Name the path walks after their entry points, keep the probe allocation-free, and record why the walks are four loops 2026-09-28 00:55:48 +02:00
lilleman 94eb7aa81f Split walkPath's four modes into walkers of their own, sharing how a path steps 2026-09-28 00:55:48 +02:00
lilleman d6ac8ed9fd Give check, children, column, columns, draw, drawn, fields, format, head, index, key, n, name, named, names, null, number, op, reads, record, root, row, t and whole one meaning each 2026-09-25 19:31:09 +02:00
lilleman cfe8124cc3 Rename addField to gatherField and reachMemo to renderCounts, and list every shared name left 2026-09-25 19:02:58 +02:00
lilleman 65091233a8 Give rows, field, walk, column, expr and of one meaning each: rowCount, readRows, gatherFields, addField, addTag, renderCount and the prove methods 2026-09-25 19:02:58 +02:00
lilleman 068e2b73ca Rename drawAt.pinned to pins, the visit keys' rows to rowsKey and cellNode to cellTemplate, and file format_test.go's split 2026-09-25 17:35:26 +02:00
lilleman 005f4d7adc Rename template.go to format.go, a table's tokens to cellTemplates, drawAt.alt to pinned and ftoken's brace-body kind to 't', and drop the done item 2026-09-25 17:35:26 +02:00
lilleman 5953c58224 Name pathWalk's modes, and draw a path only through drawPath once it is proved 2026-09-25 08:19:02 +02:00
lilleman 467cb6fb18 Parse a format once into tokens, and have the fences read its ops 2026-09-24 23:36:27 +02:00
lilleman 5aae86638b Keep reference bindings out of template.fields, in template.refHeads 2026-09-24 19:38:10 +02:00
lilleman 9f00ad039e Move the decisions to docs/decisions.md, indexed in AGENTS.md and linked from the fences they back 2026-09-24 13:44:06 +02:00
lilleman 9cbd8841fe Draw a walk's rows and variants through pathDraws, off the pin set and the walk's signature 2026-09-24 13:24:58 +02:00
lilleman 3927dc9fa5 Give render and the draw fences one pin set 2026-09-24 10:19:23 +02:00
lilleman 11ecc1e365 Put the load path and the fence order in one file 2026-09-21 21:21:10 +02:00
lilleman 67ff2b258e Delete the duplicated recompile note and a miscount beside named 2026-09-21 11:43:58 +02:00
lilleman 7993e04d95 Skip the row loop of a column walk when a table has no token cells, and scan a cell for braces by byte 2026-09-18 00:26:58 +02:00
lilleman 047237f361 Replay each path's selectors through the walk for the family fence, require a key for a name, refuse a name shadowing a key, a table reading its own family and an ancestor's column clash, add the row node and family.go, and pin eight rows inline
Tests / vet + fmt + tests (pull_request) Successful in 1m8s
Tests / Gitea release from CHANGELOG.md (pull_request) Has been skipped
2026-09-17 12:54:24 +02:00
lilleman f6b54c8ae6 Add the table node: rows TSV, key and name selection, linked tables drawn consistently, and the choice-of-rows fence 2026-09-17 12:28:46 +02:00