---ci--- project: acdl phase: 52 milestone: v1.10 status: plan decisions: [D-090, D-091, D-092, D-093, D-094] requirements: [REQ-112, REQ-113, REQ-114, REQ-115] ---/ci---
8.6 KiB
phase, name, milestone, requirements, type
| phase | name | milestone | requirements | type | ||||
|---|---|---|---|---|---|---|---|---|
| 52-55 | v1.10-pipeline-regression-fix-and-capability-reverification | v1.10 |
|
fix/test/docs |
ACDL v1.10 — Pipeline Regression Fix + Capability Re-Verification
Milestone v1.10. Generated at PLAN stage. Autonomy: full. Requirements: REQ-112..REQ-115 (see REQUIREMENTS.md). Decisions: D-090..D-094 (see PROJECT.md). Versioning: NFR/fix milestone — progressive patch versions per phase (v1.9.9..v1.9.12), tag
v1.10.0at milestone COMPLETE (next minor; this is fix/test/docs, not a breaking schema change).
Context
The CLARIFY/RESEARCH stages (this run, 2026-07-27) surfaced a structural defect and a credibility gap:
- VERIFY is diff-scoped (D-091). The CIAgent VERIFY stage checks the phase diff only; it never re-runs underlying platform capability. The pipeline has no regression memory. As a result, 8 NFR-patch phases (v1.9.1→v1.9.8, deck rework) passed VERIFY while the platform they described decayed underneath them.
- Advertised capability is not currently reproducible. The v1.2 ECS Fargate E2E and v1.7 pipelines ran once historically (tags true at the time) but are not reproducible today without revival work. The decks present this capability as current without disclosing the decay.
- Decks froze critical-path work but were sequenced backwards. Deck rework (v1.9.1→v1.9.8) was justified by real incremental exec viewings, but the feedback signal was mixed/ambiguous (thesis-not-landing + demand-proof + needs-polish). The honest sequencing is re-verify → rewrite docs/decks to match reality → polish. This was done backwards for 8 phases.
User decisions (this run):
- D-090: No cap on the re-verification sweep. Fix every advertised capability in-sweep; all must end Verified. Unbounded-risk trade-off accepted for full integrity. Decks stay frozen until the sweep completes.
- D-091: Add a regression-class VERIFY that re-runs capability checks (not just diff checks), at minimum on milestone completion.
- D-092: Build local emulating adapters (flat-file outbox, local ECS emulator, local S3 state, local Lambda stub) so the platform is fully locally testable without cloud credentials.
- D-093: Re-verify every v1.1→v1.8 advertised capability. v1.0 demo excluded as archived/superseded. Headline E2E runs both live-AWS and local-emulator tiers (both must pass); all other capabilities run locally via emulating adapters.
- D-094: Rewrite PROJECT/ROADMAP/decks to match verified reality; decks unfrozen only after this lands.
Wave ordering
- Wave 1 (sequential): Phase 52 — pipeline regression-VERIFY fix. Must land first; the sweep runs through the fixed pipeline.
- Wave 2 (sequential): Phase 53 — local emulating adapters. The sweep's local tier depends on these.
- Wave 3 (sequential): Phase 54 — v1.1→v1.8 capability re-verification sweep. Fix in-sweep per D-090 (no cap). Tag each capability Verified/Decayed/Broken; repair Decayed/Broken in-phase; all must end Verified.
- Wave 4 (sequential): Phase 55 — rewrite PROJECT/ROADMAP/decks to verified reality; unfreeze decks.
Phase 52 — pipeline-regression-verify-fix
Requirements: REQ-112
Personas: backend-engineer (lead: VERIFY stage), ci-verifier (review)
Branch: phase/52-pipeline-regression-verify-fix
Task 52.1 — Add regression-class VERIFY (REQ-112, backend-engineer)
- Extend the VERIFY stage to support a
regressionmode that re-runs capability checks (not just diff checks). Triggered at minimum on milestone completion; may also be invoked per-phase when a phase touches platform code (not docs-only NFR patches). - The regression run executes the local-emulator tier (Phase 53) for every capability marked Verified in prior milestones. Any capability that fails the regression run blocks milestone completion.
- Record the regression result in
---ci---blocks asregression: { capability: <id>, status: Verified|Decayed|Broken }. - Verify: a regression run against the current codebase surfaces at least one Decayed/Broken capability (proving the gate catches decay, not just passes).
Success Criteria
- VERIFY supports
regressionmode; milestone completion requires a clean regression run. - A regression run against current code surfaces decay (fails closed).
tests/test_verify_regression_mode.pypasses.- Existing diff-scoped VERIFY behavior preserved for non-regression invocations.
Phase 53 — local-emulating-adapters
Requirements: REQ-113
Personas: backend-engineer (lead: adapters), data-engineer (flat-file
outbox), ci-verifier (review)
Branch: phase/53-local-emulating-adapters
Task 53.1 — Flat-file DynamoDB outbox emulator (REQ-113, data-engineer)
- A local adapter that writes evidence events to flat files in a temp folder instead of DynamoDB. Same write/read interface as the live DynamoDB outbox adapter.
- Verify: a contract submission through the local tier writes an evidence event to the flat-file outbox with a valid hash chain.
Task 53.2 — Local ECS emulator (REQ-113, backend-engineer)
- A local adapter that emulates ECS Fargate: records the service definition, returns a synthetic HTTP 200 from a local shell process instead of a real ECS service. Same interface as the live ECS adapter.
- Verify: the headline E2E against the local tier returns HTTP 200 from the emulator.
Task 53.3 — Local S3 state + Lambda stub (REQ-113, backend-engineer)
- Local S3 state backend (flat-file tfstate in temp folder) + local Lambda stub (invokes the handler in-process, no AWS Lambda call).
- Verify:
terraform planruns against the local state backend; the Lambda stub executes the contract-ingestion handler locally.
Success Criteria
- All three local adapters exist; the headline E2E runs end-to-end against the local tier with no cloud credentials.
tests/test_local_emulating_adapters.pypasses.run_platform.sh --local(or equivalent) runs the full pipeline locally.
Phase 54 — v1.1-v1.8 capability-reverification-sweep
Requirements: REQ-114
Personas: ci-verifier (lead: sweep), ci-debugger (in-sweep fixes),
backend-engineer (in-sweep fixes)
Branch: phase/54-capability-reverification-sweep
Task 54.1 — Capability inventory (REQ-114, ci-verifier)
- Enumerate every capability advertised in v1.1→v1.8 PROJECT/ROADMAP:
IR + L1 + adapter, ECS Fargate E2E, contract ingestion Lambda, 3
platform pipelines, CloudFront/WAF, uptime-kuma, decommission mode,
8 P1 remediations, etc. Write the inventory to
.ciagent/CAPABILITY_INVENTORY.mdwith a unique ID per capability.
Task 54.2 — Re-verify each capability (REQ-114, ci-verifier + ci-debugger)
- Headline E2E: run both tiers (live AWS + local emulator). Both must pass.
- All other capabilities: run the local tier via emulating adapters.
- Tag each capability Verified / Decayed / Broken in
CAPABILITY_INVENTORY.md. - For each Decayed/Broken capability: fix in-sweep (D-090, no cap) until
Verified. Commit per capability:
verify(P54): <capability-id> — Verified|Decayed|Brokenthenfix(P54): <capability-id> — <fix-summary>as needed.
Success Criteria
- Every v1.1→v1.8 advertised capability is tagged Verified in
CAPABILITY_INVENTORY.md. (D-090: no cap; all must end Verified.) - Headline E2E passes at both tiers.
- Regression run (Phase 52) is clean against the re-verified state.
Phase 55 — rewrite-to-verified-reality
Requirements: REQ-115
Personas: ci-doc-writer (lead: docs/decks), ci-doc-verifier (review)
Branch: phase/55-rewrite-to-verified-reality
Task 55.1 — Rewrite PROJECT/ROADMAP (REQ-115, ci-doc-writer)
- Add a "Capability Status (Re-Verified 2026-07-27)" section to PROJECT.md listing every v1.1→v1.8 capability with its Verified tag and the tier(s) tested.
- Add a decay disclosure: capabilities marked complete in v1.1–v1.8 ran at the time of tagging; as of 2026-07-27 they were not reproducible and were re-verified in v1.10.
- Update ROADMAP.md v1.9.x entries to note deck-freeze and superseded-by-reverification status.
Task 55.2 — Rewrite decks (REQ-115, ci-doc-writer)
- Update both leadership decks so every capability claim reflects the re-verified status. Remove any claim that cannot be demonstrated live.
- Re-render HTML; upload PPTX to the v1.10.0 release.
Success Criteria
- PROJECT/ROADMAP/decks match
CAPABILITY_INVENTORY.mdexactly. ci-doc-verifierconfirms no stale capability claims remain.- Decks unfrozen; v1.10.0 tagged; Gitea release published.