Jon Chery d28630d1f1 phase: 8, status: plan-as-execute, persona: lead-developer, task: T-8.8
---ci---
project: acdl
phase: 8
milestone: v1.1
status: plan-as-execute
persona: lead-developer
task: T-8.8
requirements.covered: [REQ-23]
---/ci---

Wave 5: execute the bootstrap against real AWS + fix verify script.

- Created S3 bucket acdl-tfstate-581513795199-us-east-1 (versioning
  enabled) + DynamoDB table acdl-outbox (PAY_PER_REQUEST, PK contractId,
  SK eventType#eventTs) via create_state_backend.py.
- Created IAM user acdl-spike-runner + scoped inline policy
  (DenyEverythingElse) + initial key via create_iam_user.py.
- Rotated the spike key via rotate_spike_key.sh: old key deleted, new
  key in gitignored .env.secrets (chmod 600).
- verify_phase08.sh fixes: (a) heredoc python instead of -c to avoid
  bash quoting issues; (b) Check 4 uses the bootstrap root key to
  inspect IAM (the spike key is least-privilege and cannot iam:GetUser
  - that itself confirms the policy denies non-granted actions); (c)
  get_user_policy returns PolicyDocument as a dict, not a URL-encoded
  string in this boto3 version - handle both.
- VERIFIED: caller identity is acdl-spike-runner (not root), S3 + DDB +
  IAM user + Deny-everything-else policy all present, .env.secrets +
  .bootstrap_state.json gitignored.

D-034 closure: user must manually rotate the root key in the AWS IAM
console now (the bootstrap root key has served its one-shot purpose).
2026-07-21 19:01:58 +00:00

ACDL — Agentic Cloud Delivery Platform

Consumers declare intent; the platform delivers safe production deployment through an agentic stack — automatically, safely, and with a complete audit trail. A merged change progresses through lower environments end-to-end without a platform engineer joining a thread; a non-technical consumer ships a production deployment by declaring intent, without authoring a workflow, a configuration file, or a Terraform module.

Status

  • v1.1 (active): architecture finalization + v1 spike. Finalize the architecture to v1.0 (resolve the 11 open design decisions) and prove the locked commitments with one end-to-end implementation spike (l1-s3 + l2-static-asset + Terraform adapter → real terraform plan against AWS).
  • v1.0 demo (complete, archived): tag v1.1.0. The 30-minute stub-driven executive demo is preserved under demo/ as the intent reference; it is not the platform.

Repository layout

Path Purpose Populated
acdl_platform/ Platform code: confidence signal, contract resolver, outbox, HITL/ledger designs (renamed from platform/ in Phase 08 to avoid shadowing the stdlib platform module) Phase 07+
schemas/ JSON Schemas: IR, PolicyCheckResult, contract Phase 07
adapters/ Substrate adapters (Terraform adapter in v1; the only substrate-specific code per §12) Phase 09
terraform/ State backend + provider config (S3 state + DynamoDB lock) Phase 08+
modules-ir/ IR-typed L1/L2 modules (l1-s3, l2-static-asset) Phase 0910
scripts/ v1.1 verify scripts (verify_phaseNN.sh) Phase 06+
demo/ Archived v1.0 executive demo (tag v1.1.0); runs locally via demo/scripts/run_demo.sh --no-upload complete
.ciagent/ CIAgent metadata (plans, decisions, personas, roadmap, research) active
docs/ Upstream vision + architecture sources active

Running the archived demo

The v1.0 demo is an archived artifact. To re-run it locally:

bash demo/scripts/run_demo.sh --no-upload

The demo deck is at demo/ACDL_DEMO.md. The demo runs entirely on local stubs — no AWS, no AI — and shows intent and safety behavior rather than provisioning real cloud resources. It is the reference of intent for the real platform; it is not the platform itself.

S
Description
Nova — The New Dawn of DevSecOps. Autonomous infrastructure delivery: consumers declare intent, the platform ships safely with an immutable audit trail.
Readme 69 MiB
Languages
Python 87.2%
Shell 8.6%
HCL 4.2%