Skip to content

Teach a validation-aware command stepper in Idea Loom #675

Open

Description

@woksin

Learning gap

Idea Loom demonstrates Arc and React, but does not show a validation-aware multi-step command flow. Components already exports CommandStepper and StepperPanel in the sample's pinned 4.39.0 release, and Idea Loom has an existing CaptureIdea command and validator.

Evidence: sample package pin, existing command, and Components 4.39.0 exports.

Proposed scope

Extend the existing Arc/React sample with one coherent two-step journey collecting one command. Demonstrate per-step validation, back-navigation value retention, exactly one final command execution, and visible server rejection without weakening server-side validation.

Add focused behavior tests and explain the import/style requirements and interaction in the sample README. Update catalog highlights without creating another application scaffold. Confirm actual component behavior during implementation; source exports alone do not prove the desired navigation behavior.

Keep PivotViewer and SchemaEditor teaching out of this issue. Completed #376 and #606 concerned CommandForm adoption and the Components 4 migration, not a dedicated stepper walkthrough. No new infrastructure or dependency-major upgrade is intended.

This proposal comes from static sample/released-API inspection; no UI or browser flow was run.

Activity

  1. self-assigned this
    on Nov 2, 2026
  2. woksin commented on Nov 2, 2026

    @woksin
    CollaboratorAuthor

    Implementation design (rev 1)

    Base: f3234f8 (main, 2026-11-02)
    Status: proposed
    Size / release intent: M · minor
    Reviewed: independent Claude reviewer — pinned Components4.39.0 exports and existing command confirmed; interactions remain acceptance criteria

    Problem and root cause

    Idea Loom has an existing validated CaptureIdea command but no dedicated two-step command-learning journey. Components4.39.0 already exports CommandStepper and StepperPanel.

    Approach

    Extend the current sample with one coherent two-step flow over the existing command. Avoid new infrastructure or dependency majors.

    Steps

    1. Drift-check sample form/command/validator and released component API/styles.
    2. Add a two-panel inline CommandStepper journey using the same command instance.
    3. Preserve server validation and make final submission the only command execution.
    4. Test invalid-next handling, Back value retention, final submit and visible server rejection.
    5. Explain imports/styles/interaction in README and catalog highlights.

    Files to touch

    Arc/React/Ideas/Board/ relevant view/test files, Arc/React/README.md, samples.json if highlights change.

    Public API, compatibility, migration

    No library API change or package-major migration. Retain the sample's existing contract and validation rules.

    Performance

    No extra server execution during navigation; one final command only.

    Specs to add (red first)

    Invalid next-step prevention, retained values on Back, exactly one final execution, and server rejection display. Verify actual component behavior rather than treating exports as proof.

    Gate (exact commands from the repo's CI)

    Node24 frontend lane:

    corepack enable
    yarn install
    yarn samples:validate
    cd Arc/React
    yarn lint:ci
    yarn compile
    yarn test --passWithNoTests
    yarn build

    Require positive executed tests for the new behavior; the passWithNoTests option is not evidence of interaction coverage. A real UI acceptance flow is additionally needed before claiming the walkthrough works. No commands or browser flow ran for this design.

    Done when

    • One existing command is collected across two validation-aware steps.
    • Navigation retention, final-submit count and server errors have actual tests.
    • README and required frontend gates pass.

    Risks and open questions

    Confirm field-to-step validation configuration and released style imports; do not weaken server rules to make navigation pass.

    Out of scope

    PivotViewer, SchemaEditor, new scaffold, authorization redesign and dependency modernization.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions