Jon Chery 1d5c4d2ae7 phase: 8, status: plan-as-execute, persona: platform-engineer+lead-developer, task: T-8.5..T-8.7
---ci---
project: acdl
phase: 8
milestone: v1.1
status: plan-as-execute
persona: platform-engineer+lead-developer
task: [T-8.5, T-8.6, T-8.7]
requirements.covered: [REQ-23]
---/ci---

Waves 3+4: rotation script + verify script + README + .gitignore.

- T-8.5 (platform): scripts/rotate_spike_key.sh - boto3 with bootstrap
  root key from env (ACDL_BOOTSTRAP_AWS_*); creates new key for
  acdl-spike-runner, deactivates+deletes old, writes new to gitignored
  .env.secrets (chmod 600); idempotent (re-run ends with exactly 1
  active key); optional Gitea secret upload if ACDL_GITEA_TOKEN set;
  does NOT rotate the root key (D-034 closure = manual user step).

- T-8.6 (lead): scripts/verify_phase08.sh - loads rotated key from
  .env.secrets, asserts caller identity is acdl-spike-runner (not root),
  S3 bucket + DynamoDB table + IAM user + scoped policy with
  DenyEverythingElse all present, .env.secrets + .bootstrap_state.json
  gitignored. Uses heredoc python to avoid bash quoting issues.

- T-8.7 (lead): terraform/bootstrap/README.md runbook (6 steps incl.
  manual D-034 root-key rotation) + .gitignore (.env.secrets +
  .bootstrap_state.json). Spike vs v1.2 boundary table.

bash -n + gitignore checks pass.
2026-07-21 19:00:08 +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%