name: nkda-testdsl-verification description: Use when conversion and refactor are done and parity, artefact removal, and migration completion evidence must be recorded.
Skill: NKDA Test DSL Verification
Responsibilities
- read the wiring state recorded by assessment and apply the matching verification mode
- verify behavioural parity mapping for
wiredfamilies - for
miswired/unwiredfamilies, verify intent coverage and that every assertion is confirmed against observed production behaviour (no parity baseline existed and none may be claimed) - verify converted tests are code-first MSTest and non-vacuous
- score intent-derived tests with the test-validity model and confirm each is
USEFULorHIGH VALUE(>= 16/25) - verify
00-scenario-test-inventory.mdhas nounmatchedscenarios for the converted family - verify no duplicate coverage was created: every
pre-existingscenario maps to the prior test (not a new copy), and no newly built test re-asserts behaviour an existing test already covered - verify each mapped scenario row has concrete test evidence (
path:line) - verify expected vs actual test tags are compliant for every mapped scenario
- verify newly converted tests for the feature family are passing
- after converted tests are passing, run the full repository test suite and record the result
- verify scenario-level retirement gate compliance: every removed scenario from
.featurehas a mapped passing test withpath:lineevidence - remove migrated Reqnroll artefacts when verification is
PASS, scoped to wiring state: forwired, the.feature, generated.feature.cs, and legacy*Steps.cstied to the family; formiswired, the dead non-executing*Steps.csand the retired.feature(there is no generated.feature.cs); forunwired, the retired.featureonly (no bindings or generated test exist) - verify there are no orphan generated
Features\*.feature.csfiles without matchingFeatures\*.featureinputs in the affected test project; remove any found and record removals - verify Reqnroll artefact removal status for the artefacts that existed for that wiring state
- verify completion conditions in
contracts.md - produce
.output/nkda-testdsl/<feature-family>/06-verification.md
Required Test Execution Order
- Run the converted/affected feature-family tests first (
dotnet test <project> --filter "FullyQualifiedName~<TestClass>"). Every mapped test must be green before proceeding. - Score any intent-derived tests with test-validity dimensions and reject
WASTEorLOW VALUEtests. - Confirm scenario inventory coverage and tag compliance are complete.
- Run
dotnet buildfrom the repo root. If the build fails, returnFAILimmediately — do not proceed. Investigate and fix any break, including NuGet version conflicts or compilation errors introduced by this or prior migrations. - If and only if the build succeeds, tests are green, validity gate passes, and inventory/tag checks pass, run
dotnet testfrom the repo root (the full unit test suite across all projects). - Record commands, outcomes, build result, validity scores, and inventory/tag verdict in
06-verification.md.
A commit must never be made unless all three — scenario tests green, full build green, full test suite green — are confirmed in that order.
Artefact Deletion Gate
- Delete the
.featurefile only when all scenarios are retired and mapped tests are passing. - If any scenario remains unconverted or mapped to a failing/unresolved test, retain the
.featurefile and returnBLOCKED. - Scenario removals and final file deletion must be evidenced in
06-verification.mdwithpath:linereferences to passing tests and removed artefacts.
Required Verdict
PASS(wired) when parity and completion conditions are met, intent-derived tests areUSEFUL/HIGH VALUE, scenario inventory has nounmatchedrows, all mapped tests are tag-compliant, and the full repository test suite passes after converted tests are greenPASS(miswired/unwired) when intent coverage is complete, every assertion is confirmed against observed production behaviour, no intent-vs-behaviour conflict remains unresolved, intent-derived tests areUSEFUL/HIGH VALUE, scenario inventory has nounmatchedrows, all tests are tag-compliant, the new tests are registered and executing, and the full repository test suite passes after they are greenBLOCKEDwhen any completion prerequisite is missingFAILwhen parity checks run and defects or regressions are found