d28630d1f17d0d6bc0167411196a4f8d51a20011
---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).
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.
- Vision (the why):
docs/vision.md - Architecture (the how):
docs/architecture.md - Decisions:
.ciagent/PROJECT.md - Target architecture:
.ciagent/ARCHITECTURE.md - Phase plan:
.ciagent/ROADMAP.md
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 → realterraform planagainst AWS). - v1.0 demo (complete, archived): tag
v1.1.0. The 30-minute stub-driven executive demo is preserved underdemo/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 09–10 |
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.
Description
Nova — The New Dawn of DevSecOps. Autonomous infrastructure delivery: consumers declare intent, the platform ships safely with an immutable audit trail.
agenticaudit-ledgerawscontinuous-deploymentdevsecopsgitea-actionsinfrastructure-as-codekyverno-jsonpolicy-as-codeterraform
Readme
69 MiB
Releases
128
Languages
Python
87.2%
Shell
8.6%
HCL
4.2%