[ { "id": "F001", "description": "Document current workflow UI entrypoint resolution and failure mode (hybrid EE build)", "implemented": true }, { "id": "F002", "description": "Define target EE folder structure for workflow UI under `ee/server/src/**`", "implemented": true }, { "id": "F003", "description": "Define target CE/OSS stub placement under `server/src/empty/**`", "implemented": true }, { "id": "F010", "description": "Create EE workflow entry file in `ee/server/src/**` exporting `DnDFlow` as expected by loader", "implemented": true, "notes": "Canonical entry exists at `ee/server/src/workflows/entry.tsx` and is wired via `server/next.config.mjs` aliases." }, { "id": "F011", "description": "Create/sync EE workflow designer UI components under `ee/server/src/**` (canonical EE home)", "implemented": true, "notes": "EE workflow UI code lives under `ee/server/src/components/workflow-designer/**` and is loaded via `ee/server/src/workflows/entry.tsx`." }, { "id": "F012", "description": "Remove legacy `packages/workflows/src/{ee,oss}` entrypoints (no re-export shims) to prevent hybrid builds", "implemented": true, "notes": "Deleted `packages/workflows/src/{entry.ts,ee/entry.tsx,oss/entry.tsx}`; next.config aliasing now targets `ee/server/src/workflows/entry.tsx` and `server/src/empty/workflows/entry.tsx`." }, { "id": "F020", "description": "Create CE workflow stub entry file in `server/src/empty/**` matching export shape", "implemented": true, "notes": "CE stub entry now lives at `server/src/empty/workflows/entry.tsx` exporting `DnDFlow`." }, { "id": "F021", "description": "Decide and implement desired CE UX (null, stub message, or route hidden) for workflows page", "implemented": true, "notes": "CE renders a visible stub message via `server/src/empty/workflows/entry.tsx`." }, { "id": "F030", "description": "Update `server/next.config.mjs` webpack alias: `@alga-psa/workflows/entry` -> EE/CE concrete entry files under `ee/server/src/**` and `server/src/empty/**`", "implemented": true, "notes": "Webpack alias now points to `../ee/server/src/workflows/entry.tsx` (EE) and `server/src/empty/workflows/entry.tsx` (CE)." }, { "id": "F031", "description": "Update `server/next.config.mjs` turbopack alias: `@alga-psa/workflows/entry` -> EE/CE concrete entry files under `ee/server/src/**` and `server/src/empty/**`", "implemented": true, "notes": "Turbopack resolveAlias now points to `../ee/server/src/workflows/entry` (EE) and `server/src/empty/workflows/entry` (CE)." }, { "id": "F032", "description": "Add enterprise build-time guard to prevent JsConfigPathsPlugin resolving the OSS workflow entry in EE (remove TS paths mapping and/or add pre-resolution rewrite)", "implemented": true, "notes": "Removed TS `paths` mapping for `@alga-psa/workflows/entry` and deleted legacy package entrypoints so path-based resolution can't silently bundle the OSS stub in EE builds." }, { "id": "F040", "description": "Remove TS `paths` mapping for `@alga-psa/workflows/entry` from `server/tsconfig.json`", "implemented": true, "notes": "Removed `compilerOptions.paths['@alga-psa/workflows/entry']` from `server/tsconfig.json`." }, { "id": "F041", "description": "Remove/adjust TS `paths` mapping for `@alga-psa/workflows/entry` from `ee/server/tsconfig.json`", "implemented": true, "notes": "Removed `compilerOptions.paths['@alga-psa/workflows/entry']` from `ee/server/tsconfig.json`." }, { "id": "F042", "description": "Provide TS typings for `@alga-psa/workflows/entry` via `server/src/types/*.d.ts`", "implemented": true }, { "id": "F050", "description": "Keep workflow UI loader and app imports using the stable specifier `@alga-psa/workflows/entry`", "implemented": true, "notes": "Loader lives at `packages/workflows/src/components/WorkflowComponentLoader.ts`." }, { "id": "F051", "description": "Ensure Next build config can compile/workspace-resolve the new EE workflow UI location under `ee/server/src/**` (externalDir/transpilePackages/etc)", "implemented": true, "notes": "Verified `server` can `next build` in EE mode with `@alga-psa/workflows/entry` aliased to `ee/server/src/workflows/entry.tsx`." }, { "id": "F060", "description": "Add CI check: EE `next build` output must not contain OSS stub workflow strings", "implemented": true, "notes": "Added `scripts/guard-ee-workflows-next-build.mjs` + `.github/workflows/workflows-ee-build-guard.yml`." }, { "id": "F061", "description": "Add automated UI smoke test (Playwright or equivalent) that workflows page loads without EE-only stub in EE builds", "implemented": true, "notes": "Added Playwright smoke test `ee/server/src/__tests__/integration/workflows-ee-entry-smoke.playwright.test.ts`." }, { "id": "F070", "description": "Update docs/notes to accurately describe current vs post-migration workflow entry selection", "implemented": true }, { "id": "F071", "description": "Remove legacy `packages/workflows/src/ee/**` and `packages/workflows/src/oss/**` shims after stabilization window", "implemented": true, "notes": "Deleted `packages/workflows/src/ee/**` (EE UI now lives under `ee/server/src/**` and CE stub is under `server/src/empty/**`)." } ]