-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
Check whether some items are UI projection details.
Use state for product behavior:
uploading(progress)
failed(message)
completed(remoteID)
Use projection for display details:
isButtonEnabled
spinnerVisible
titleText
Stop and create an effect.
Reducers request work. Effect handlers execute work.
Route decisions should be emitted by the reducer:
state + event -> next state + route
The UI or coordinator interprets the route.
Use Output.
Outputs make parent communication testable and reviewable.
Use AI mode:
swift run intentflow ai-context .intentflow/login.intentflow.yaml --tool codexThen ask the agent to update manifest, Swift types, reducer, projection, and tests together.
Check:
schemaVersionfeaturemode- non-empty states, intents, effects, invariants, and acceptance traces for AI mode
- indentation
- quoted values when text contains punctuation
The generator creates a skeleton. Rename states, effects, and routes before integrating deeply.
Do not keep placeholder domain names just because the generator produced them.
Swift CodeQL builds can take longer because CodeQL extracts a database while building. This is expected. The workflow uses a manual Swift build that includes package sources, tests, demo app code, examples, migration samples, and the DocC tutorial Swift sample so the visible CodeQL coverage matches the repository.
The versioned wiki source lives in:
docs/wiki
GitHub stores the visible Wiki tab in a separate .wiki.git repository. GitHub creates that repository only after the first Wiki page is created from the browser. After that, run:
./scripts/publish-wiki.shIntentFlow for iOS is a workflow-first, AI-ready architecture proposal. Start from behavior, keep reducers pure, keep effects explicit, and let UI adapt to the workflow.