Jon Chery dfa9002b3a verify(P02): passed (4 layers, 0 P1 findings)
---ci---
phase: 2
milestone: v1.0
status: verify
requirements:
  covered: [REQ-02, REQ-03]
  partial: []
lessons:
  - L1 manifests declare plausible input names (bucket_name, role_name, etc.)
    that are never consumed by mock_apply.sh (D-018). This caused a brief
    moment of confusion during plan review ('why declare inputs if unused?')
    The answer: traceability + Phase 03 mock_executor reads the manifest to
    enumerate the L1s in an L2, not to pass values.
  - Subagent (ci-executor) needed an amend on the first commit to fold the
    .gitkeep deletion into T-2.1. This is a recurring pattern when removing
    placeholder files: stage the new files, then 'rm + git add -u' for the
    deletion, then amend (or commit twice). Document for future phases.
review:
  p0: 0
  p1: 0
---/ci---

Layer 1 STRUCTURAL: PASS (16 L1 files + verify script; bash -n + yaml load clean; no TODO/FIXME).
Layer 2 BEHAVIORAL: PASS (verify_phase02.sh green; all 8 L1s run with correct markers + ~1s timing).
Layer 3 SECURITY: PASS (no secrets; L1 stubs print only their own name; no auth flow).
Layer 4 QUALITY: PASS (uniform structure; all 8 manifests match schema; no special cases).

Requirements covered this phase: REQ-02, REQ-03. No partials.
2026-07-21 13:17:38 +00:00

ACDL — Agentic Cloud Delivery Platform

A 30-minute executive demo proving that infrastructure can be delivered automatically, safely, and with a complete audit trail — without the usual weeks of manual tickets, reviews, and copy-pasted configuration.

The demo runs entirely on local stubs (no AWS/GCP/Azure, no external LLM APIs). It shows intent and safety behavior rather than provisioning real cloud resources.

Four acts

  1. Act 1 — The Friction: the old manual 2-week deployment process.
  2. Act 2 — Developer Self-Service: commit a valid contract.yaml for l2-commodity-price-feed, watch Dev auto-run, QA + Prod approval gates, then the evidence timeline.
  3. Act 3 — Citizen Developer: open a GitHub/Gitea Issue with natural- language intent; the Python keyword parser generates the same contract.yaml and triggers the identical pipeline.
  4. Act 4 — The Safety Net: commit a malicious contract.yaml (public-ingress: true) for l2-regulatory-reporting; the pipeline halts in Dev because the confidence signal drops below 0.50, and the rejection is visible on the evidence stream.

Repositories

All under the continuous-intelligence Gitea org at https://git.cloudinit.dev:

  • acdl (this repo) — platform + stubs + reusable workflows
  • acdl-contracts — developer surface (contract.yaml + issue trigger)
  • acdl-evidence — audit timeline (served via raw file URLs; Gitea has no native Pages — see .ciagent/ARCHITECTURE.md Gitea API Surface table)

Project metadata

See .ciagent/PROJECT.md for the full spec, .ciagent/ROADMAP.md for the 5-phase breakdown, .ciagent/REQUIREMENTS.md for traceable requirements, and .ciagent/PERSONAS.md for the active persona roster.

Phase 01 verification

After running scripts/gitea_setup.sh (which creates acdl-contracts and acdl-evidence in the org and pushes the placeholder index.html), run:

ACDL_GITEA_TOKEN=<token> scripts/verify_phase01.sh

The script confirms:

  • both new repos exist via the Gitea API
  • the raw index.html URL on acdl-evidence returns HTTP 200
  • the qa and prod branches exist on acdl-contracts

Exit 0 = Phase 01 success criteria met.

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%