Commit Graph

327 Commits

Author SHA1 Message Date
lilleman 3cd3f8f317 Spend the struct cap on embedded structs too, word it for any struct field, and route path advice through the name check
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
Tests / vet + fmt + tests (push) Successful in 6s
2026-09-15 17:50:42 +02:00
lilleman c212c6bef4 Tests: the struct cap sits exactly at 1024 and counts embedded structs, and path advice never names a spelling that fails 2026-09-15 17:50:30 +02:00
lilleman 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
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 17:35:15 +02:00
lilleman 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 2026-09-15 17:35:04 +02:00
lilleman bbe6c5b1d9 Fold the range check into columnKind.past, refuse a leading / in IsTemplate, reserve the name -, and document fake:"-" on an embedded struct
Tests / vet + fmt + tests (pull_request) Successful in 1m1s
2026-09-15 17:11:20 +02:00
lilleman 7cb6928995 Tests: fake:"-" leaves an embedded struct unfilled, a leading / is refused naming the path, and a name may not be - 2026-09-15 17:11:10 +02:00
lilleman 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
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-15 16:54:04 +02:00
lilleman 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 2026-09-15 16:53:56 +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 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 2026-09-15 16:23:00 +02:00
lilleman 88143153ed Read a signed zero off the mantissa, and drop the comment on the unused Pow
Tests / vet + fmt + tests (pull_request) Successful in 1m1s
Tests / vet + fmt + tests (push) Successful in 6s
2026-09-15 15:17:38 +02:00
lilleman 08949eb72c Tests: CSV quotes a COPY marker, a leading space and a bare CR, and a sub-float literal is no signed zero 2026-09-15 15:17:33 +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 1ad9418a76 Tests: a printed zero is no divisor and prints unsigned, int64 refusals say so, and CSVLine allocates twice 2026-09-15 15:08:14 +02:00
lilleman 8ca887aa7d Name digits among an operand's spellings, and document number by what its text is
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 14:39:25 +02:00
lilleman 4283af1968 Tests: a composed calc operand is refused naming digits among the spellings 2026-09-15 14:39:20 +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 770dca507a Tests: a typed column holds one value bounded by its arguments, and a lone null CSV column is a blank line 2026-09-15 14:32:54 +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
lilleman 044294dd90 Tests: typed columns, null, and the load check that every render parses as its datatype 2026-09-15 11:17:21 +02:00
lilleman 7e789d470f Name the record entry points after the string ones
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
Tests / vet + fmt + tests (push) Successful in 6s
2026-09-14 23:39:07 +02:00
lilleman 5aec9f19fc Tests: name the record entry points after the string ones 2026-09-14 23:37:25 +02:00
lilleman c6cd816fe7 Settle v0.1.0 as the first tag, CHANGELOG.md, and a WebAssembly generator on the homepage
Tests / vet + fmt + tests (pull_request) Successful in 57s
Tests / vet + fmt + tests (push) Successful in 5s
2026-09-14 23:30:57 +02:00
lilleman 3e353dece7 Record the release decisions and the work they set
Tests / vet + fmt + tests (pull_request) Successful in 55s
2026-09-14 23:17:53 +02:00
lilleman 943cadfcee Name the person fields the shipped data carries in the reference example 2026-09-14 23:17:53 +02:00
lilleman 0fe7f5bb43 Merge branch 'main' into record-output
Tests / vet + fmt + tests (pull_request) Successful in 1m24s
Tests / vet + fmt + tests (push) Successful in 5s
2026-09-14 22:44:46 +02:00
lilleman 5d981a7304 Drop the deferred section, superseded by todo.md
Tests / vet + fmt + tests (pull_request) Successful in 4s
Tests / vet + fmt + tests (push) Successful in 4s
2026-09-05 15:30:02 +02:00
lilleman b223fcd717 Move deferred and out-of-scope items to todo.md
Tests / vet + fmt + tests (pull_request) Successful in 1m38s
2026-09-05 15:29:37 +02:00
lilleman b17106afab Record the release checklist and the later data de-duplication
Tests / vet + fmt + tests (pull_request) Successful in 4s
Tests / vet + fmt + tests (push) Successful in 4s
2026-09-05 12:12:58 +02:00
lilleman f75a9be5b4 Frame json as an array and add ndjson
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-04 10:48:28 +02:00
lilleman 80524a73b7 Tests: json is an array document and ndjson is one object per line 2026-09-04 10:48:28 +02:00
lilleman 2310cb1e1a Name every spelling the self-reference fence refuses, and cut the doubled comment
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-04 09:53:46 +02:00
lilleman 85a4cd4475 Refuse a column pointing back at its record however it is spelled, and qualify the shared-draw claim to path reads
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-04 09:47:55 +02:00
lilleman b99526aeb8 Tests: a record read whole or as an operand still points back at itself, and Record under concurrent use 2026-09-04 09:46:39 +02:00
lilleman 79827a66d6 Fence a record once per node, refuse a column reading its own record, and keep a bare reference independent as an operand
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-04 09:32:29 +02:00
lilleman 78572ccbbc Tests: a self-referencing column, a bare reference as an operand, and every route the overlap fence must reach 2026-09-04 09:27:52 +02:00
lilleman c612c9e734 Refuse overlapping reference reads across a record's columns, keep an empty column a CSV row, and reject an empty --table
Tests / vet + fmt + tests (pull_request) Successful in 1m4s
2026-09-04 09:10:03 +02:00
lilleman be5dfdf977 Tests: overlapping reference columns rejected, every CSV shape round-tripped, an empty column still a row, and an empty --table refused 2026-09-04 09:08:23 +02:00
lilleman 83e11074ac Fix the column set once, drop the unreachable separator override, and name the record predicate apart from the format table
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-04 08:52:08 +02:00
lilleman 59159d4f5d Tests: the record fence reads correctly for an inline record too 2026-09-04 08:51:00 +02:00
lilleman 7ee7f1788b Record the SQL dialect, the newline-in-a-column shape, the fixed column set and the string view's divergence
Tests / vet + fmt + tests (pull_request) Successful in 1m1s
2026-09-04 08:43:12 +02:00
lilleman 8cb8cf6334 Reject a record's top-level repeat, share one record fence between both entry points, and give the renderer one spelling 2026-09-04 08:40:58 +02:00
lilleman 54e6865b11 Tests: columns as the record's public name, and a top-level repeat rejected at both record entry points 2026-09-04 08:38:03 +02:00
lilleman ee90337834 Fix the Records examples and pin their seeded output
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-04 07:39:28 +02:00
lilleman d237c15d77 Pin bare-reference independence and tighten the shared-draw comments
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-03 23:29:10 +02:00
lilleman 93ac610192 Reject field descent in Record and pin the shared-draw scope
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-03 23:22:43 +02:00
lilleman 6a8aa96b20 Quote SQL identifiers and share reference draws across record columns
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-03 23:12:45 +02:00
lilleman 314ba49b9d README redaction
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
Tests / vet + fmt + tests (push) Successful in 7s
2026-09-03 23:05:27 +02:00
lilleman 7383e8d0ca Test record output and its serializers
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-03 22:56:56 +02:00
lilleman ca40fe0c2c Add record output to JSON, CSV and SQL 2026-09-03 22:56:56 +02:00