Files
acdl/terraform/onboarding
Jon Chery e7866fda84
Nova Slides Render / render (push) Failing after 1m4s
docs(P1): strategic docs — thesis rename + NORTH_STAR objectives + RACI restructure
AUTONOMY_THESIS.md (git mv from NO_HUMANS_THESIS.md): reframe from
'removing humans' to 'autonomy in operations, human at stage gates'.
Drop D-### citations + internal file paths; keep anti-claims, reworded.
Anti-claim #1 now: 'decisions are NOT made by an LLM — deterministic
scripts calculate a score; the platform functions without AI'.

NORTH_STAR.md:
- Vision: 'invisible' → 'visible' (operations become visible — recurring
  theme); polish for technical audience (security, remediation velocity,
  reliability, lead time).
- Objective #2: 'provable trust in AI decisions' → 'provable trust in
  automated decisions' (deterministic scripts calculate a score;
  platform functions without AI).
- Objective #3: four CTO-grade metrics (Lead Time PR→Prod, Infra Vuln
  Count trend, MTTR, Cloud Spend Reduction) → all flow into PowerBI.
- Objective #4: 'default substrate for agentic consumption' → integrate
  with externally owned PDLC/SDLC/Agentic/Citizen Developer platforms
  regardless of source; Nova provides skills + MCP endpoints; all prod
  intents go through the same controls + quality gates.
- Anti-goals: drop #1 (hyperscaler competitor), #4 (legacy untagged),
  #5 (sold to operators). Add: 'not an upstream development platform',
  'not a replacement for the PDLC'. Reword #3 (no 'removes humans').

docs/raci.md: 3 roles → 4 roles. Add Quality Engineering column. Rename
Release Management → SRE. Split release attestation into Quality
attestation (QA) + Production readiness (SRE). Platform no longer holds
A for attestation — reassigned to QE/SRE.

docs/scope.md: add integration framing (skills + MCP endpoints, all
sources go through same controls).

Render scripts: default deck name → nova-autonomous-cloud-delivery.
ONBOARDING + terraform/onboarding: 'no-humans' → 'autonomous'.

---ci---
project: acdl
phase: 1
milestone: v1.21
status: execute
phase_role: execution
---/ci---
2026-08-11 13:55:53 +00:00
..

terraform/onboarding/ — Consumer deploy-role + ABAC tag grant (P20, REQ-184)

Offline-proven Terraform for the cross-account consumer deploy-role + nova:owner ABAC tag grant. This is the "role grant" half of the autonomous onboarding flow (D-113); the "request" half is P18 (Lambda action) + P19 (env-file autogen).

Scope (D-114)

This Terraform is offline-proven only in v1.16:

  • terraform validate passes.
  • terraform plan (with NOVA_AWS_ACCOUNT_ID set) produces the expected role + policy.
  • No live applyNOVA_LIFECYCLE_MODE=plan default. Live apply is deferred to a future feature milestone (D-113/D-114).

Variables

Variable Description Default
consumer_repo The consumer repository (org/repo) acdl/consumer-a
owner_id The owning team (for nova:owner tag) team-a
account_id The consumer's AWS account ID 000000000000
region AWS region us-east-1

Resources

  • aws_iam_role.consumer_deploy — the consumer's deploy role with a trust policy (assumed by the consumer's CI runner).
  • aws_iam_role_policy.consumer_invoke — inline policy granting lambda:InvokeFunctionUrl on the platform Lambda, scoped via aws:PrincipalTag/nova:owner == var.owner_id (ABAC).
  • aws_iam_tag.owner — tags the role with nova:owner + nova:contract.

Usage (offline)

cd terraform/onboarding
terraform init -backend=false
terraform validate
NOVA_AWS_ACCOUNT_ID=123456789012 terraform plan -var consumer_repo=acdl/my-app -var owner_id=team-x