Commit Graph

61 Commits

Author SHA1 Message Date
lilleman f036f859d6 Load a generator with no data, a repeat or count of 0, and a name a choice's item binds for that item's own reads 2026-10-08 12:37:59 +02:00
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 f7d9e3fb71 Delete the doc lines the panel read as restating their code 2026-10-07 01:22:24 +02:00
lilleman cd7f0a04dc Link each template in steps that each return what they build, create a name scope with its owner in one place, and settle each record's columns at load, so Generator.records goes 2026-10-05 22:49:04 +02:00
lilleman 34a0fb3a18 Answer prose round 2: the selector's reserved quote named as opening a JSON value, and the List doc rewrapped 2026-10-05 22:10:04 +02:00
lilleman 54f68735df Answer prose round 1: true fixture and item 116 claims, plainer DrawIn, takeStep, Link and decision wording, and two comments deleted 2026-10-05 22:10:04 +02:00
lilleman 964f04c7c8 Answer stability round 1 and product-owner round 1: List advertises no path into a level carrying a repeat, a refusal that says to read the level whole, and plainer walk-position docs 2026-10-05 22:10:04 +02:00
lilleman 29a5314f60 Answer architecture round 1: rows.Options checked whole in internal/rows, Owner and ProveStepUp, neutral pin docs, one walk position, tests of internal/rows and Weighted, and a true README list of Fake's failures 2026-10-05 22:10:04 +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 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 818a9b56c2 Move the folder walk and the reading of a data tree's JSON and TSV files into internal/datafiles 2026-10-05 16:30:28 +02:00
lilleman 1d0fe9f555 Answer architecture round 1: read the module path from go.mod, keep the randomness behind State's methods, rename the field drawState and the counter Seq, and file items 108 and 109 2026-10-05 12:03:38 +02:00
lilleman 2d9c315e75 Move the seeded randomness and the {seq()} counters into internal/drawstate 2026-10-05 12:03:38 +02:00
lilleman 6eb9880a3f Name the version in every seed promise, and say to regenerate seeded fixtures when it changes 2026-10-04 17:17:46 +02:00
lilleman 53431ab908 Answer prose round 1: plainer decision titles and body, comments that say what the code cannot, and claims New no longer makes 2026-10-03 20:37:07 +02:00
lilleman a9eb337ec7 Say in config.load only what New's godoc does not 2026-10-03 20:37:07 +02:00
lilleman 590681ed24 Answer stability and product-owner: New's godoc says where the load lands, plainer Performance wording, regenerate before re-pinning, and no redundant sort 2026-10-03 20:37:07 +02:00
lilleman cc8797744b Answer architecture round 3: the generated header names go generate, one sorted-keys helper everywhere, one site constructor, and an inline folder reference refused before anything loads 2026-10-03 20:37:07 +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 c3b462ec0a Answer architecture round 1: one inline load-and-bind, go generate for the index, sorted unloaded names, item 79 named in the decision, and the audit's other findings filed 2026-10-03 20:37:07 +02:00
lilleman 8b3bbc4003 Load shipped categories before binding, panic on an index that misses a read, and name the index entry and unloaded category plainly 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 186443f883 Rename eachToken to eachScanUnit, and narrow generatorState to draw state 2026-09-29 12:47:38 +02:00
lilleman 14194a775d Rename ftoken to scanUnit and session to generatorState 2026-09-29 12:47:38 +02:00
lilleman 83f8c45493 Name the fields mu guards 2026-09-29 04:45:27 +02:00
lilleman 6bd2b155d2 Move the Generator's lock-free-reader invariant from its godoc onto mu 2026-09-29 04:45:27 +02:00
lilleman 16604de74c Name the table lookup the Generator doc's fixed tree excepts, and drop the renders restatement 2026-09-29 04:45:27 +02:00
lilleman c422c9e436 Build the walk root in New, drop the categories copy, and correct the node and renders comments 2026-09-29 04:45:27 +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 7b01a7fd68 Say what List returns: fields, columns, linked tables, direct descents only 2026-09-29 02:07:40 +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 3af4526ef6 Give Fake a local hold set, as the other renders have, and drop the done round item 2026-09-29 01:34:57 +02:00
lilleman 77f79de443 Trace a render's reads through the hold set the test makes, dropping session.trace and repeatDepth 2026-09-29 01:27:57 +02:00
lilleman dc0f9fa2d6 Drop the comment claims that name callers and List's gaps 2026-09-28 21:46:24 +02:00
lilleman 21b48c8c41 Correct the false comments and delete dead code 2026-09-28 21:46:24 +02:00
lilleman 1a6111d67d Trace the reads a render makes, gather a render's draws in renderDraws and columnDraws, and drop the done item 2026-09-26 15:17:05 +02:00
lilleman c55c75a29e Give dir, path, structs and r one meaning each, and name the table option indexes keyIndex through parentIndex 2026-09-25 19:31:09 +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 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 d128621fc1 Name a render's holds apart from the draw fence 2026-09-21 22:06:01 +02:00
lilleman f569580077 Define draw, hold, pin, family, whole and fence in the package doc 2026-09-21 10:41:58 +02:00
lilleman ce8ea550a3 Correct what the readers proved false, and lift the file map out of last place
Tests / vet + fmt + tests (pull_request) Successful in 1m26s
Tests / Gitea release from CHANGELOG.md (pull_request) Has been skipped
Tests / vet + fmt + tests (push) Successful in 7s
Tests / Gitea release from CHANGELOG.md (push) Successful in 5s
2026-09-20 21:47:17 +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
lilleman 5ed45cc55c Rename the folder node type from group to folder, freeing group for the draw option 2026-09-15 23:25:39 +02:00
lilleman c0b176a839 Struct-filling: FakeStruct fills fake-tagged fields as a record, each field's Go type its datatype, and IsTemplate owns the path-or-template shape rule
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 16:23:10 +02:00
lilleman 94dc562c6c Typed columns and null: a datatype option, null items, and a load check that every typed render parses
Tests / vet + fmt + tests (pull_request) Successful in 58s
2026-09-15 11:23:57 +02:00