FrawlFrawl Handbook
Handoffs

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

ItemValue
Original path/Users/fares-wdeftksa/development/frawla.io
Canonical path/Users/fares-wdeftksa/diamond/projects/frawl
CompatibilityOriginal path is a symbolic link to the canonical directory
Git remotehttps://github.com/alswat1222/frawl.git
Migration branchCodex/diamond-cloud/migrate-frawl
Preserved implementation basea8365c2d9b867a15a3640befe811cf078614bd5a
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 dev

Keep 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:

CheckResult
Frozen-lockfile dependency installationExit 0 from the canonical workspace
Type checking27 workspace tasks passed; database types rechecked after the retry fix
Lint and formattingExit 0; pre-existing non-blocking lint warnings remain
Unit and integration tests291 tests across 42 files and 16 packages passed; no cached test tasks
Real PostgreSQL conflict regressionA forced serializable write-skew conflict retried safely with one committed effect per transaction
SaaS browser recoveryThree Chromium login/SSO-entry/invitation tests passed
Marketing browser recoveryEnglish desktop and Arabic mobile navigation reached signup with correct direction and no console or resource errors
Local contextBoth application listeners and existing local tool processes use the canonical physical directory; legacy paths resolve
Handbook buildExit 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.

On this page