Files
acdl/.ciagent/ROADMAP.md
T
Jon Chery 0540b4e596 chore(P03): traceability update (T-3.11)
---ci---
phase: 3
milestone: v1.0
status: execute
persona: lead-developer
task: T-3.11
requirements:
  covered: [REQ-04, REQ-05, REQ-06, REQ-07, REQ-08, REQ-11]
  partial: [REQ-12]
---/ci---

Wave 3, task T-3.11. REQUIREMENTS: REQ-04/05/06/07/08/11 -> covered
(pending VERIFY). REQ-12 -> partial (l3b_agent_stub created in Phase 03;
full issue-trigger wiring in Phase 04). ROADMAP Phase 03 -> executing.
2026-07-21 13:31:13 +00:00

59 lines
3.4 KiB
Markdown

# ACDL — Roadmap
## Overview
Five-phase breakdown to take ACDL from empty repo to a reproducible 4-act executive demo. Milestone `v1.0-initial` covers the full demo build. Each phase produces a runnable increment and ends with a phase-completion commit + tag.
## Phases
### Phase 01 — repo-scaffolding
- **Description:** Create the three repos under `continuous-intelligence` (`acdl-contracts`, `acdl-evidence`; `acdl` already exists), seed directory layouts, configure Pages on `acdl-evidence`, add environment protection for `qa` and `prod` on `acdl-contracts`.
- **Status:** complete (v1.0.1)
- **Depends on:** —
- **Requirements:** REQ-01, REQ-09, REQ-10
- **Success Criteria:**
- `acdl-contracts` and `acdl-evidence` exist and are pushable.
- `acdl-evidence` Pages returns 200 with placeholder `index.html`.
- `qa` and `prod` environments exist on `acdl-contracts`.
### Phase 02 — l1-modules
- **Description:** Create all 8 L1 module folders under `acdl/modules/l1/`, each with `manifest.yaml` (declared inputs) and `mock_apply.sh` (uniform echo + 1s sleep + exit 0).
- **Status:** complete (v1.0.2)
- **Depends on:** [1]
- **Requirements:** REQ-02, REQ-03
- **Success Criteria:**
- All 8 L1s present; `mock_apply.sh` runs and exits 0 for each.
- `manifest.yaml` validates against the L1 schema.
### Phase 03 — l2-modules-and-core-scripts
- **Description:** Create the 4 L2 compositions under `acdl/modules/l2/` referencing L1s, plus the 5 core scripts in `acdl/scripts/` (`mock_executor.sh`, `policy_checker.py`, `confidence_signal.py`, `evidence_writer.py`, `l3b_agent_stub.py`).
- **Status:** executing
- **Depends on:** [2]
- **Requirements:** REQ-04, REQ-05, REQ-06, REQ-07
- **Success Criteria:**
- `mock_executor.sh` applies each L1 in an L2 and writes `state.json`.
- `policy_checker.py` fails on `public-ingress: true` with `POLICY_VIOLATION:PUBLIC_INGRESS`.
- `confidence_signal.py` returns 0.90 (pass) / 0.40 (fail).
- `evidence_writer.py` appends an event with a valid hash chain.
- `l3b_agent_stub.py` maps the Act 3 example issue to `l2-commodity-price-feed`.
### Phase 04 — pipeline-and-approval-gates
- **Description:** Build the reusable pipeline workflow in `acdl/.gitea/workflows/` (Dev → QA → Prod → Finalize) plus the issue-triggered L3B workflow in `acdl-contracts/.gitea/workflows/`. Wire environment protection for QA and Prod.
- **Status:** not_started
- **Depends on:** [3]
- **Requirements:** REQ-08, REQ-09, REQ-10, REQ-12
- **Success Criteria:**
- Pushing a valid `contract.yaml` runs Dev automatically and pauses at QA.
- Approving QA moves to Prod; approving Prod finalizes.
- Opening an Issue with the Act 3 text generates a `contract.yaml` commit and triggers the pipeline.
### Phase 05 — evidence-ui-and-demo-dry-run
- **Description:** Build `index.html` (vanilla JS, fetches `audit.json`, renders timeline) and run all four acts end-to-end as a dry run.
- **Status:** not_started
- **Depends on:** [4]
- **Requirements:** REQ-11, REQ-13, REQ-14, REQ-15
- **Success Criteria:**
- Pages timeline renders events from `audit.json`.
- Act 2: valid contract passes through all gates; timeline shows the full flow.
- Act 3: Issue text produces the expected `l2-commodity-price-feed` contract and triggers the pipeline.
- Act 4: malicious `public-ingress: true` contract halts in Dev with confidence < 0.50 and a visible rejection reason on the timeline.