chore: upgrade @objectstack to 7.4.1 + comprehensive flow & QA audit#8
Merged
Merged
Conversation
## Dependencies
- Bumped all @objectstack/* packages from ^7.3.0 → ^7.4.1 across all 9 templates.
## Breaking-change migrations (7.4.x)
### Approvals (ADR-0019)
- `ApprovalProcess` export and stack `approvals:` key removed in 7.4.x.
Approvals are now `type: 'approval'` nodes on `record_change` flows.
Migrated `packages/expense` and `packages/content`; deleted their
`src/approvals/` directories.
### Flow capability re-evaluation
- **All 21 notification nodes** migrated from `script` + `actionType:
'notification'` (runtime no-op in 7.4.x) to the real `notify` builtin
node, which delivers via the messaging service. Also migrated 4
`send_notification` and 2 `email` stubs. `link:` → `actionUrl:`.
- `packages/project` flows used `query`/`foreach`/`condition` node types
with no registered executor. Replaced with `get_record`/`loop`/`decision`
and object-form `filter`; wired the 3 flows back into the stack.
- `type: 'scheduled'` → `type: 'schedule'`; condition-node out-edges
`type:'true'/'false'` → `type:'conditional'` + `condition`/`isDefault`.
## project template repair (47 pre-existing typecheck errors)
- Rewrote both state machines to canonical `StateMachineConfig` (XState)
shape and `stateMachines: { lifecycle }` wiring.
- Fixed 11 view `filter`s from inside `data` provider to view-level array
form `[{field, operator, value}]`.
- Normalized ESM relative imports to `.js`.
## QA fixtures + runner
- Replaced stale `packages/todo/qa` and `packages/hr/qa` fixtures (both
were copies of an old todo model that referenced deleted objects).
Rewrote against real schemas (todo: task lifecycle + labels; hr: employee
onboarding + time-off state machine + documents).
- Added `scripts/run-qa.mjs`: a versioned-API-aware QA runner that handles
better-auth sign-up + Origin header. Both suites pass 3/3 scenarios.
- Each template's `test` script now runs `objectstack build` (the working
validation gate); `test:qa` runs the live scenario suite.
## Validation
All 9 templates pass `tsc --noEmit` and `objectstack build` on 7.4.1.
All 9 Console UIs boot cleanly (login verified, correct app shown, Studio
loads metadata). QA scenarios: todo 3/3 ✅, hr 3/3 ✅.
Co-Authored-By: Claude Sonnet 4.6 <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
@objectstack/*packages bumped^7.3.0 → ^7.4.1across all 9 templatesApprovalProcessremoved in 7.4.x; convertedexpenseandcontenttoapprovalflow nodes (ADR-0019)notifybuiltin;projectflows fixed from invalid node typesprojecttemplate repaired: 47 pre-existing typecheck errors fixedscripts/run-qa.mjsadded; both suites pass 3/3 greenValidation
tsc --noEmit✅ +objectstack build✅pnpm test:qa)🤖 Generated with Claude Code