Files
acdl/.ciagent/COST.md
T
Jon Chery 787a6490a5
acdl-ci / Lint (push) Successful in 10s
acdl-ci / Platform check-only (offline) (push) Successful in 23s
acdl-ci / Test (push) Successful in 5m53s
docs(audit): v1.15 post-milestone audit — PASS (rebrand header fixes + 6 checks)
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

4.6 KiB
Raw Permalink Blame History

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.1v1.3 development
2026-07-23 $0.000063 v1.4v1.5 development
2026-07-24 $0.000063 v1.6v1.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 (P59P62) 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:

  1. The ci-vpc-destroy job in modules-lifecycle.yml (always runs, if: always()).
  2. The per-module destroy step in each lifecycle cell.
  3. The P64 --decommission teardown (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() with Granularity='DAILY', Metrics=['BlendedCost'], and GroupBy=[{'Type': 'DIMENSION', 'Key': 'SERVICE'}].
  • Credentials: ACDL_AWS_ACCESS_KEY_ID / ACDL_AWS_SECRET_ACCESS_KEY from .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']))"