Skip to content

txtar contract corpus, milestone directories, scaffold-seeded plans - #29

Merged
A merged 10 commits into
release/1.0.1from
ref/e2e-frontmatter-plan
Aug 13, 2026
Merged

txtar contract corpus, milestone directories, scaffold-seeded plans#29
A merged 10 commits into
release/1.0.1from
ref/e2e-frontmatter-plan

Conversation

@A

@A A commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Overview

Everything on ref/e2e-frontmatter-plan since the 1.0.0 merge, targeted at the 1.0.1 release branch.

Testing infrastructure

  • New txtar contract corpus at booping-python/e2e/: CLI behaviour is pinned as declarative cases (input tree → argv → expected stdout/stderr/exit/output tree) instead of unit tests. just e2e ['-k expr'] runs it; pytest e2e --txtar-update rebaselines. Wired into just ci and the CI workflow.
  • The runner itself was extracted into a standalone published package, pytest-txtar (https://github.com/A/pytest-txtar), which now owns the parser, the pytest plugin and the case-format spec. booping-python just depends on it and configures it in e2e/conftest.py.
  • scaffold is now verified entirely by the corpus — tests/commands/scaffold_test.py and tests/context/scaffold_test.py are deleted, their behaviours ported to ~35 corpus cases.
  • New unit coverage for the close-code-review and refresh-milestone-table hook scripts.

CLI

  • scaffold and frontmatter-update print a unified-diff receipt of every file they changed and stay silent on unchanged files, so a rendered prompt can act on the receipt instead of re-reading the file.
  • scaffold decides per file, not per destination: existing targets are skipped and named, --force overwrites only the files the tree names, a partially-populated destination no longer aborts.
  • frontmatter-update types its scalars — sp=23 lands as an integer; a string whose plain form would reload as another type keeps its quotes.

Plans and milestones

  • Each milestone is now a directory milestones/M{nn}-{kebab}/ under the plan dir, holding the milestone file (frontmatter + tasks + DoD + Verify) and any sidecar the sprint writes beside it (feedback.md). The milestone file is the contract handed to a worker by path; index.md is context only, and its ## Milestones table plus the plan sp are generated by the refresh-milestone-table hook.
  • Milestone status: is develop's per-instance run state (pendingin-progressdone, blocked off in-progress). The worker runs ## Verify and makes the repo commit; the runner validates it against the DoD and takes the transitions.
  • Groom seeds the plan directory from the new core.groom_playbook.scaffold tree, so a plan carries a real created and the repo commit from the moment it exists, and the frontmatter shape lives in config alone. The duplicated plan-frontmatter partials are retired.
  • New shared core.plans config key (glob + milestones.glob/table_columns) is the single source for plan and milestone shape.

Other

  • Fix: close-code-review mishandled an inline code_reviews list.
  • Fix: the plan scaffold tree is hardened against an omitted --set.
  • Docs refresh across documentation/, docs/plan_templates/, README and CLAUDE.md to follow the milestone files and the corpus.
  • Vault: new lessons (code style, review-only code files, test practices), plan and run artefacts for the pilots above, and the groom plan for the frontmatter-update unit→e2e migration.

🤖 Generated with Claude Code

A and others added 10 commits August 12, 2026 14:33
Groomed plan 202608121417: port frontmatter-update's CLI-observable
behaviors to txtar cases under e2e/cases/frontmatter-update/, add
stubbed + real (echo) macro coverage, then delete the unit file after
a coverage cross-check. 3 milestones, 8 SP, cross-review clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ar e2e corpus add core CLI corpus cases

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ar e2e corpus add list-op and macro corpus cases

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ar e2e corpus delete superseded unit file after coverage cross-check

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
refactor: migrate frontmatter-update tests from units to txtar e2e corpus
@A
A merged commit 849d82a into release/1.0.1 Aug 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant