e0aa3ac8a4
Add DATA-LICENSES.md, the data-import scripts and their compose service
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-17 07:51:01 +02:00
2fa5f3c5ec
Plan the major data update: structure, geo tree, sources and categories
lilleman2026-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
lilleman2026-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
lilleman2026-09-16 20:09:38 +02:00
ea71b3e479
Pin the categories each shipped category reads
lilleman2026-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
lilleman2026-09-16 19:49:55 +02:00
7bf3da807c
Settle the compatibility contract, the changelog and the tag-published Gitea release
lilleman2026-09-16 19:29:44 +02:00
f9181a08b5
Pin the shipped shape: every path, each category's format, each column's datatype and nullability
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-16 09:55:58 +02:00
9f4331a1f3
Tests: a record column reaching back into a category through another one is refused at load
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-15 23:30:46 +02:00
5ed45cc55c
Rename the folder node type from group to folder, freeing group for the draw option
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-15 21:10:36 +02:00
2a750008bf
Tests: name the struct test for a field tagged with a column as that column
lilleman2026-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
lilleman2026-09-15 20:42:13 +02:00
04a75f7ded
Tests: a JSON-string item reading a string column keeps the advice naming its object form
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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 -
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-15 16:23:00 +02:00
88143153ed
Read a signed zero off the mantissa, and drop the comment on the unused Pow
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-15 15:08:14 +02:00
8ca887aa7d
Name digits among an operand's spellings, and document number by what its text is
lilleman2026-09-15 14:39:25 +02:00
4283af1968
Tests: a composed calc operand is refused naming digits among the spellings
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-15 11:23:57 +02:00
044294dd90
Tests: typed columns, null, and the load check that every render parses as its datatype
lilleman2026-09-15 11:17:21 +02:00
7e789d470f
Name the record entry points after the string ones
lilleman2026-09-14 23:39:07 +02:00
5aec9f19fc
Tests: name the record entry points after the string ones
lilleman2026-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
lilleman2026-09-14 23:30:57 +02:00
3e353dece7
Record the release decisions and the work they set
lilleman2026-09-14 23:17:53 +02:00
943cadfcee
Name the person fields the shipped data carries in the reference example
lilleman2026-09-14 23:17:53 +02:00
0fe7f5bb43
Merge branch 'main' into record-output
lilleman2026-09-14 22:44:46 +02:00
5d981a7304
Drop the deferred section, superseded by todo.md
lilleman2026-09-05 15:30:02 +02:00
b223fcd717
Move deferred and out-of-scope items to todo.md
lilleman2026-09-05 15:29:37 +02:00
b17106afab
Record the release checklist and the later data de-duplication
lilleman2026-09-05 12:12:58 +02:00
f75a9be5b4
Frame json as an array and add ndjson
lilleman2026-09-04 10:48:28 +02:00
80524a73b7
Tests: json is an array document and ndjson is one object per line
lilleman2026-09-04 10:48:28 +02:00
2310cb1e1a
Name every spelling the self-reference fence refuses, and cut the doubled comment
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-04 08:52:08 +02:00
59159d4f5d
Tests: the record fence reads correctly for an inline record too
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-04 08:38:03 +02:00
ee90337834
Fix the Records examples and pin their seeded output
lilleman2026-09-04 07:39:28 +02:00
d237c15d77
Pin bare-reference independence and tighten the shared-draw comments
lilleman2026-09-03 23:29:10 +02:00
93ac610192
Reject field descent in Record and pin the shared-draw scope
lilleman2026-09-03 23:22:43 +02:00
6a8aa96b20
Quote SQL identifiers and share reference draws across record columns
lilleman2026-09-03 23:12:45 +02:00
7383e8d0ca
Test record output and its serializers
lilleman2026-09-03 22:56:56 +02:00
ca40fe0c2c
Add record output to JSON, CSV and SQL
lilleman2026-09-03 22:56:56 +02:00
19aae8bbfe
Name the workflow in the gate-skip note
lilleman2026-09-03 22:40:31 +02:00
2d28220869
Diff the whole push range and de-duplicate the gate-skip note
lilleman2026-09-03 22:36:48 +02:00
cc15bdd1d9
Run the merge gate only for changes its tests read
lilleman2026-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
lilleman2026-09-03 21:53:51 +02:00
0d2a080b85
Add the fast-enough goal and record the allocation-gate decision
lilleman2026-09-03 21:46:22 +02:00
296058fb80
Tests: allocation ceilings for deeply nested and wide renders
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-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
lilleman2026-09-03 20:58:01 +02:00