Jon Chery
f5b681f31a
docs(audit): v1.16 post-milestone audit — PASS (ARCHITECTURE addendum + REVIEW reconstruction)
...
acdl-ci / Lint (push) Successful in 13s
acdl-ci / Platform check-only (offline) (push) Successful in 33s
acdl-ci / Test (push) Failing after 7m18s
Audit of v1.16-Nova Simplification milestone: reconstruction PASS (4
commits, 3 with ci blocks, 1 merge per convention, state matches
checkpoint). File discipline: 2 auto-fixed gaps — ARCHITECTURE.md had 0
v1.16 references (added v1.16 addendum: 6 new components, 10 modified,
new schema, onboarding architecture, G-111 gate) + REVIEW.md held v1.11
content (reconstructed with v1.16 P21 final review: 0 P0, 0 P1, 2 P2
post-hoc accepted). Branch hygiene PASS (0 v1.16 branches remain, all
cleaned post-merge). Commit discipline PASS (0 unresolved escalations).
6 audit checks all PASS. Verdict: PASS.
---ci---
project: acdl
phase: 21
milestone: v1.16
status: complete
phase_role: final
audit: pass
---/ci---
2026-08-01 13:43:15 +00:00
Jon Chery
787a6490a5
docs(audit): v1.15 post-milestone audit — PASS (rebrand header fixes + 6 checks)
...
acdl-ci / Lint (push) Successful in 10s
acdl-ci / Platform check-only (offline) (push) Successful in 23s
acdl-ci / Test (push) Successful in 5m53s
Audit of v1.15-Nova milestone: reconstruction PASS (27 commits, 20 with
ci blocks, 7 merges per convention, state matches checkpoint). File
discipline: 10 auto-fixed rebrand-completeness gaps — 9 .ciagent/*.md
headers still said ACDL (PROJECT/REQUIREMENTS/ROADMAP/RESEARCH/AUDIT/
REVIEW/COST/IAM_POLICY/CAPABILITY_INVENTORY → Nova) + config.json
projects[].name → Nova. Active v1.15 sections already Nova; historical
v1.1-v1.14 narratives left as-is. Branch hygiene PASS (6 phases + 1
milestone all merged, 0 orphans). Commit discipline PASS (0 non-merge
commits without ci blocks, 0 unresolved escalations). 6 audit checks
all PASS. Verdict: PASS.
---ci---
project: acdl
phase: 5
milestone: v1.15
status: complete
phase_role: final
audit: pass
---/ci---
2026-07-30 14:37:58 +00:00
Jon Chery
073afcfe84
verify(P##): code review — multi-persona (P60-P65)
...
Reviewed 22 commits (e1bb214..8c09580), 25 files, +790/-142 lines.
447 fast offline tests pass (485/490 collected, 5 slow deselected).
P0: 0 (no blocking fixes).
P1: 5 (post-hoc) — adapter dedup drops unknown-module resources silently;
L2 static-assets modify is a no-op (CDN/WAF always present, inputs
unwired); L2 lifecycle scripts ignore ci-vpc-outputs.json arg;
CAPABILITY_INVENTORY summary table stale (16 vs 22); CAP-017..022
regression checks are offline proxies not live pipeline evidence.
P2: 4 — ALB name_prefix discards var.name; no tests for dedup or
ACDL_REMOTE_STATE_KEY; WAF upper() redundant with example; account ID
published in COST.md (accepted exposure, no secret leakage).
What is correct: WAF upper(), VPC create_before_destroy+same-CIDR, ALB
name_prefix pattern, adapter dedup (registered case), L2 composition
wires, ACDL_REMOTE_STATE_KEY plumbing, byte-identical workflows, adapter
194 lines (under 200), teardown structure (ci-vpc-destroy if: always()).
No credential leakage in COST.md/PRE_MORTEM/workflows.
---ci---
phase: 65
milestone: v1.11
status: verify
lessons:
- P0 fix applied: none (no blocking issues)
- P1 flags: 5 (adapter dedup silent drop, static-assets no-op modify, L2
script vestigial arg, CAPABILITY_INVENTORY stale table, CAP-017..022
offline-proxy evidence)
---/ci---
2026-07-29 12:31:02 +00:00
Jon Chery
28d4645a0c
verify(v1.10): code review — 1 P0 auto-fixed, 1 P1 auto-fixed, 2 P1+ flagged
...
acdl-ci / Lint (push) Successful in 9s
acdl-ci / Test (push) Successful in 2m12s
acdl-ci / Platform check-only (offline) (push) Successful in 10s
Multi-persona review of the v1.10 milestone (6 commits, 23 files).
P0-1 (auto-fixed): TOCTOU race in LocalEcsEmulator.deploy() — opened a
socket to find a free port, closed it, then bound TCPServer to that
port. Between close and bind, another process could grab the port,
causing serve_forever to fail with OSError: Address already in use.
Fix: bind TCPServer directly to port 0 (OS assigns a free port
atomically); read the assigned port back from server_address[1].
P1-1 (auto-fixed, upgraded): run_local_e2e() called os.chdir() as a
side-effect without restoring the prior CWD. Fix: wrapped the body in
try/finally that restores prior_cwd on exit.
P2-1 (flagged): regression registry covers microservice + static-assets
but not uptime-kuma or RDS stacks. Recommend adding in a future patch.
P2-2 (flagged): _check_outbox_writer uses an f-string to embed a temp
path into a python3 -c command. Safe in practice but fragile by design.
Verified after fixes: 513 fast tests + 5 slow local E2E tests pass.
No regressions.
---ci---
project: acdl
phase: 0
milestone: v1.10
status: verify
lessons:
- P0 fix: TOCTOU race in LocalEcsEmulator.deploy() — bind to port 0
directly instead of open/close/rebind.
- P1 fix: os.chdir side-effect in run_local_e2e() — restore prior
CWD in a finally block.
- The regression registry should be expanded to cover all L2 stacks
(uptime-kuma, RDS) to prevent untested-stack regressions.
---/ci---
2026-07-27 18:46:05 +00:00
Jon Chery
2697775470
docs(milestone): complete v1.10 — pipeline regression fix + capability re-verification
...
v1.10 milestone COMPLETE. 4 phases (52-55) shipped + verified:
- P52: regression-class VERIFY (D-091) — catches capability decay
- P53: local emulating adapters (D-092) — full local E2E, no AWS
- P54: capability re-verification sweep (D-093) — 16/16 Verified, 7 adapter defects fixed
- P55: rewrite PROJECT/ROADMAP/decks to verified reality (D-094)
Review: READY TO SHIP (0 P0, 0 P1, 1 P2 post-hoc).
Audit: PASS (reconstruction, file discipline, branch hygiene, commit discipline).
Regression gate: 16/16 capabilities Verified (12 local + 4 live-AWS).
Tests: 513 fast + 5 slow, all pass.
Tag v1.10.0 (next minor; fix/test/docs, not a breaking schema change).
---ci---
project: acdl
phase: 0
milestone: v1.10
status: complete
requirements:
covered: [REQ-112, REQ-113, REQ-114, REQ-115]
partial: []
---/ci---
2026-07-27 18:29:33 +00:00
Jon Chery
6e41f09c6e
verify(P43): code review — 1 P0 auto-fixed, 1 P1 auto-fixed, 3 P1 flagged
...
acdl-ci / Lint (push) Successful in 6s
acdl-ci / Test (push) Successful in 26s
acdl-ci / Platform check-only (offline) (push) Successful in 9s
---ci---
phase: 43
milestone: v1.9
status: verify
lessons:
- P0 fix: run_platform.sh HITL gate passed approver via string interpolation into Python (GITHUB_ACTOR injection vector) — fixed by passing env vars (ACDL_HITL_*) read via os.environ
- P1 fix: attestation_matrix._is_fresh accepted future-dated artifacts (negative age bypassed freshness) — fixed with negative-age guard + test
- P1 flagged: WizClient._post does not check GraphQL errors (silent empty-list mask)
- P1 flagged: WizClient._post no SSRF validation on WIZ_API_URL
- P1 flagged: contract_resolver._load_env duplicates environment_check.load (can drift)
---/ci---
Multi-persona review of the v1.9 diff (v1.8.0..HEAD). Review pass 2
(post-complete) caught issues the initial self-review missed:
P0-INJECT (auto-fixed): scripts/run_platform.sh Step 7b interpolated
$APPROVER (GITHUB_ACTOR/GITEA_ACTOR) directly into a Python string
literal — an attacker-controllable username containing shell/python
metacharacters would execute arbitrary Python. Fixed: approver, contract
id, and env are now passed as environment variables to the subprocess
and read via os.environ[...] (no string interpolation).
P1-FRESHNESS (auto-fixed): core/attestation_matrix.py _is_fresh
accepted future-dated artifacts (negative age.days <= window_days).
Fixed: added age.total_seconds() < 0 guard rejecting future timestamps.
Test added: test_freshness_rejects_future_dated_artifact.
3 P1 flagged for post-hoc:
- WizClient._post does not surface GraphQL errors (silent empty mask)
- WizClient._post no SSRF validation on WIZ_API_URL (operator-supplied, low risk)
- contract_resolver._load_env duplicates environment_check.load (drift risk)
REVIEW.md updated with the findings. 494 tests pass; run_ci.sh + run_platform.sh --check-only green.
2026-07-23 11:54:58 +00:00
Jon Chery
5365bb4e0a
docs(milestone): complete v1.9 — verify + review + audit + tag v1.9.0
...
---ci---
project: acdl
phase: 0
milestone: v1.9
status: complete
requirements:
covered: [REQ-100, REQ-101, REQ-102, REQ-103, REQ-104, REQ-105, REQ-106, REQ-107, REQ-108, REQ-109, REQ-110, REQ-111]
partial: []
---/ci---
v1.9 milestone COMPLETE. All 12 requirements satisfied.
Verify: 4 layers PASS (structural 26/26 files, behavioral 493 tests +
run_ci.sh + run_platform.sh --check-only green, security, quality).
Review: 0 P0, 0 P1 (READY TO SHIP). REVIEW.md reconstructed (D-086).
Audit: PASS (reconstruction, file discipline, branch hygiene, commit
discipline — 12/12 commits with ---ci--- blocks).
Updated:
- .ciagent/REQUIREMENTS.md: v1.9 section marked complete; traceability
table REQ-100..111 added.
- .ciagent/ROADMAP.md: v1.9 marked complete; Phase 43 added.
- .ciagent/PROJECT.md: v1.9 objective marked complete.
- .ciagent/config.json: milestone v1.9 status -> complete.
- .ciagent/REVIEW.md: reconstructed with v1.9 content (D-086).
- .ciagent/VERIFY.md: v1.9 4-layer verify.
- .ciagent/AUDIT.md: v1.9 audit (PASS).
- uses:/ref: bumped @v1.6 -> @v1.9 in contracts/, deploy workflows,
docs/consumer-guide.md (D-071 successor).
Tag v1.9.0 created next; floating v1.9 + v1 tags updated.
2026-07-23 04:46:04 +00:00
Jon Chery
18875cd7c8
review(v1.2): READY TO SHIP — multi-persona code review
...
---ci---
project: acdl
phase: 0
milestone: v1.2
status: review
verdict: READY TO SHIP
p0: 1 (operator action, non-code)
p1: 1 (adapter hardening, v1.3)
---/ci---
v1.2 milestone review: READY TO SHIP. 1 P0 (IAM operator action, not a
code fix), 1 P1 (adapter hardening deferred to v1.3). The milestone's code
is complete + verified up to terraform plan (13 to add); the one remaining
step is the operator's IAM policy push. Ship tag v1.3.0.
2026-07-21 22:25:29 +00:00
Jon Chery
0fea29cdbb
docs(P12): plan-as-execute + verify (v1.2.2)
...
---ci---
project: acdl
phase: 12
milestone: v1.2
status: verify
verdict: VERIFIED
requirements:
covered: [REQ-30]
---/ci---
Phase 12 plan-as-execute + verify. scripts/verify_phase12.sh green (22
assertions). All Wave 1 + Wave 2 tasks complete:
- T-12.1: run_spike_*.sh -> run_platform.sh (D-048, --plan-only flag)
- T-12.2: spike_runner_policy.json expanded (ECS + ECR + ELB + IAM + EC2)
- T-12.3: idempotency documented in bootstrap scripts
- T-12.4: P1-1 redacted (no live AWS key IDs in .ciagent/)
- T-12.5: P1-B fixed (PERSONAS.md platform/registry -> modules-ir/registry.json)
Subagent confirmed run_platform.sh --plan-only runs against real AWS, exit 0.
Ready to ship v1.2.2.
2026-07-21 21:01:51 +00:00
Jon Chery
2ed2ca6bac
review(v1.1): READY TO SHIP — multi-persona code review
...
---ci---
project: acdl
phase: 0
milestone: v1.1
status: review
verdict: READY TO SHIP
p0: 0
p1: 1
---/ci---
2026-07-21 19:44:51 +00:00