Diamond Cloud migration handoff
Canonical paths, preserved context and verification for Frawl's holding workspace migration.
Diamond Cloud migration handoff
Migration date: 2026-09-23. Product: Frawl Affiliate & Referral Management.
Parent holding: Diamond Cloud AI (diamondcloudai.com).
Workspace and repository
| Item | Value |
|---|---|
| Original path | /Users/fares-wdeftksa/development/frawla.io |
| Canonical path | /Users/fares-wdeftksa/diamond/projects/frawl |
| Compatibility | Original path is a symbolic link to the canonical directory |
| Git remote | https://github.com/alswat1222/frawl.git |
| Migration branch | Codex/diamond-cloud/migrate-frawl |
| Preserved implementation base | a8365c2d9b867a15a3640befe811cf078614bd5a |
| Root workspace package | @diamond/frawl |
The root directory inode and all Git references matched immediately after relocation. A pre-move
manifest verified the contents and permissions of 877 non-cache files, including environment files,
ADRs, agent instructions, fixtures, scripts and localization files. The entire directory was renamed;
dependency trees, build caches and Git metadata were retained too. An independent all-refs Git bundle
and private comparison manifest were saved in /tmp/frawl-diamond-migration/ for this local operation.
They are operational artifacts, not a durable production-backup system.
Existing branches main, Codex/bootstrap/import-wateera and Codex/frawl/platform remain intact.
The open import and implementation pull requests remain separate from the migration branch. No merge,
repository transfer or production deployment is included.
Holding registration
/Users/fares-wdeftksa/diamond/README.md now lists Frawl in the topology, active-project table,
architecture diagram, profile and quick-start guide. Diamond's workspace root has no Git repository;
that master README edit is outside the Frawl commit. The unrelated core-platform worktree is preserved.
There is no platform/products/frawl seed at migration time, so no seed or backlink was fabricated.
Holding service connections are future integration boundaries, as recorded in ADR-0012.
Local operation
cd /Users/fares-wdeftksa/diamond/projects/frawl
pnpm install --frozen-lockfile
pnpm devKeep the existing ignored local environment. The migrated workstation uses SaaS port 3210, marketing port 3211 and documentation port 3212; templates retain configurable 3100/3101/3102 defaults. Existing services occupy 3210 and 3211, so do not start duplicate copies while those servers are running.
New checkouts follow the project README for local PostgreSQL, migration credentials and isolated test data. Do not reseed, reset, or migrate a production database to verify a filesystem relocation.
Verification record
Immediately after the rename, the existing SaaS, marketing and local tool processes retained their
working-directory inode at the new location. Initial health and login requests succeeded. Browser
verification then exposed stale Turbopack route state: /affiliate and /signup returned 404 while
the old SaaS process retained the former project-root path. Restarting only that development server
from the canonical path restored the redirect and signup route. The marketing listener subsequently
stopped during validation; its exit cause was not established. It was restored from the canonical path
on the same port. This was a local development-server recovery, not uninterrupted service or a
production restart. The already-running local tool sessions continued, and their legacy paths resolve
through the compatibility symlink.
The full test run also exposed a PostgreSQL serialization failure escaping the existing transaction
retry guard: the installed Prisma adapter can emit a raw commit-time DriverAdapterError instead of
the wrapped P2034 code. The migration includes a bounded compatibility fix and a deterministic
regression for that observed failure; it does not weaken transaction isolation or skip database suites.
The handbook production build found former absolute project paths in ignored
apps/docs/.next/cache/turbopack/ entries. The generated .next and .source directories were preserved
under /tmp/frawl-diamond-migration/docs-cache-backup-1790118293701177000/ before regeneration. All 23
original handbook application sources remained unchanged, and the rebuilt handbook produced 66 pages.
Local migration checks:
| Check | Result |
|---|---|
| Frozen-lockfile dependency installation | Exit 0 from the canonical workspace |
| Type checking | 27 workspace tasks passed; database types rechecked after the retry fix |
| Lint and formatting | Exit 0; pre-existing non-blocking lint warnings remain |
| Unit and integration tests | 291 tests across 42 files and 16 packages passed; no cached test tasks |
| Real PostgreSQL conflict regression | A forced serializable write-skew conflict retried safely with one committed effect per transaction |
| SaaS browser recovery | Three Chromium login/SSO-entry/invitation tests passed |
| Marketing browser recovery | English desktop and Arabic mobile navigation reached signup with correct direction and no console or resource errors |
| Local context | Both application listeners and existing local tool processes use the canonical physical directory; legacy paths resolve |
| Handbook build | Exit 0, 66 pages after regenerating relocated caches |
The migration pull request records the final aggregate build and CI results. External PSP/IdP, native Safari and deployed load acceptance remain governed by the existing release checklist.