Repository navigation
ci: a numbered idea pile and the Idea-Id trailer gate (E3-piles, E3-trailers) - #1
Merged
Merged
Conversation
Every open item the tree carries today, under the form willow-reconciler reads: a header naming the command, the legend, the rule that numbers are permanent join keys, and `## A.`-style sections with top-level `N. ` items. One item comes from the README's "after the first bite" section (the first bundle cut); two record fleet conventions this repo is adopting (Idea-Id trailers) or will pick up later (the Nestor pin raise, Wave 6). Nothing is hand-tagged: git history shows none of them landed yet. The command is spelled `--repo ./`, not `--repo .`: willow-reconciler 0.6.0 reads a bare `.` as a repo *name* to resolve beside the checkout and fails, while anything carrying a slash is a path. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qa81BaErcUeJgGfBGRmNqm
`.github/workflows/trailers.yml` runs `reconciler verify` on every push and PR against the default branch, failing on an Idea-Id trailer that names an item docs/ideas.md does not contain. CONTRIBUTING.md is created in the tree (the org's copy never reaches a clone) with the test command and the convention: never type an id by hand, generate it with `reconciler id`. tests/test_release_wiring.py asserts, with the standard library only, that the workflow exists wherever the pile does, and plants the pile so the check is never vacuous. The branch list mirrors tests.yml, and the repo is passed as `./` for the reason the docs commit gives. Idea-Id: willow-ideas-002 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qa81BaErcUeJgGfBGRmNqm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bites: E3-piles-forge-workshop (
docs:commit) and E3-trailers-forge-workshop (ci:commit). Fleet plan Wave 3; orchestrator sessionsession_01Qa81BaErcUeJgGfBGRmNqm.What
docs/ideas.md— the numbered pile, in willow-reconciler's form. Three items: the first bundle cut (carried from the README's "After the first bite"), adoptingIdea-Idtrailers, and the Nestor pin raise for Wave 6. Nothing is hand-tagged: git history showed none of them landed when the doc was written..github/workflows/trailers.yml— runsreconciler verifyon push and PR. Branch list mirrorstests.yml(master, main) since this is a template and an instantiated workshop may default to either.permissions: contents: readadded, matchingtests.yml.CONTRIBUTING.md— created in the tree (the org's copy never reaches a clone, perCLAUDE.md). Names the test command and carries the "The Idea-Id commit-trailer convention" section.tests/test_release_wiring.py— stdlib-only structural check:trailers.ymlexists whereverdocs/ideas.mdexists, plus the plant asserting the pile is present so the check is never vacuous.README.md— four rows added to the "What is here" table for the files above; thetests/row no longer says one test ships.Validate summary
reconciler verify --repo ./ --doc docs/ideas.md:Trailer lines the commits carry
f890bbadocs:— first commit, noIdea-Id(the pile did not exist before it).9643e66ci:—Idea-Id: willow-ideas-002, generated byreconciler id --repo ./ --doc docs/ideas.md --grep "Idea-Id".Verified
python -m pytest tests/ -q→ 4 passed (the two existing tests plus the two new ones).python -m unittest tests.test_release_wiring→ OK (stdlib runner, no pytest).reconciler run --repo ./ --doc docs/ideas.md --validate→ exit 0, 0 dropped.reconciler verify --repo ./ --doc docs/ideas.md→ exit 0, 1 resolved, 0 unresolved.trailers.ymlparses as YAML. No.dbfile is tracked.--repo ./, not--repo .willow-reconciler 0.6.0 treats
--repoas a path only when it carries a slash or is absolute; a bare.is resolved as a repo name beside the checkout and errors out (repo '.' not found). Every command written in this PR therefore says--repo ./, with a comment saying why in the workflow and in CONTRIBUTING. The fix belongs upstream (treat.and..as path-like incli._is_path_like), or the fleet text should say./. Outside this bite; flagged for the orchestrator.Seen, not touched
release-please.yml, norelease-please-config.json, and no auto-merge, so nopr-titleguard is required today. If Wave 4 adds release-please to this repo, the guard must land with it.CLAUDE.mdstill says the org keepsCONTRIBUTING.mdinforge-play/.github. True, but a copy now also lives here. Left alone: one sentence of context, not a rule.pyproject.tomlpinsnestor-meaning>=0.19.0,<1.0.0. Wave 6 raises it; item 3 of the pile records that.tests/test_fleet_conventions.pyexists in this repo; the reconciler'sconventionsverb describes one. Not part of this bite.🤖 Generated with Claude Code
https://claude.ai/code/session_01Qa81BaErcUeJgGfBGRmNqm
Generated by Claude Code