Skip to main content

What must exist before work can progress?

DEPENDENCY MAP: IDENTITY & ACCESS
════════════════════════════════════════════════════════════

┌─────────────┐
│ TIER 0: │
│ UNBLOCK │
│ OWNER │
└──────┬──────┘

┌────────────────┼────────────────┐
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ H1: │ │ H2: │ │ H3: │
│ Fix │ │ Seed │ │ Break │
│ 22P02 │ │ Admin │ │redirect │
│ query │ │ role │ │ loop │
│ (eng) │ │ (eng) │ │ (eng) │
└────┬────┘ └────┬────┘ └────┬────┘
│ ═════╪══════ │
│ │ │
└───────────────┼──────────────┘


┌─────────────┐
│ TIER 1: │
│ AUTO- │
│ BOOTSTRAP │
└──────┬──────┘


┌─────────────┐
│ TIER 2: │
│ RBAC │
│ ENFORCED │
└──────┬──────┘

┌────────────┼────────────┐
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ TIER 3: │ │ TIER 3: │
│ Invites │ │ Org │
│ (eng) │ │ Switcher │
│ │ │ (eng) │
└────┬────┘ └────┬────┘
│ │
└────────────┬───────────┘


┌─────────────┐
│ TIER 4: │
│ BILLING + │
│ SETTINGS │
└──────┬──────┘


┌─────────────┐
│ TIER 5: │
│ HARDENING │
└─────────────┘

─────── = Soft (can proceed with workaround)
═══════ = HARD (cannot proceed without)

════════════════════════════════════════════════════════════

Dependency Table

IDDependencyTypeClassificationOwnerBlocksStatus
H1Fix 22P02 query (use systemUserId not Clerk userId)CodeHARDEngineeringALL accessBlocked
H2Seed Admin role in governance tablesDataHARDEngineeringRole assignmentBlocked
H3Break redirect loop (error page not redirect)CodeHARDEngineeringDashboard accessBlocked
S1Set ADMIN_EMAILS env var in VercelConfigSoftWikWorkaround for H2Not started
S2Auto-provision assigns Admin roleCodeSoft (after H1+H2)EngineeringRepeatable onboardingNot started
S3Switch defaultAllow to falseConfigSoft (after role data)EngineeringPermission enforcementNot started
S4Define three roles + permissionsDataSoftEngineeringRBACNot started
S5Invite-by-email flowFeatureSoft (after RBAC)EngineeringMulti-user onboardingNot started
S6Org switcher UIFeatureSoft (after invites)EngineeringMulti-org usersNot started
S7Stripe billing on orgIntegrationSoftEngineeringRevenue collectionNot started
S8Database-level RLSInfrastructureSoftEngineeringDefense-in-depthNot started

Critical Path

H1 (fix query) → H2 (seed roles) → H3 (break loop)
→ Tier 1 (auto-bootstrap)
→ Tier 2 (RBAC enforced)
→ Tier 3 (invites + org switching)

Minimum time Tier 0: 1 day engineering
Minimum time Tier 0-1: 2 days engineering
Minimum time Tier 0-2: 5 days engineering

H1, H2, H3 can run in parallel — three independent bugs with independent fixes. Critical path shrinks if parallelized.

External Dependencies

DependencyExternal?RiskMitigation
Clerk authenticationYes (SaaS)Low — Clerk is workingClerkAuthAdapter abstracts provider
Vercel env varsYes (hosting)Low — configuration onlyWik has admin access
Postgres (Supabase)Yes (DBaaS)Low — schema already deployedDirect DB access for seed scripts

Downstream Impact

This PRD blocks everything that requires login:

Blocked PRDWhyUnblocked At
Sales CRM & RFPCan't access CRM if owner locked outTier 0
Sales Dev AgentBlocked by Sales CRMTier 0
Content AmplifierNeeds authenticated API accessTier 0
Agent PlatformAgent identity requires user identityTier 1
All venturesCan't onboard paying customersTier 2

Parallelization

CURRENT (Sequential)              OPTIMIZED (Parallel)
──────────────────── ────────────────────

H1 ── H2 ── H3 ── T1 H1 ──┐
├──► T1 ── T2 ── T3
Lead time: 4 days H2 ──┤

H3 ──┘

Lead time: 2 days

Gate

Before moving to Capability Map:

  • All dependencies identified and classified — YES (11 items)
  • Hard vs soft classification complete — YES (3 hard, 8 soft)
  • Critical path identified — YES (H1→H2→H3→T1→T2→T3)
  • Risk matrix populated — YES (3 external dependencies assessed)
  • Parallelization opportunities documented — YES (H1/H2/H3 parallel)
  • Every blocker has an owner and escalation path — YES (Engineering team)

Context