Commit Graph

  • e0aa3ac8a4 Add DATA-LICENSES.md, the data-import scripts and their compose service lilleman 2026-09-17 12:28:52 +02:00
  • 51b9385aee Adjust the fixtures the table fence refuses, and pair README table examples with their TSV and parent lilleman 2026-09-17 12:28:49 +02:00
  • f6b54c8ae6 Add the table node: rows TSV, key and name selection, linked tables drawn consistently, and the choice-of-rows fence lilleman 2026-09-17 12:28:46 +02:00
  • d4060e041a Test the table node: rows TSV, key and name selection, linked tables drawn consistently, and the choice-of-rows fence lilleman 2026-09-17 11:47:39 +02:00
  • 06a93bb96d Specify every category with its source, licence and shape, the builtins the data cannot express, and the order of work lilleman 2026-09-17 08:25:11 +02:00
  • e50d3f7ffc Record the geo decisions: open sources first, postort locality, selection by key or name, SE and US for v0.1.0 lilleman 2026-09-17 07:51:01 +02:00
  • 2fa5f3c5ec Plan the major data update: structure, geo tree, sources and categories lilleman 2026-09-16 23:34:23 +02:00
  • 16f2e96fe8 Refuse a release whose tag sits elsewhere, pin a typed nullable column and a relative reference in the reads test, and narrow the pin's claim to template formats lilleman 2026-09-16 20:17:50 +02:00
  • 1cf8ed502a Cut the release from the changelog heading on a green main instead of a hand-pushed tag lilleman 2026-09-16 20:09:38 +02:00
  • ea71b3e479 Pin the categories each shipped category reads lilleman 2026-09-16 20:09:38 +02:00
  • 265bd05dfc Define a patch, disambiguate the Versioning table, name the changelog check, and keep the gate claims true lilleman 2026-09-16 19:49:55 +02:00
  • 7bf3da807c Settle the compatibility contract, the changelog and the tag-published Gitea release lilleman 2026-09-16 19:29:44 +02:00
  • f9181a08b5 Pin the shipped shape: every path, each category's format, each column's datatype and nullability lilleman 2026-09-16 19:23:27 +02:00
  • b45a1edae0 Cut the comments that restate the README or narrate the arrangement, and name the record fence asymmetry in Decisions lilleman 2026-09-16 10:43:25 +02:00
  • 0f645d7092 Delete the fresh-draw fence the self-reference rule made unreachable, and pay for the draw walks only where data binds a reference lilleman 2026-09-16 10:29:23 +02:00
  • 0443ecdf13 Tests: gate the allocations a reference path costs across a repeat and in a named draw group lilleman 2026-09-16 10:29:00 +02:00
  • c60ebb3faa Merge the two reference-path walks, and correct the bare reference Decision, a stale comment and the draw map spellings lilleman 2026-09-16 09:55:58 +02:00
  • 9f4331a1f3 Tests: a record column reaching back into a category through another one is refused at load lilleman 2026-09-16 09:55:36 +02:00
  • a995aba4e9 Refuse a reference into the category it sits in, and run a record's column fences at load lilleman 2026-09-16 09:42:36 +02:00
  • 3e535bcc43 Tests: a reference into the category it sits in is refused at load, and a record's column fences run there too lilleman 2026-09-16 09:42:18 +02:00
  • 68d2461704 Name the draw option drawGroup, refuse one whose reads all sit behind a nested draw group, and record why the two fences stay apart lilleman 2026-09-16 08:55:55 +02:00
  • 53a87da9b7 Tests: name the draw option drawGroup, and refuse a draw group whose reads all sit behind a nested one lilleman 2026-09-16 08:55:39 +02:00
  • d3f430bf53 Render a repeat iteration in no group, refuse a group that names nothing, key group names by category, and own reference overlap in one fence lilleman 2026-09-15 23:31:48 +02:00
  • f6b8f4fb50 Tests: a repeat iteration renders in no group, a group that names nothing is refused, a group name is local to its category, and one overlap verdict wherever the reads sit lilleman 2026-09-15 23:30:46 +02:00
  • 5ed45cc55c Rename the folder node type from group to folder, freeing group for the draw option lilleman 2026-09-15 23:25:39 +02:00
  • 246f99a319 One reference draw per render in both views: a repeat iteration draws anew, a group option draws apart, and one fence refuses what a render's draws cannot answer for lilleman 2026-09-15 22:55:42 +02:00
  • 4b31482a53 Tests: a reference path is one draw per render in both views, a repeat iteration draws anew, a group draws apart, and a bare reference beside a path is refused lilleman 2026-09-15 22:45:13 +02:00
  • 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 lilleman 2026-09-15 21:44:36 +02:00
  • 1e60d52e48 Tests: a typed column read whose values hold the datatype declared beside it names the typed spelling lilleman 2026-09-15 21:43:09 +02:00
  • 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 lilleman 2026-09-15 21:28:52 +02:00
  • c991f35f4f Tests: another datatype over a column read types it where the values prove it, and datatypes taken from column reads name the text spelling, keeping an item's weight lilleman 2026-09-15 21:27:19 +02:00
  • 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 lilleman 2026-09-15 21:13:34 +02:00
  • f781fa47d1 Tests: an item beside a typed column read that can hold its datatype keeps the object-form advice lilleman 2026-09-15 21:12:21 +02:00
  • bc4280561e Tests: a struct column need not agree on a datatype, text beside a typed column read names its text spelling, a column read is reported before its reader, and column reads through a dot, a choice and an always-null column lilleman 2026-09-15 21:10:36 +02:00
  • 2a750008bf Tests: name the struct test for a field tagged with a column as that column lilleman 2026-09-15 20:48:12 +02:00
  • 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 lilleman 2026-09-15 20:42:13 +02:00
  • 04a75f7ded Tests: a JSON-string item reading a string column keeps the advice naming its object form lilleman 2026-09-15 20:38:35 +02:00
  • 2b2010bdd6 Take the datatype and null of the column a lone reference reads, and check a column's datatypes once its references are linked lilleman 2026-09-15 20:20:25 +02:00
  • 802f62a4de Tests: a column of one reference alone takes the datatype and null of the column it reads, in records and structs, and a datatype restating it is refused lilleman 2026-09-15 20:17:07 +02:00
  • 3cd3f8f317 Spend the struct cap on embedded structs too, word it for any struct field, and route path advice through the name check lilleman 2026-09-15 17:50:42 +02:00
  • c212c6bef4 Tests: the struct cap sits exactly at 1024 and counts embedded structs, and path advice never names a spelling that fails lilleman 2026-09-15 17:50:30 +02:00
  • e4ebfdb28d Cap a struct type's records at 1024, find a lone reference in the value a template holds, word range refusals as unproven, and scope the lone-reference Decision to arguments and tags lilleman 2026-09-15 17:35:15 +02:00
  • ef00000436 Tests: a type's records are capped at 1024, a lone reference is found through padding and a format-only object, null clears a preset pointer, and errors repeat per call lilleman 2026-09-15 17:35:04 +02:00
  • bbe6c5b1d9 Fold the range check into columnKind.past, refuse a leading / in IsTemplate, reserve the name -, and document fake:"-" on an embedded struct lilleman 2026-09-15 17:11:20 +02:00
  • 7cb6928995 Tests: fake:"-" leaves an embedded struct unfilled, a leading / is refused naming the path, and a name may not be - lilleman 2026-09-15 17:11:10 +02:00
  • e6bd4c5972 Fill embedded fields into their struct's record, add fake:"-", round integer ranges inward naming a wider kind, and refuse a lone reference in IsTemplate lilleman 2026-09-15 16:54:04 +02:00
  • a548abcc02 Tests: embedded fields join their struct's record, fake:"-" leaves a struct unfilled, integer ranges round inward, and a lone reference is refused as a path lilleman 2026-09-15 16:53:56 +02:00
  • 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 lilleman 2026-09-15 16:23:10 +02:00
  • d4ff3b242e Tests: FakeStruct fills tagged fields as one record, draws a nested struct apart, refuses a tag its field cannot hold, and compiles a type once lilleman 2026-09-15 16:23:00 +02:00
  • 88143153ed Read a signed zero off the mantissa, and drop the comment on the unused Pow lilleman 2026-09-15 15:17:38 +02:00
  • 08949eb72c Tests: CSV quotes a COPY marker, a leading space and a bare CR, and a sub-float literal is no signed zero lilleman 2026-09-15 15:17:33 +02:00
  • 3e7127da71 Parse a divisor's rounding half exactly, print zero unsigned, name int64 refusals, and quote CSV fields without a writer lilleman 2026-09-15 15:08:26 +02:00
  • 1ad9418a76 Tests: a printed zero is no divisor and prints unsigned, int64 refusals say so, and CSVLine allocates twice lilleman 2026-09-15 15:08:14 +02:00
  • 8ca887aa7d Name digits among an operand's spellings, and document number by what its text is lilleman 2026-09-15 14:39:25 +02:00
  • 4283af1968 Tests: a composed calc operand is refused naming digits among the spellings lilleman 2026-09-15 14:39:20 +02:00
  • 5615ab6d89 Check a typed column's value, not its text: one literal, value call, calc or read, bounded by its arguments lilleman 2026-09-15 14:33:04 +02:00
  • 770dca507a Tests: a typed column holds one value bounded by its arguments, and a lone null CSV column is a blank line lilleman 2026-09-15 14:31:27 +02:00
  • 94dc562c6c Typed columns and null: a datatype option, null items, and a load check that every typed render parses lilleman 2026-09-15 11:23:57 +02:00
  • 044294dd90 Tests: typed columns, null, and the load check that every render parses as its datatype lilleman 2026-09-15 11:17:21 +02:00
  • 7e789d470f Name the record entry points after the string ones lilleman 2026-09-14 23:39:07 +02:00
  • 5aec9f19fc Tests: name the record entry points after the string ones lilleman 2026-09-14 23:37:25 +02:00
  • c6cd816fe7 Settle v0.1.0 as the first tag, CHANGELOG.md, and a WebAssembly generator on the homepage lilleman 2026-09-14 23:30:57 +02:00
  • 3e353dece7 Record the release decisions and the work they set lilleman 2026-09-14 23:17:53 +02:00
  • 943cadfcee Name the person fields the shipped data carries in the reference example lilleman 2026-09-14 23:17:53 +02:00
  • 0fe7f5bb43 Merge branch 'main' into record-output lilleman 2026-09-14 22:44:46 +02:00
  • 5d981a7304 Drop the deferred section, superseded by todo.md lilleman 2026-09-05 15:30:02 +02:00
  • b223fcd717 Move deferred and out-of-scope items to todo.md lilleman 2026-09-05 15:29:37 +02:00
  • b17106afab Record the release checklist and the later data de-duplication lilleman 2026-09-05 12:12:58 +02:00
  • f75a9be5b4 Frame json as an array and add ndjson lilleman 2026-09-04 10:48:28 +02:00
  • 80524a73b7 Tests: json is an array document and ndjson is one object per line lilleman 2026-09-04 10:48:28 +02:00
  • 2310cb1e1a Name every spelling the self-reference fence refuses, and cut the doubled comment lilleman 2026-09-04 09:53:46 +02:00
  • 85a4cd4475 Refuse a column pointing back at its record however it is spelled, and qualify the shared-draw claim to path reads lilleman 2026-09-04 09:47:55 +02:00
  • b99526aeb8 Tests: a record read whole or as an operand still points back at itself, and Record under concurrent use lilleman 2026-09-04 09:46:39 +02:00
  • 79827a66d6 Fence a record once per node, refuse a column reading its own record, and keep a bare reference independent as an operand lilleman 2026-09-04 09:32:29 +02:00
  • 78572ccbbc Tests: a self-referencing column, a bare reference as an operand, and every route the overlap fence must reach lilleman 2026-09-04 09:27:52 +02:00
  • c612c9e734 Refuse overlapping reference reads across a record's columns, keep an empty column a CSV row, and reject an empty --table lilleman 2026-09-04 09:10:03 +02:00
  • be5dfdf977 Tests: overlapping reference columns rejected, every CSV shape round-tripped, an empty column still a row, and an empty --table refused lilleman 2026-09-04 09:08:23 +02:00
  • 83e11074ac Fix the column set once, drop the unreachable separator override, and name the record predicate apart from the format table lilleman 2026-09-04 08:52:08 +02:00
  • 59159d4f5d Tests: the record fence reads correctly for an inline record too lilleman 2026-09-04 08:51:00 +02:00
  • 7ee7f1788b Record the SQL dialect, the newline-in-a-column shape, the fixed column set and the string view's divergence lilleman 2026-09-04 08:43:12 +02:00
  • 8cb8cf6334 Reject a record's top-level repeat, share one record fence between both entry points, and give the renderer one spelling lilleman 2026-09-04 08:40:58 +02:00
  • 54e6865b11 Tests: columns as the record's public name, and a top-level repeat rejected at both record entry points lilleman 2026-09-04 08:38:03 +02:00
  • ee90337834 Fix the Records examples and pin their seeded output lilleman 2026-09-04 07:39:28 +02:00
  • d237c15d77 Pin bare-reference independence and tighten the shared-draw comments lilleman 2026-09-03 23:29:10 +02:00
  • 93ac610192 Reject field descent in Record and pin the shared-draw scope lilleman 2026-09-03 23:22:43 +02:00
  • 6a8aa96b20 Quote SQL identifiers and share reference draws across record columns lilleman 2026-09-03 23:12:45 +02:00
  • 314ba49b9d README redaction lilleman 2026-09-03 23:05:27 +02:00
  • 7383e8d0ca Test record output and its serializers lilleman 2026-09-03 22:56:56 +02:00
  • ca40fe0c2c Add record output to JSON, CSV and SQL lilleman 2026-09-03 22:56:56 +02:00
  • 19aae8bbfe Name the workflow in the gate-skip note lilleman 2026-09-03 22:40:31 +02:00
  • 2d28220869 Diff the whole push range and de-duplicate the gate-skip note lilleman 2026-09-03 22:36:48 +02:00
  • cc15bdd1d9 Run the merge gate only for changes its tests read lilleman 2026-09-03 22:30:02 +02:00
  • 466ed5a4d9 Minor README update lilleman 2026-09-03 22:09:42 +02:00
  • ce22c83e7d Cut the review-found narration: two helper invariants, one line each lilleman 2026-09-03 21:53:51 +02:00
  • 0d2a080b85 Add the fast-enough goal and record the allocation-gate decision lilleman 2026-09-03 21:46:22 +02:00
  • 296058fb80 Tests: allocation ceilings for deeply nested and wide renders lilleman 2026-09-03 21:46:22 +02:00
  • 44601c90ab Offer the reference hint only where it would render the same value, and name the guard set in the help lilleman 2026-09-03 21:12:04 +02:00
  • 8ed8d9bb51 Tests: no hint where a reference would mean something else, and every reference the help advertises resolves lilleman 2026-09-03 21:11:11 +02:00
  • 1cd422352b Cut the comments the README already records, and record the cycle-fence and exit-code rules there lilleman 2026-09-03 21:00:42 +02:00
  • 0cdbdb7bf4 Fix the help example, read padding past the shape gate, catch a stray closing brace, and stop the fieldless hint naming a spelling that fails lilleman 2026-09-03 20:58:01 +02:00