Files
msd-core/docs/features/tdd-applicability-predicate.md
Jakub Zych a9a7a328e6 refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD
across contents and paths, upstream package/repo coordinates -> @golem15/msd-core
and golem15com/msd-core. Deep links into upstream history, sibling upstream
packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is.

Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line,
package/plugin identity, regenerated lockfile, install-tree fixtures, derived
registries and benchmark baseline; migration checksum baseline re-locked
(MSD keeps its own install state, so no install had applied the old sums);
sort-order and regex-escaped expectations in tests adjusted.
2026-10-06 01:47:40 +02:00

1.4 KiB

id, title, group
id title group
4273 TDD-Applicability Predicate Quality Assurance Features

Purpose: Give the workflow engine one code-owned computation for whether TDD's RED/GREEN/REFACTOR procedure applies to a given plan, instead of restating the same precedence logic as hand-written prose in each dispatch backend — a restatement that had already drifted between two backends (#4264, #4265). This is Phase 1 of epic #4272 (ADR-3473's fourth application of the single-owner-predicate pattern): it ships the isolated phase.tdd-applicable query verb only. Wiring execute-phase.md and its executor-isolation-dispatch step to consume the verb instead of their own inline predicates is a later phase of the same epic.

Command: msd-tools query phase.tdd-applicable <plan-file> [--cli-flag]

Requirements:

  • REQ-TDDA-01: System MUST resolve applicability via a fixed precedence: --cli-flag (explicit override) > plan frontmatter type: tdd > any task in the plan carrying tdd="true" > project config workflow.tdd_mode
  • REQ-TDDA-02: System MUST report which precedence tier decided the outcome (cli_flag, plan_frontmatter, task_attribute, config, or none) alongside the boolean result
  • REQ-TDDA-03: System MUST emit JSON (applicable, source, plan_type, config_tdd_mode, cli_flag_present) so callers can consume the decision without re-deriving it