# SnowIT Tenant Tree (2026-05-15 migration)

# SnowIT Tenant Tree (2026-05-15 migration)

## Legal Boundary

**SnowIT BA is an independent legal entity.** ALAI Holding AS provides technology and operations support under service agreement. ALAI has ZERO financial share/equity in SnowIT BA.

*CEO directive 2026-05-15:* "SnowIT BA = independent legal entity. ALAI = tech-only ZERO financial share."

## New Canonical Layout

As of 2026-05-15, SnowIT BA operates under dedicated tenant tree:

```
~/tenants/SnowIT-BA/
├── company/           # Corporate operations
│   ├── state/         # System state, sessions (was ~/clients-external/snowit-state)
│   ├── finances/
│   ├── contracts/
│   └── reports/
├── legal/             # Legal documents, compliance
├── contacts/          # CRM, stakeholder data
├── calendar/          # Events, deadlines
├── mail/              # Email archives, campaigns
├── forms/             # Templates, intake forms
├── templates/         # Document templates
├── web/               # Web properties
│   └── snowit-site/   # Main repo (was ~/clients-external/snowit-site)
└── clients/           # SnowIT client projects

```

## Migration Summary

### What Moved

- `~/clients-external/snowit-site` → `~/tenants/SnowIT-BA/web/snowit-site`
- `~/clients-external/snowit-state` → `~/tenants/SnowIT-BA/company/state`
- Client reference symlink: `~/business/ALAI-Holding-AS/clients/SnowIT` → `~/tenants/SnowIT-BA/_external-tenant-snowit-reference`

### What Stayed in ALAI Tree

- `~/business/ALAI-Holding-AS/products/SnowIT/linkedin-cadence/` — ALAI internal tool (CEO directive: stays in ALAI tree)

### Hard Cutover Confirmed

Both old directories removed:

- `~/clients-external/snowit-site` → *No such file or directory*
- `~/clients-external/snowit-state` → *No such file or directory*

## Validation Evidence

**Status: PASS (9/9 criteria)**

<table id="bkmrk-idcriterionstatusevi"><thead><tr><th>ID</th><th>Criterion</th><th>Status</th><th>Evidence</th></tr></thead><tbody><tr><td>V1</td><td>snowit.ba serves HTTP/2 200</td><td>✓ PASS</td><td>/tmp/proveo-100723/curl-snowit.txt</td></tr><tr><td>V2</td><td>enterprise.snowit.ba serves HTTP/2 200</td><td>✓ PASS</td><td>/tmp/proveo-100723/curl-enterprise.txt</td></tr><tr><td>V3</td><td>Playwright screenshot rendered</td><td>✓ PASS</td><td>/tmp/proveo-100723/snowit-landing.png (124KB)</td></tr><tr><td>V4</td><td>Vercel projectId intact</td><td>✓ PASS</td><td>/tmp/proveo-100723/vercel-project.json</td></tr><tr><td>V5</td><td>LaunchAgents operational</td><td>✓ PASS</td><td>3 daemons loaded, path-independent</td></tr><tr><td>V6</td><td>Git remote correct</td><td>✓ PASS</td><td>git@github.com:snowitba/snowit-site.git</td></tr><tr><td>V7</td><td>Repo-local \[user\] config removed</td><td>✓ PASS</td><td>Global ~/.gitconfig inherits correctly</td></tr><tr><td>V8</td><td>No live functional refs to old path</td><td>✓ PASS</td><td>20 mentions are historical/spec/memory only</td></tr><tr><td>V9</td><td>Hard cutover confirmed</td><td>✓ PASS</td><td>Both old directories removed</td></tr></tbody></table>

## Open Items

### Non-Blocking

- **DEPLOY-MAP.md schema upgrade** — Line 32 has stale path `~/projects/snowit-site`. Kelsey-hightower blocked by `blueprint-schema-validator` pre-hook. Requires DEPLOY-BLUEPRINT v2 compliance upgrade. Separate MC opened for schema migration.

## References

- **MC:** #100723
- **ADR:** [ADR-026 SnowIT Tenant Tree](https://docs.alai.no/books/system-architecture/page/adr-026-snowit-tenant-tree)
- **Spec:** ~/system/specs/snowit-tenant-migration-2026-05-15.md
- **Executor:** kelsey-hightower (FlowForge)
- **Validator:** angie-jones (Proveo)
- **Supersedes:** anvil-fs-d2 (Phase D restructure now complete for SnowIT)
- **Canonical Registry:** ~/system/specs/canonical-registry.md