Make great documentation goal 1.2, and plan the README's reorganisation and the nested-template gaps #33

Open
lilleman wants to merge 966 commits from worktree-todo-relative-dates-exact-counts into main

966 Commits

Author SHA1 Message Date
lilleman c400ed7908 Make great documentation goal 1.2, and renumber goals 13 to 16 as 12 to 15 wherever they are cited
Tests / vet + fmt + tests (pull_request) Has been cancelled
Tests / Known vulnerabilities in this Go version and the required modules (pull_request) Has been cancelled
Tests / Release from CHANGELOG.md (pull_request) Has been cancelled
Tests / packages (pull_request) Has been cancelled
2026-10-14 22:55:20 +02:00
lilleman 79dafa38f0 Make goal 12 great documentation, state how the README meets it, and plan the README's reorganisation for 0.2.0
Tests / vet + fmt + tests (pull_request) Has been cancelled
Tests / Known vulnerabilities in this Go version and the required modules (pull_request) Has been cancelled
Tests / Release from CHANGELOG.md (pull_request) Has been cancelled
Tests / packages (pull_request) Has been cancelled
2026-10-14 22:50:30 +02:00
lilleman 5b1169f9a5 File nested-template gaps: a name bound through a name, a repeat range and a JSON-escape transform
Tests / vet + fmt + tests (pull_request) Has been cancelled
Tests / Known vulnerabilities in this Go version and the required modules (pull_request) Has been cancelled
Tests / Release from CHANGELOG.md (pull_request) Has been cancelled
Tests / packages (pull_request) Has been cancelled
2026-10-14 22:27:54 +02:00
lilleman 16b5e0767c File relative date bounds and exact-count choices as plan items
Tests / vet + fmt + tests (pull_request) Has been cancelled
Tests / Known vulnerabilities in this Go version and the required modules (pull_request) Has been cancelled
Tests / Release from CHANGELOG.md (pull_request) Has been cancelled
Tests / packages (pull_request) Has been cancelled
2026-10-14 22:05:26 +02:00
lilleman 7739c09163 Check the plan before filing into it, keep filed items in order, name the filer's tests in the gate, and record the merge over a worse ruling 2026-10-14 13:51:22 +02:00
lilleman 16afcff09c Test that the filer keeps its items in order and exits 2 on a plan it cannot read 2026-10-14 13:51:22 +02:00
lilleman 5aca8a1fe8 Record the comprehension check: paired ruling against f90b4d6 rules worse 2026-10-14 13:51:22 +02:00
lilleman 5a6928750c Give the vulnerability filer a folder of its own, and leave its item's score to rank_todo.py 2026-10-14 13:51:22 +02:00
lilleman 15965e7a77 State the filer's contract with the plan where it is read, name the step an outage fails, and mark an unfixed vulnerability by name 2026-10-14 13:51:22 +02:00
lilleman 6a7da08002 Answer architecture round 4: 0 🔴, 0 🟡; an entry with no summary files without a bare colon 2026-10-14 13:51:22 +02:00
lilleman 9049f90cc5 Answer architecture round 3: 0 🔴, 2 🟡; a plan-only change runs the test that pins the plan's shape, and a module record carries its own path 2026-10-14 13:51:22 +02:00
lilleman 2d86f4f0c0 Answer architecture round 2: 1 🔴, 3 🟡; read the report and edit the plan in two functions, propose only while no pull request is open, and test filing into the repository's own todo.md 2026-10-14 13:51:22 +02:00
lilleman 273dd45128 Answer architecture round 1: 0 🔴, 5 🟡; a job of its own that only releases wait for, filing each vulnerability atop the plan by a pull request, a recorded decision, one gate list, and Renovate on the go run tools 2026-10-14 13:51:22 +02:00
lilleman 3d0d7ef180 Test filing each known vulnerability as a security item atop the next release 2026-10-14 13:51:22 +02:00
lilleman 117f685939 Fail the gate, daily and before each release, on a known vulnerability in the Go release or the module 2026-10-14 13:51:22 +02:00
renovate[bot] d849a87205 Update golang Docker tag to v1.27.2 2026-10-14 12:02:32 +02:00
lilleman 6a4162b902 Score every plan item's C, how hard it is to get right, in a column after S 2026-10-14 11:48:05 +02:00
lilleman f90b4d6498 Record the comprehension check: paired ruling against c3cc251 rules same 2026-10-14 11:33:08 +02:00
lilleman fbadb99634 Answer architecture round 2: 0 🔴, 0 🟡; tie the token choice to the account type, and keep GHCR's reason in the registry decision 2026-10-14 11:33:08 +02:00
lilleman 508e93d11a Answer architecture round 1: 0 🔴, 3 🟡; copy the image to Docker Hub in a job of its own, give the registries their own decision, and name the narrowest token 2026-10-14 11:33:08 +02:00
lilleman f3fbbac0d9 Push the image to Docker Hub beside GHCR, so docker run larvit/fejkdata works 2026-10-14 11:33:08 +02:00
lilleman 717f9f2abc Drop the AUR until it reopens registration, and plan it as item 252 2026-10-14 09:49:01 +02:00
lilleman c3cc251242 Record the comprehension check: paired ruling against 891323d rules same 2026-10-14 09:49:01 +02:00
lilleman 2885f7b571 Answer prose round 1: 0 🔴, 4 🟡; name the package-repository checks, list the release secrets, and point each sentence at its actor 2026-10-14 09:49:01 +02:00
lilleman a1f25e4138 Answer stability round 2: 0 🔴, 1 🟡; test that main() passes on a failed publish's exit code 2026-10-14 09:49:01 +02:00
lilleman b9ae602399 Answer stability round 1: 0 🔴, 3 🟡; fail when the latest release can't be read, build every platform's binaries when Go changes, and test main() and the Unreleased heading 2026-10-14 09:49:01 +02:00
lilleman a82279c6a4 Answer product-owner round 1: 0 🔴, 1 🟡; check the apk repository on Alpine 3.24's apk-tools 3, and say how macOS runs a downloaded binary 2026-10-14 09:49:01 +02:00
lilleman 895c0e977f Answer architecture round 4: 0 🔴, 1 🟡; run the repository checks on every file they read, and check each repository installs the release's own version 2026-10-14 09:49:01 +02:00
lilleman e6e06d007b Answer architecture round 3: 0 🔴, 4 🟡; keep signing keys out of image layers, and build and install from the package repositories in the gate with throwaway keys 2026-10-14 09:49:01 +02:00
lilleman f08182fb94 Answer architecture round 2: 1 🔴, 0 🟡; self-host signed apt, dnf and apk repositories on GitHub Pages in place of Cloudsmith, and keep an older tag's image while leaving latest alone 2026-10-14 09:49:01 +02:00
lilleman cc7d4fb972 Answer architecture round 1: 0 🔴, 7 🟡; build with the gate's Go, guard single-version channels on older tags, record the Cloudsmith tie, and return the tag from publish() 2026-10-14 09:49:01 +02:00
lilleman e67c858d41 Ship prebuilt binaries, deb, rpm and apk packages on Cloudsmith, a GHCR image, and Homebrew, Scoop and AUR packages with each release 2026-10-14 09:49:01 +02:00
lilleman 478a962f34 Test that a published release names its tag to CI, and that the gate checks the packaging config 2026-10-14 09:49:01 +02:00
lilleman f3e2c6b1bb Release 0.1.0, and add Larvit's copyright line beside Timewave's 2026-10-13 00:43:20 +02:00
lilleman b8b4188af7 Answer prose round 1: the id bullet sets apart the test series and the real-looking SSNs, the own-data bullet names a path rather than a category, the stdin heading names all it covers, and doc.go's namespace sentence has its subject 2026-10-13 00:42:45 +02:00
lilleman 5f8d55e2bb Answer product-owner round 2: the reproducible bullet states its goroutine condition, and the table of contents names the Data format heading it links 2026-10-13 00:42:45 +02:00
lilleman df46340af2 Answer product-owner round 1: the front page's data and id bullets say what ships and what may be real, the Library section links the terms Data defines, and doc.go's synopsis matches the tagline 2026-10-13 00:42:45 +02:00
lilleman 82fb611c74 Open the README with badges, what ships and a table of contents, put the stdin byte rules under a heading of their own, and move the Library section before Data 2026-10-13 00:42:45 +02:00
lilleman 891323d041 Record the paired ruling at 52e0304, better, and 0.1.0's scoring run, shipped under the floor by the 0.1.0 decision, and file isPath as item 251 2026-10-12 18:34:15 +02:00
lilleman bf61527363 Answer prose round 1: the seed advice says to log a new seed in the error, the doc and the README alike, the changelog says each run takes a new seed, New's failures read in one pass, and the concurrency lines say who draws 2026-10-12 18:34:15 +02:00
lilleman e0f5493daa Answer product-owner round 1: the seed docs say a new seed each run, not draws afresh, the README says to log a drawn seed to replay a run, and the changelog names WithSeed and the data options apart 2026-10-12 18:34:15 +02:00
lilleman 5971037362 Test that the fejkdata binary without --seed draws a new seed each run 2026-10-12 18:34:15 +02:00
lilleman cde9e354c5 Answer architecture round 2: New's doc comment wraps whole, the README's stream needs no seeded, and the system-seed test reports each run's exit code and stderr 2026-10-12 18:34:15 +02:00
lilleman 8e8fa92e77 Answer architecture round 1: Main draws the CLI's default seed and passes it to run, New names every option mistake at once, dataGiven says what it is, and the docs drop seeded where every sequence is 2026-10-12 18:34:15 +02:00
lilleman 7c0fa4075f Test that New names a nil module beside the missing seed, and that the CLI without --seed draws from the seed Main gives run 2026-10-12 18:34:15 +02:00
lilleman 9c8a0449ca Record the last chunk's reading cost 2026-10-12 18:34:15 +02:00
lilleman 90c804f6e6 Fail New without WithSeed, naming it, and seed the CLI from the system without --seed 2026-10-12 18:34:15 +02:00
lilleman 3ae8b9f1b1 Test that New without WithSeed fails naming it, that the CLI without --seed draws afresh each run, and seed every test's New 2026-10-12 18:34:15 +02:00
lilleman 1a5b632b90 Answer prose round 1: List gives direct descents only, the library and CLI lines name their verbs, the template line explains its values, the geo line says which places ship, and the README's pointer rule reads in one pass 2026-10-12 18:07:39 +02:00
lilleman 143311270c Answer product-owner round 1: the release notes link the tagged README, say how to install and pin, name 64-bit targets, List and IsTemplate, the README says a nullable column needs a pointer, and item 89 names the changelog lines it changes 2026-10-12 18:07:39 +02:00
lilleman 03597c43c7 Record the last chunk's reading cost 2026-10-12 18:07:39 +02:00
lilleman 6220564e33 Rewrite the changelog's Unreleased as what v0.1.0 holds 2026-10-12 18:07:39 +02:00
lilleman 70fdfbd591 Answer prose round 1: the README lists the release tooling's tests in the gate, and the decision says the size test checks the premise 2026-10-12 17:50:30 +02:00
lilleman 5bd978d2a1 Answer stability round 1: items 191 and 192 leave the plan, the decision and item 193 name the size test, and the test's temp dir is tmp 2026-10-12 17:50:30 +02:00
lilleman ca20aff43d Record the last chunk's reading cost 2026-10-12 17:50:30 +02:00
lilleman 870082c12f Read an existing tag through git/ref/tags in publish_release.py, following an annotated tag to its commit 2026-10-12 17:50:30 +02:00
lilleman 2c9ff3b014 Test that the shipped data stays under 100 MiB and that publish_release.py stops on a tag at another commit, both in the gate 2026-10-12 17:50:30 +02:00
lilleman 95af089778 Answer prose round 1: item 89 says New breaks once before release, item 26 says its break is the first after 0.1.0, and the randomBytes sentence reads in one pass 2026-10-12 17:32:25 +02:00
lilleman 92309041de Plan item 89 in 0.1.0, so New breaks once before anyone depends on it 2026-10-12 17:32:25 +02:00
lilleman 13d622d57c Answer prose round 1: the shipped-data decision says its items ship in 0.2.0, the size gate says why it comes first, and item 89 says when New breaks again 2026-10-12 17:19:40 +02:00
lilleman 71676cd715 Plan 0.1.0 as the release tooling defect and the release preparation, and move every other item to 0.2.0 2026-10-12 17:19:40 +02:00
lilleman 9c03958791 Answer prose round 1: bankgiro and plusgiro carry no clearing number, the phone form is called international, the NANPA, Nacha and holiday claims say no research covers them, the plate patterns are written by hand, and the taglines read in one pass 2026-10-11 23:45:49 +02:00
lilleman 9be5d6f14c Record the reading cost 2026-10-11 23:45:49 +02:00
lilleman 77e035bff0 Split item 16 into a plan item per locale category not yet shipped 2026-10-11 23:45:49 +02:00
lilleman 71b0754679 Answer prose round 1: the custom-CLI test advice says why an indexed module needs each path rendered, the help ruling says the help points to --list and who ruled, ErrNoColumns's doc says what it matches, and the filed items read in one pass 2026-10-11 23:39:14 +02:00
lilleman 5e6330c75b Answer product-owner round 1: the hint for an empty stdin points to --list, the help's examples are templates only, the README's record id is an integer, and a test over an indexed module renders each path 2026-10-11 23:39:14 +02:00
lilleman 00257e2851 Test that the hint for an empty stdin points to --list 2026-10-11 23:39:14 +02:00
lilleman 90d1948a2b Answer stability round 1: the tests precede the code they pin, ErrNoColumns's doc speaks of itself alone, the edited docs are reflowed, and the binding hint and a JSON-shaped template's parse position are filed as items 228 and 229 2026-10-11 23:39:14 +02:00
lilleman 18ba32e8cf Record the reading cost 2026-10-11 23:39:14 +02:00
lilleman bcd03b729a File what the audience bench names outside this chunk, and close item 185 2026-10-11 23:39:14 +02:00
lilleman 1edc3b57dd Show a struct filling an address from one pick, a record template compiled once, a counter per table and how a custom CLI's embed maps to paths, and record the custom-CLI builder's ruling on the help 2026-10-11 23:39:14 +02:00
lilleman 9671600fff Give the help examples that read no data and the exit codes, say a data path is no directory in one shape, suggest a record of one for a choice, name a JSON syntax error's line and column, and say no data is loaded from FakeStruct 2026-10-11 23:39:14 +02:00
lilleman 1a7656d076 Test that the help's examples read no data and list the exit codes, a data path that is no directory says so in one shape, a choice suggests a record of one, a JSON syntax error names its line and column, and FakeStruct says no data is loaded 2026-10-11 23:39:14 +02:00
lilleman 780586ad68 Record that no API or flag exists only for custom CLIs, and Main tells one apart by its build info and file name 2026-10-11 21:19:57 +02:00
lilleman 90ffcffcd7 Rescore: the paired ruling at 69af4c1 reads better 2026-10-11 21:19:57 +02:00
lilleman adba2510db Answer prose round 1: the CLI decision says what keeping cli off internal/ buys, the changelog and Library sentences hold one idea each, and item 185 names the three wordings its builder rules on 2026-10-11 21:19:57 +02:00
lilleman 81c7ff6737 Name each line of a joined error under the command, test the command name as a pure function, and pin the version line's fallback 2026-10-11 21:19:57 +02:00
lilleman 5b2bb7e681 Answer architecture round 2: every error a custom CLI prints names it, the help marks where the name goes, the version line checks the main module first, and the README embed compiles for data without a table 2026-10-11 21:19:57 +02:00
lilleman 9528ecd8b0 Answer architecture round 1: a custom CLI names itself by its file, --version names its module beside fejkdata's and follows a replace, the module path comes from the library's type, the end-to-end test runs main in a subprocess, the CLI tests find the shipped modules by their manifests, and Your own CLI sits under Library 2026-10-11 21:19:57 +02:00
lilleman deb42df0e2 Record the paired ruling at fbe2fde 2026-10-11 21:19:57 +02:00
lilleman 1b72c7a302 Record the reading cost 2026-10-11 21:19:57 +02:00
lilleman 35f1eeffb2 Make the CLI the library call cli.Main, with fejkdata's own main one line over data.Modules() 2026-10-11 21:19:57 +02:00
lilleman 35487cd36d Test the CLI as package cli's Main over the modules it is given, and fejkdata's main over the shipped packages 2026-10-11 21:19:57 +02:00
lilleman 9b7c3f0dc2 Answer prose round 1: goal 2.1 is dropped for goal 2, the no-street decision rests on goal 2.2 and names the item ending it, and en_US stays out of the move 2026-10-11 20:37:49 +02:00
lilleman ab3359be41 Plan 0.1.0's locales as the Nordic countries, France and Germany, and ship a country with no open address register without streets 2026-10-11 20:37:49 +02:00
lilleman 87bec6f73f Answer prose round 1: the locale rule lives once in the decision, a locale ships where the most speak it, and each source says what it holds 2026-10-11 19:20:24 +02:00
lilleman 27180c661f Split item 61 into a plan item per locale, and record the locales Ethnologue's ranking names 2026-10-11 19:20:24 +02:00
lilleman 66cd1e0605 Answer prose round 1: the sources name Wikidata, the decision title reads in one pass, and the street rule's threshold says why it is five 2026-10-11 19:13:48 +02:00
lilleman 1f9b201633 Answer product-owner round 2: a street joining names with a bare comma is dropped, and the US places read as a drawn tenth plus the capitals and big places 2026-10-11 19:13:48 +02:00
lilleman 7eb3a334d7 Answer stability round 2: an unmatched capital's log line names both ways it can match 2026-10-11 19:13:48 +02:00
lilleman 1c24ab8da3 Test that a Swedish street joining names with a bare comma does not ship 2026-10-11 19:13:48 +02:00
lilleman 5cfa89c8ab Answer product-owner round 1: a Swedish street is a street's name, Lexington, Ventura and Lynchburg ship by their postal names, and the README names Honolulu 2026-10-11 19:13:48 +02:00
lilleman d3d9547876 Answer stability round 1: the docs say the US tenth is drawn from every place, a capital matches by a name only one place in its state carries, and the test comment says what it checks 2026-10-11 19:13:48 +02:00
lilleman 64e99927f5 Test that a Swedish street is a street's name, and that Lexington and Ventura ship by their postal names 2026-10-11 19:13:48 +02:00
lilleman 7eb95a0de1 Record the reading cost and refresh item 167 2026-10-11 19:13:48 +02:00
lilleman 2132bde2ba Record the shares, the capitals' source and the measured cost, and close items 199 and 200 2026-10-11 19:13:48 +02:00
lilleman af49b83fa9 Re-pin the seeded sv_SE.address example 2026-10-11 19:13:48 +02:00
lilleman c42c5812fc Ship every Swedish street, a quarter of the US streets, and every US capital and place of 100,000 beside the drawn tenth 2026-10-11 19:13:48 +02:00
lilleman 52a28c390c Test every Swedish street, a quarter of the US streets, and the capitals and places of 100,000 a draw leaves out 2026-10-11 19:13:48 +02:00
lilleman b962b71f06 Plan every Swedish street and a quarter of the US streets, Swedish streets placed by area, every US capital and city of 100,000, and the multi-county fetch in 0.1.0 2026-10-11 18:30:25 +02:00
lilleman 7f5a0cb63c Answer prose round 1: one name for a place holding most of a postal code's land, the decision leaves the seeding to the code, and the test says what it checks 2026-10-11 16:42:23 +02:00
lilleman 9360447254 Answer stability round 2: the test names a missing population column 2026-10-11 16:42:23 +02:00
lilleman 66b5d699fa Answer stability round 1: each US place's draw is seeded by its GEOID, so a changed source moves only the places near the cut; item 78 leaves the plan and the multi-county fetch is filed 2026-10-11 16:42:23 +02:00
lilleman 121f9549f2 Test the US places' reach by the locality table's population column, read by its header 2026-10-11 16:42:23 +02:00
lilleman 63a7ac156e Record the reading cost of the last chunk and refresh item 167 2026-10-11 16:42:23 +02:00
lilleman 5db699469b Record the shipped places and streets as a decision, and say so in the README and changelog 2026-10-11 16:42:23 +02:00
lilleman 99ba0b30ee Re-pin the seeded sv_SE.address example to the new streets 2026-10-11 16:42:23 +02:00
lilleman 88cea644b6 Ship a tenth of each place's streets, at least ten, and a tenth of the US places owning a ZCTA, drawn by population 2026-10-11 16:42:23 +02:00
lilleman b64b73cb9a Test that a city ships a tenth of its streets and the US places reach below a town 2026-10-11 16:42:23 +02:00
lilleman 2f8fffd237 Record the maintainer's decision to ship item 182 over the ruling at a632a92 with Shape fallen, and file item 197 to replace the namespace mount 2026-10-11 16:02:48 +02:00
lilleman 33ddb49127 Answer architecture round 12: the namespace mount serves what a walk asks of a tree, a folder's entries and a file's bytes, so the folders above it need no file of their own 2026-10-11 16:02:48 +02:00
lilleman 5b1f80c350 Test that a mounted tree lists and reads its files under its mount 2026-10-11 16:02:48 +02:00
lilleman e8f5fd47d5 Answer architecture round 11: a source states its mount in a field its manifest, its labels and its file reads share, so the mount can come before or after the manifest; the README says a stand-in for the places is a record with a format 2026-10-11 16:02:48 +02:00
lilleman ad1dfac447 Test that a mounted source names and reads its manifest beside its files, before or after the mount 2026-10-11 16:02:48 +02:00
lilleman d157e4526a Answer architecture round 10: the paired ruling at fb2c809 is better; a mounted module names its manifest from its files' root, and the mount wrapper returns nothing beside an error 2026-10-11 16:02:48 +02:00
lilleman f89540e973 Answer product-owner round 6: the options table spreads Modules(), and the Library section shows two locales and what a stand-in for the places provides 2026-10-11 16:02:48 +02:00
lilleman 230faf58a8 Answer stability round 8: a mounted data path names a file where it is on disk 2026-10-11 16:02:48 +02:00
lilleman ec865cfe53 Test that a mounted data path names a broken file where it is on disk 2026-10-11 16:02:48 +02:00
lilleman d242466859 Answer architecture round 9: each data package exports Modules, a locale's importing its country's geo package as a bench chose, and a namespace mounts a tree through an fs.FS wrapper, so internal/datafiles walks file-system folders alone 2026-10-11 16:02:48 +02:00
lilleman d4dee46086 Test that each shipped package's Modules holds what its categories read and renders them, and that a mounted tree is a valid fs.FS 2026-10-11 16:02:48 +02:00
lilleman 203486a9d3 Answer architecture round 8: a shipped package's folder spells its namespace (data/sv_SE, data/geo/SE) under its lowered Go name, as a second bench chose, a mounted root folder reads as its namespace, and item 196 cites goal 9.2 2026-10-11 16:02:48 +02:00
lilleman 26f3c95031 Test that each shipped module sits in the folder its namespace spells, that a locale alone fails at its address naming the missing geo, and that a mounted root folder is named by its namespace 2026-10-11 16:02:48 +02:00
lilleman cc1c3bbc7d Answer architecture round 7: reads and its note move to item 196, a mounted module's errors read sv_SE (address.json), internal/datafiles handles namespace folders in one form, and a folder outside the mount is a broken invariant 2026-10-11 16:02:48 +02:00
lilleman 6a62840373 Test that a mounted module names a broken file beside its namespace, that a manifest refuses reads, and that each shipped module renders beside the modules its categories reach 2026-10-11 16:02:48 +02:00
lilleman 89cafb1a21 Answer architecture round 6: a manifest's reads names namespaces, loadReached notes only those nothing loaded provides, a mounted module labels its files by its namespace, Source.Load checks its mount, and the README keeps namespace and reads in an edited copy 2026-10-11 16:02:48 +02:00
lilleman 3750770735 Test that a typo under loaded modules names no module to add, that reads names namespaces, that a mounted module names its files by its namespace, and that a namespace reaches a subfolder 2026-10-11 16:02:48 +02:00
lilleman 7b70530a8a Answer architecture round 5: the shipped packages are enus, svse, geose, geous and misc, each holding its files at its root under its manifest's namespace, and the errors use the wording a bench of the Audience chose 2026-10-11 16:02:48 +02:00
lilleman 29a76d5d9a Test that a manifest's namespace mounts its source under a dot path, that each shipped module loads from data/<lowered namespace>, and that a load failure's note reaches Fake, FakeTemplate and FakeStruct once 2026-10-11 16:02:48 +02:00
lilleman 165b67e843 Answer architecture round 4: New keeps every module the loaded manifests read, and the note on a failed load names them all from one function beside noDataNote, so no category carries its source's modules 2026-10-11 16:02:48 +02:00
lilleman 6e2555aee6 Test that a load failing on a read nothing provides names every module the loaded manifests read 2026-10-11 16:02:48 +02:00
lilleman 7f7d260f83 Answer prose round 1: errNoData, the reads paragraph and the changelog entry read in one pass, the Library section shows the import block for one locale, and the decisions state why New checks no reads and which goal the embed serves 2026-10-11 16:02:48 +02:00
lilleman 4caea56663 Answer stability round 2: New names every nil module WithDataFS was given 2026-10-11 16:02:48 +02:00
lilleman e6e7b804e1 Answer product-owner round 1: the Versioning table names the data packages, the README pairs each locale with its geo module, WithDataFS refuses a nil module, errNoData says New was given no data, and three changelog lines the move made false are true again 2026-10-11 16:02:48 +02:00
lilleman 854d4d69ae Answer stability round 1: a manifest's reads refuses a repeated module, and the test re-checking what the manifest tests pin goes 2026-10-11 16:02:48 +02:00
lilleman 97ff2dfaa1 Test that WithDataFS refuses a nil module and a manifest's reads refuses a repeated module 2026-10-11 16:02:48 +02:00
lilleman 949d2709da Answer architecture round 3: the paired ruling at 70e552c against bf1becb is same 2026-10-11 16:02:48 +02:00
lilleman 3da487f8ea Answer architecture round 2: each category site carries its source's default modules, set where the walk or the index loads it, and the note is written beside the resolve that finds the read; the decision states why New checks no reads 2026-10-11 16:02:48 +02:00
lilleman 2ddba2ce96 Test a broken reads in a manifest without an index 2026-10-11 16:02:48 +02:00
lilleman 50e1a9fb22 Answer architecture round 1: a module's reads sits on its index entry or, for a source without an index, in the load that walks it, the note names default modules, the shipped modules are listed by name, datafiles drops its unused base, and item 195 files the builtins' second parse 2026-10-11 16:02:48 +02:00
lilleman e8b7d95559 Test that each shipped module renders beside the modules it reads, that the test's module list matches data.Modules(), and that a data path's manifest and an indexed one each name what they read 2026-10-11 16:02:48 +02:00
lilleman d79be8b50a Record the reading cost of the last chunk, and refresh item 167's figures 2026-10-11 16:02:48 +02:00
lilleman b8eba1eb35 Ship en_US, sv_SE, misc, geo/SE and geo/US as Go packages exporting FS, listed by data.Modules(), and fail a bare New naming WithDataFS 2026-10-11 16:02:48 +02:00
lilleman 3368f085fd Test that the shipped data loads from a Go package per module, that a bare New fails naming WithDataFS, and that a read nothing provides names the modules its reader's manifest reads 2026-10-11 16:02:48 +02:00
lilleman bf1becbb59 Rescore: the paired ruling at b77ec94 against 2652779 is better 2026-10-10 11:24:32 +02:00
lilleman 37b1e370b9 Answer product-owner round 2: the parent error says the source loads whole at start, and the exit codes name a missing -d folder 2026-10-10 11:24:32 +02:00
lilleman fcd7ebf736 Answer stability round 1: a manifest refuses an entry inside another category and a path an entry repeats 2026-10-10 11:24:32 +02:00
lilleman ce2da330f7 Test that a manifest refuses an entry inside another category and a repeated path 2026-10-10 11:24:32 +02:00
lilleman 13e3de39fe Answer product-owner round 1: the parent error and the README name the way to link under another source's table, a missing indexed file names the manifest, the README warns a copied data/ carries its index, and the docs say what a load failure and a replacement do 2026-10-10 11:24:32 +02:00
lilleman 15477e989f Test that an indexed category with no file names the manifest, and that an entry omitting a parent says it names none 2026-10-10 11:24:32 +02:00
lilleman a6d9623383 Record the paired ruling at d34cc42, move jsonKind's comment onto Kind, name the manifest in Layout, and note the normalised manifest in item 185 2026-10-10 11:24:32 +02:00
lilleman 55d503317d Answer architecture round 3: New loads only sources without an index and what they read, an entry drops reads, ErrLoad sits beside New, the manifest decoder moves to manifest.go and names each mistake once as jsonvalue.Kind words it 2026-10-10 11:24:32 +02:00
lilleman 2cb124b8a7 Test that a replacement breaking a shipped reader fails that reader's first reach, that New's load errors match ErrLoad, and that a manifest without entry reads names every mistake once 2026-10-10 11:24:32 +02:00
lilleman aafcbd9025 Record the paired ruling at 0bdb100, and mark item 194 as the decision log cites it 2026-10-10 11:24:32 +02:00
lilleman 498f81075e Answer architecture round 2: a first reach checks only a table's parent, loadReached splits into a batch that loads, runs and puts back, the manifest decodes strictly and reports every mistake, and ErrLoad marks a load failing in New too 2026-10-10 11:24:32 +02:00
lilleman 3c1af91433 Test that a manifest refuses every key and shape it does not define, that a table under a shipped table loads from a data path, that an omitted parent fails the first reach, and pin New's allocations 2026-10-10 11:24:32 +02:00
lilleman c783d4af23 Answer architecture round 1: one owner keeps a folder's loaded and unloaded names apart, each loaded category is checked against its index entry, addSource returns what it replaced, the manifest cache goes, ErrLoad exits 1, and the docs say what New and Fake now refuse 2026-10-10 11:24:32 +02:00
lilleman 642fe3a506 Test that a stale index entry fails its first reach naming the manifest, that such a failure wraps ErrLoad and exits 1, and that a data path naming a file says it is no directory 2026-10-10 11:24:32 +02:00
lilleman 2e56af5d63 Record the reading cost of the last chunk 2026-10-10 11:24:32 +02:00
lilleman c320344fac Load each category of a source whose manifest carries an index on first reach, and move the shipped index into data/.fejkdata.json 2026-10-10 11:24:32 +02:00
lilleman 7d5b32fe3f Test that a source whose manifest carries an index loads each category on first reach, and that a data path loads only what it reads and what reaches what it replaces 2026-10-10 11:24:32 +02:00
lilleman 8d309cd827 Rescore: the paired ruling at 8b5a972 against 2652779 is the same 2026-10-09 18:57:01 +02:00
lilleman f663e1af1e Record the maintainer's answers: a manifest names no fejkdata version and item 183 goes, and the shipped data is held under 100 MiB by item 192, past which item 193 carves out Go modules 2026-10-09 18:57:01 +02:00
lilleman 3744b60f7f Answer goals audit round 1: item 182 names the import guard and the embedded manifest, and item 183 says Go module 2026-10-09 18:57:01 +02:00
lilleman 687a3d37bf Answer prose round 1: module means fejkdata's unit and Go module the Go one, only anyone else's manifest names a version, goal 2.3 says a program links what it imports, and a carved-out module requires the core release that drops its package 2026-10-09 18:57:01 +02:00
lilleman 22ca7caa40 Record the reading cost of the last chunk 2026-10-09 18:57:01 +02:00
lilleman 3e12849f65 Ship the data as Go packages in the core's module: goal 2.3 and the shipped-data decision say packages, item 179 goes, items 180 to 186 follow, and item 191 files the release tag-guard bug 2026-10-09 18:57:01 +02:00
lilleman dc32e24188 Plan item 190: decide whether fejkdata pseudonymises real datasets 2026-10-09 16:38:09 +02:00
lilleman b08b3e94d5 Answer prose round 1: the exact-match reason reads one idea a sentence, and item 180 says its goal-13 effect once 2026-10-09 15:00:50 +02:00
lilleman c597d0a2e0 Record the maintainer's answers: an exact version match, goal 6.3 for modules that load on first reach, and items 79 and 54 folded into items 180 and 179 2026-10-09 15:00:50 +02:00
lilleman 24a30161f7 Answer prose round 1: the decision keeps only what the goals leave open, and the new items' taglines read once 2026-10-09 14:43:13 +02:00
lilleman 65ccc132ae Record the reading cost of the last chunk 2026-10-09 14:43:13 +02:00
lilleman 9558472c96 Split item 77 into items 179 to 189, and record its module decision in docs/decisions.md 2026-10-09 14:43:13 +02:00
lilleman fa734fda3c Answer prose round 1: AGENTS.md names the paired ruling as what still blocks a 0.1.0 merge, item 107 promises what item 178 plans, and the floor entry says one thing a sentence 2026-10-09 14:14:59 +02:00
lilleman 30a4445a47 Ship 0.1.0 under the comprehension floor, drop item 176, and plan item 107 for 0.2.0 behind an architect's plan for grouping and untangling the engine 2026-10-09 14:14:59 +02:00
lilleman 265277953c Rescore: the paired ruling at 344023d against 1c342bc is better 2026-10-09 13:11:50 +02:00
lilleman edec28f58f Answer prose round 1: the Data paragraph names the set first, the choice comment says what shared counts, and the plan's new items read once 2026-10-09 13:11:50 +02:00
lilleman 0243e8d42d Answer product-owner round 1: the Data section names the geo trees, and Layout says what the docs records hold 2026-10-09 13:11:50 +02:00
lilleman 18a264db59 Answer stability round 1: the choice comment defines shared, and names none of its readers 2026-10-09 13:11:50 +02:00
lilleman fd6d80e2c2 Wrap the README's Data paragraph 2026-10-09 13:11:50 +02:00
lilleman 3d62683c69 Move the scoring runs of ad59967 and b9d1af6 into the comprehension history 2026-10-09 13:11:50 +02:00
lilleman f30bdc1380 Record the reading cost of the chunk before item 153 2026-10-09 13:11:50 +02:00
lilleman 5d85944359 Record the 2026-10-09 panel's scores, file what it named as items 170 to 177, and correct four claims it found false 2026-10-09 13:11:50 +02:00
lilleman b9d1af6565 Answer prose round 1: loadCallerPath's name and docstring say it loads, and that the caller walks next 2026-10-09 12:43:20 +02:00
lilleman 51c0bd518e Record the reading cost of the chunk before item 151 2026-10-09 12:43:20 +02:00
lilleman 00f31e6f59 Load a caller's path in the one method that splits it, so Fake and FakeRecord walk only what has loaded 2026-10-09 12:43:20 +02:00
lilleman c9ad86a2dd Close item 148 2026-10-09 12:35:12 +02:00
lilleman 1c342bc2af Rescore: the paired ruling at 8433689 against d74c0ed is better 2026-10-09 12:35:12 +02:00
lilleman a318dc7f42 Answer prose round 1: fence's docstring splits rule, shapes and result, each drop message names what was missing, the US geo row says a place needs a street, and file item 169 2026-10-09 12:35:12 +02:00
lilleman 32e01565b4 Answer architecture round 3: fence's docstring says a locality needs entries in both child maps, and zcta_localities says what it maps to 2026-10-09 12:35:12 +02:00
lilleman c032cb779c Answer architecture round 2: street.tsv is written from the kept localities, fence checks a child holds rows, and its names say what they hold 2026-10-09 12:35:12 +02:00
lilleman b49e0cac6e Rescore: the paired ruling at c27e8b7 against d74c0ed is better 2026-10-09 12:35:12 +02:00
lilleman 71b17d104b Answer architecture round 1: fence keeps a locality holding both a street and a postal code, returns what it dropped so the SE import still exits on a lost kommun and the US one counts its counties, and file item 168 for data-import tests 2026-10-09 12:35:12 +02:00
lilleman 4f369b961c Record the reading cost, and refresh item 167's figures 2026-10-09 12:35:12 +02:00
lilleman 6d285249e4 Meet the parent-has-a-child fence in one shared geo.fence step, which states the locality row each country hands it 2026-10-09 12:35:12 +02:00
lilleman 825b01408b Answer prose round 1: the skips comment holds for routeSteps, the finder is named for what it finds, and the failure names which list to extend 2026-10-09 12:00:54 +02:00
lilleman 5945a32bc3 Answer stability round 1: a method is keyed by its receiver, and panicsOnOtherNodeKinds names what it checks 2026-10-09 12:00:54 +02:00
lilleman ae5a4e5a6c Record the reading cost, and refresh item 167's files 2026-10-09 12:00:54 +02:00
lilleman 0d7aee50a2 Close item 10 2026-10-09 12:00:54 +02:00
lilleman 8338f0a5e3 Find every node switch with a panicking default from the source, and test routeSteps beside the seven listed by hand 2026-10-09 12:00:54 +02:00
lilleman 588cb328bf Rename item 167 to the title larv-review now files 2026-10-09 11:48:47 +02:00
lilleman d74c0ed7eb Rescore: the paired ruling at d9f0fc9 against ee4b40b is better 2026-10-09 11:32:51 +02:00
lilleman f81aa1a56e Reuse the leaf's moved key in readUnder, so the lowest Go meets the allocation gate 2026-10-09 11:32:51 +02:00
lilleman 5a010952d6 Rescore: the paired ruling at 65a32db against ee4b40b is better 2026-10-09 11:32:51 +02:00
lilleman 75c8b74cdc Answer stability round 3: the selector hint asks bindsField 2026-10-09 11:32:51 +02:00
lilleman 8989cae9d9 Answer prose round 1: the keep rule names what is kept and who decides, headSpans says what it counts, and compileStep and config.load stop restating 2026-10-09 11:32:51 +02:00
lilleman 2bd04b528a Answer stability round 2: only a name bound to a reference hints reading the row without it 2026-10-09 11:32:51 +02:00
lilleman 76277ed61a Test the selector hint's new wording, read the row without the name 2026-10-09 11:32:51 +02:00
lilleman 24047b731e Test that a field-bound name selecting a row hints only a binding of its own 2026-10-09 11:32:51 +02:00
lilleman f19f303275 Answer product-owner round 1: the Layout's pick.go line reads on one pass 2026-10-09 11:32:51 +02:00
lilleman 6a049895a0 Answer stability round 1: a row selected through a name hints the path as the grammar spells it 2026-10-09 11:32:51 +02:00
lilleman ebc7a2651f Test that a row selected through a name hints a path that loads 2026-10-09 11:32:51 +02:00
lilleman c00504af8c Answer architecture round 3: splitArm builds a resolved reference's arm in one call 2026-10-09 11:32:51 +02:00
lilleman 4e63044c03 Answer architecture round 2: a read through a name reaching a repeat names the level from the name, a split arm is built by pathArm alone, and the three pick-key terms share one Vocabulary line 2026-10-09 11:32:51 +02:00
lilleman 78bbc27fea Test that a read through a name reaching a repeat names the level from the name 2026-10-09 11:32:51 +02:00
lilleman 5c9b85e362 Answer architecture round 1: List's walk and join sit in path.go, a compiled path's head is named head, every pick key comes from levelKeys, and readsColumn names all four readers 2026-10-09 11:32:51 +02:00
lilleman dc03021a5d Record the reading cost, and file item 167 for its rise 2026-10-09 11:32:51 +02:00
lilleman 0002efb9d4 Gather the pick key's load and render sides in pick.go, and name each thing for what it is 2026-10-09 11:32:51 +02:00
lilleman ee4b40bd25 Answer prose round 2: item 164 states what a cell reads, item 165 names ambiguous as the error that changes, and item 166 promises an error the parser reaches 2026-10-09 10:48:15 +02:00
lilleman 9286bf82f5 Answer product-owner round 1: a table refuses an unknown JSON member, the row-through-a-name refusal shows its two readings, a referenced category sees no name, and items 164 to 166 say what a cell reads and what each error says 2026-10-09 10:48:15 +02:00
lilleman a1bfde3e41 Answer prose round 1: the table refusals are a list, the closure rule reads one idea per sentence, and the items cite the ruling 2026-10-09 10:48:15 +02:00
lilleman bad74f95cd Answer item 162: a name is a lexical closure, two spellings stay refused for their two readings, and items 164 to 166 plan the three that load 2026-10-09 10:48:15 +02:00
lilleman 221ce82e43 Answer prose round 3: the CHANGELOG list reads on one pass and names --separator, the JSON-string clause says what the escapes do, and the weight refusals are separated 2026-10-08 12:37:59 +02:00
lilleman 48e2b1ce9f Reword the bindOptions, parseInput and datatypeOf comments, the --help paragraph on blank stdin, and the empty-table and no-datatype errors 2026-10-08 12:37:59 +02:00
lilleman 5c0ac105b4 Answer prose round 2 in the docs: weights take 0, the node table states the record-column refusal once, the time refusal joins its list, CHANGELOG lists what now loads, decision titles state their whole ruling, and the JSON-string ruling folds into the struct-tag decision 2026-10-08 12:37:59 +02:00
lilleman 9baa77c752 Drop the CLI's no-data hint, keep the number underflow rule in grammar/number.go, and name the JSON a template may be 2026-10-08 12:37:59 +02:00
lilleman 295347a455 Test that --no-shipped-data alone reports the library's no-data note as it is 2026-10-08 12:37:59 +02:00
lilleman 88e9dd9fc9 Say why null stays JSON in the padded-JSON decision 2026-10-08 12:37:59 +02:00
lilleman 357a2a276d Print the CSV header at -n 0, refuse --separator with a record format, refuse a date field in time(), read a bare number template as a format string, and say when no data is loaded 2026-10-08 12:37:59 +02:00
lilleman 332b99ad88 Test the CSV header at -n 0, --separator refused with a record format, a date field in time() refused, a bare number template printed as written, and the no-data note 2026-10-08 12:37:59 +02:00
lilleman f964816830 Refuse a rows weight too close to 0 to tell from it, by the rule a JSON option uses 2026-10-08 12:37:59 +02:00
lilleman 8b5ed36bca Read a bare number or boolean template as a format string, in the padded-JSON decision 2026-10-08 12:37:59 +02:00
lilleman 68c4313b7a Test that a choice item picks anew on each draw, counting only renders drawing it twice, and that a rows weight too close to 0 is refused 2026-10-08 12:37:59 +02:00
lilleman 31c2f2651d Refuse an option too close to 0 to tell from it, pick a template's field position by a switch, and drop Weighted's unreachable fallback 2026-10-08 12:37:59 +02:00
lilleman c337dc4436 Test what stability round 1 found untested: a parent's zero-weight rows, a frame per draw of a choice item, ignored flags against the run without them, two leading slashes, and an option too close to 0 2026-10-08 12:37:59 +02:00
lilleman 2c2cbbb633 Record goal 6.1's reading in the typed-calc decision 2026-10-08 12:37:59 +02:00
lilleman bd01072ad4 Reword goal 6 to errors surfacing at load, so it guesses at no mistake beside goal 5.7 2026-10-08 12:37:59 +02:00
lilleman 71c5039f04 Let a struct field's Go type type a bare number or boolean in its tag, and offer only a datatype that holds a refused column's number 2026-10-08 12:37:59 +02:00
lilleman 9e392d02fd Test a struct tag's bare number or boolean typed by its Go type, and a column's refusal offering only a datatype that holds the number 2026-10-08 12:37:59 +02:00
lilleman 8a8c915679 File lifting the CLI's repeat cap, and reword items 14 and 161 for the aim of goal 5.7 2026-10-08 12:37:59 +02:00
lilleman 2b1f179df6 Say that a category may name a hidden rows file, though a dot-prefixed entry is never a category 2026-10-08 12:37:59 +02:00
lilleman 5ffe44cd26 Say in Records that a category's reference to itself is a fresh draw 2026-10-08 12:37:59 +02:00
lilleman 8f1cd76bf1 Render blank stdin, read a category's own fields as fresh draws, refuse a bare number or boolean in a record column, and refuse a one-item choice of weight 0 2026-10-08 12:37:59 +02:00
lilleman dd09d7ae82 Test blank stdin rendering, a category reading itself as a fresh draw, a bare number or boolean refused in a record column, a one-item choice of weight 0 refused, and a hidden rows file read 2026-10-08 12:37:59 +02:00
lilleman 66509abf1e Drop item 96: two reads no name joins draw twice, as goal 5.2 says, and goal 5.7 guesses at no mistake 2026-10-08 12:37:59 +02:00
lilleman c68f571867 Let a category reference itself and blank stdin render, rest the typed column on goal 6.1, and drop item 47 and item 46's unnamed rows files 2026-10-08 12:37:59 +02:00
lilleman d00a2cf2e3 Make goal 5.7 an aim: load whatever is well-formed and means one thing, guessing at no mistake 2026-10-08 12:37:59 +02:00
lilleman 97e72988b1 Refuse a calc over digits(0) or a repeat of 0, name an option's wrong kind as JSON does, type the name scope kinds, and compile only from a jsonvalue.Value 2026-10-08 12:37:59 +02:00
lilleman ba2ae41ffe Test that a calc over digits(0) or a repeat of 0 is refused, that an option of the wrong kind names its JSON kind, and that the root scope is the category 2026-10-08 12:37:59 +02:00
lilleman 924ba07c1c Drop item 159, whose refusal is gone, drop ErrNoData from item 55, and say in item 129 that a tag of a bare number renders its text 2026-10-08 12:37:59 +02:00
lilleman 3dfaa8d0fa Let --repeat 0 print nothing, or an empty array under --format json 2026-10-08 12:37:59 +02:00
lilleman 24a4b6ed24 Test --repeat 0 writing no render and no record 2026-10-08 12:37:59 +02:00
lilleman ff0143df11 Let a choice's item scope the names it binds for its own reads, in the decision and its title 2026-10-08 12:37:59 +02:00
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 1e159fdf3a Test a generator with no data, a repeat or count of 0 rendering nothing, and a name a choice's item binds and reads 2026-10-08 12:37:59 +02:00
lilleman 07a0498c5e Revise the decisions on an unnamed TSV, an embedded tag's name and the zero divisor, and file the five spellings goal 5.7 leaves open 2026-10-08 12:37:59 +02:00
lilleman 825030b80d Trim the tests that only pinned a load, or pinned one behaviour twice, into render comparisons 2026-10-08 12:37:59 +02:00
lilleman ee236d7955 Load whatever is well-formed and means one thing: ignore a part with no effect, print a constant sample, render any JSON value, draw no weight-0 item, and let a name, a rows file, a struct or a CLI flag go unused 2026-10-08 12:37:59 +02:00
lilleman 052a52fc7a Test that what is well-formed and means one thing loads: ignored parts, constant samples, any JSON value, weight 0, an unread name, a stray rows file, a tagless struct and flags with no effect 2026-10-08 12:37:59 +02:00
lilleman 5f8981b14f Drop the decisions and item 160 that guessed at mistakes, now that goal 5.7 loads whatever is well-formed and means one thing 2026-10-08 12:37:59 +02:00
lilleman 2541b9346a Make goal 5.7 load whatever is well-formed and means one thing, guessing at no mistake 2026-10-08 12:37:59 +02:00
lilleman 57bd06c16f Answer architecture round 3 and principles audits round 2: a weight drawn against nothing names the drop, null alone on stdin names jq, the CLI-copy decision names hasEmptySegment, the padding and layout decisions quote what they catch, and the padded binding is filed 2026-10-08 12:37:59 +02:00
lilleman c8193da3d0 Test a weight of 0 drawn against nothing naming the drop, and null alone on stdin naming jq 2026-10-08 12:37:59 +02:00
lilleman d8acc9f3f3 Load a default written out in every position, refuse null outside a column again, read a field once per alternation, refuse an empty segment in the CLI's lone reference, and hold a declared datatype as one value 2026-10-08 12:37:59 +02:00
lilleman 49736bd2b6 Test that a default written out loads in every position, null outside a column is refused, an alternation reads a field once, and the CLI's lone reference refuses an empty segment 2026-10-08 12:37:59 +02:00
lilleman 0b8dea0d04 Give the JSON string its own decision, rest the layout and struct datatype rules on what they catch, refuse null outside a column again, narrow the CLI's copy to the lone reference, and file the rounded-constant sample 2026-10-08 12:37:59 +02:00
lilleman 5bc637f23f Narrow goal 5.7 to an obvious mistake, and name a wrapper that could grow as none 2026-10-08 12:37:59 +02:00
lilleman 5d2d01e235 Say that a column's own datatype wins over the column it reads 2026-10-08 12:37:59 +02:00
lilleman 6b26b18104 Let a declared datatype win over a column read, count a repeat as written, refuse null alone on stdin and a second leading slash, and hand NewTemplate stdin as sent 2026-10-08 12:37:59 +02:00
lilleman 1a022dbd79 Test a declared datatype over a column read, repeats counting as written, null alone on stdin, one leading slash, and the CLI's lone reference against the grammar 2026-10-08 12:37:59 +02:00
lilleman 43c56b20b9 Say in item 129 which spellings of a lone reference name a record, and what the leading-slash bridge leaves to remove 2026-10-08 12:37:59 +02:00
lilleman 16a77ef0e4 Reword item 159 for a number or boolean, now that null alone on stdin is misuse 2026-10-08 12:37:59 +02:00
lilleman 1c358d7b16 Record the maintainer's answers: goal 5.7's test is a part that does nothing where written, null alone on stdin is misuse, and the CLI reads only the public API 2026-10-08 12:37:59 +02:00
lilleman a167ac7d65 Record the scoring-run waiver for narrowing goal 5.7 2026-10-08 12:37:59 +02:00
lilleman 89f0b0d240 Narrow goal 5.7 to a spelling that suggests a mistake, and say so wherever a dropped refusal was described 2026-10-08 12:37:59 +02:00
lilleman e63efe327f Load each spelling that only restated a shorter one, as that shorter form 2026-10-08 12:37:59 +02:00
lilleman 91b65e3ded Test that each spelling goal 5.7 no longer refuses loads as its shorter form 2026-10-08 12:37:59 +02:00
lilleman 4930a2ac8d Narrow goal 5.7's decisions to the refusals that catch a mistake, list the change as shipped under the floor, and drop item 94 2026-10-08 12:37:59 +02:00
lilleman f76008743e Wrap the struct-tag decision's lines 2026-10-08 12:37:59 +02:00
lilleman 27608a5b22 Close item 156: a JSON string stays a template beside the bare text it holds, for its escapes 2026-10-08 12:37:59 +02:00
lilleman 3e932d5e5f Answer architecture round 5, stability round 4 and product-owner round 4: an argument that is a lone reference is echoed back, and a hint for a template holding a backslash pipes it through printf 2026-10-07 21:58:29 +02:00
lilleman 75184b44cb Answer prose round 3: --format text names the default, the record sentence in --help reads on one pass, and the padded-JSON decision points at the stdin ruling 2026-10-07 21:58:29 +02:00
lilleman 0de54c3b15 Answer architecture round 4, stability round 3, product-owner round 3 and prose round 2: stdin trims JSON's own whitespace around any JSON value, the padded-JSON title names NewTemplate and the CLI, the JSON examples hold no backslash for echo, an argument's example is built only from a template or a valid reference and shell-quoted, the text scope of adding nothing, blank stdin, and the stdin decision in four paragraphs 2026-10-07 21:58:29 +02:00
lilleman e5babf413d Answer architecture round 3, stability round 2, product-owner round 2 and prose round 1: the CLI renders exactly the template on stdin and adds nothing, --separator defaults to empty, whitespace around JSON is dropped, a lone reference under --format allows one newline, a blank stdin is refused, an unexpected argument names the spelling to use, and the prose names one lone reference 2026-10-07 21:58:29 +02:00
lilleman 58a7b16a7f Answer architecture round 2, stability round 1 and product-owner round 1: a format string on stdin keeps every byte while JSON or a lone reference drops one newline, an operand's error names stdin, a file or the pipe, {//x} is refused and "{/x}" read as its record, plain echo and a heredoc in the examples, goal 7 reads one command line, decision titles drop argument, and items 157 to 159 filed 2026-10-07 21:58:29 +02:00
lilleman 83b4b0bdf0 Answer architecture round 1: stdin drops one newline, \n or \r\n, and reaches the library unchanged, inputError names the input's fault, two decisions and item 110 stop naming a CLI argument, the gate exemption moves to the floor entry, and item 156 asks about the JSON string 2026-10-07 21:58:29 +02:00
lilleman b9c1a28a61 Show the CLI reading its template from stdin in the README, the usage and the decisions, file the stdin change under Unreleased, and leave item 129 the library's half 2026-10-07 21:58:29 +02:00
lilleman 2bf043aefc Read the CLI's template from stdin, drop one newline ending it, trim the whitespace around a JSON template, and refuse an argument 2026-10-07 21:58:29 +02:00
lilleman b68ec83f29 Test the CLI reading its template from stdin, dropping one trailing newline, trimming around JSON and refusing an argument 2026-10-07 21:58:29 +02:00
lilleman 524d94b5ae Answer prose round 2: bankaccount names no source, items 154 and 155 say only what they need, and items 15 and 16 drop remaining 2026-10-07 15:51:41 +02:00
lilleman e256150544 Answer prose round 1: en_US.routing and misc.isin and misc.cusip leave items 16 and 15 for items 154 and 155 in 0.2.0, which need item 34 2026-10-07 15:51:41 +02:00
lilleman 5fe7bce243 Move items 34, 91 and 79 to 0.2.0 2026-10-07 15:51:41 +02:00
lilleman 01289c99ae Answer prose round 4: a PR that only records a run's scores merges even when a score fell 2026-10-07 12:38:25 +02:00
lilleman 0dbf3e545e Answer prose round 2: the floor entry says item 153 runs both runs again, and item 147 defines a level without naming doc.go 2026-10-07 12:38:25 +02:00
lilleman 0e35752ac6 Answer prose round 1: the floor entry cites only item 153, items name the panel by its commit, item 145 moves doc.go's definitions, and items 147, 150, 151 and 152 read on one pass 2026-10-07 12:38:25 +02:00
lilleman f6e2949267 Record item 144's panel scores, and file what it named as items 145 to 153 with item 10 moved into 0.1.0 2026-10-07 12:38:25 +02:00
lilleman ad599675d1 Answer prose round 2: top_streets says what it returns, and CheckIdentifier's doc opens with what it does 2026-10-07 02:27:24 +02:00
lilleman c2147d2282 Answer prose round 1 and product-owner round 1: CheckIdentifier's doc counts a bound name, FuncCall and the grammar doc say PathRead and identifiers, the Layout's list.go, name.go and data-import rows read on one pass, the locality row says a postort with no street is dropped, geo.py's docs name what they take, well_cased says what it drops, and item 61 names the next steps to share 2026-10-07 02:27:24 +02:00
lilleman 2431edeab0 Answer stability round 1: README's pick.go and datatype.go rows name what stayed, geo.py's options sort with each script's own, geo.py claims only shared steps, route defines fromRow as pathPos does, and disagreement's panic names the kinds 2026-10-07 02:27:24 +02:00
lilleman ab8f375ae4 Name path_test's two compiledPath tests for it 2026-10-07 02:27:24 +02:00
lilleman ae5b95e88a Share the steps every country's geo import takes in geo.py, so geo-se.py and geo-us.py hold only their own rules 2026-10-07 02:27:24 +02:00
lilleman 32ed661a37 Remove items 131, 132 and 134 to 137 from the plan 2026-10-07 02:27:24 +02:00
lilleman 822c8c0a5d Name the path walks and steps by what each does: drawCallerPath, callerPathSteps, compiledPath, provePath, compileStep, childNamed, table.columnOrLinked, table.followStep and pathPos.fromRow 2026-10-07 02:27:24 +02:00
lilleman 9aec575dca Choose disagreement's message from one table over the two items' kinds 2026-10-07 02:27:24 +02:00
lilleman fcec9c4a2a Rename grammar's NameRead to PathRead and CheckName to CheckIdentifier, so a name in the engine is only a bound name 2026-10-07 02:27:24 +02:00
lilleman 097fae4cd2 Move frameStack into env.go and the name steps of resolveTemplates into name.go, and hold a binding's target in a named field 2026-10-07 02:27:24 +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 6c8ddeb3ac Answer prose round 2: street_delivery defines the postort's own prefix before using it, and its citation names what it covers 2026-10-07 02:04:32 +02:00
lilleman 9f96eb5a02 Answer prose round 1: pick key leaves its root rule to pickKey, the worked example lists l's addressed keys, refuseTwiceDrawnIn recurses on an addressed key, the street rule and NANPA's sit where their readers look, and street_delivery cites only what its source states 2026-10-07 02:04:32 +02:00
lilleman 5e9b60a88f Answer product-owner round 2: the address warning points at the street row's counting rule, and the NANPA rule opens a paragraph 2026-10-07 02:04:32 +02:00
lilleman b71d8a2ee5 Answer stability round 1 and product-owner round 1: the Swedish address paragraph warns of a street under a neighbouring postort, the street row names the centre point, phone-exchange's rule gets its own sentence, and a level is a path prefix 2026-10-07 02:04:32 +02:00
lilleman 0e65a202cd Remove items 130, 133 and 139 to 143 from the plan 2026-10-07 02:04:32 +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 451242bbf9 State in the README how a Swedish street is counted toward its postort, and the NANPA rule behind en_US.phone-exchange's weights 2026-10-07 02:04:32 +02:00
lilleman 562896382d State in street_delivery when the postort's own prefix is two digits and when three 2026-10-07 02:04:32 +02:00
lilleman a840ab06a4 Show at refuseSingleRead why a calc's one read of a name stands, and at refuseTwiceDrawnIn how it reaches a nested level 2026-10-07 02:04:32 +02:00
lilleman f79e51a435 Remove arm.writtenHead, which nothing read 2026-10-07 02:04:32 +02:00
lilleman d6725be065 Define a level, a pick key and an addressed key in doc.go's vocabulary, with one read's keys worked through, and say at arm.levels that a step's at indexes it 2026-10-07 02:04:32 +02:00
lilleman 09fcff7910 Answer prose round 2: item 133 names what refuseSingleRead lacks, item 141 drops checkCells, and item 131's detail reads on one pass 2026-10-07 01:45:29 +02:00
lilleman c8927673f4 Answer prose round 1 and product-owner round 1: the loglevel decision keeps its title and names item 41, and items 130 to 141 state checkable targets in plainer words 2026-10-07 01:45:29 +02:00
lilleman 63bc750355 Record the 2026-10-07 panel's scores, file what it named as items 130 to 144, and correct three claims it found false 2026-10-07 01:45:29 +02:00
lilleman ac6158e841 Answer prose round 2: resolvedRef names its two fields, checkCalcFields and refuseTwiceDrawn read on one pass, refuseSingleRead says why a calc's read stands, street_delivery states both rules, and Template.Fake claims nothing about names 2026-10-07 01:22:24 +02:00
lilleman 1419673b96 Answer prose round 1 and product-owner round 1: plainer resolvedRef, checkCalcFields and name-fence docs, geo-se.py's pointers name their headings, Fake and Columns keep a godoc line, and arm.go's Layout line names what an arm is 2026-10-07 01:22:24 +02:00
lilleman ee25212618 Answer stability round 1: readsRow counts a selector, checkNameReads defers to refuseSingleRead, climbed names the child's row, and geo-se.py owns its big-city reading 2026-10-07 01:22:24 +02:00
lilleman a7101394f5 Remove items 121 to 126 from the plan 2026-10-07 01:22:24 +02:00
lilleman f7d9e3fb71 Delete the doc lines the panel read as restating their code 2026-10-07 01:22:24 +02:00
lilleman f50c52e174 Name in geo-se.py the source of its delivery-digit rule and of its 200 floor 2026-10-07 01:22:24 +02:00
lilleman f272c5b025 State the step-down rule at drawSteps' climbed, and name the parts of route's draw condition 2026-10-07 01:22:24 +02:00
lilleman ac44a2f89b Name the name fences refuseSingleRead and refuseTwiceDrawn, each doc stating the rule it holds 2026-10-07 01:22:24 +02:00
lilleman 94e3eabbcf Name the column each case of columnReadOf reads, strip a head's / in categoryOf, and say on resolvedRef that its head carries the / 2026-10-07 01:22:24 +02:00
lilleman 0e3c986801 Move renderEnv's methods into env.go, a table's route and draw steps into table.go, and the compiled read into arm.go 2026-10-07 01:22:24 +02:00
lilleman d0886e4795 Answer stability round 2, prose round 2 and product-owner round 2: a head may be a name, scope and link come before the entries using them, a path reaches a node, and resolve ties a reference or a name 2026-10-07 01:04:44 +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 dfa7271850 Answer prose round 3 and product-owner round 3: the changelog line drops its now, plain text names a string field's tag, and the default table comes from the library's parse 2026-10-07 00:45:19 +02:00
lilleman e46753aa73 Answer prose round 2: item 129 defines a lone reference, closes item 40, spells {…} one way, and states that plain text prints as written in every surface 2026-10-07 00:45:19 +02:00
lilleman 38f6100cc3 Answer prose round 1 and product-owner round 1: item 129 names every decision and surface it revises, folds FakeRecordTemplate too, keeps Fake's cost, and says where the old spelling meets an error 2026-10-07 00:45:19 +02:00
lilleman ee9b6ca971 Set goal 5.9, everything fejkdata renders is written as a template, and file item 129 to take a template wherever fejkdata renders 2026-10-07 00:45:19 +02:00
lilleman 1a684c072d Answer prose round 3: the no-margin rule states its reason the right way round, and the performance gate decision names goal 13 2026-10-06 13:46:44 +02:00
lilleman fb3fb16deb Answer stability round 3: the allocation case of a read two levels under a pick holds at its baseline with no margin, as the performance gate decision now says 2026-10-06 13:46:44 +02:00
lilleman f07764bce1 Hold the allocation case of a read two levels under a pick at 12, what the lowest supported Go allocates 2026-10-06 13:46:44 +02:00
lilleman c814d36985 Answer prose round 1: pickKey names its two roots, readUnder says when it reads, levelKeys, draw and readField read on one pass, and the allocation case is named for what it reads 2026-10-06 13:46:44 +02:00
lilleman 93c96968dc Answer stability round 1: readUnder builds the leaf key once, the pick's comments name the pickKey, and the allocation gate covers a read under a nested pick 2026-10-06 13:46:44 +02:00
lilleman 44b6f1ef89 Give a pick key one type, pickKey, and key every read's levels from the head its steps start at to its leaf 2026-10-06 13:46:44 +02:00
lilleman b726edd7cb Test that a fresh read and a named read key their levels from the head they walk from to their leaf 2026-10-06 13:46:44 +02:00
lilleman 0293e800ae Prioritize sourced data rather than require it, loosen the data-format and dependency goals, and size the audience at millions of rows 2026-10-06 13:16:26 +02:00
lilleman fd7101dfbc Answer prose round 1: readName and readField say one idea a sentence and name what each pick and read is, and the test's message names whose b it checks 2026-10-05 23:20:02 +02:00
lilleman 3a29bdb1f0 Answer stability round 1: the readField comment names both directions of the shared value, and readName drops what namedPick states 2026-10-05 23:20:02 +02:00
lilleman 977431b1e3 State how every read of a name stays on one pick, and why a fresh read leaves it 2026-10-05 23:20:02 +02:00
lilleman dc9d962690 Test that a fresh read inside a named pick reads none of the pick 2026-10-05 23:20:02 +02:00
lilleman f0f81b066e Answer prose round 2: item 119 says where each rule is stated, a checkable item 118, a shorter item 121, and the decision naming what the panel found in the code 2026-10-05 23:02:52 +02:00
lilleman 03e00cc0a2 Answer prose round 1: a true path to the scoring run's prompts, the panel named by its date, plainer items 118, 119, 121 and 127, and Next ID 129 2026-10-05 23:02:52 +02:00
lilleman 791d76923c Record the panel's scores on the restructured code, and file what it named as items 118 to 128 2026-10-05 23:02:52 +02:00
lilleman ce6337e829 Record the scoring run's project values in AGENTS.md 2026-10-05 23:02:52 +02:00
lilleman bcc6858922 Answer prose round 2: resolveReads says it resolves fields before the format, and a plainer item 117 2026-10-05 22:49:04 +02:00
lilleman 338358c70e Answer prose round 1: plainer linkTemplates, ownScope, resolveReads, compileArm and settleRecords docs, recordOf naming its three entry points, a plainer engine decision, and item 117 read as a path's last step 2026-10-05 22:49:04 +02:00
lilleman b0cd3fea16 Answer stability round 1 and product-owner round 1: a Layout line for link.go that names no step, inline.go's line naming its bind, the decision title read as linking in steps, and file item 117 2026-10-05 22:49:04 +02:00
lilleman 69703dec91 Answer architecture round 2: linkTemplates' doc says which steps pass names as arguments, checkEveryNameRead, and an invariant guard on a binding with no read at link 2026-10-05 22:49:04 +02:00
lilleman 0993d86f22 Answer architecture round 1: the read-once check back at link over uses from the compiled arms, every link step taking its inputs as arguments in link.go, a record column holding its name and datatype, and items 104 to 106 dropped from the plan with the decisions citing them reworded 2026-10-05 22:49:04 +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 cdc82a99c6 Test a name read before its binder links, and that every record carries its shape once loaded 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 8cd602c31a Test that List advertises no path through a choice into a variant carrying a repeat 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 a9c59ba6b7 Test that List advertises no path into a level carrying a repeat 2026-10-05 22:10:04 +02:00
lilleman 36329f1328 Answer architecture round 2: a keyed walk position, a plainer Above test, and docs naming the owner and the key-name refusal 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 05d9fcd8c1 Test the character a selector cannot spell 2026-10-05 22:10:04 +02:00
lilleman 880621f6bb Test that a caller's path refuses a level carrying a repeat, and list internal/rows among the module's packages 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 15b94b2718 Answer architecture round 2: name eachNode's callback parameter label in node_test.go 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 21a4ed1795 Test that a table's errors name its path, and a cell's its line 2026-10-05 21:21:46 +02:00
lilleman f3e71522ae Answer prose round 1: a title that says what holds, an example that runs with no option, and a premise naming the template syntax's escape 2026-10-05 20:56:54 +02:00
lilleman bd1dcb7fc8 Record goal 7.2 as an aim: a first template can be written with no escape 2026-10-05 20:56:54 +02:00
lilleman 68c896b916 Answer prose round 1: a true validity premise, the reading in two plain sentences, and the braces named one by one 2026-10-05 17:18:02 +02:00
lilleman ad28f6621c Record that goal 7.2's "no escaping" means no special character beyond the braces, and drop question 114 2026-10-05 17:18:02 +02:00
lilleman a256645fdb Answer prose round 2: one word for the escape, the goal and its conflict in two sentences, and a plainer item 114 2026-10-05 16:34:46 +02:00
lilleman 533258e662 Answer prose round 1: a plainer decision title, name which braces belong to the syntax, and file goal 7.2's escaping as question 114 2026-10-05 16:34:46 +02:00
lilleman 7ce34ba1fc Record that goal 5.1 counts the doubled-brace escape and a lone } as template syntax 2026-10-05 16:34:46 +02:00
lilleman c55b296385 Answer prose round 2: the maintainer's approval beside the list it covers, Facts and compileInto docs naming what they read, and "the folder that dir names" 2026-10-05 16:30:28 +02:00
lilleman 643efc8650 Answer prose round 1: the restructure in three named parts, Category.Folders and proven.Facts for one meaning per name, plainer builtinfunc and datafiles comments, and no false iban rationale 2026-10-05 16:30:28 +02:00
lilleman 4f484cd780 Answer architecture round 3, stability round 1 and product-owner round 1: CalcName and proven.OfCalc for one meaning per name, a lazy load placed where its lookup found it, DataType's constants typed under it, and cover printing the module's total 2026-10-05 16:30:28 +02:00
lilleman 679bd43c7c Answer architecture round 2: guard Noun's range, name calc once as builtinfunc.Calc, and place readTableOptions in item 46 2026-10-05 16:30:28 +02:00
lilleman a229ae90a2 Test Noun on a datatype no data writes, and check panics against invariant.Broken's phrase 2026-10-05 16:30:28 +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 835cdb57d4 Test every package's panics for the one invariant phrase, and a Source built from a directory 2026-10-05 16:30:28 +02:00
lilleman e8b7357cfc Drop items 99, 100 and 103 from the plan, and name the moves in the decisions citing them 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 691f304096 Test a refused category and folder name with a name the grammar refuses 2026-10-05 16:30:28 +02:00
lilleman 3bb96ded91 Move the builtins, with their checksums, layouts and transforms, into internal/builtinfunc, and check calc's operands in the engine 2026-10-05 16:30:28 +02:00
lilleman 9357abb279 Move DataType into internal/datatype, aliased by the root, and what a proof knows of a value into internal/proven 2026-10-05 16:30:28 +02:00
lilleman 83e4daefdb Test internal/datafiles, internal/datatype, internal/proven and internal/builtinfunc, and allow the root to import them 2026-10-05 16:30:28 +02:00
lilleman e4d14944a2 Answer prose round 2: point the postort cell at geo-se.py's rules, and place the goal 2 cite after its claim 2026-10-05 15:14:40 +02:00
lilleman 7523723933 Answer product-owner and prose round 1: name the postort drop rule in the geo table, and rest the misc.tld decision on goal 2 2026-10-05 15:14:40 +02:00
lilleman b83f3f864d Drop goal 14.1 and item 111 with it, and plan item 110 for 0.1.0 2026-10-05 15:14:40 +02:00
lilleman 177dd4b50b Answer prose round 1: delete two false comments, plainer SplitPath, evalCalc and decision wording, a shorter comprehension floor title, and item 110 owes a changelog entry 2026-10-05 12:35:08 +02:00
lilleman 199cb577c5 Answer stability round 1: unexport the grammar's helpers the root never calls, and drop CheckName's note of its callers 2026-10-05 12:35:08 +02:00
lilleman 350514b60e Test a calc reading one operand twice 2026-10-05 12:35:08 +02:00
lilleman c97ed3612b Answer architecture round 2: name the step up in item 110 2026-10-05 12:35:08 +02:00
lilleman 6fd7da19e5 Answer architecture round 1: calls carry no operands in the grammar, ParseCalc returns its operands, one empty-segment check, sorted token kinds, and file items 110 and 111 2026-10-05 12:35:08 +02:00
lilleman 3479f9cf98 Test a calc's operand list, one empty-segment check, and an empty segment after a step up 2026-10-05 12:35:08 +02:00
lilleman 5e56b44dfa Drop item 98 from the plan, list internal/grammar in the Layout, and name the grammar in the decisions citing item 98 2026-10-05 12:35:08 +02:00
lilleman c2f2e86735 Move how the template language is written into internal/grammar 2026-10-05 12:35:08 +02:00
lilleman 41292f9d89 Test internal/grammar, and allow the root to import it 2026-10-05 12:35:08 +02:00
lilleman 46895151c8 Answer prose round 1: plainer sentences in the two decisions, no provenance in items 108 and 109, and shorter comments in drawstate, render and format 2026-10-05 12:03:38 +02:00
lilleman 376ab29457 Answer architecture round 2: read go.mod's module path as its first field, unquoted, and fail when no import matches it 2026-10-05 12:03:38 +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 ddc3193593 Drop item 97 from the plan, list internal/drawstate in the Layout, and name the draw state in the decisions citing item 97 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 4a680f03b3 Test internal/drawstate and the module packages each package may import 2026-10-05 12:03:38 +02:00
lilleman b1d26cd999 Answer prose round 2: state the merge gate as AGENTS.md does, name the draw-afresh change, and rewrap the engine decision 2026-10-05 11:40:05 +02:00
lilleman e17660e8ba Answer prose round 1: state the gate once in item 5, title the engine decision by what this commit holds, and plainer wording across items 97 to 107 and the decisions 2026-10-05 11:40:05 +02:00
lilleman b6f3df2c9f Answer architecture round 2: carry the engine table on its rows table, name the imports items 99 and 102 need, and correct the engine decision's premise 2026-10-05 11:40:05 +02:00
lilleman e383005f6c Answer architecture round 1: settle DataType in item 99, own the table family in internal/rows, fold items 7 and 48 into the restructure, and hold the other 0.1.0 items behind item 5 2026-10-05 11:40:05 +02:00
lilleman 2ce8afd0fe Plan the restructure as items 97 to 107: one writer per value, what stands alone in internal/, the engine in the root until item 107 2026-10-05 11:40:05 +02:00
lilleman 87106f450a Answer product-owner round 4: say a column reading a bound column of its own record is that column 2026-10-05 10:19:01 +02:00
lilleman 7a4f95ce15 Record the maintainer's yes on item 96 2026-10-05 10:19:01 +02:00
lilleman bf81c38315 Answer prose round 2: one wording for what a binding binds, the calc exception scoped in the decision, and rewrapped lines 2026-10-05 10:19:01 +02:00
lilleman f89ffd1b73 Answer stability round 3, product-owner round 3 and prose round 1: a column reading a bound column takes its datatype and null, a column bound in part draws afresh, and plainer wording across the README, decisions, plan and errors 2026-10-05 10:19:01 +02:00
lilleman dfde34556e Answer product-owner round 2: render a record column a name binds whole from the pick 2026-10-05 10:19:01 +02:00
lilleman 8d82759520 Answer stability round 1 and product-owner round 1: refuse a field binding read once from above its binder, word the self-read refusal plainly, say how a bound field's column keeps the pick, and ask item 96 2026-10-05 10:19:01 +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 938bbb5c43 Answer architecture round 2: refuse a self-read only inside what the binding lands on, fix the struct.go Layout line, move loneRef beside its caller, and widen item 83 to the link passes 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 a45edf8fb5 Document fresh draws and named picks, revise the decisions the restructure ends, and close items 4 and 87 2026-10-05 10:19:01 +02:00
lilleman 5a3abc325f Hold the allocation gate to what both supported Go versions allocate 2026-10-05 10:19:01 +02:00
lilleman acd1e3ef5a Re-pin the seeded output for fresh draws 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 5b23ca7706 Test that every {…} draws afresh and only a name keeps a pick, a field's and a struct's path tags included 2026-10-05 10:19:01 +02:00
renovate[bot] f87807adf7 Update dependency ubuntu to v26 2026-10-05 09:43:17 +02:00
renovate[bot] 972c6deb71 Update python Docker tag to v3.14.8 2026-10-05 09:37:03 +02:00
lilleman 1bd9f58e56 Answer prose round 2 and product-owner round 2: the error shows the spelling to write instead, item 14 only respells the shipped runs, and the key decision says how a code serves goal 5.5 2026-10-05 07:55:01 +02:00
lilleman 2bdbb22499 Say why item 14's repeat over {digits(1)} changes nothing 2026-10-05 07:55:01 +02:00
lilleman 03577ebca2 Answer prose round 1 and product-owner round 1: give goal 5.7 a test a reader can apply, drop the AGENTS.md copy of it, and cite the key decision to goal 5.5 2026-10-05 07:55:01 +02:00
lilleman 0130a46ced Refuse only a spelling that restates another, and drop item 93 2026-10-05 07:55:01 +02:00
lilleman dc9776061c Answer stability round 2, product-owner round 2 and prose round 2: state the calc exception in the Names list without an example that loads either way, and one reading for item 93 2026-10-05 01:23:55 +02:00
lilleman 426517e66d Answer stability round 1, product-owner round 1 and prose round 1: say calc reads names in the Functions table, use shipped data in the examples, plainer comments and item wording, mark items 5 and 90 as decision-cited, and ask whether a field spelling of a calc operand is refused 2026-10-05 01:23:55 +02:00
lilleman 0743a049d7 Answer architecture round 2: refuse by default where a builtin's operand can be a reference, test the flag against each operand grammar, drop a duplicate test, rename allNeverNumeric, rewrap Computation, and order item 91 after item 4 2026-10-05 01:23:55 +02:00
lilleman 94cf741706 Answer architecture round 1: exempt only a calc operand from the read-once refusal, run the name passes from one list, read every operand's leaves, show a name operand in a README example, and plan a path through a name as an operand 2026-10-05 01:23:55 +02:00
lilleman d1b3b05a0c Close item 71, and suspend scoring for items 4 and 90 2026-10-05 01:23:55 +02:00
lilleman b4052f77f9 Accept a name as a calc operand 2026-10-05 01:23:55 +02:00
lilleman 3d320e029c Test that a calc reads a name as an operand 2026-10-05 01:23:55 +02:00
lilleman 19cbbe56f6 Answer prose round 1: show binding a selected sex, split the test-series paragraph, give the birth-number layout both reasons, and say which item the round leaves 2026-10-05 00:50:23 +02:00
lilleman 60b3cb20ca Answer product-owner round 1: show reading a name and a personnummer through one bound sex, say what the locale address prints, and plan the record's one pick in item 4 2026-10-05 00:50:23 +02:00
lilleman b93d47eeb2 Answer stability round 2: let the selector be the assertion 2026-10-05 00:50:23 +02:00
lilleman 38d791d9b1 Re-pin the seeded address examples for the address bound to its locality 2026-10-05 00:50:23 +02:00
lilleman b5be59f180 Re-pin the shape for the address bound to its locality 2026-10-05 00:50:23 +02:00
lilleman 1afcbc1a83 Answer stability round 1: bind the locality so population still weighs an address, test the field paths agree, and restate why birth-number sits under sex 2026-10-05 00:50:23 +02:00
lilleman 06c17411d6 Document the named person and address picks, revise the address decision, and close item 3 2026-10-05 00:50:23 +02:00
lilleman b17f29f983 Re-pin the seeded address examples 2026-10-05 00:50:23 +02:00
lilleman 1cff081f51 Re-pin the shape for the named person and address picks 2026-10-05 00:50:23 +02:00
lilleman 4b80460515 Draw a shipped person from one named first name, and an address from one named street 2026-10-05 00:50:23 +02:00
lilleman 7fd79bb09c Test that a shipped person and address each come from one named pick 2026-10-05 00:50:23 +02:00
lilleman f03a0de42c Answer prose round 2: rewrap the Step up and Linked tables paragraphs 2026-10-05 00:23:18 +02:00
lilleman ec1dcbf9d3 Answer prose round 1: name the parent after .., mark the step down as the one exception to the shared draw, and plainer errors 2026-10-05 00:23:18 +02:00
lilleman 406232e8f9 Answer stability round 1 and product-owner round 1: spell .. in the fence's and the link column's advice, take it in struct tags, and show the whole climb 2026-10-05 00:23:18 +02:00
lilleman 1551087ddf Answer architecture round 2: say the suggested path starts at the data root 2026-10-05 00:23:18 +02:00
lilleman 1ec2bee098 Answer architecture round 1: share a step down's draw per draw group and pick, own descend's pins, name the spelling to write, and record the .. decision 2026-10-05 00:23:18 +02:00
lilleman 4b5506d07b Document .., drop the step-up decision item 2 replaces, and close item 2 2026-10-05 00:23:18 +02:00
lilleman 8b76d51f2c Step up from a row to the row it links to with .. 2026-10-05 00:23:18 +02:00
lilleman 07c66c57fc Test that .. steps up from a row to the row it links to 2026-10-05 00:23:18 +02:00
lilleman 5707c697d8 Answer prose round 3: name the five items the round lets merge 2026-10-04 23:45:29 +02:00
lilleman bad5beb42b Answer prose round 2: items 4 and 90 remove what the earlier items touch, and the scoring run writes the first scores 2026-10-04 23:45:29 +02:00
lilleman e14c9d0f4c Answer prose round 1: item 5 scores the restructure, which is the round the comprehension rule lets merge, and item 90 says what internal/ buys 2026-10-04 23:45:29 +02:00
lilleman d160de3ee1 Scrap the flat-package decision, plan item 90's folder restructure before the panel, and suspend scoring until item 5 2026-10-04 23:45:29 +02:00
lilleman f3d0959cae Answer prose round 3 and product-owner round 3: a module is a Go module or a data folder, a manifest names its fejkdata version, and the Versioning rewrite planned 2026-10-04 23:08:31 +02:00
lilleman b2002bb51d Answer prose round 2 and product-owner round 2: module explained at first use, the seed as item 89, modules in lockstep, and a second break of New for the date 2026-10-04 23:08:31 +02:00
lilleman 9240d90547 Answer prose round 2 and product-owner round 2: flexible and extensible, the date in the seed promise, the custom-CLI builder, and the seed required beside item 77 2026-10-04 23:08:31 +02:00
lilleman eee7572360 Answer prose round 1 and product-owner round 1: modules not packages, goal 13 split, the decisions item 77 ends, and a manifest naming every default it reaches 2026-10-04 23:08:31 +02:00
lilleman 90be0ee6d8 Make everything replaceable goal 9, require changing inputs in the library and default them in the CLI, and record item 77's answers 2026-10-04 23:08:31 +02:00
lilleman dc48ae11a5 Answer prose round 2: state the library's required inputs as a step 2026-10-04 20:30:17 +02:00
lilleman f3fcf569ad Answer prose round 1: say item 26 revises the clock decision, fold the direction into its first step, and leave narrowing and the seed to their own items 2026-10-04 20:30:17 +02:00
lilleman 32c1fb6c26 Record the maintainer's input-data direction in item 26, and the age bands that weigh a birthdate 2026-10-04 20:30:17 +02:00
lilleman 4bf1ee292a Answer prose round 3 and product-owner round 2: one reading per step, no birthdate after the given date, and the 12-digit claim scoped to testpersonnummer 2026-10-04 20:25:54 +02:00
lilleman 84763399aa Answer product-owner round 1: plan the + so it ships before 2030, on request and in a data author's own category, and file the 12-digit form 2026-10-04 20:25:54 +02:00
lilleman ef164354ab Answer prose round 2: state the + for personnummer, as SKV 704 does, and check samordningsnummer when the item is picked 2026-10-04 20:25:54 +02:00
lilleman 4a2e161cfc Answer prose round 1: the + from the year its holder turns 100, in both Swedish ids, from 2030 2026-10-04 20:25:54 +02:00
lilleman 61e759a489 Plan item 26 for 0.2.0: the + separator from a date the caller gives, exploring how a render takes input first 2026-10-04 20:25:54 +02:00
lilleman 663b20b77a Answer prose round 2: say which paragraph item 87 splits, in the words it fixes, under goal 11 2026-10-04 17:53:32 +02:00
lilleman 1af5abf762 Answer prose round 1: say NANPA may assign the codes, spell the test's exchange in full, and file the record paragraph's split 2026-10-04 17:53:32 +02:00
lilleman 965d671707 Re-pin the shape for en_US.phone.exchange 2026-10-04 17:53:32 +02:00
lilleman 59e3ebe65d Answer product-owner round 1: name the field exchange, and say in plain words what phone-exchange draws 2026-10-04 17:53:32 +02:00
lilleman 2f712d6ec0 Re-pin the shape for en_US.phone-exchange 2026-10-04 17:53:32 +02:00
lilleman 951dd88169 Answer stability round 1: draw the exchange from its own category, en_US.phone-exchange, and file the area list's copy 2026-10-04 17:53:32 +02:00
lilleman 7ac63caeb8 Close items 25 and 12 2026-10-04 17:53:32 +02:00
lilleman 563237a45a Draw a US exchange from NANPA's assignable codes, and strip every imported cell 2026-10-04 17:53:32 +02:00
lilleman 7ac8442bcf Test that a US exchange is an assignable NANP code and that no shipped cell is padded 2026-10-04 17:53:32 +02:00
lilleman 5bd022fe89 Spell the exact-version install in full, and say which version to raise 2026-10-04 17:17:46 +02:00
lilleman bded47846d State the seed exception once, with pin-then-regenerate advice, and word --seed's help as the README's row 2026-10-04 17:17:46 +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 0bedcd47e2 Say a patch may change what a seed draws, so seeded fixtures pin to one version 2026-10-04 17:00:28 +02:00
lilleman 48894a55e8 Give the CLI's --seed row the conditions the library's WithSeed row states 2026-10-04 17:00:28 +02:00
lilleman b2406ef4bc Answer prose round 3: say where NaN prints, and leave item 77's option name open 2026-10-04 17:00:28 +02:00
lilleman fd313b76b6 Wrap the zero-divisor decision's last lines 2026-10-04 17:00:28 +02:00
lilleman 665c532f8c Answer prose and product-owner round 2: one idea per sentence in items 77 and 81, item 77's open API points, and NaN explained where the decision names it 2026-10-04 17:00:28 +02:00
lilleman fba410c83f Narrow goal 6.1 to values a template's own rules forbid, and name the data in goal 9 2026-10-04 17:00:28 +02:00
lilleman 9cb0ed32d3 Answer prose and product-owner round 1: item 81 covers NaN too, the seed decision folds into goal 9, and each decision names its goal 2026-10-04 17:00:28 +02:00
lilleman fa49e8ad2b Refuse a template that could render an invalid value, count TSV tables as data, and promise one output per seed and version 2026-10-04 17:00:28 +02:00
lilleman 1538d1ab2c Say that loadShipped follows the reads of everything it loads, and what the 45 ms holds 2026-10-03 20:37:07 +02:00
lilleman f608040986 Answer prose round 2: item 79 names every set it loads, New maps a data author's keys, and fewer comments restating the code 2026-10-03 20:37:07 +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 77fb7b69f6 Benchmark a fresh generator's first Fake, where shipped loading now costs 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 81bb979164 Test that every shipped category loads alone into a fresh New 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 75597664e0 Test that shipped categories load when first reached, from a current index, and render as the whole load 2026-10-03 20:37:07 +02:00
lilleman cff6533e7b Say in goal 2 that the CLI carries all the data and a library imports what it needs 2026-10-03 16:57:36 +02:00
lilleman 1d6b96143f Plan on-demand shipped data first: a build-time index, data modules for the library, and population-weighted 10% geo slices 2026-10-03 16:47:52 +02:00
lilleman 568c875888 Let misc.timezone drop the zones of unshipped territories: agreement wins over the last rows 2026-10-03 16:02:11 +02:00
lilleman c569bf907f Count a lower panel score as a lower score, noise or not, and record the named-pick decision's approval 2026-10-03 15:55:04 +02:00
lilleman 3328d56cb2 Name namefence.go by what it holds 2026-10-03 14:23:58 +02:00
lilleman 2bb795e08c Split the picks and the name fences out of name.go, state the repeat refusal and the naming rule where they hold, and draw a memo's variants one way 2026-10-03 14:23:58 +02:00
lilleman 8c3ee104f6 Rewrap the Names paragraph 2026-10-03 14:23:58 +02:00
lilleman c955d35bbe Make checkNameReads and enter read on one pass, and keep name for names 2026-10-03 14:23:58 +02:00
lilleman 62214370ed Make the names prose true of the code and readable on one pass, and state each refusal once 2026-10-03 14:23:58 +02:00
lilleman 32124c5b1e Refuse a read-once name only where it binds a whole category, and say where an unseen name is bound 2026-10-03 14:23:58 +02:00
lilleman dbc2b7e7eb Test a name bound to a reference path read once whole, and where an unseen name is bound 2026-10-03 14:23:58 +02:00
lilleman 0b0370936a Refuse a name read once only when read whole, and name every way out in the scope and draw-group refusals 2026-10-03 14:23:58 +02:00
lilleman c5468d613f Test that a name read once through a path loads, and an empty name is refused 2026-10-03 14:23:58 +02:00
lilleman 740f2bc3bd Refuse a name read across draw groups or in a repeat where it reads a reference path, or read once; name the spelling in each refusal 2026-10-03 14:23:58 +02:00
lilleman 05cf531339 Test a name read across draw groups or in a repeat, read once through a path, and misspelt 2026-10-03 14:23:58 +02:00
lilleman b1aed332e7 Keep in a pick only what reads of its name address, look frames up on the stack alone, and refuse a name read once whole 2026-10-03 14:23:58 +02:00
lilleman 685e7bb27c Test a name keeping only what its paths address, the second spelling of a reference, and names in tables and file names 2026-10-03 14:23:58 +02:00
lilleman df63d0f562 Draw a pick's references in the draw group of the read of the name, where the draw fences survey them 2026-10-03 14:23:58 +02:00
lilleman 4362905b82 Fix a render's fallback frame to its unnamed group, and draw a pick's references in draw groups of its own 2026-10-03 14:23:58 +02:00
lilleman 30d18bf485 Test one name across draw groups, two names on one category, and a repeat of a name's allocations 2026-10-03 14:23:58 +02:00
lilleman d0c477ec78 Keep a name's frame with the read entering its category, refuse a binding in a choice's item, and read a name as a transform operand 2026-10-03 14:23:58 +02:00
lilleman 40e7ab46f6 Test a name entered past its category, a shadow written first, a binding in a choice, and a name as a transform operand 2026-10-03 14:23:58 +02:00
lilleman 23e426016d Bind a pick to a name with {ref as n}, and read it with {n} and {n.path} 2026-10-03 14:23:58 +02:00
lilleman ba9477f2e5 Test a name bound from a folder, through a reference path, and across struct tags 2026-10-03 14:23:58 +02:00
lilleman 30358eb7ff Test binding a pick to a name with {x as n} 2026-10-03 14:23:58 +02:00
lilleman b7679a5803 Ship the Nordic and most-spoken locales, and the remaining misc and locale categories, in v0.1.0 2026-10-03 01:29:22 +02:00
lilleman c7f9885821 Add goal 2, enough built-in data for the ten most-spoken languages and the Nordics, and renumber every goal reference 2026-10-03 01:29:22 +02:00
lilleman d980e84779 Point v1.0.0's quiet minor at the release that rewrites shipped rows 2026-10-03 01:29:22 +02:00
lilleman 0c1e380bed Ship v0.1.0 before packaging, tier the releases by score, and keep the Gitea mirror by decision 2026-10-03 01:29:22 +02:00
lilleman 724937e9ae Weigh each goal 0.05 below the one before it, a sub-goal as its goal 2026-10-03 01:29:22 +02:00
lilleman 94f1678c3a Answer prose round 3: the gh rule's restated half, item 40's tagline, items plural 2026-10-03 01:29:22 +02:00
lilleman ae70c31d96 Answer prose round 2: one spelling for a dependency, the recorded score explained, the tld miss filed 2026-10-03 01:29:22 +02:00
lilleman a260feefe8 Answer the prose review: decision lines by goal, item details true after the restructure, defects kept 2026-10-03 01:29:22 +02:00
lilleman c3d47e5b21 Reshape todo.md into the scored table, planning the draw restructure first 2026-10-03 01:29:22 +02:00
lilleman 83c2a4758c Name the script and the source apart, and keep pin for re-pinning 2026-10-03 00:31:15 +02:00
lilleman 02f35e2625 Claim of AGENTS.md only what it says 2026-10-03 00:31:15 +02:00
lilleman fe102d413a Put each moved sentence where its reader looks, the condition first 2026-10-03 00:31:15 +02:00
lilleman e8e1a2e2c1 Mark the goals as aims, and keep the moved text true where it landed 2026-10-03 00:31:15 +02:00
lilleman f43064ed97 Rewrite the goals as plain one-line aims, with draws kept only by name and paths stepping up with .. 2026-10-03 00:31:15 +02:00
lilleman 2d5e7da8dc Count the seats behind each filed panel item as the reports name them 2026-09-30 22:10:05 +02:00
lilleman c1d367bbc0 File the nine-seat run after the path steps, which held the score at 5.7, and stop the round for the maintainer's call 2026-09-30 22:10:05 +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 a24f52a1f0 Say which input errors in IsTemplate, and which columns wait for the first draw 2026-09-30 21:56:14 +02:00
lilleman 4fb81a5672 Correct IsTemplate's, loadDir's and the README's row-index claims 2026-09-30 21:56:14 +02:00
lilleman 0b5124d4d5 Rename checkResolves to checkPathResolves 2026-09-30 21:49:05 +02:00
lilleman 698ac036d5 Move checkField to valueproof.go and rename checkPath to checkResolves 2026-09-30 21:49:05 +02:00
lilleman cb7b43609f Drop the done isFormat item from the plan 2026-09-30 21:41:53 +02:00
lilleman 16d6497396 Read isFormat in the render test helpers 2026-09-30 21:41:53 +02:00
lilleman 492772b995 Give tableSite an isFormat beside isCell 2026-09-30 21:41:53 +02:00
lilleman e9b8216116 Say at checkNodeFences that its scope's cycles are refused first 2026-09-30 21:35:47 +02:00
lilleman 4ed4b10fa2 Nest disagreement's other-item switch in the fixed item's text arm 2026-09-30 21:01:31 +02:00
lilleman 57f4863107 Switch disagreement on the fixed item's kind, and rename its proven local to fits 2026-09-30 21:01:31 +02:00
lilleman faa4bba898 Fail the arm kind test on an arm it lists no kind for 2026-09-30 20:49:58 +02:00
lilleman 55b127856b Drop the done readField item from the plan 2026-09-30 20:49:58 +02:00
lilleman 26b35abe70 Fix at compile how readField reads an arm, deleting its two panics and its held lookup per read 2026-09-30 20:49:58 +02:00
lilleman efbad0f325 Require compile to fix how each arm is read, in place of readField's panics 2026-09-30 20:49:58 +02:00
lilleman c80d5016f6 Say heldCheck also rejects a held draw read two ways, and name its helper checkTemplateHold 2026-09-30 20:32:35 +02:00
lilleman 71feec7db9 Drop the done heldCheck fold from the plan 2026-09-30 20:32:35 +02:00
lilleman 317486df0a Fold checkNoOverlap and checkNoRepeatedRead into heldCheck, so compileFormat compiles and nothing more 2026-09-30 20:32:35 +02:00
lilleman 4ea7cb48a5 Check a repeated held token through NewTemplate, where the load fences run 2026-09-30 20:32:35 +02:00
lilleman 4bf8deddb4 Name the goals behind probing a path before drawing it, and cut comments restating their code 2026-09-30 20:20:28 +02:00
lilleman 220129584e Write the seeded pin's data through writeFiles 2026-09-30 20:20:28 +02:00
lilleman 270ba93fbe Name a failed step's index in drawSteps' panics, and quote the decision's measurement as the experiment it was 2026-09-30 20:20:28 +02:00
lilleman 96d9e2ab24 Draw every path through drawSteps over its compiled steps, deleting pathDraw and pathProbe 2026-09-30 20:20:28 +02:00
lilleman d5d1e86b1c Draw a path's compiled steps through drawSteps in the tests 2026-09-30 20:20:28 +02:00
lilleman d1722a8706 Pin the seeded bytes of paths through a choice, a selector and a drawn row 2026-09-30 20:20:28 +02:00
lilleman 1397d1438a Say a compiled step holds no node, where its name is a string 2026-09-30 20:02:16 +02:00
lilleman d279408ba5 Step a table's routes past its selector, and panic on an arm with no bound head 2026-09-30 20:02:16 +02:00
lilleman c29885e31f Require a compiled step to sit at the segment it consumes, and name the table read's test for it 2026-09-30 20:02:16 +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 0f58784a1b Require each path's leaves, cover and table steps from compilePath 2026-09-30 20:02:16 +02:00
lilleman a7c99dfb09 Say rowReads' own-family refusal runs before any survey, not first 2026-09-30 17:04:56 +02:00
lilleman e55b9cc89b Panic in readFold.reads on a node kind it has no case for 2026-09-30 17:01:02 +02:00
lilleman 3240f05027 Require readFold.reads to panic on a node kind it has no case for 2026-09-30 17:01:02 +02:00
lilleman 3d1b153a91 Record the maintainer's call to go on with the path steps 2026-09-30 15:51:22 +02:00
lilleman 54c7d48144 File the nine-seat checkpoint, which held Locality at 5.2, and stop the round for the maintainer's call 2026-09-30 15:51:22 +02:00
lilleman e54d1c06d6 Pin the same-error promise to the calls that fail, and add an inline template's order to the item 2026-09-30 11:11:04 +02:00
lilleman a898df62c1 Exempt below the floor a repair of documented behaviour, where goal 5 no longer promises one 2026-09-30 11:11:04 +02:00
lilleman f5f4812403 Split the Library's failure list, spell up front one way, and name what the item's split decides 2026-09-30 11:11:04 +02:00
lilleman 49e47d6103 Rewrite goal 5 as an aim, and plan a load reporting every mistake at once 2026-09-30 11:11:04 +02:00
lilleman b9f7ba04ea File the decision on which of several load mistakes an error names 2026-09-30 08:03:56 +02:00
lilleman d34513336d Fold the draw fence's pair checks into one loop over coRender and conflict, naming the lowest pin clash 2026-09-30 08:03:56 +02:00
lilleman 4cba01fc7a Test the draw fence's pairs through check and coRender, and that the lowest route's pin clash is named 2026-09-30 08:03:56 +02:00
lilleman 2306834995 Name the fold's route type readRoute, and reword the next item to what it still asks 2026-09-30 07:51:17 +02:00
lilleman 2b61433258 Name a read's context its group, route and branches, deleting surveyAt 2026-09-30 07:51:17 +02:00
lilleman 9e786ccf39 Move the read fold to reads.go and the survey's verdict to drawfence.go, deleting readsurvey.go 2026-09-30 07:51:17 +02:00
lilleman 4952ae9442 Checkpoint the round with a nine-seat run before the path steps 2026-09-29 21:37:48 +02:00
lilleman 42c443bd5a Build the draw fence's fold with the fence, deleting its lazy accessor 2026-09-29 21:31:07 +02:00
lilleman a222fb985e Share one read fold across each oracle's corpus, as the draw fence does 2026-09-29 21:31:07 +02:00
lilleman b7bbf40366 Move surveyRender and surveyColumns, used only by tests, into readsurvey_test.go 2026-09-29 21:31:07 +02:00
lilleman 78b08b699f Have the draw fence query the read fold, deleting hasRead and its helpers 2026-09-29 21:31:07 +02:00
lilleman 8d5c7e0adf Fold a table format's own reference reads, and tag only its own columns' cells with a row 2026-09-29 20:35:25 +02:00
lilleman fc5f1e8685 Test that a table format's own reference reads are fenced, whole or by row 2026-09-29 20:35:25 +02:00
lilleman 4cd6e9f767 Gather a render's reads as a fold memoised per node, deleting readSurvey.walk and edge 2026-09-29 20:35:25 +02:00
lilleman 6fdd8bd09b Test that a pin clash below a nested template names the root's route 2026-09-29 20:35:25 +02:00
lilleman 73fa013011 Survey tests: reach a table's cells through its own format, the shape New lets through 2026-09-29 20:35:25 +02:00
lilleman 45bdd10c9b Record that a cell may read a reference, and plan the round as the approved restructure 2026-09-29 20:12:33 +02:00
lilleman 85cc000d23 Drop the backfilled date where a decision already records its own 2026-09-29 20:12:33 +02:00
lilleman 0e8c054a46 Check CodeRabbit once at ready, and never wait for it below 10 stars 2026-09-29 18:41:41 +02:00
lilleman dbac4c5ad8 Date every decision from the history that first names it, and credit it to Lilleman 2026-09-29 18:41:41 +02:00
lilleman 672263421a File the operand route's missing spelling under the refusal-spelling item 2026-09-29 16:50:44 +02:00
lilleman fe40e2ca95 Name the holding operand in the operand refusal, and an operand route's fix 2026-09-29 16:50:44 +02:00
lilleman 5880487f47 Test that the operand refusal names the holding operand, and an operand route's fix 2026-09-29 16:50:44 +02:00
lilleman c4911e15bc Narrow the refusal-spelling item to the path refusals 2026-09-29 16:50:44 +02:00
lilleman 316c69c063 Name the operand refusal's call as written, and the spelling that reads its draw 2026-09-29 16:50:44 +02:00
lilleman 401141bb66 Test that the operand refusal names the operand as written and the spelling to use 2026-09-29 16:50:44 +02:00
lilleman e84522f244 Scope the held-reference decision to a draw group, and give both hold decisions their goal 2026-09-29 16:50:44 +02:00
lilleman acbc6943b8 Spell a reference path as arm.isRefPath, and say where each tail's head is held 2026-09-29 16:50:44 +02:00
lilleman dee1e186e3 Hold only an expansion's names in formatOps.held, deleting keepsHold 2026-09-29 16:50:44 +02:00
lilleman 14952d0c06 Test that a repeated bare reference beside its path names the draw fence's refusal 2026-09-29 16:50:44 +02:00
lilleman ff54251e9b Put the draw fence and its refusals in drawfence.go 2026-09-29 16:15:11 +02:00
lilleman dd2ba5696e File the fifth 2026-09-29 nine-seat panel's findings, scored 5.8 2026-09-29 16:08:02 +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 789c47d0ee Name a real method in declaredFuncs' example 2026-09-29 15:41:48 +02:00
lilleman ba43eb1c91 Compile a format in format.go 2026-09-29 15:41:48 +02:00
lilleman c2ac7bf843 File the missing spellings and the linked-tables paragraph split 2026-09-29 15:21:52 +02:00
lilleman 9d9d72c892 File the drawGroup advice for two reads under one field 2026-09-29 15:21:52 +02:00
lilleman d943bdca16 Name a drawGroup only on a field that splits the pair, and a field around a reference 2026-09-29 15:21:52 +02:00
lilleman 82ea599458 Pin the drawGroup advice to a field that splits the pair, or none 2026-09-29 15:21:52 +02:00
lilleman ba8bf06c00 Name the reference-draw overlap's disagreement and the read a drawGroup goes on 2026-09-29 15:21:52 +02:00
lilleman 68dc2e594a Pin the reference-draw overlap to naming the disagreement and the read a drawGroup goes on 2026-09-29 15:21:52 +02:00
lilleman 5c8e7d66d0 Word the reference-draw overlap so it holds for a path and a family table 2026-09-29 15:21:52 +02:00
lilleman 7cb07bfc5d Pin the reference-draw overlap to wording true of a path and of a family table 2026-09-29 15:21:52 +02:00
lilleman 2e57a38e0b Word the second-route and reference-draw overlap refusals apart from the format's own 2026-09-29 15:21:52 +02:00
lilleman 487f60c6af Pin each overlap refusal to its own wording 2026-09-29 15:21:52 +02:00
lilleman f1b0cda818 Say a draw group holds a reference path, and correct the stale hold wording 2026-09-29 14:45:34 +02:00
lilleman b99966fe19 Name the render's draws apart from the expansion hold: drawMemo, groupDraws, renderDraws 2026-09-29 14:45:34 +02:00
lilleman 40f1129c23 Choose disagreement's error directly, ranking itemKind with < 2026-09-29 14:31:23 +02:00
lilleman ccc079a9ca Test disagreement's two-text panic through disagreement itself 2026-09-29 14:31:23 +02:00
lilleman 8fb3695fa9 Delete node's switch list, which the kind test now holds 2026-09-29 14:25:28 +02:00
lilleman 4ee0d61a64 Name each node switch sample by its type 2026-09-29 14:25:28 +02:00
lilleman 9d5b81d2f5 Test that every node switch handles every node kind, and render and renderEdges agree 2026-09-29 14:25:28 +02:00
lilleman 64040c745f Give readSurvey's pin clash checkOwnFamily's advice 2026-09-29 13:58:59 +02:00
lilleman b3cc37be26 Report a pin clash in readSurvey.edge as a load error, not a panic 2026-09-29 13:58:59 +02:00
lilleman 4c42c60651 Test that readSurvey reports a pin clash as an error 2026-09-29 13:58:59 +02:00
lilleman acbb8f0b24 Say the group hold embeds the expansion hold in the round's naming item 2026-09-29 13:40:29 +02:00
lilleman 57d9698b0b File the fourth 2026-09-29 nine-seat panel's findings, scored 5.8 2026-09-29 13:40:29 +02:00
lilleman e1769f20a2 Delete loadData's, drawRow's and selector's comments, and render.go's second and third compile notes 2026-09-29 13:31:04 +02:00
lilleman 94c8bd229d Give checkOwnFamily the scope walk's signature, and drop its wrapper 2026-09-29 13:26:56 +02:00
lilleman 0fde439d8b Drop the done readSurvey.edge item from todo.md 2026-09-29 13:26:56 +02:00
lilleman 6cb2d143d6 Refuse own-family reads before any survey, and panic on a clash where readSurvey.edge enters a read's pins 2026-09-29 13:26:56 +02:00
lilleman 25857fb660 Test a selected row reaching its family's other row through a draw group 2026-09-29 13:26:56 +02:00
lilleman 322c8dead7 State pinSet.pin's precondition, and file readSurvey.edge's unchecked pins 2026-09-29 13:03:55 +02:00
lilleman 8079157329 File the newRand rename in todo.md 2026-09-29 12:47:38 +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 aa2890b479 Spell traceRead's format case as the other format tests do 2026-09-29 12:28:22 +02:00
lilleman 8793681d8a Test a table cell through tableSite.isCell, and trace no row outside a table 2026-09-29 12:28:22 +02:00
lilleman 4fcf45b5d0 Trace a render's read with the row it renders, none outside a table 2026-09-29 12:28:22 +02:00
lilleman d50136223a Rank itemKind through a free declaresLess, named in the type's comment 2026-09-29 12:11:15 +02:00
lilleman a4547472ec Pick disagreement's fix through itemKind.declaresLess 2026-09-29 12:11:15 +02:00
lilleman b75e517bda Name resolveLink as what proves splitArm's reference, and the tail it takes 2026-09-29 11:55:15 +02:00
lilleman 6b17205159 Give arm its head as written, and spell readRow's selector from it 2026-09-29 11:55:15 +02:00
lilleman df4d4001f7 Test a relative reference's selector spelling in the selection fence's rewrite 2026-09-29 11:55:15 +02:00
lilleman bad15a5bdb Name formatOps' held entry firstReach, and checkNameHeld's path spelling path 2026-09-29 11:35:46 +02:00
lilleman bb70688f1d Hold each name in one formatOps map, beside its first reader and path 2026-09-29 11:35:46 +02:00
lilleman 1b219e333a Word readsurvey.go's Layout line so the own-family fence is not the survey's verdict 2026-09-29 11:18:24 +02:00
lilleman 7baee64cc3 Move each draw fence beside the check it pairs with, and inline checkColumnDraws 2026-09-29 11:18:24 +02:00
lilleman 4772fa7df3 Key the survey by a pin set's rows spelled as a string 2026-09-29 11:11:52 +02:00
lilleman 79e63829c4 Keep the four path walks: one loop fails the allocation gate 2026-09-29 11:04:05 +02:00
lilleman 704837bf0b File the one-loop path walk experiment as the next round item 2026-09-29 10:53:08 +02:00
lilleman 21140042d3 File the third 2026-09-29 nine-seat panel's findings, scored 6.1 2026-09-29 10:44:59 +02:00
lilleman eebf2aa62b Delete the comments and preambles the panel found empty 2026-09-29 10:33:56 +02:00
lilleman 64705fcf0f Name checkOwnFamily's found table familyTable 2026-09-29 10:28:15 +02:00
lilleman 6275c6d41e Rename refBinding.key to head, and the stale key wording beside it 2026-09-29 10:28:15 +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 ade2a7855f Trim disagreementFix's comment to the proof it defines 2026-09-29 10:03:36 +02:00
lilleman e8469f1f89 Replace disagreements' ten keys with the rule they encode 2026-09-29 10:03:36 +02:00
lilleman c15067b942 Assert disagreementFix takes the two kinds and the proof, and refuses two text items 2026-09-29 10:03:36 +02:00
lilleman e494d61647 Fold the product-owner's wording findings into the row-read refusal item 2026-09-29 09:56:09 +02:00
lilleman 14ced0e642 File prove's composed-text reason for a one-column table format 2026-09-29 09:56:09 +02:00
lilleman 16e4f4ebbb Give prove, stepInto and columnItems a case per node kind, panicking on the rest 2026-09-29 09:56:09 +02:00
lilleman d01c914e7f Assert prove, stepInto and columnItems panic on an unhandled node, and a bare table read is refused as a row 2026-09-29 09:56:09 +02:00
lilleman 64bb5c7004 Separate the hold's gloss from the hold set in README's layout 2026-09-29 09:34:07 +02:00
lilleman 9ab18c575a Move the render's read path into render.go and merge holdset.go into hold.go 2026-09-29 09:34:07 +02:00
lilleman 2e553d29f7 Record each selector's table and spelling in pathProbe.readRow 2026-09-29 09:26:12 +02:00
lilleman 2499e71809 Assert the table each probed selector is credited to 2026-09-29 09:26:12 +02:00
lilleman c78f9618cf Move readSurvey's verdict from drawfence.go into readsurvey.go 2026-09-29 09:14:48 +02:00
lilleman 2f8d431940 Correct the seat counts 2026-09-29 09:00:20 +02:00
lilleman d8887e0ea1 File the second 2026-09-29 nine-seat panel's findings, scored 5.7 2026-09-29 09:00:20 +02:00
lilleman 5b313a44bb Plan the promise that a Generator's renders run one at a time 2026-09-29 08:44:07 +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 d519a61f58 Keep Fake as the one example of a shared name 2026-09-29 04:31:25 +02:00
lilleman 3047627715 Call the body funcCall refuses a name-read body 2026-09-29 04:31:25 +02:00
lilleman fe2fea5da2 Drop the last field-alternation wording, say checkNodeFences holds the fences every binding needs, and tick the rename off 2026-09-29 04:31:25 +02:00
lilleman f0992e7151 Rename categoriesOf to segmentsOf 2026-09-29 04:31:25 +02:00
lilleman 29f3821a21 Rename pinnedRow, table.category, checkRenders, fieldAlternation and referenceFence to what they are 2026-09-29 04:31:25 +02:00
lilleman 4d35ead2a4 Say prints is handed to proveNumber, and give shortestDecimals its own const 2026-09-29 04:17:59 +02:00
lilleman 0dfa615b54 Name printedNumber's dp cases, and say what prints and proveNumber a builtin sets 2026-09-29 04:17:59 +02:00
lilleman be9ab3efcf Panic through internalError on a disagreement key mapped to nil too 2026-09-29 04:08:24 +02:00
lilleman e74457a470 Let disagreementFix alone judge a key the test builds 2026-09-29 04:08:24 +02:00
lilleman c304dae303 Panic through internalError on a disagreement key with no fix 2026-09-29 04:08:24 +02:00
lilleman 526b4c84fd Test that disagreements holds every key disagreement builds, and a miss panics as an internal error 2026-09-29 04:08:24 +02:00
lilleman 3131ecf2d6 Say which held names the expansion keeps, and cut formatOps restatements 2026-09-29 03:49:59 +02:00
lilleman 58e26c6d6b Report a held arm with no hold as an internal error, and name readHeld as the hold 2026-09-29 03:49:59 +02:00
lilleman a9ec8b3632 Test that readField reports a held arm with no hold as an internal error 2026-09-29 03:49:59 +02:00
lilleman 5ce0ce147e Read a reference path through readReference, which takes no held 2026-09-29 03:49:59 +02:00
lilleman e77a9371db Cut tableSite.row's stray clause 2026-09-29 03:34:48 +02:00
lilleman e9cdfe9edd Keep a template's table in one field, tableSite 2026-09-29 03:34:48 +02:00
lilleman 05bc56fe75 Define descended where table.route takes it 2026-09-29 03:28:20 +02:00
lilleman 0ad94089e2 Say on which route readSurvey.walk's dropped cell never renders 2026-09-29 03:22:52 +02:00
lilleman 38fbc47678 Spell readSurvey.walk's dropped cell as a default arm 2026-09-29 03:22:52 +02:00
lilleman 4e4254fa84 Title the stem decision by its rule, and point doc.go's whole at surveyAt 2026-09-29 03:14:13 +02:00
lilleman ecc7833e04 Name drawFence's receiver f, and say a survey route reaches a read 2026-09-29 03:14:13 +02:00
lilleman f7cfc75394 Name the fence drawFence and the route surveyRoute, and move the survey tests to readsurvey_test.go 2026-09-29 03:14:13 +02:00
lilleman 2d82f34cd4 Rename the load-time draw types to the read survey and fence, and move the survey to readsurvey.go 2026-09-29 03:14:13 +02:00
lilleman 1cefa18039 Name the four node-kind switches on node 2026-09-29 02:48:58 +02:00
lilleman b41ce7679f State the node-kind switch rule on node 2026-09-29 02:48:58 +02:00
lilleman f523283463 Assert the node-kind panics through mustPanic 2026-09-29 02:48:58 +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 a82e937412 Test that contained and paths panic on a node kind they do not list 2026-09-29 02:48:58 +02:00
lilleman 501ea274ad File the 2026-09-29 nine-seat panel's findings, scored 5.8 2026-09-29 02:29:48 +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 4c5466cad0 Spell rowOf's panic apart from mustRow's 2026-09-29 01:51:44 +02:00
lilleman e88c7e0170 Say mustPanic wants internalError's phrase 2026-09-29 01:51:44 +02:00
lilleman 125fb1e9aa Drop the done panic-phrase round item 2026-09-29 01:51:44 +02:00
lilleman 514d738b08 Report every invariant break through internalError 2026-09-29 01:51:44 +02:00
lilleman 3aa747de02 Require every panic to report through internalError, one greppable phrase 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 5a87dc04d3 Pin readField's unheld-path panic past the trace check, and fail the gathered-reads test when nothing traced 2026-09-29 01:27: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 64f339b0db Pin holdOne's disagreement by the end of the error, which the other two extend 2026-09-29 01:06:06 +02:00
lilleman fd4906846d Name disagreement's item pair itemPair 2026-09-29 01:06:06 +02:00
lilleman 7a6ca476a8 Pin the proven disagreements of two declared and two read datatypes 2026-09-29 01:06:06 +02:00
lilleman ef6116f795 Make disagreement a table keyed by the two item kinds and the proof, and drop the done round item 2026-09-29 01:06:06 +02:00
lilleman ac0d177939 Pin each column-datatype disagreement with its items in either order 2026-09-29 01:06:06 +02:00
lilleman 1542867c71 Say how each path walk differs from pathCheck at a choice and a table, and drop the done round item 2026-09-29 00:44:08 +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 181e0bbb6e Keep the renderEdges test to the panic it names 2026-09-29 00:13:54 +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 446a3f98d6 Test that renderEdges panics on a node kind it does not handle 2026-09-29 00:13:54 +02:00
lilleman 62ae658b4d Drop checkCells from the compile fill header 2026-09-28 23:55:22 +02:00
lilleman 6158eb0f46 Build a table cell's template through compileString, and drop the done round item 2026-09-28 23:55:22 +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 243094e4ab Name every Fake receiver and fold the function-method rule into its test in the one-name decision 2026-09-28 23:32:31 +02:00
lilleman 54d933ecc2 Name renderScope.groupHold for what it returns, correct pathDraw's pins comment, and drop the done round item 2026-09-28 23:32:31 +02:00
lilleman 194f194f81 Split the expansion's hold from the group's, and read a table's row from where the table is entered 2026-09-28 23:32:31 +02:00
lilleman 88f762077f Key drawWalk's visits by interned pin sets and the whole table 2026-09-28 23:01:58 +02:00
lilleman d03c92ddbf Pin that the fence walk reaches a table's cells by every route 2026-09-28 23:01:58 +02:00
lilleman df230e286f Key the traced reads by their table row, not drawAt.rowsKey 2026-09-28 23:01:58 +02:00
lilleman 19033bf2e5 Fail the whole-replay comparison where it compared no read set 2026-09-28 22:38:38 +02:00
lilleman 0825819e44 Hold replayPairs to a whole replay of every read set rendering together 2026-09-28 22:38:38 +02:00
lilleman 9ae65d13a0 Name the panics the round respells, and drop a quoted panic no code prints 2026-09-28 22:16:14 +02:00
lilleman 3a639c93b5 File the 2026-09-28 nine-seat panel's findings, scored 5.7 2026-09-28 22:16:14 +02:00
lilleman 836ab8ddc4 State the alternatives rule by the row a cell sits in 2026-09-28 21:57:33 +02:00
lilleman 805a2d11fc Name the selector syntax the alternatives rule turns on 2026-09-28 21:57:33 +02:00
lilleman 7eb1b2473f State in the README which reads never render together, and drop the decision restating alternatives 2026-09-28 21:57:33 +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 a84997d2f4 Settle the open questions through the goals and audience 2026-09-28 20:49:17 +02:00
lilleman e4d075af6c Name the hold set in the decision's first line 2026-09-28 19:08:07 +02:00
lilleman a1852076fe Start a named draw group from an empty hold, and state the decision's goal and cost exactly 2026-09-28 19:08:07 +02:00
lilleman 1b9cf00a26 Start every render from the zero hold set 2026-09-28 19:08:07 +02:00
lilleman 1d73f1dc90 Start the record test root from the zero hold set 2026-09-28 19:08:07 +02:00
lilleman ce469cb3a3 State the row lookup whole in the key-map decision 2026-09-28 12:06:03 +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 0225f16924 Name the tests' holds, header and row lookup by their one meaning, and drop the dead bound_test.go pointer 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 cb064362d1 Name the tests' held reads held, keeping bound for a numeric bound 2026-09-28 12:06:03 +02:00
lilleman c6a0ef2e98 Read checkColumns' first datatype through columnDatatype 2026-09-28 11:31:00 +02:00
lilleman b2ffac5317 Derive a column's datatype in columnDatatype alone 2026-09-28 11:31:00 +02:00
lilleman 86118e2710 Name the both-declared case in disagreement's comment 2026-09-28 11:13:09 +02:00
lilleman 6afe16ba01 Pick a column disagreement's wording from one swap, one proof and one switch 2026-09-28 11:13:09 +02:00
lilleman 2254b33f0e Keep the binding's prose to what its code cannot say 2026-09-28 10:53:26 +02:00
lilleman 01a60d06f1 Name the inline drawGroup refusal as a binding's reference fence, beside the cycle fence 2026-09-28 10:53:26 +02:00
lilleman 224cf12fdd Link the compile-at-link fragment as every other test does 2026-09-28 10:53:26 +02:00
lilleman cfe653de4d Run New, NewTemplate and FakeStruct through one bind pipeline naming where they differ 2026-09-28 10:53:26 +02:00
lilleman 9ea8f84421 Approve and reword the link-time checks decision 2026-09-28 10:21:25 +02:00
lilleman ecb90f828f Correct the comments and decision around link-time compilation 2026-09-28 03:23:27 +02:00
lilleman 6e0f302d20 Plan naming the file a link error comes from 2026-09-28 03:23:27 +02:00
lilleman aee932dc93 Rewrap the linkRefs comment 2026-09-28 03:23:27 +02:00
lilleman dbddb0845a Name the compiled-flag map and fail on its walk 2026-09-28 03:23:27 +02:00
lilleman 0dee3e01f8 Want a fence error to name its category path 2026-09-28 03:23:27 +02:00
lilleman 306b88ef56 Compile every format at link 2026-09-28 03:23:27 +02:00
lilleman e11ee9ec0e Link every test fragment before asserting on it 2026-09-28 03:23:27 +02:00
lilleman e0969e69e7 Want every format compiled at link, not only one holding a reference 2026-09-28 03:23:27 +02:00
lilleman f6ac63f3ab Place checkOwnFamily beside checkDraws, its caller 2026-09-28 02:43:14 +02:00
lilleman 4a52085e8f Gather the family fence beside drawWalk.check in drawfence.go 2026-09-28 02:43:14 +02:00
lilleman 2d506e79eb Approve the four-loops decision 2026-09-28 02:31:52 +02:00
lilleman e9bb89f044 Correct and trim the comments around the path walks 2026-09-28 00:55:48 +02:00
lilleman 79cacb2823 Record that the probe's drawn map is never nil 2026-09-28 00:55:48 +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 d95045f4ac Want a selector on a repeating template refused as a selector, and the probe held to a descent ending on a linked table 2026-09-28 00:55:48 +02:00
lilleman 1073232ca7 Record why the probe has no entry function 2026-09-28 00:55:48 +02:00
lilleman e66a5f9b4b Name the cover test after its walk 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 917c93564f Want the path walks named after their entry points 2026-09-28 00:55:48 +02:00
lilleman 8c856b6510 Want a column of a drawn row read without the probe allocating 2026-09-28 00:55:48 +02:00
lilleman 8fdd33b3b4 Drop the walk-modes item from the plan 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 9126e0e07d Want walkPath's modes as walkers of their own, each holding only what it uses 2026-09-28 00:55:48 +02:00
lilleman 270aa41dfb Point a read at the pins it drew only where it walked a path 2026-09-28 00:07:43 +02:00
lilleman c0754abfca Want a table format's calc over its own column to render 2026-09-28 00:07:43 +02:00
lilleman 3b77ed6b06 Give a table's current row one owner, the pin set, and return a column's null from its read 2026-09-28 00:07:43 +02:00
lilleman 52292d3669 Number the first postort ids in name order, keep them by the unique name, and rewrap 2026-09-27 23:17:37 +02:00
lilleman 03a48e378c Key only a table a user selects into, state how a postort keeps its id, retire what the name option served, and make the doc sweep a grep 2026-09-27 23:17:37 +02:00
lilleman 7acb2136ec Key every table on one code, never a free-form name, and plan each table's key 2026-09-27 23:17:37 +02:00
lilleman 6603a45dc9 Name every matching row's key on a near miss, and anchor the rewrite list on the phrases it replaces 2026-09-27 17:01:35 +02:00
lilleman 32f8774ddb Plan the removal of the name-spells-a-key check 2026-09-27 17:01:35 +02:00
lilleman 8c4ee8362e Name the near miss by the row whose cell spells it, retire the rules the key-only selector makes false, and ask which key each table keeps 2026-09-27 17:01:35 +02:00
lilleman e435f81296 Rewrap the step-up item 2026-09-27 17:01:35 +02:00
lilleman ae487142ba Drop the false claim that a step back down draws today 2026-09-27 17:01:35 +02:00
lilleman 003ce9deb4 Decide a selector names a row by its key alone, a route through another row is another path, and a step up may not step back down 2026-09-27 17:01:35 +02:00
lilleman 55eacf0319 Leave a path stepping up and back down an open question, and say List stops advertising a path ending on a link column 2026-09-27 16:48:20 +02:00
lilleman 4ec20e6e3a Scope the step up to drawn rows too, name the format rewrite and what Fake, List and records do, and leave the second-spelling question open 2026-09-27 16:48:20 +02:00
lilleman f8e9d9a280 Answer the step-up question at goal level: a path renders what every writer expects, so a link column steps up to its parent and may not end a path 2026-09-27 16:48:20 +02:00
lilleman 543b21d99f Say every step-up option leaves two spellings of one result 2026-09-27 15:08:58 +02:00
lilleman e6a1a7aa8b State the step-up question's options, their version cost and the spelling each leaves 2026-09-27 15:08:58 +02:00
lilleman 430bdbcaae Rewrap the render-draw decision 2026-09-27 15:08:58 +02:00
lilleman 98b25177e7 Name goal 4's check and the rewrite the refusal offers, scope the render-draw decision to unselected paths, and state the step-up clash 2026-09-27 15:08:58 +02:00
lilleman fb7a30e505 Make goal 4 ask for intuitive templates, and decide a selected row is fixed, not drawn 2026-09-27 15:08:58 +02:00
lilleman 538114a926 Rewrap the own-family paragraph 2026-09-26 15:42:42 +02:00
lilleman 9babea96f6 Name the bare read in the own-family error and its README sentence, the word the README defines 2026-09-26 15:42:42 +02:00
lilleman 8312b44a43 Say a whole read draws the family apart, drop the decision the bare-reference one already states, and link the naming test to its decision 2026-09-26 15:42:42 +02:00
lilleman d71edd5ede Say tableRead.landsRow lands on a tableRow 2026-09-26 15:42:42 +02:00
lilleman c1b928a3f5 Give whole one meaning, the bare table read, and name the pinned row pinnedRow, landsRow and compileRowFormat 2026-09-26 15:42:42 +02:00
lilleman 203b235fdd State the copy rule on renderScope once, and say the allocation gate prices what keeps a hold set off the heap 2026-09-26 15:17:05 +02:00
lilleman 55fb1ec42e Render every row of a table root pinned, and drop the comments restating renderDraws and columnDraws 2026-09-26 15:17:05 +02:00
lilleman 9d8a52de68 Trace the row a render stands in, skip a fieldless record, and cover a cell reading through a template 2026-09-26 15:17:05 +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 fc8bb34242 Want every reference a render reads among the reads drawWalk gathers for that render 2026-09-26 15:17:05 +02:00
lilleman e3017801d1 Cover the ancestor clash and name what drawCheck compares by 2026-09-26 14:14:10 +02:00
lilleman f0b92260ed State the rule each draw fence enforces beside it: the cell drop in walk, alternatives, replayPairs and heldCheck 2026-09-26 14:14:10 +02:00
lilleman bee748a932 File the 2026-09-26 nine-seat panel's findings, scored 5.7 2026-09-26 13:49:07 +02:00
lilleman c0cbb71d26 Define what one meaning is in the naming decision 2026-09-25 19:31:09 +02:00
lilleman b38974adb2 Say path where hold and dataSource comments named the old spelling 2026-09-25 19:31:09 +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 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 4b087df57e Move the builtin argument tests to builtins_test.go and checkFunc's cases to format_test.go 2026-09-25 18:34:05 +02:00
lilleman 5e84b26a5f Hold only the {token} grammar's tests in format_test.go, the rest in files named for what they test, and drop the done item 2026-09-25 18:34:05 +02:00
lilleman 44a824ccf5 Decide one name, one meaning, and file the names that break it 2026-09-25 18:15:55 +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 191186ec94 Record why each entry point to drawCheck.reads keeps its own doc 2026-09-25 17:25:10 +02:00
lilleman 29f1908e5a Drop the comments restating readsOnEdge and walksInto 2026-09-25 09:06:29 +02:00
lilleman ab0a10115d Split drawCheck.reads's condition into readsOnEdge and walksInto, and drop the done item 2026-09-25 09:06:29 +02:00
lilleman fbc8fe78c9 Refuse a name registered as a builtin and a transform, build the offered calls once, and drop the done item 2026-09-25 08:59:31 +02:00
lilleman d81cfd5757 Register a transform once, and derive the calls a typed column's error offers from builtin.number 2026-09-25 08:59:31 +02:00
lilleman a048cdd73c Want the calls a typed column's error offers listed in name order 2026-09-25 08:59:31 +02:00
lilleman 57966b59ee Say what makes rows alternatives without history, and drop what the whole-draw rule already implies 2026-09-25 08:39:38 +02:00
lilleman 3500f8e1c3 Hold every whole draw's row a walk is in, so a nested whole draw keeps the outer one's 2026-09-25 08:39:38 +02:00
lilleman b0889faa14 Want a whole draw nested in another kept apart from the outer draw's other rows, and the probe held over skip-level paths 2026-09-25 08:39:38 +02:00
lilleman 4a016c119c Have the probe report the tables a read draws, and hold a row rendered whole in drawAt apart from the pins 2026-09-25 08:39:38 +02:00
lilleman bf0f4e9d1f Want the probe to report the tables a draw pins, and a row rendered whole held apart from the pins 2026-09-25 08:39:38 +02:00
lilleman c63b1c74dd Make walkEvery the zero mode, and have drawPath's panic name the head its tail descends from 2026-09-25 08:19:02 +02:00
lilleman eecfb7ab54 Pass drawPath the head its tail descends from 2026-09-25 08:19:02 +02:00
lilleman 8f904ddd74 Want drawPath's panic to name the path as written 2026-09-25 08:19:02 +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 ed909dcf63 Want pathWalk's modes named, a cover stopping at a choice, and a draw of an unproved path panicking 2026-09-25 08:19:02 +02:00
lilleman cc8acbc57b Record the approval of the link-time fence decision 2026-09-25 07:56:39 +02:00
lilleman bb2bbe9697 Keep the transform's arity inside its operand func, skip calls in compileWhole's column check, and file the two tokens for renaming 2026-09-24 23:36:27 +02:00
lilleman 2a7499e93c Parse and check a format in one call, keeping compileTemplate under the complexity gate 2026-09-24 23:36:27 +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 aa972bbd95 Want a lone reference whose selector holds a parenthesis refused as a template, and drop the parse test's stale order note 2026-09-24 23:36:27 +02:00
lilleman 37f34e556f Want a parsed call to carry its builtin's operands 2026-09-24 23:36:27 +02:00
lilleman 949b2e8db1 Record that a format holding a reference is fenced at link, naming its path 2026-09-24 22:45:36 +02:00
lilleman 2e778f3b31 Name a cell's line in its link-time errors, and say where a format holding a reference compiles 2026-09-24 22:45:36 +02:00
lilleman 1bf684aab2 Want a cell's link-time error to name its line 2026-09-24 22:45:36 +02:00
lilleman 526832fc3f Compile a format holding a reference once, at link 2026-09-24 22:45:36 +02:00
lilleman d10cb9e9f4 Leave an arm's key to template.head's doc, and reflow the arm comment 2026-09-24 19:38:10 +02:00
lilleman 36714250f6 Say an arm's key is what template.head resolves 2026-09-24 19:38:10 +02:00
lilleman 5aae86638b Keep reference bindings out of template.fields, in template.refHeads 2026-09-24 19:38:10 +02:00
lilleman 84b3252bfc Walk a template's fields in the shape test without skipping reference bindings 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 cbe982f52b Price two held paths at what the lowest supported Go allocates 2026-09-24 13:24:58 +02:00
lilleman dc49fecd4b Drop pathDraws' pointer rationale, and file the proved-path rule under the modes item 2026-09-24 13:24:58 +02:00
lilleman a817f21842 Move the render's row draw beside the table's draws, as table.drawIn 2026-09-24 13:24:58 +02:00
lilleman 14dda205f0 Draw the test's rows through table.drawIn 2026-09-24 13:24:58 +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 c77a2e2c93 Gate the allocations of paths read from one held draw 2026-09-24 13:24:58 +02:00
lilleman cc54cd6077 Correct the prose the pin set made false, and delete what the code already says 2026-09-24 10:19:23 +02:00
lilleman a0fc1bc4f1 Order spilled pins by path, and correct todo.md's inline array name 2026-09-24 10:19:23 +02:00
lilleman bbcb259b02 Hold a spilled pin set apart from what enters beside it 2026-09-24 10:19:23 +02:00
lilleman 00e6b7d357 Name the pin set's inline array and entered's flag apart from pins, and file the draw half of the pin model as its own item 2026-09-24 10:19:23 +02:00
lilleman 30a39916b6 Copy the test's pin sets through clone 2026-09-24 10:19:23 +02:00
lilleman 939f408ef8 Give a fence walk's pin set one copy, and file the drawn-row half of the pin model 2026-09-24 10:19:23 +02:00
lilleman 6b788e324a Say a fence walk's pin set holds a whole row alone, and correct todo.md's hold spelling 2026-09-24 10:19:23 +02:00
lilleman 85d9d88d0a Hold the rows rowOf draws to what pinning refuses 2026-09-24 10:19:23 +02:00
lilleman 3927dc9fa5 Give render and the draw fences one pin set 2026-09-24 10:19:23 +02:00
lilleman 968d79399d Hold the fence's entered rows to the render's pin set 2026-09-24 10:19:23 +02:00
lilleman 7a772ea313 Name every fence drawfence.go holds, and correct the doc.go todo item's premise 2026-09-23 23:11:13 +02:00
lilleman 76e5efc73b Name the drawGroup fences and family.go where the prose indexes fences 2026-09-23 23:11:13 +02:00
lilleman def2a5f25d Gather the family fence in family.go 2026-09-23 23:11:13 +02:00
lilleman 021a95c114 File the 2026-09-22 nine-seat panel run 2026-09-22 22:23:35 +02:00
lilleman 7c8d3c2605 Correct the comments and docs the panel found false 2026-09-22 22:23:35 +02:00
lilleman f8d6109b9d Fail a printed Fake value the Go example test cannot replay 2026-09-22 22:12:12 +02:00
lilleman f689afee09 Close the Go example item and queue the next panel run 2026-09-22 22:12:12 +02:00
lilleman 98edb1ba01 Hold the Go examples' printed Fake values to what seed 42 renders 2026-09-22 22:12:12 +02:00
lilleman 89e6b65e84 File the named group's eager hold as a todo item 2026-09-22 22:04:32 +02:00
lilleman 34c069a844 Move expandAnew beside renderOnce in holdset.go 2026-09-22 22:04:32 +02:00
lilleman 58f42dd8ca Draw the grow test's hold set through lazyHoldSet 2026-09-22 22:04:32 +02:00
lilleman d0d9df5220 Name a fresh hold set's two spellings, eager and lazy 2026-09-22 22:04:32 +02:00
lilleman 19274ccb2b Keep the rule, drop its second copy 2026-09-21 22:06:01 +02:00
lilleman 3e5e01643f Say which files the panel's draw.go became 2026-09-21 22:06:01 +02:00
lilleman 41dbbd3fda Say hold where the prose still said draws 2026-09-21 22:06:01 +02:00
lilleman a52adc6b0d Widen the naming fence to the tests, and record what each stem names 2026-09-21 22:06:01 +02:00
lilleman d128621fc1 Name a render's holds apart from the draw fence 2026-09-21 22:06:01 +02:00
lilleman f54bead1ed Fence a function that spells a method 2026-09-21 22:06:01 +02:00
lilleman b6f074a72a Say where a table's row index is really built 2026-09-21 21:21:10 +02:00
lilleman 106ad5d881 Count the fence passes the load path actually makes 2026-09-21 21:21:10 +02:00
lilleman f94546edaa Say what the graph and the load path each hold 2026-09-21 21:21:10 +02:00
lilleman 11ecc1e365 Put the load path and the fence order in one file 2026-09-21 21:21:10 +02:00
lilleman 31d0c4fb45 Wrap the gate comment where its lines wrap 2026-09-21 19:00:26 +02:00
lilleman 48495944fa Leave the fence division to the decision that records it 2026-09-21 19:00:26 +02:00
lilleman 88be57ea46 Stop the Layout claiming the hold runs only at render 2026-09-21 19:00:26 +02:00
lilleman 6700a8ad9f Split hold and draw so a file name says load or render 2026-09-21 19:00:26 +02:00
lilleman e0c82440b3 Hold every source file to a README Layout line 2026-09-21 19:00:26 +02:00
lilleman 98fffe31be Name GitHub as the forge the release lands on, and docs/ in the Layout 2026-09-21 18:06:40 +02:00
lilleman 22723a6df6 Point the round's remaining items at the files the move leaves them in 2026-09-21 18:06:40 +02:00
lilleman 35c4dc5150 Put draws and its methods in one file 2026-09-21 18:06:40 +02:00
lilleman d3f7207e74 Cut the comments that restate the decision they sit under 2026-09-21 17:02:42 +02:00
lilleman ad7a62b67d Bound the alternatives claim to one read, and point the grammar at it 2026-09-21 17:02:42 +02:00
lilleman 1fdf23ecbd State the pinned and whole rule once, and file what the errors leave unsaid 2026-09-21 17:02:42 +02:00
lilleman f7f4960755 Say the fence rule without overloading pin, and file the twice-drawn table 2026-09-21 17:02:42 +02:00
lilleman 4d45e3ebdc Close the row set over ancestors only where the render pins the row 2026-09-21 17:02:42 +02:00
lilleman 42fd728156 Enter the ancestor rows the render pins into the walk's row set 2026-09-21 17:02:42 +02:00
lilleman a1b11e7a5f Prove the walk's row set against the render's pinning 2026-09-21 17:02:42 +02:00
lilleman 8f74968371 Require a fill header to name a function, not just a symbol 2026-09-21 11:43:58 +02:00
lilleman 67ff2b258e Delete the duplicated recompile note and a miscount beside named 2026-09-21 11:43:58 +02:00
lilleman a2074a455e Put the reference write beside fields, and cut the header restatement 2026-09-21 11:43:58 +02:00
lilleman dda470dc9c Hold the template doc to naming a pass, and name the check for what it does 2026-09-21 11:43:58 +02:00
lilleman 311ed40d05 Say which pass fills the cell fields, and when the format recompiles 2026-09-21 11:43:58 +02:00
lilleman 1c753fcac9 Skip a trailing fill header, and catch an embedded field 2026-09-21 11:43:58 +02:00
lilleman 1e80fd54f6 Group the template fields under the pass that fills each 2026-09-21 11:43:58 +02:00
lilleman 84d98011a7 Fail when a template field names no pass that fills it 2026-09-21 11:43:58 +02:00
lilleman 847236314d Record PTS's fiction number series as sv_SE.phone's inert source 2026-09-21 11:01:51 +02:00
lilleman e583e42dfa Cut the vocabulary to what only it says, and fix what it got wrong 2026-09-21 10:41:58 +02:00
lilleman c6b1f3dc77 Scan every Vocabulary comment, and fail when none names a symbol 2026-09-21 10:41:58 +02:00
lilleman 2a6d1df1bf Keep the vocabulary out of the page a consumer lands on 2026-09-21 10:41:58 +02:00
lilleman aed74498e6 Name every render start, and let no backticked spelling go unchecked 2026-09-21 10:41:58 +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 0c322f50a5 Prove the package doc's Vocabulary names symbols the package declares 2026-09-21 10:41:58 +02:00
lilleman d799bbcb0b Pin the lowest Go in compose's example to its patch version 2026-09-21 07:53:11 +02:00
lilleman 24a63f36e7 Move compose's Go with the Dockerfile's, and let Renovate see it 2026-09-21 07:53:11 +02:00
lilleman b3869dd472 Reformat the test files with Go 1.27's gofmt 2026-09-21 07:53:11 +02:00
lilleman 1b5ed27406 Check formatting on the latest Go only, the toolchain that defines it 2026-09-21 07:53:11 +02:00
renovate[bot] ed25368b93 Update golang Docker tag to v1.27.1 2026-09-21 07:53:11 +02:00
renovate[bot] fad78a8ac0 Update actions/checkout action to v7 2026-09-21 07:41:36 +02:00
lilleman 12b4a095d3 Let the test workflow be run by hand 2026-09-21 00:30:16 +02:00
lilleman fab6ab4f2e Move the project to GitHub, where a stranger can file an issue and open a PR 2026-09-21 00:30:16 +02:00
renovate[bot] 80f9ed8e8b Add renovate.json 2026-09-21 00:29:58 +02:00