Hermes 284313f908
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
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

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 Admin and User for compatibility with existing portal invitation lookups.

Discoveries

  • TenantCreationInput.productCode already exists.
  • tenantCreationWorkflow already passes productCode to createTenant.
  • createTenantInDB already writes tenants.product_code.
  • run_onboarding_seeds(tenantId) is product-blind and reads all .cjs files 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.ts
  • cd 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 onboarding directory, so both product seed directories are included by the existing copy step.
  • createTenantInDB now validates provided product codes with the same resolver before writing tenants.product_code, so unsupported runtime input fails before DB insert.