Commit Graph

95 Commits

Author SHA1 Message Date
lilleman adba2510db Answer prose round 1: the CLI decision says what keeping cli off internal/ buys, the changelog and Library sentences hold one idea each, and item 185 names the three wordings its builder rules on 2026-10-11 21:19:57 +02:00
lilleman 9528ecd8b0 Answer architecture round 1: a custom CLI names itself by its file, --version names its module beside fejkdata's and follows a replace, the module path comes from the library's type, the end-to-end test runs main in a subprocess, the CLI tests find the shipped modules by their manifests, and Your own CLI sits under Library 2026-10-11 21:19:57 +02:00
lilleman 35f1eeffb2 Make the CLI the library call cli.Main, with fejkdata's own main one line over data.Modules() 2026-10-11 21:19:57 +02:00
lilleman 66cd1e0605 Answer prose round 1: the sources name Wikidata, the decision title reads in one pass, and the street rule's threshold says why it is five 2026-10-11 19:13:48 +02:00
lilleman 1f9b201633 Answer product-owner round 2: a street joining names with a bare comma is dropped, and the US places read as a drawn tenth plus the capitals and big places 2026-10-11 19:13:48 +02:00
lilleman d3d9547876 Answer stability round 1: the docs say the US tenth is drawn from every place, a capital matches by a name only one place in its state carries, and the test comment says what it checks 2026-10-11 19:13:48 +02:00
lilleman 2132bde2ba Record the shares, the capitals' source and the measured cost, and close items 199 and 200 2026-10-11 19:13:48 +02:00
lilleman 7f5a0cb63c Answer prose round 1: one name for a place holding most of a postal code's land, the decision leaves the seeding to the code, and the test says what it checks 2026-10-11 16:42:23 +02:00
lilleman 66b5d699fa Answer stability round 1: each US place's draw is seeded by its GEOID, so a changed source moves only the places near the cut; item 78 leaves the plan and the multi-county fetch is filed 2026-10-11 16:42:23 +02:00
lilleman 5db699469b Record the shipped places and streets as a decision, and say so in the README and changelog 2026-10-11 16:42:23 +02:00
lilleman d242466859 Answer architecture round 9: each data package exports Modules, a locale's importing its country's geo package as a bench chose, and a namespace mounts a tree through an fs.FS wrapper, so internal/datafiles walks file-system folders alone 2026-10-11 16:02:48 +02:00
lilleman 203486a9d3 Answer architecture round 8: a shipped package's folder spells its namespace (data/sv_SE, data/geo/SE) under its lowered Go name, as a second bench chose, a mounted root folder reads as its namespace, and item 196 cites goal 9.2 2026-10-11 16:02:48 +02:00
lilleman cc1c3bbc7d Answer architecture round 7: reads and its note move to item 196, a mounted module's errors read sv_SE (address.json), internal/datafiles handles namespace folders in one form, and a folder outside the mount is a broken invariant 2026-10-11 16:02:48 +02:00
lilleman 89cafb1a21 Answer architecture round 6: a manifest's reads names namespaces, loadReached notes only those nothing loaded provides, a mounted module labels its files by its namespace, Source.Load checks its mount, and the README keeps namespace and reads in an edited copy 2026-10-11 16:02:48 +02:00
lilleman 7b70530a8a Answer architecture round 5: the shipped packages are enus, svse, geose, geous and misc, each holding its files at its root under its manifest's namespace, and the errors use the wording a bench of the Audience chose 2026-10-11 16:02:48 +02:00
lilleman 165b67e843 Answer architecture round 4: New keeps every module the loaded manifests read, and the note on a failed load names them all from one function beside noDataNote, so no category carries its source's modules 2026-10-11 16:02:48 +02:00
lilleman 7f7d260f83 Answer prose round 1: errNoData, the reads paragraph and the changelog entry read in one pass, the Library section shows the import block for one locale, and the decisions state why New checks no reads and which goal the embed serves 2026-10-11 16:02:48 +02:00
lilleman e6e7b804e1 Answer product-owner round 1: the Versioning table names the data packages, the README pairs each locale with its geo module, WithDataFS refuses a nil module, errNoData says New was given no data, and three changelog lines the move made false are true again 2026-10-11 16:02:48 +02:00
lilleman b8eba1eb35 Ship en_US, sv_SE, misc, geo/SE and geo/US as Go packages exporting FS, listed by data.Modules(), and fail a bare New naming WithDataFS 2026-10-11 16:02:48 +02:00
lilleman 13e3de39fe Answer product-owner round 1: the parent error and the README name the way to link under another source's table, a missing indexed file names the manifest, the README warns a copied data/ carries its index, and the docs say what a load failure and a replacement do 2026-10-10 11:24:32 +02:00
lilleman 55d503317d Answer architecture round 3: New loads only sources without an index and what they read, an entry drops reads, ErrLoad sits beside New, the manifest decoder moves to manifest.go and names each mistake once as jsonvalue.Kind words it 2026-10-10 11:24:32 +02:00
lilleman 498f81075e Answer architecture round 2: a first reach checks only a table's parent, loadReached splits into a batch that loads, runs and puts back, the manifest decodes strictly and reports every mistake, and ErrLoad marks a load failing in New too 2026-10-10 11:24:32 +02:00
lilleman c783d4af23 Answer architecture round 1: one owner keeps a folder's loaded and unloaded names apart, each loaded category is checked against its index entry, addSource returns what it replaced, the manifest cache goes, ErrLoad exits 1, and the docs say what New and Fake now refuse 2026-10-10 11:24:32 +02:00
lilleman c320344fac Load each category of a source whose manifest carries an index on first reach, and move the shipped index into data/.fejkdata.json 2026-10-10 11:24:32 +02:00
lilleman 221ce82e43 Answer prose round 3: the CHANGELOG list reads on one pass and names --separator, the JSON-string clause says what the escapes do, and the weight refusals are separated 2026-10-08 12:37:59 +02:00
lilleman 5c0ac105b4 Answer prose round 2 in the docs: weights take 0, the node table states the record-column refusal once, the time refusal joins its list, CHANGELOG lists what now loads, decision titles state their whole ruling, and the JSON-string ruling folds into the struct-tag decision 2026-10-08 12:37:59 +02:00
lilleman 357a2a276d Print the CSV header at -n 0, refuse --separator with a record format, refuse a date field in time(), read a bare number template as a format string, and say when no data is loaded 2026-10-08 12:37:59 +02:00
lilleman 8f1cd76bf1 Render blank stdin, read a category's own fields as fresh draws, refuse a bare number or boolean in a record column, and refuse a one-item choice of weight 0 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 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 75184b44cb Answer prose round 3: --format text names the default, the record sentence in --help reads on one pass, and the padded-JSON decision points at the stdin ruling 2026-10-07 21:58:29 +02:00
lilleman 0de54c3b15 Answer architecture round 4, stability round 3, product-owner round 3 and prose round 2: stdin trims JSON's own whitespace around any JSON value, the padded-JSON title names NewTemplate and the CLI, the JSON examples hold no backslash for echo, an argument's example is built only from a template or a valid reference and shell-quoted, the text scope of adding nothing, blank stdin, and the stdin decision in four paragraphs 2026-10-07 21:58:29 +02:00
lilleman e5babf413d Answer architecture round 3, stability round 2, product-owner round 2 and prose round 1: the CLI renders exactly the template on stdin and adds nothing, --separator defaults to empty, whitespace around JSON is dropped, a lone reference under --format allows one newline, a blank stdin is refused, an unexpected argument names the spelling to use, and the prose names one lone reference 2026-10-07 21:58:29 +02:00
lilleman 58a7b16a7f Answer architecture round 2, stability round 1 and product-owner round 1: a format string on stdin keeps every byte while JSON or a lone reference drops one newline, an operand's error names stdin, a file or the pipe, {//x} is refused and "{/x}" read as its record, plain echo and a heredoc in the examples, goal 7 reads one command line, decision titles drop argument, and items 157 to 159 filed 2026-10-07 21:58:29 +02:00
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 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 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 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 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 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 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 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 b4052f77f9 Accept a name as a calc operand 2026-10-05 01:23:55 +02:00
lilleman 1afcbc1a83 Answer stability round 1: bind the locality so population still weighs an address, test the field paths agree, and restate why birth-number sits under sex 2026-10-05 00:50:23 +02:00
lilleman 06c17411d6 Document the named person and address picks, revise the address decision, and close item 3 2026-10-05 00:50:23 +02:00