Skip to content

Team Split Assessment

FactorValueThresholdAssessment
Total file changes2015Over
Sequential phases with dependencies2 (Phase 0 → Phase 1)2At threshold
Distinct persona types needed2 (devops-engineer, quality-reviewer)4Under
Working directories1 (infrastructure repo)1At threshold
Cross-cutting concerns2 (root account deploy, CI integration)1Over
Tasks with external validation5 (cdk synth, deploy-root, amm.sh, verify-image-cdn, npm test)5At threshold

Qualitative factors:

  • Natural phase boundary: Phase 0 (DNS) must be deployed and verified before Phase 1 (partition resources) can use the assets hosted zone and certificate. This is a hard deployment gate — not just a code dependency.
  • Error blast radius: A root account deployment error affects all infrastructures; isolating it in its own run limits blast radius.
  • Context window: The two phases use different stack files, different deployment commands, and different verification methods. Separating them keeps each run focused.

Split into 2 runs. The deployment gate between Phase 0 (root + infra DNS) and Phase 1 (partition CDK constructs) is a natural boundary. Run 1 modifies shared global infrastructure (root account, infrastructure stacks); Run 2 creates new partition-scoped constructs and tests. Separating them limits the blast radius of root account changes and enables independent validation.

RunDirectoryDescriptionFilesPersonasEst. Tasks
1run-1-dns-foundation/Phase 0: Root zone, infra subdomain zone + cert, deploy-root.sh, ci-root-check.js, ari-configuration6 modified/newdevops-engineer8
2run-2-partition-resources/Phase 1: CDK constructs, stacks, partition wiring, tests, CI, verification script, multi-env deployment16 modified/newdevops-engineer, quality-reviewer23
Run 1 produces:
- assets.arda.cards hosted zone (deployed to root account)
- <infra>.assets.arda.cards subdomain zone + ACM cert (deployed to infra account)
- deploy-root.sh script
- ASSETS_DOMAIN constant + assetsDomain() function in ari-configuration.ts
- Updated ImportingStack with assetsHostedZone + assetsCertificateArn
Run 2 consumes:
- assetsHostedZone and assetsCertificateArn from ImportingStack
(available via cross-stack imports after Run 1 deployment)
- assetsDomain() for CDN custom domain construction

Run 2 cannot start implementation until Run 1 is deployed (not just coded) — the hosted zone and certificate must exist in AWS for the CDN construct to create DNS records and use the certificate.

However, Run 2 can start coding constructs and tests against LocalStack or mocked values before Run 1 is deployed. The deployment gate applies only to integration testing and the verification script.

RiskMitigation via Split
Root account deployment failure blocks all workRun 1 is small (5 files); failure is diagnosed quickly before Run 2 begins
ACM certificate DNS validation fails (slow propagation)Isolated in Run 1; Run 2 doesn’t wait for cert issuance to start coding
New constructs break existing stacksRun 2’s snapshot tests and ci-check catch regressions before deployment
Root account has no CI automationRun 1 includes deploy-root.sh; manual execution is acceptable for a one-time setup

Coordination overhead is minimal: one handoff between runs, verified by a deployment gate (not a code review gate).

#QuestionOptionsRecommendationDecision
1Should Run 2 start coding before Run 1 is deployed?(a) Wait for full deployment, (b) Start coding against mocked imports(b) — constructs can be developed and unit-tested independently; only integration testing needs live infrastructurePending
2Worktree strategy(a) Single worktree per run, (b) Shared worktree(a) — each run gets its own branch for clean PRsPending

Copyright: (c) Arda Systems 2025-2026, All rights reserved