Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
1.6 KiB
1.6 KiB
Scratchpad
Decisions
- Use separated product bootstrap directories for Temporal onboarding seeds.
- PSA keeps the existing full seed content.
- Algadesk gets minimal roles and permissions to avoid visible PSA concepts in onboarding/settings.
- Client portal role names remain
AdminandUserfor compatibility with existing portal invitation lookups.
Discoveries
TenantCreationInput.productCodealready exists.tenantCreationWorkflowalready passes productCode tocreateTenant.createTenantInDBalready writestenants.product_code.run_onboarding_seeds(tenantId)is product-blind and reads all.cjsfiles from one onboarding seed directory.- Current PSA seed set includes visible roles/permissions for billing, invoices, projects, service catalog, workflows, and other PSA-only concepts.
Validation commands
cd ee/temporal-workflows && TEMPORAL_TEST_SKIP_ENV_BOOTSTRAP=1 npm run test -- src/db/__tests__/product-bootstrap-resolver.test.ts src/workflows/__tests__/tenant-creation-product-bootstrap.contract.test.tscd ee/temporal-workflows && npm run type-check
Implementation notes
- Existing PSA seed files moved under
ee/server/seeds/onboarding/psa/without content changes. - New Algadesk seed files live under
ee/server/seeds/onboarding/algadesk/. - Temporal Docker copies the full
onboardingdirectory, so both product seed directories are included by the existing copy step. createTenantInDBnow validates provided product codes with the same resolver before writingtenants.product_code, so unsupported runtime input fails before DB insert.