CONTEXT.md lists the words this project does not use. The interface honours
them. The implementation does not.
| In the code |
CONTEXT.md says |
Where |
$deviceResult |
Form Factor (Avoid: DeviceType) |
Resolve-WcdExecutionOptions |
$usageResult, $usageLabel |
Environment (Avoid: Usage) |
Resolve-WcdExecutionOptions |
$engineerResult, $engineerTypes, $engineerYesNo |
Optional Tool (Avoid: engineer tool) |
Resolve-WcdExecutionOptions |
$T.PromptUsageDesc1, $T.PromptUsageDesc2 |
Environment |
both $T tables |
$T.PromptEngineer, $T.PromptEngineerDesc1/2, $T.EngineerBoxTitle, $T.EngineerCombineHint |
Optional Tool |
both $T tables |
Etapes, Echecs, Avertissements |
Steps, failures, warnings |
the $moduleStatus object |
The last row is its own problem: those are the only French identifiers in an
otherwise English codebase, on an object the Diagnostic reads by property name.
This is not cosmetic. Someone — or something — reading CONTEXT.md and then
grepping for Environment finds the parameter and the manifest key and stops,
because the value is called $usageResult from the moment it is read. The
domain language holds at the edge and breaks two lines in.
Also rename
ConvertTo-WcdOptionalToolSelection and Read-WcdOptionalToolChoice are already
correct — the drift is only in the locals and the $T keys around them. Fix
those and the file reads consistently.
Make it stick
tests/Help.Tests.ps1 already has a stale-vocabulary test:
Select-String -Pattern 'DeviceType|Config-Usage|Config-Engineer|Minimal[A-Z]'
Extend the pattern to the words above so the drift cannot come back. That test
is the actual deliverable — the rename without it just resets the clock.
Note the pattern must not catch legitimate uses: Get-WcdPnPDevices and
Config-DeviceManager contain "Device", and Set-WcdDeviceManagerStatus is a
correct name. Anchor on the specific identifiers, not on substrings.
Done when
CONTEXT.mdlists the words this project does not use. The interface honoursthem. The implementation does not.
CONTEXT.mdsays$deviceResultResolve-WcdExecutionOptions$usageResult,$usageLabelResolve-WcdExecutionOptions$engineerResult,$engineerTypes,$engineerYesNoResolve-WcdExecutionOptions$T.PromptUsageDesc1,$T.PromptUsageDesc2$Ttables$T.PromptEngineer,$T.PromptEngineerDesc1/2,$T.EngineerBoxTitle,$T.EngineerCombineHint$TtablesEtapes,Echecs,Avertissements$moduleStatusobjectThe last row is its own problem: those are the only French identifiers in an
otherwise English codebase, on an object the Diagnostic reads by property name.
This is not cosmetic. Someone — or something — reading
CONTEXT.mdand thengrepping for
Environmentfinds the parameter and the manifest key and stops,because the value is called
$usageResultfrom the moment it is read. Thedomain language holds at the edge and breaks two lines in.
Also rename
ConvertTo-WcdOptionalToolSelectionandRead-WcdOptionalToolChoiceare alreadycorrect — the drift is only in the locals and the
$Tkeys around them. Fixthose and the file reads consistently.
Make it stick
tests/Help.Tests.ps1already has a stale-vocabulary test:Extend the pattern to the words above so the drift cannot come back. That test
is the actual deliverable — the rename without it just resets the clock.
Note the pattern must not catch legitimate uses:
Get-WcdPnPDevicesandConfig-DeviceManagercontain "Device", andSet-WcdDeviceManagerStatusis acorrect name. Anchor on the specific identifiers, not on substrings.
Done when
Resolve-WcdExecutionOptionsrenamed to Form Factor / Environment / Optional Tool$Tkeys renamed in both language tables$moduleStatusfields renamed to English; every reader updated(
Format-WcdModuleLine,Get-WcdFinalDiagnosticLines, the run loop)tests/Help.Tests.ps1stale-vocabulary pattern extendedConfig-DeviceManagerorGet-WcdPnPDevices