From 596f09f98e431e1bd8fb5e8e15024ff6a28b5529 Mon Sep 17 00:00:00 2001 From: m4bwav Date: Mon, 28 Sep 2026 12:14:00 -0500 Subject: [PATCH 1/2] Log the wiki pages and the blocked push; handoff for the first-page click --- ai-docs/HANDOFF.md | 8 ++-- ai-docs/INDEX.md | 1 + ai-docs/log.md | 7 ++++ ai-docs/notes/2026-09-28-github-wiki.md | 49 +++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 ai-docs/notes/2026-09-28-github-wiki.md diff --git a/ai-docs/HANDOFF.md b/ai-docs/HANDOFF.md index 0debf86..b6a6d73 100644 --- a/ai-docs/HANDOFF.md +++ b/ai-docs/HANDOFF.md @@ -4,7 +4,9 @@ Retrofit of 2.2.0 to the package-modernize standard, branch `v2-retrofit` (2026-09-28). Phase 0 golden capture 84dbc6b (tests/Golden, never edit). Ruled: every recommendation, plus the place list fixed in place as 2.3.0. Phase 2 done and verified locally and from a fresh clone (202 tests, pack, consumers, actionlint, zizmor). GitHub settings applied (rulesets 24095614 master and 24095615 tags). Plan: plans/2026-09-28-retrofit-and-2.3.0-release.md. ## In progress -2.3.0 is released and verified (release run 36419884168, verify-published 36421937100 on three OSes, attestation, README images). Only open item: PR #15 (branch baseline-2.3.0, PackageValidationBaselineVersion 2.3.0) waits for Mark's merge. Records done: package-modernization #10 merged (inventory row 4 done), package-modernize #10 merged (L-105, L-106, C-20260928-4). +2.3.0 is released and verified (release run 36419884168, verify-published 36421937100 on three OSes, attestation, README images); PR #15 (baseline 2.3.0) merged as 65a3af8. Records done: package-modernization #10 merged (inventory row 4 done), package-modernize #10 merged (L-105, L-106, C-20260928-4). + +GitHub wiki (2026-09-28): eleven pages written and committed (0bf2dd6) in the sibling working copy `D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki`, remote `DotNetRandomNameGenerator.wiki.git`. The push fails with `Repository not found` because the wiki has never had a page; GitHub creates the wiki repository only from the web UI. See notes/2026-09-28-github-wiki.md. ## Decisions made this session decisions/2026-09-28-retrofit-without-code-changes.md (accepted; the place-list part overruled: fixed now as 2.3.0). @@ -13,10 +15,10 @@ decisions/2026-09-28-retrofit-without-code-changes.md (accepted; the place-list The net48 golden replay as win-x86 differs from the 64-bit capture in one OutOfMemoryException message; it runs as win-x64. Adopting eol=lf in an autocrlf clone leaves CRLF working files until `git rm -r --cached . && git reset --hard` after a commit. ## Standing work -Dependabot pull requests (seven-day cooldown); Mark's nuget.org deprecations of 1.1.0 (Critical bugs) and 1.0.5.1, 1.1.1, 1.2.0, 1.2.1 (Legacy, alternate 2.x); the next major (3.0) removes CensusListStripper and FileCompressor. +Dependabot pull requests (seven-day cooldown); Mark's nuget.org deprecations of 1.1.0 (Critical bugs) and 1.0.5.1, 1.1.1, 1.2.0, 1.2.1 (Legacy, alternate 2.x); the next major (3.0) removes CensusListStripper and FileCompressor. README: the thread-safety sentence says a default generator is safe to share on .NET Framework, but there it holds a plain per-instance `Random`; reword at the next README change (the wiki already states one generator per thread). ## Evergreen upkeep (from the SessionStart hooks) evergreen: no claims due; dandy: one undated claim, re-check only before relying on it; acestep-music refresh half done (research saved, edits and PR pending, see that repo's HANDOFF on branch refresh-2026-09-27). ## Next single action -Mark merges PR #15; check `ci` green on master after it. Nothing else is owed by the agent for this package. +Mark opens https://github.com/m4bwav/DotNetRandomNameGenerator/wiki, clicks "Create the first page" and saves it. Then, from `D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki`, run `git push --force -u origin master` and check the wiki shows the sidebar and Home. diff --git a/ai-docs/INDEX.md b/ai-docs/INDEX.md index 25ef6a4..b399cc7 100644 --- a/ai-docs/INDEX.md +++ b/ai-docs/INDEX.md @@ -10,6 +10,7 @@ Generated by `everlast.py index`; do not hand-edit (edit the entries' frontmatte - 2026-09-25 [2.1.0 pass: stages 1 to 6](notes/2026-09-25-stages-1-to-6.md) `v2,2.1.0,log,ci,data`: what the 2.1.0 pass changed, the verified commands, dead ends (NU1004 lock-file mismatch, MSB4024) and how the place data was fixed by hand; read before changing the build or the data - 2026-09-27 [2.2.0: star names](notes/2026-09-27-star-names-2.2.0.md) `v2,2.2.0,stars,data,iau`: why the star lists hold what they hold (sources, licences, size), the build script and the 2.2.0 release; read before changing the star data +- 2026-09-28 [GitHub wiki written for 2.3.0 (push waits for the first page)](notes/2026-09-28-github-wiki.md) `wiki,docs,2.3.0,github`: the eleven wiki pages, where their git working copy is, why the push failed (GitHub creates the wiki repository only from the web UI) and how to push once it exists; read before touching the wiki or the README's thread-safety sentence - 2026-09-28 [Phase 0 gap audit of RandomNameGeneratorLibrary 2.2.0 (package-modernize retrofit)](notes/2026-09-28-phase-0-gap-audit.md) `survey,phase-0,retrofit,nuget,golden,gap-audit,place-data`: what 2.2.0 lacks against the package-modernize standard, what the golden capture recorded, the place-list truncation bug, and how seeded output moved from 1.2.2 to 2.2.0; read before planning a change or a release ## plans diff --git a/ai-docs/log.md b/ai-docs/log.md index 5450eca..0422b49 100644 --- a/ai-docs/log.md +++ b/ai-docs/log.md @@ -75,3 +75,10 @@ Append-only. One line per operation: `## [YYYY-MM-DD] op | title` where op is on - nuget.org flat-container index lists 2.3.0. verify-published run 36421937100 for 2.3.0: green on Ubuntu, Windows and macOS. - check-readme-images.mjs on the README inside the 2.3.0 nupkg with `--registry nuget`: 3 images, every one works, exit 0. (Without the flag it checks for npm; pass `--registry nuget` for NuGet.) - Branch baseline-2.3.0: PackageValidationBaselineVersion 2.2.0 to 2.3.0 (D5, after publication). + +## [2026-09-28] add | GitHub wiki written, push blocked on the first page +- Mark merged PR #15 (65a3af8); master holds the 2.3.0 baseline. +- Mark asked for the repository wiki to be filled. Eleven pages written (Home, Getting started, API reference, Recipes, Reproducible names, Name lists and data sources, Versions and upgrading, FAQ, Development, sidebar, footer); every example output verified against the published 2.3.0 (file-based app, `dotnet fsi`, PowerShell `Add-Type`). Committed as 0bf2dd6 in the sibling working copy `D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki`. +- `git push` to `DotNetRandomNameGenerator.wiki.git`: `Repository not found`. GitHub creates the wiki repository only when the first page is saved in the web UI; no API exists. Mark's click, then `git push --force -u origin master` from the working copy. Details: notes/2026-09-28-github-wiki.md. +- Found while writing: the README's thread-safety sentence overstates the .NET Framework case (a default generator there holds a plain per-instance `Random`). Not changed; recorded in the note and in HANDOFF standing work. +## [2026-09-28] index | rebuilt (7 entries) diff --git a/ai-docs/notes/2026-09-28-github-wiki.md b/ai-docs/notes/2026-09-28-github-wiki.md new file mode 100644 index 0000000..1a1991a --- /dev/null +++ b/ai-docs/notes/2026-09-28-github-wiki.md @@ -0,0 +1,49 @@ +--- +title: GitHub wiki written for 2.3.0 (push waits for the first page) +kind: note +date: 2026-09-28 +verified: 2026-09-28 +stale_after: 2027-03-28 +tags: [wiki, docs, 2.3.0, github] +summary: "the eleven wiki pages, where their git working copy is, why the push failed (GitHub creates the wiki repository only from the web UI) and how to push once it exists; read before touching the wiki or the README's thread-safety sentence" +--- + +# GitHub wiki for 2.3.0 + +## Summary + +Mark asked for the repository wiki (https://github.com/m4bwav/DotNetRandomNameGenerator/wiki) to be filled with helpful material. Eleven pages were written from the 2.3.0 source, README, CHANGELOG, AGENTS.md, the ai-docs notes and the two closed issues, with every example output verified against the published 2.3.0 package (a .NET 10 file-based app with `#:package RandomNameGeneratorLibrary@2.3.0`, `dotnet fsi`, and PowerShell 7 `Add-Type`). The pages are committed in a git working copy but not yet on GitHub. + +## Where the pages are + +`D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki` (a sibling of this clone, outside this repository), branch `master`, remote `origin` = `https://github.com/m4bwav/DotNetRandomNameGenerator.wiki.git`, commit 0bf2dd6. Files: `Home.md`, `Getting-Started.md`, `API-Reference.md`, `Recipes.md`, `Reproducible-Names.md`, `Name-Lists-and-Data-Sources.md`, `Versions-and-Upgrading.md`, `FAQ.md`, `Development.md`, `_Sidebar.md`, `_Footer.md`. Plain markdown links (`[Recipes](Recipes)`), no wikilinks. Everwrite checker: 0 strong, 4 weak (all judged fine). + +## Why the push failed + +`git push` answered `Repository not found`. The repository has `has_wiki: true` but no page has ever been created, and GitHub creates the `.wiki.git` repository only when the first page is saved in the web UI. There is no REST or GraphQL API for wiki pages, so an agent cannot do that step. + +## How to publish (Mark, then any session) + +1. Mark opens https://github.com/m4bwav/DotNetRandomNameGenerator/wiki, clicks "Create the first page" and saves it with any content. +2. From the working copy: `git push --force -u origin master`. The force replaces GitHub's placeholder Home page with the eleven pages; nothing else is on the remote. +3. Check https://github.com/m4bwav/DotNetRandomNameGenerator/wiki shows the sidebar and the Home page. + +## Facts verified while writing (not in the README) + +- `new PersonNameGenerator(42)`: `Alisa Streets`; male `Morton`, female `Marguerita`, last `Vis`. `new PlaceNameGenerator(42)`: `Boardman`. `new StarNameGenerator(42)`: star `Delta² Gruis`, proper `Parumleo`, catalogue `HIP 4210`. `new Random(42)` chained: female `Marguerita`, place `Sedco Hills`, star `Ran`. +- Two place names contain a comma (`Islamorada, Village of Islands`, `Lynchburg, Moore County`); 33 place names and 1 proper star name contain an apostrophe; no name contains a double quote. Person names are letters only. +- 331 first names are on both the male and the female list; 6,394 place names contain a space; 52 place names carry non-ASCII characters; 1,394 last names start with `Mc`. +- The lists are in Census frequency order (Smith, Johnson, Williams; James, John, Robert; Mary, Patricia, Linda). +- Package 2.3.0: nupkg 942,766 bytes; netstandard2.0 DLL 995,840 bytes; the seven resources total 977,150 bytes (last names 695,422). +- The unit tests have no test that shares one generator between threads; the golden capture's "8 threads" case is the only multi-thread evidence. + +## Open item found: README thread-safety sentence + +The README says a default-constructed generator "is safe to share between threads (it uses `Random.Shared` on .NET 6+ and a well-seeded `Random` per generator on .NET Framework)". On the netstandard2.0 build `BaseNameGenerator` creates a plain `new Random(SeedSource.Next())` per generator, and `System.Random` is not thread-safe, so the .NET Framework half of that sentence overstates it. The wiki states the safe pattern (one generator per thread on .NET Framework). Fix the README sentence in the next README change; the README ships in the package, so it reaches nuget.org with the next release. + +## Gotchas + +- GitHub wiki repositories use branch `master`; `git init -b master` matched it. +- `curl` of the nuget.org `registration5-gz-semver2` index needs `--compressed`; without it the body is gzip bytes. + +Related: builds on [2026-09-28-phase-0-gap-audit.md](2026-09-28-phase-0-gap-audit.md); see also [../HANDOFF.md](../HANDOFF.md), [../../README.md](../../README.md). From d3c4b60b6b74056c9be1b1ad770e2571fe06e4da Mon Sep 17 00:00:00 2001 From: m4bwav Date: Mon, 28 Sep 2026 12:21:59 -0500 Subject: [PATCH 2/2] Log the published wiki; handoff to the records pull request --- ai-docs/HANDOFF.md | 4 ++-- ai-docs/INDEX.md | 2 +- ai-docs/log.md | 5 +++++ ai-docs/notes/2026-09-28-github-wiki.md | 20 +++++++++----------- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/ai-docs/HANDOFF.md b/ai-docs/HANDOFF.md index b6a6d73..bc6d3e8 100644 --- a/ai-docs/HANDOFF.md +++ b/ai-docs/HANDOFF.md @@ -6,7 +6,7 @@ Retrofit of 2.2.0 to the package-modernize standard, branch `v2-retrofit` (2026- ## In progress 2.3.0 is released and verified (release run 36419884168, verify-published 36421937100 on three OSes, attestation, README images); PR #15 (baseline 2.3.0) merged as 65a3af8. Records done: package-modernization #10 merged (inventory row 4 done), package-modernize #10 merged (L-105, L-106, C-20260928-4). -GitHub wiki (2026-09-28): eleven pages written and committed (0bf2dd6) in the sibling working copy `D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki`, remote `DotNetRandomNameGenerator.wiki.git`. The push fails with `Repository not found` because the wiki has never had a page; GitHub creates the wiki repository only from the web UI. See notes/2026-09-28-github-wiki.md. +GitHub wiki (2026-09-28): eleven pages published (wiki commit 0bf2dd6) from the sibling working copy `D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki`, remote `DotNetRandomNameGenerator.wiki.git`. How to update it: notes/2026-09-28-github-wiki.md. ## Decisions made this session decisions/2026-09-28-retrofit-without-code-changes.md (accepted; the place-list part overruled: fixed now as 2.3.0). @@ -21,4 +21,4 @@ Dependabot pull requests (seven-day cooldown); Mark's nuget.org deprecations of evergreen: no claims due; dandy: one undated claim, re-check only before relying on it; acestep-music refresh half done (research saved, edits and PR pending, see that repo's HANDOFF on branch refresh-2026-09-27). ## Next single action -Mark opens https://github.com/m4bwav/DotNetRandomNameGenerator/wiki, clicks "Create the first page" and saves it. Then, from `D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki`, run `git push --force -u origin master` and check the wiki shows the sidebar and Home. +Mark merges PR #16 (records only). Nothing else is owed by the agent for this package; the README thread-safety sentence waits for the next README change. diff --git a/ai-docs/INDEX.md b/ai-docs/INDEX.md index b399cc7..e1e7ca7 100644 --- a/ai-docs/INDEX.md +++ b/ai-docs/INDEX.md @@ -10,7 +10,7 @@ Generated by `everlast.py index`; do not hand-edit (edit the entries' frontmatte - 2026-09-25 [2.1.0 pass: stages 1 to 6](notes/2026-09-25-stages-1-to-6.md) `v2,2.1.0,log,ci,data`: what the 2.1.0 pass changed, the verified commands, dead ends (NU1004 lock-file mismatch, MSB4024) and how the place data was fixed by hand; read before changing the build or the data - 2026-09-27 [2.2.0: star names](notes/2026-09-27-star-names-2.2.0.md) `v2,2.2.0,stars,data,iau`: why the star lists hold what they hold (sources, licences, size), the build script and the 2.2.0 release; read before changing the star data -- 2026-09-28 [GitHub wiki written for 2.3.0 (push waits for the first page)](notes/2026-09-28-github-wiki.md) `wiki,docs,2.3.0,github`: the eleven wiki pages, where their git working copy is, why the push failed (GitHub creates the wiki repository only from the web UI) and how to push once it exists; read before touching the wiki or the README's thread-safety sentence +- 2026-09-28 [GitHub wiki written and published for 2.3.0](notes/2026-09-28-github-wiki.md) `wiki,docs,2.3.0,github`: the eleven wiki pages, where their git working copy is, how the wiki was published (the first page must be saved in the web UI before the wiki repository exists) and how to update it; read before touching the wiki or the README's thread-safety sentence - 2026-09-28 [Phase 0 gap audit of RandomNameGeneratorLibrary 2.2.0 (package-modernize retrofit)](notes/2026-09-28-phase-0-gap-audit.md) `survey,phase-0,retrofit,nuget,golden,gap-audit,place-data`: what 2.2.0 lacks against the package-modernize standard, what the golden capture recorded, the place-list truncation bug, and how seeded output moved from 1.2.2 to 2.2.0; read before planning a change or a release ## plans diff --git a/ai-docs/log.md b/ai-docs/log.md index 0422b49..f074181 100644 --- a/ai-docs/log.md +++ b/ai-docs/log.md @@ -81,4 +81,9 @@ Append-only. One line per operation: `## [YYYY-MM-DD] op | title` where op is on - Mark asked for the repository wiki to be filled. Eleven pages written (Home, Getting started, API reference, Recipes, Reproducible names, Name lists and data sources, Versions and upgrading, FAQ, Development, sidebar, footer); every example output verified against the published 2.3.0 (file-based app, `dotnet fsi`, PowerShell `Add-Type`). Committed as 0bf2dd6 in the sibling working copy `D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki`. - `git push` to `DotNetRandomNameGenerator.wiki.git`: `Repository not found`. GitHub creates the wiki repository only when the first page is saved in the web UI; no API exists. Mark's click, then `git push --force -u origin master` from the working copy. Details: notes/2026-09-28-github-wiki.md. - Found while writing: the README's thread-safety sentence overstates the .NET Framework case (a default generator there holds a plain per-instance `Random`). Not changed; recorded in the note and in HANDOFF standing work. + +## [2026-09-28] verify | Wiki published +- Mark saved the first page in the web UI (placeholder commit 8543ca6). `git push --force -u origin master` from the working copy replaced it with 0bf2dd6; `git ls-remote` shows 0bf2dd6, and Home, Getting-Started, API-Reference, Recipes, Reproducible-Names, Name-Lists-and-Data-Sources, Versions-and-Upgrading, FAQ and Development answer 200 with the sidebar and footer rendered. +- PR #16 updated with the published state. +## [2026-09-28] index | rebuilt (7 entries) ## [2026-09-28] index | rebuilt (7 entries) diff --git a/ai-docs/notes/2026-09-28-github-wiki.md b/ai-docs/notes/2026-09-28-github-wiki.md index 1a1991a..e37ab5b 100644 --- a/ai-docs/notes/2026-09-28-github-wiki.md +++ b/ai-docs/notes/2026-09-28-github-wiki.md @@ -1,32 +1,30 @@ --- -title: GitHub wiki written for 2.3.0 (push waits for the first page) +title: GitHub wiki written and published for 2.3.0 kind: note date: 2026-09-28 verified: 2026-09-28 stale_after: 2027-03-28 tags: [wiki, docs, 2.3.0, github] -summary: "the eleven wiki pages, where their git working copy is, why the push failed (GitHub creates the wiki repository only from the web UI) and how to push once it exists; read before touching the wiki or the README's thread-safety sentence" +summary: "the eleven wiki pages, where their git working copy is, how the wiki was published (the first page must be saved in the web UI before the wiki repository exists) and how to update it; read before touching the wiki or the README's thread-safety sentence" --- # GitHub wiki for 2.3.0 ## Summary -Mark asked for the repository wiki (https://github.com/m4bwav/DotNetRandomNameGenerator/wiki) to be filled with helpful material. Eleven pages were written from the 2.3.0 source, README, CHANGELOG, AGENTS.md, the ai-docs notes and the two closed issues, with every example output verified against the published 2.3.0 package (a .NET 10 file-based app with `#:package RandomNameGeneratorLibrary@2.3.0`, `dotnet fsi`, and PowerShell 7 `Add-Type`). The pages are committed in a git working copy but not yet on GitHub. +Mark asked for the repository wiki (https://github.com/m4bwav/DotNetRandomNameGenerator/wiki) to be filled with helpful material. Eleven pages were written from the 2.3.0 source, README, CHANGELOG, AGENTS.md, the ai-docs notes and the two closed issues, with every example output verified against the published 2.3.0 package (a .NET 10 file-based app with `#:package RandomNameGeneratorLibrary@2.3.0`, `dotnet fsi`, and PowerShell 7 `Add-Type`). Published on 2026-09-28 as wiki commit 0bf2dd6 after Mark saved the first page; every page answers 200 and the sidebar and footer render. -## Where the pages are +## Updating the wiki later -`D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki` (a sibling of this clone, outside this repository), branch `master`, remote `origin` = `https://github.com/m4bwav/DotNetRandomNameGenerator.wiki.git`, commit 0bf2dd6. Files: `Home.md`, `Getting-Started.md`, `API-Reference.md`, `Recipes.md`, `Reproducible-Names.md`, `Name-Lists-and-Data-Sources.md`, `Versions-and-Upgrading.md`, `FAQ.md`, `Development.md`, `_Sidebar.md`, `_Footer.md`. Plain markdown links (`[Recipes](Recipes)`), no wikilinks. Everwrite checker: 0 strong, 4 weak (all judged fine). +Edit the markdown in the working copy below, run the everwrite checker (`python C:\Users\m4bwa\.claude\skills\everwrite\scripts\tells.py *.md`), commit and `git push`. Page names are the file names with hyphens (`Getting-Started.md` is the page "Getting Started"); links between pages are plain markdown (`[Recipes](Recipes)`). When a release changes counts, seeded examples or the version number, the pages to touch are Home, Getting started, API reference, Versions and upgrading, and the footer's version line. -## Why the push failed +## Where the pages are -`git push` answered `Repository not found`. The repository has `has_wiki: true` but no page has ever been created, and GitHub creates the `.wiki.git` repository only when the first page is saved in the web UI. There is no REST or GraphQL API for wiki pages, so an agent cannot do that step. +`D:\m4bwa\Claude\Projects\Ai\labs\DotNetRandomNameGenerator.wiki` (a sibling of this clone, outside this repository), branch `master`, remote `origin` = `https://github.com/m4bwav/DotNetRandomNameGenerator.wiki.git`, commit 0bf2dd6. Files: `Home.md`, `Getting-Started.md`, `API-Reference.md`, `Recipes.md`, `Reproducible-Names.md`, `Name-Lists-and-Data-Sources.md`, `Versions-and-Upgrading.md`, `FAQ.md`, `Development.md`, `_Sidebar.md`, `_Footer.md`. Plain markdown links (`[Recipes](Recipes)`), no wikilinks. Everwrite checker: 0 strong, 4 weak (all judged fine). -## How to publish (Mark, then any session) +## How it was published -1. Mark opens https://github.com/m4bwav/DotNetRandomNameGenerator/wiki, clicks "Create the first page" and saves it with any content. -2. From the working copy: `git push --force -u origin master`. The force replaces GitHub's placeholder Home page with the eleven pages; nothing else is on the remote. -3. Check https://github.com/m4bwav/DotNetRandomNameGenerator/wiki shows the sidebar and the Home page. +The first `git push` answered `Repository not found`: the repository had `has_wiki: true` but no page had ever been created, and GitHub creates the `.wiki.git` repository only when the first page is saved in the web UI. There is no REST or GraphQL API for wiki pages, so an agent cannot do that step. Mark saved a first page; `git push --force -u origin master` then replaced GitHub's placeholder commit (8543ca6) with the eleven pages. For any other repository's wiki: run `git ls-remote https://github.com//.wiki.git` first, and ask for the click early when it fails. ## Facts verified while writing (not in the README)