Commit Graph

379 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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 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 54f68735df Answer prose round 1: true fixture and item 116 claims, plainer DrawIn, takeStep, Link and decision wording, and two comments deleted 2026-10-05 22:10:04 +02:00
lilleman 964f04c7c8 Answer stability round 1 and product-owner round 1: List advertises no path into a level carrying a repeat, a refusal that says to read the level whole, and plainer walk-position docs 2026-10-05 22:10:04 +02:00
lilleman 29a5314f60 Answer architecture round 1: rows.Options checked whole in internal/rows, Owner and ProveStepUp, neutral pin docs, one walk position, tests of internal/rows and Weighted, and a true README list of Fake's failures 2026-10-05 22:10:04 +02:00
lilleman 707cd6b203 Move a table's rows, links and pins into internal/rows, and walk every path through one per-step function, so Fake refuses a level carrying a repeat 2026-10-05 22:10:04 +02:00
lilleman 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 dd2fe61b13 Answer architecture round 1: one invariant phrase in internal/invariant, held across every package, Source built by Dir and FS, coverage counted across packages, and file items 112 and 113 2026-10-05 16:30:28 +02:00
lilleman 818a9b56c2 Move the folder walk and the reading of a data tree's JSON and TSV files into internal/datafiles 2026-10-05 16:30:28 +02:00
lilleman 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 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 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 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 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 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 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 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 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 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 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 b4052f77f9 Accept a name as a calc operand 2026-10-05 01:23:55 +02:00