P1 W1: verified STATE.md 32 CAP rows against regression_verify.py (fixed CAP-025 omission — was missing from Domain 9; CAP-031 renumbered to cover the live-apply evidence row). P1 W2: archived 7 platform-root files to .ciagent/archive/ with milestone-suffix names (lossless git mv preserves history): - CAPABILITY_INVENTORY.md → CAPABILITY_INVENTORY-v1.10.md - REVIEW-AUDIT-P05.md → REVIEW-AUDIT-P05.md - VERIFY-P03.md → VERIFY-P03.md - VERIFY-P04.md → VERIFY-P04.md - P4-PILOT-RUN-EVIDENCE.md → P4-PILOT-RUN-EVIDENCE-v1.26.md - AUTONOMY_THESIS.md → AUTONOMY_THESIS-v1.21.md - COST.md → COST-v1.14.md P1 W3: archived 1 consumer file to new .ciagent/nova-blockchain-exchange/archive/ (D-221: consumer archives land in per-project subdir): - nova-blockchain-exchange/ROADMAP.md → archive/ROADMAP-v1.26.md The 4 pre-execution files (CLARIFY/GRILL/IDEATE/RESEARCH) stay active through v1.27 — they hold the v1.27 P0 content (D-219 refinement, G-Q2); the v1.26-era content is in git history. They archive at v1.28 P1 if v1.28 happens. Dangling references to archived files found in PROJECT.md, ARCHITECTURE.md, IAM_POLICY.md, nova-blockchain-exchange/README.md — fixed in P2. ---ci--- project: acdl phase: 1 milestone: v1.27 status: execute wave: W4 ---ci---
4.6 KiB
Nova AWS Cost Report (v1.0 → v1.14)
Query date: 2026-07-29 (updated v1.14 P19) Source: AWS Cost Explorer (
ce:GetCostAndUsage) Window: 2026-07-21 → 2026-07-29 (v1.0 ship → v1.14 active) Account: 581513795199 (us-east-1) Closes: G-008 (no cost documentation despite live AWS resources)
Summary
| Metric | Value |
|---|---|
| Total spend (8 days) | $0.001883 |
| Daily average | $0.000235 |
| Projected monthly | ~$0.007 |
| Peak day | 2026-07-27 ($0.000867 — v1.10 regression + verify run) |
Verdict: The ACDL platform cost is effectively zero — less than one cent over 8 days of active development and testing. The cost is dominated by S3 (terraform state bucket, $0.001860). No compute costs (ECS/Lambda) were incurred because the v1.0→v1.10 platform was plan-only (terraform plan, not apply) for IAM-gated capabilities. The v1.11 lifecycle pipeline will incur transient costs during apply→modify→destroy cycles, but these are self-cleaning (destroy enforced).
Daily Breakdown
| Date | Spend (USD) | Notes |
|---|---|---|
| 2026-07-21 | $0.000622 | v1.0 ship day — initial S3 state bucket + DynamoDB outbox |
| 2026-07-22 | $0.000111 | v1.1–v1.3 development |
| 2026-07-23 | $0.000063 | v1.4–v1.5 development |
| 2026-07-24 | $0.000063 | v1.6–v1.7 development |
| 2026-07-25 | $0.000063 | v1.8 development |
| 2026-07-26 | $0.000094 | v1.9 development + stub testing |
| 2026-07-27 | $0.000867 | v1.10 regression + verify run (peak — local E2E + live terraform plan) |
| 2026-07-28 | $0.000000 | v1.11 restart (cost query day, no spend yet) |
| TOTAL | $0.001883 |
By Service
| Service | Spend (USD) | % of total |
|---|---|---|
| Amazon Simple Storage Service | $0.001860 | 98.8% |
| AWS Secrets Manager | $0.000015 | 0.8% |
| Amazon DynamoDB | $0.000008 | 0.4% |
S3 ($0.001860)
The acdl-tfstate-581513795199-us-east-1 bucket stores terraform state for
all ACDL stacks. Cost is driven by:
- Storage: ~50 state files × <1KB each = negligible
- Requests: terraform init/plan/apply S3 API calls during development
Secrets Manager ($0.000015)
One secret stored: acdl/aws-creds (used by the deploy pipeline for
consumer repos). $0.40/month per secret → prorated to ~$0.0000625/day.
DynamoDB ($0.000008)
The acdl-outbox table (D-091 regression gate, CAP-015). Provisioned
capacity with minimal reads/writes during regression runs.
v1.11 Cost Projection
The v1.11 lifecycle pipeline (P59–P62) runs terraform apply→modify→destroy against live AWS for each L1 and L2 module. Estimated transient costs:
| Resource | Est. cost per lifecycle cell | Cells | Total est. |
|---|---|---|---|
| S3 bucket (per module) | ~$0.0001 (create + destroy) | 24 L1 + 2 L2 | ~$0.003 |
| ECS Fargate (microservice) | ~$0.01 (brief run + destroy) | 2 | ~$0.02 |
| ALB (microservice) | ~$0.005 (create + destroy) | 2 | ~$0.01 |
| RDS (rds module) | ~$0.02 (brief run + destroy) | 2 | ~$0.04 |
| CloudFront (static-assets) | ~$0.001 (create + destroy) | 2 | ~$0.002 |
| Total v1.11 transient | ~$0.075 |
All resources are destroyed by the pipeline's destroy step + the
ci-vpc-destroy cleanup job. No persistent resources remain after the run
(D-096 teardown mandatory, enforced by P64).
Cost Ceiling Guidance
Per G-008 binding decision: the ACDL platform must operate at zero-cost steady state — no live resources between test runs. This is enforced by:
- The
ci-vpc-destroyjob inmodules-lifecycle.yml(always runs,if: always()). - The per-module destroy step in each lifecycle cell.
- The P64
--decommissionteardown (D-070 two-step, CR CHG0680001).
Any cost spike > $1/day is an anomaly and should be investigated via Cost Explorer. The v1.0→v1.10 spend ($0.001883 over 8 days) is the baseline.
Methodology
- Query:
boto3.client('ce').get_cost_and_usage()withGranularity='DAILY',Metrics=['BlendedCost'], andGroupBy=[{'Type': 'DIMENSION', 'Key': 'SERVICE'}]. - Credentials:
ACDL_AWS_ACCESS_KEY_ID/ACDL_AWS_SECRET_ACCESS_KEYfrom.env.secrets(spike-runner IAM principal). - Limitation: Cost Explorer data has a 24h delay; the 2026-07-28 value ($0.000000) may update after the billing pipeline processes the day's usage. The v1.11 lifecycle pipeline costs are not yet reflected.
- Reproducibility: Run
python3 -c "import boto3; ce = boto3.client('ce', region_name='us-east-1'); print(ce.get_cost_and_usage(TimePeriod={'Start':'2026-07-21','End':'2026-07-29'},Granularity='MONTHLY',Metrics=['BlendedCost']))"