Jon Chery 930c24be6d docs(research): OIDC blocker found; adopt D-039..D-046; re-scope Phase 08
---ci---
project: acdl
phase: 0
milestone: v1.1
status: research
research_targets: 10
top_finding:
  - TARGET 1 (conf 0.95): Gitea Actions does NOT support id-token: write / OIDC.
    Real OIDC deferred to v1.2 (blocked on go-gitea/gitea#36988).
    Spike adopts D-039: per-run-rotated long-lived key waiver.
decisions_adopted: [D-039, D-040, D-041, D-042, D-043, D-044, D-045, D-046]
risks:
  - R-1 (highest): OIDC gap -> key-rotation waiver (mitigated by D-039)
  - R-2: Checkov terraform_plan edge cases (mitigated by ACDL_TAG_NAMING skipped record)
  - R-3: 6 confidence inputs are a recommendation (D-040 adopted in PROJECT.md)
---/ci---

RESEARCH.md (1330 lines) authored by ci-researcher. Key findings:

- TARGET 1: Gitea Actions does NOT support emitting an OIDC id-token
  (Gitea docs list id-token as unsupported; go-gitea/gitea#33681 open;
  draft PR #36988 unmerged; Gitea's own CI still uses long-lived keys
  per #37980). Real-AWS OIDC is unachievable in this environment for v1.1.
- TARGETS 2-10: Terraform/Checkov install steps, IR prior art, Checkov
  adapter, DynamoDB outbox, 6-input confidence signal, tiered ledger
  (Object Lock deferred), HITL/SoD, contract schema, archive strategy
  — all resolved with concrete sketches in RESEARCH.md.

Adopted D-039..D-046 in PROJECT.md. Re-scoped Phase 08 (ROADMAP) and
REQ-23 (REQUIREMENTS) to reflect the OIDC blocker: the spike uses a
per-run-rotated long-lived key (D-039) instead of OIDC; real OIDC is a
v1.2 deliverable. ARCHITECTURE.md Gitea API surface table updated with
the OIDC verdict.
2026-07-21 18:03:41 +00:00
2026-07-21 17:38:57 +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%