Repository navigation
TDD 0072: [UI] in /prd-author, merged mocks in /tdd-author - #197
Merged
cahenesy merged 5 commits intoOct 8, 2026
Merged
Conversation
…n lint, skill + reviewer text Extracts the two new tl: blocks and runs them under env -i in temp repos with merged indexes built by the 0070 helpers; drives tdd-lint.sh on fixture TDDs (cited, missing, waived, stale, non-UI, helper failure). Covers TDD 0072 Verification plan obs 1-9. Red until the feat commit. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
…author - tdd-lint: tl_lint_ux_citations (major ux.citation), wired into tl_lint_all. Short-circuits without sourcing ux.sh when the PRD has no [UI]; exports THROUGHLINE_UX_NOFETCH=1; pins the UX helpers to its own plugin tree; treats tl_ux_coverage rc 1 as a result; any helper failure is rc 2 with a named 'tdd-lint: ux:' message (L-005). - prd-author: the [UI] interview rule (ui: <ID> entries), self-review bullet, the tl:ui-markers block, and the commit-body UI requirements section. - tdd-author: step 1a tl:ux-coverage with the refusal sentence and the three-way question (stop / waive / drop), the citation rule, and the PR body UX coverage section. - design-reviewer: the UX coverage (FR-101) bullet and BLOCK ux-waiver. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
Base automatically changed from
build/20261006-220142/0071-ux-author-skill
to
master
October 8, 2026 00:13
cahenesy
deleted the
build/20261006-220142/0072-ux-in-prd-and-tdd-author
branch
October 8, 2026 00:14
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.
Implements TDD 0072: wires the UX phase into the two existing authoring skills (PRD FR-89, FR-101, FR-10; ADR 0017). Plugin 3.53.0 → 3.54.0.
What changed
/prd-author(FR-89)[UI]to the title.<!-- tl:ui-markers -->runstl_ux_ui_reqsbefore the commit, so a malformed marker fails before it can silently skip/ux-author.UI requirementsand points to/ux-author. A PRD with no UI changes saysUI requirements: none./tdd-author(FR-101)<!-- tl:ux-coverage -->, checks every in-scope[UI]id against the merged UX set. A stale or uncovered id printsthroughline: <ID> is a [UI] requirement with no merged UX set …; run /ux-author first, or waive the mock.and offers three options: stop and run/ux-author, waive the mock with a 20–400 character rationale, or drop the id from this pass.assumption:entries in the PR body and asmock waived: <rationale>in the TDD's traceability row.UX coveragesection.tdd-lint(tl_lint_ux_citations, intl_lint_all)[UI]id in a TDD'sPRD refsmust cite its mergeddocs/ux/screens/<sid>/paths, or record a non-empty waiver. Otherwise it reportsmajor ux.citation.[UI]short-circuits, with no python3 needed.THROUGHLINE_UX_NOFETCH=1).design-reviewer(FR-10)UX coverage (FR-101)bullet: the design must honour the cited mocks andtokens.css, and a boilerplate waiver getsBLOCK ux-waiver.Gates
test(failing)1794a43 precedesfeat3cd6695master(51×0, 3×1, 18×2)set -fis usedDeviations (accepted in review)
tests/implement-gate.test.shregisters the eval, and the version bump touchesplugin.jsonandreleases.json. All three are outside the declared Touched files.tl_lint_ux_citationspinslocal -x CLAUDE_PLUGIN_ROOTto its own plugin tree, because the python helpers resolve throughtl_plugin_root. The caller's value is restored afterwards.|and must not be empty. This matches the TDD's obs 6.Non-blocking (follow-up candidates)
tdd-lint.sh:422stores its own directory as a relative path, so sourcing by relative path then changing directory returns rc 2. That failure is loud.ux.shsourced into one shell could mix plugin trees. No production path does this.tdd-authordoesn't show how to computeTL_IDS.🤖 Generated with Claude Code
https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB