Jon Chery 24cd81b6aa verify(P05): passed (4 layers, 0 P0, 0 P1)
---ci---
phase: 5
milestone: v1.0
status: verify
requirements:
  covered: [REQ-13, REQ-14, REQ-15]
  partial: []
lessons:
  - Phase 05 dry-run = local bash simulation (scripts/run_demo.sh) because
    no act_runner is registered. The simulation produces the same audit.json
    shape a real pipeline run would, so the UI renders identically. A real
    end-to-end run requires registering an act_runner (out-of-band Gitea UI).
  - mock_executor.sh resolves modules/l2/<stack>/ relative to its cwd. The
    dry-run script must cd to the repo root (or pass an absolute modules path)
    before invoking it. Documented in ARCHITECTURE.md and verified by the
    'no stray state.json in repo root' check.
  - finalize_evidence.py --path flag lets the same helper upload both
    audit.json (default --path=audit.json) and index.html (--path index.html)
    to acdl-evidence. The --audit flag is the LOCAL file path; --path is the
    REMOTE path. Confusing naming, kept for backward compatibility with Phase 04.
  - innerHTML on escaped event data is XSS-safe because esc() escapes
    & < > " — sufficient for body + attribute context. A static-analysis
    'innerHTML' warning is a false positive when the input is escaped.
review:
  p0: 0
  p1: 0
---/ci---

Layer 1 STRUCTURAL: PASS (3/3 files; bash -n + py_compile + yaml load clean; no TODO/FIXME).
Layer 2 BEHAVIORAL: PASS (verify_phase05.sh 13/13 checks; 4 acts reproduce deterministically; 11 events; Act 4 rejection visible).
Layer 3 SECURITY: PASS (no secrets; UI uses esc() before innerHTML; hash chain is tamper-evident; no external resources).
Layer 4 QUALITY: PASS.

Requirements covered this phase: REQ-13 (raw URL 200 on audit.json + index.html), REQ-14 (vanilla-JS timeline UI), REQ-15 (4 acts reproduce deterministically). No partials.

The demo is live at:
  https://git.cloudinit.dev/continuous-intelligence/acdl-evidence/raw/branch/main/index.html
2026-07-21 13:53:01 +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%