Commit Graph

49 Commits

Author SHA1 Message Date
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 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 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 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 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 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 e63efe327f Load each spelling that only restated a shorter one, as that shorter form 2026-10-08 12:37:59 +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 9aec575dca Choose disagreement's message from one table over the two items' kinds 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 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 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 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 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 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 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 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 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 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 40f1129c23 Choose disagreement's error directly, ranking itemKind with < 2026-09-29 14:31:23 +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 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 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 16e4f4ebbb Give prove, stepInto and columnItems a case per node kind, panicking on the rest 2026-09-29 09:56:09 +02:00
lilleman be9ab3efcf Panic through internalError on a disagreement key mapped to nil too 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 fd4906846d Name disagreement's item pair itemPair 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 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 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 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 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 5aae86638b Keep reference bindings out of template.fields, in template.refHeads 2026-09-24 19:38:10 +02:00
lilleman 72a6ef9071 Name the typed spelling for a column read whose values hold the datatype beside it, and say holding for a datatype taken from a column read
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
Tests / vet + fmt + tests (push) Successful in 7s
2026-09-15 21:44:36 +02:00
lilleman 72fe01e89b Refuse only a datatype restating the column read, name the text spelling for datatypes taken from column reads keeping an item's other keys, and keep the fence Decision true
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 21:28:52 +02:00
lilleman acad25708a Leave column agreement to the records that read DataType, name the text spelling beside a typed column read, and check a column after the columns it reads
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 21:13:34 +02:00
lilleman b4ebab5abf Keep a read's null with its draw, share the lone-reference check, name a JSON-string item's object form again, prove each column once per pass, and read a record off template.record
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 20:42:13 +02:00
lilleman 2b2010bdd6 Take the datatype and null of the column a lone reference reads, and check a column's datatypes once its references are linked
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 20:20:25 +02:00
lilleman c0b176a839 Struct-filling: FakeStruct fills fake-tagged fields as a record, each field's Go type its datatype, and IsTemplate owns the path-or-template shape rule
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 16:23:10 +02:00
lilleman 3e7127da71 Parse a divisor's rounding half exactly, print zero unsigned, name int64 refusals, and quote CSV fields without a writer
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 15:08:26 +02:00
lilleman 5615ab6d89 Check a typed column's value, not its text: one literal, value call, calc or read, bounded by its arguments
Tests / vet + fmt + tests (pull_request) Successful in 59s
2026-09-15 14:33:04 +02:00
lilleman 94dc562c6c Typed columns and null: a datatype option, null items, and a load check that every typed render parses
Tests / vet + fmt + tests (pull_request) Successful in 58s
2026-09-15 11:23:57 +02:00