intrnl.cloud
Implementation plan

Phase 0: architecture spikes and ADRs

Deliverables and exit criteria for architecture spikes and ADRs.

Status: planned; completion evidence not yet recorded in this documentation.

These spikes must finish before substantial production implementation.

Sandbox bake-off

Compare Kata/Firecracker and gVisor against:

  • Escape/threat model
  • KVM requirements
  • Cold start
  • Nuxt memory/build performance
  • Workerd startup
  • Network policy
  • Debuggability
  • Upgrade path
  • Per-app cost

Exit: selected RuntimeClass and documented fallback.

Nuxt/workerd compatibility spike

Build representative Nuxt applications exercising:

  • SSR
  • API routes
  • Static assets
  • Streaming
  • Cookies
  • Authentication context
  • DB binding
  • KV binding
  • Common packages
  • Error handling

Exit: versioned supported Nuxt template and unsupported-package list.

DB binding spike

Implement:

prepare
bind
first
all
run
batch

over an internal RPC service backed by isolated SQLite.

Test concurrency, transaction semantics, WAL, backup, recovery, and multiple runtime replicas.

Exit: documented DB contract and performance envelope.

Entra spike

Create a test tenant integration representative of a pilot organization:

  • OIDC code flow
  • PKCE
  • app roles
  • assigned groups
  • group overage
  • JIT
  • session revocation
  • app login redirect

Exit: finalized claims/mapping design.

MCP spike

Connect both representative OpenAI and Anthropic clients:

  • OAuth
  • user/org selection
  • read tool
  • write tool
  • scope denial
  • deployment request
  • revocation
  • audit

Exit: stable remote MCP transport and OAuth design.

Source spike

Provision and operate hidden Forgejo:

  • repo create
  • branch
  • commit
  • diff
  • merge
  • export
  • optional SSH
  • backup/restore

Exit: source service adapter contract.

Routing/TLS/domain spike

Validate:

  • Separate runtime apex
  • {app}.{org} hostnames
  • Per-org wildcard certificate
  • Preview hostname scheme
  • Cloudflare tunnel/origin protection
  • trusted client-IP derivation

Exit: production routing/certificate ADR.

Artifact/signing spike

Build, sign, upload, fetch, verify, and activate an artifact.

Exit: manifest and key-management format.

Evidence to record

Record implementation revisions, test reports, relevant ADRs, unresolved findings, the accepting owner, and acceptance date. Leave this phase planned until its exit criteria are demonstrated.

Return to the implementation plan.