feat(SDK-1161): add PrintChecks state machine and orchestrator - #2587
Open
krisxcrash wants to merge 2 commits into
Open
feat(SDK-1161): add PrintChecks state machine and orchestrator#2587krisxcrash wants to merge 2 commits into
krisxcrash wants to merge 2 commits into
Conversation
Fourth slice of the print-checks feature stack (see #2584). Wires PrintChecksBanner/Form/Failure/Summary together into the public Payroll.PrintChecks component via a robot3 state machine, following the same pattern as ConfirmWireDetails/RecoveryCases: banner -> form -> summary/failure, unmounting each screen on transition instead of manually resetting form state. No inert final() state, unlike the two reference machines that define one but never transition to it -- per src/CLAUDE.md, hub-and-spoke components (no natural "end", user can reopen the flow freely) shouldn't model completion as a final state. Exports PrintChecks from the Payroll namespace and regenerates the SDK Dev App's component-props registry so it picks up companyId/payrollId as auto-provisioned entity IDs. Stacked on kw/feat/print-checks-3-form; targets that branch, not main. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fourth PR in the print-checks stack (see #2584 for the full split rationale, splitting up #2572). This is where Banner/Form/Failure/Summary (PRs #2584-#2586) become the actual public
Payroll.PrintCheckscomponent.printChecksStateMachine.tsx— arobot3machine following the same pattern asConfirmWireDetails/RecoveryCases:banner -> form -> summary/failure, unmounting each screen on transition rather than manually resetting form state.PrintChecksComponents.tsx— the sharedPrintChecksContextInterface+*Contextualwrapper components that connect each screen to the machine viaFlowContext.PrintChecks.tsx— the top-level orchestrator:BaseComponent+Root, mounts the banner unconditionally and the current screen inside aModal.final()state, unlike the two reference machines (which define one but never transition to it) — persrc/CLAUDE.md, hub-and-spoke components with no natural "end" shouldn't model completion as a final state.PrintChecksfrom thePayrollnamespace and regenerates the SDK Dev App's component-props registry socompanyId/payrollIdare picked up as auto-provisioned entity IDs.Base branch note: targets
kw/feat/print-checks-3-form, stacked on PR #2586.Stack
Testing
npm run test -- --run src/components/Payroll/PrintChecks— 24 tests pass (includes a new integration test exercising the full banner → form → summary/failure flow)npx tsc --noEmitandnpm run lint:checkclean🤖 Generated with Claude Code