# Comprehension history ## 2026-10-09T08:59:19Z, PR #190 at 17f732a, against ee4b40b Ruling: better | Seat | Vote | |---|---| | Mid A | better | | Inherited architect | better | Mid A, decided by: - `pick.go:9` `pickKey`: the definition sits on the type, beside `levelKeys`, `addressedKeys`, `keptInPick` and `readUnder`, where four files held them - `render.go:155` `readField`: one named predicate, `keptInPick`, states the whole keep rule - `datatype.go:217` `columnRead`: beside the code that reads it Inherited architect, decided by: - `pick.go:9` `pickKey`: the 3am path for a named pick now ends in one file, with its worked example - `render.go:155` `readField`: `keptInPick` holds its own nil and reference checks - `path.go:72` `compiledPath`: the field no longer reuses the vocabulary word level ## 2026-10-09T09:24:31Z, PR #190 at 65a32db, against ee4b40b Ruling: better | Seat | Vote | |---|---| | Mid A | better | | Inherited architect | better | Mid A, decided by: - `pick.go:9` `pickKey`: the definitions sit on the type, beside the functions that build and read the keys - `datatype.go:217` `columnRead`: beside `itemDatatype` and `checkColumns`, which consume it - `node.go:70` `template.readsColumn`: names the four readers that change together Inherited architect, decided by: - `pick.go:9` `pickKey`: a pick-key bug needs one file, where it needed four and the vocabulary - `render.go:155` `readField`: one named predicate, `keptInPick`, states the keep rule - `path.go:72` `compiledPath`: `headSpans` is the costliest new read in the diff ## 2026-10-09T09:30:15Z, PR #190 at d9f0fc9, against ee4b40b Ruling: better | Seat | Vote | |---|---| | Mid A | better | | Inherited architect | better | Mid A, decided by: - `pick.go:9` `pickKey`: the definitions and the code building and reading the keys share one file - `render.go:155` `readField`: `keptInPick` holds the whole keep rule and its own nil check - `path.go:74` `compiledPath`: `headSpans` and the bare 0 its callers pass cost a second read Inherited architect, decided by: - `pick.go:9` `pickKey`: the 3am mechanism reads in one file, in reading order - `datatype.go:217` `columnRead`: beside its consumers, and `node.go:70` names its four readers - `path.go:119` `compileStep`: six parameters, the one place that reads harder ## 2026-10-09T10:16:38Z, PR #193 at c27e8b7, against d74c0ed Ruling: better | Seat | Vote | |---|---| | Mid A | better | | Inherited architect | better | Mid A, decided by: - `data-import/geo.py:75` `fence`: one named step states the locality row and drops childless parents level by level, where `with_streets` pruned localities alone - `data-import/geo-us.py:174` `main`: the county and region pruning no longer hides inside the `tsv.write` comprehensions - `data-import/geo-se.py:186` `main`: builds its rows before the fence, so it has the US script's shape Inherited architect, decided by: - `data-import/geo.py:75` `fence`: the loader's parent-has-a-child rule is named in the import code and applied in one place at all three levels - `data-import/geo-us.py:174` `main`: one `fence` call before any write replaces filters buried in the writes - `data-import/geo-se.py:186` `main`: both scripts read alike, build rows, fence, write