2.6 KiB
Task 6 Report
Status
Complete. The implementation is based on Task 5 commit eae1a62f.
Implementation commit: 92a32df8 (refactor: use canonical authoring choices).
Implementation
- Threaded
useAuthoringContractinventory data throughSelectedCapabilityInspector. - Filtered inventory choices by
step_input,step_output_source, andstate_targetuse. - Replaced input target/source datalists, recursive expression path datalists, and output schema-local controls with
AuthoringPathPicker. - Preserved canonical input and output binding serializers. Picker values translate canonical inventory paths to the existing local paths before submission.
- Kept unsupported rows and custom or malformed persisted paths editable. Non-catalog values initialize the picker Advanced section without replacing the persisted value.
- Runtime context choices are rendered only when supplied by the inventory; no runtime context field names are hardcoded in production authoring files.
- Preserved existing row diagnostic accessibility through
aria-invalidandaria-describedbyon Advanced custom inputs. - Kept schema helpers required by validation and output preview; removed
workflowSourceSuggestionsas a production source of choices.
TDD Evidence
The required RED command was run before production changes:
pnpm --dir web --filter @lda/console test -- src/workspace/authoring/StepInputBindingsForm.test.tsx src/workspace/authoring/InputExpressionControl.test.tsx src/workspace/authoring/StepOutputBindingsForm.test.tsx src/workspace/authoring/SelectedCapabilityInspector.test.tsx
RED result: 4 test files failed, 4 tests failed, and 60 tests passed because the forms still rendered the old datalists/selects.
The tests then covered inventory-backed source/target choices, recursive expression paths, conditional context visibility, canonical submission, custom-path repair, whole-payload path round-tripping, and the selected inspector inventory seam.
Verification
pnpm --dir web --filter @lda/console test -- src/workspace/authoring: 19 files passed, 197 tests passed.pnpm --dir web --filter @lda/console typecheck: passed.npx react-doctor@latest --verbose --scope changed: score 87/100; six non-blocking warnings were reported in existing picker/component patterns.git diff --check: passed before commit.
Concerns
React Doctor reports six non-blocking warnings: mirrored picker state, array lookups, the existing large input form, and empty default props. These patterns were present in the existing authoring seams or are equivalent to the prior suggestion-array defaults; no new blocking diagnostic was reported.