Repository navigation
TDD 0074: tdd-lint workspace grounding + no deferred discovery - #201
Merged
Merged
Conversation
… (TDD 0074) Observations 1-10 of TDD 0074 in temp git repos: grounding.missing / grounding.invalid, the go-forward rule, the HEAD fallback and skip lines, fail-loud on a git helper failure, md_bullet_path's marked mode, the deferred-discovery phrases, and the regression over every merged TDD. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
- md_bullet_path gains a `marked` mode: <path>\t(new) or <path>\t-, using the same path extraction as `paths` (unchanged). - tl_lint_grounding (wired into tl_lint_all): a new TDD's Touched-files paths must exist on the integration branch (git ls-tree, never cat-file) or be marked (new); `..`/absolute paths are grounding.invalid. Merged TDDs are exempt (go-forward rule via ls-files --full-name / --show-prefix). verdicts.sh is sourced lazily from the lint's own absolute dir. Outside git / no commits are declared stderr skips; any git or extractor failure is rc 2. - tl_lint_placeholders: placeholder.deferred_discovery phrases, matched outside fences with inline code removed (these phrases only). - tdd-author: the (new) marker and the two new finding codes. 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
…'s ux.sh Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
The pre-existing (TDD 0072) _TL_LINT_LIB was relative and re-resolved at call time, so a caller that sourced tdd-lint by a relative path and then cd'd into the linted repo sourced that repo's scripts/lib/ux.sh. Same class as the 0073 review's N1; surfaced by the 0074 implementer. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB
…thspec magic) 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/20261012-165626/0073-requirements-review-gate
to
master
October 15, 2026 13:41
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 0074:
tdd-lintworkspace grounding and no deferred discovery (PRD FR-106, FR-107; refs #195). Plugin 3.55.0 → 3.56.0.What it adds
md_bullet_path … marked. A new mode that prints<path>\t(new)or<path>\t-. It uses the same extraction aspaths, which is byte-identical across all 75 TDDs.tl_lint_grounding(intl_lint_all). For TDDs not yet on the integration branch:git -C <root> ls-tree <ref> -- <path>, literal pathspecs) or carry(new);..or a leading/are reported asgrounding.invalid;placeholder.deferred_discoveryfindings outside fences. Backtick skipping applies to these new phrases only./tdd-authordocuments the(new)marker and the new finding codes.Gates (run 20261012-165626)
master's tdd-lint on all 75 existing TDDs (54×0, 3×1, 18×2). A git failure gives rc 2. Plantedux.sh/verdicts.shin the linted repo never run--), traversal flagged, sourcing pinned to the plugin's own directoryAlso fixed in this PR
0e2012dtest,fe52be3fix).tl_lint_ux_citationsresolved its lib directory relative to the current directory when it ran. Iftdd-lintwas sourced by a relative path and the caller then changed into another repo, it sourced that repo'sscripts/lib/ux.sh. It now resolves the directory once, absolutely, when the file is sourced. This is the same class of bug as N1 in the 0073 review; the reviewer judged it in scope here.026146dtest,e300bd3+526943a). Grounding now usesGIT_LITERAL_PATHSPECS=1. Before, a Touched-files path like:/xor:(glob)xwas interpreted as git pathspec magic: it could pass a wrong path, or fail with a misleading rc 2 that blamed git. Gates were re-recorded on the new HEAD.Non-blocking residuals
tdd-lint.shshould be merged into one.4f217b3, so those checks fail loudly in a shallow clone.🤖 Generated with Claude Code
https://claude.ai/code/session_01NpGG21Y2VGGhTQaFr4oshB