Skip to content

refactor: migrate frontmatter-update tests from units to txtar e2e corpus - #28

Closed
A wants to merge 7 commits into
ref/e2e-frontmatter-planfrom
refactor/e2e-frontmatter-update-qwopus-27b
Closed

refactor: migrate frontmatter-update tests from units to txtar e2e corpus#28
A wants to merge 7 commits into
ref/e2e-frontmatter-planfrom
refactor/e2e-frontmatter-update-qwopus-27b

Conversation

@A

@A A commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Ports booping frontmatter-update's CLI-observable behaviors from the 572-line unit file into the txtar contract corpus, then deletes the unit file wholesale. No user-visible behavior change.

Changes

  • M01 — core CLI cases (18 txtar): scalar set, key/body preservation, multi-key set, idempotent no-diff; coercion families (int, float, bool, null, ambiguous string, YAML-1.1 yes quirk, newline- and tab-bearing values); error paths (missing plan, malformed pair, nothing to do) with exit code + stderr; unified-diff shape on stdout; summary line on stderr; one [..]-wildcarded .booping.log line when a vault is attached.
  • M02 — list-op and macro cases (12 txtar): --append onto null/absent/existing keys, idempotent double-run, append-onto-scalar exit 1, --remove, combined pairs+removals+appends; stubbed-macro interpolation via fixture macro_stubs:; unknown macro path and malformed Jinja exiting 2 with stderr text; a real echo macro defined in fixture config, proving live macro execution through the CLI subprocess boundary (replaces the abandoned live-git coverage).
  • M03 — unit deletion: booping-python/tests/commands/frontmatter_update_test.py removed after a full cross-check table mapping every unit test to a named corpus case or an explicit drop rationale (hook-tokenising → playbook_transition_test.py; live-git macro → real-macro-execution.txtar; retired @head/@now tokens → literal pass-through).

All 30 frontmatter cases pass clean — no --txtar-update rewrite needed. just ci green (lint, typecheck, snapshots, mdcheck, e2e 68/68); the one unit failure, playbook_transition_test.py::test_missing_script_names_every_probed_path, is a pre-existing PLUGIN_ROOT path mismatch in the local bench clone, untouched by this branch.

All code in this branch was written by the local qwen 3.6 27b model driving a Claude Code session on the llama-swap box; the orchestration, DoD validation and bookkeeping were done by the booping develop playbook.

🤖 Generated with Claude Code

A added 7 commits August 12, 2026 15:10
…matter-update scalar-set, coercion, error, and output-contract behaviors
…for --remove, --append, stubbed macros, real macro execution, and error behaviors
…able and unit file deletion

Deleted frontmatter_update_test.py (57 tests) after mapping each to a named
e2e corpus case or recorded drop rationale. Coverage cross-check table
appended to milestone file.
@A A closed this Aug 13, 2026
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