diff --git a/.ciagent/P4-PILOT-RUN-EVIDENCE.md b/.ciagent/P4-PILOT-RUN-EVIDENCE.md new file mode 100644 index 0000000..8b81914 --- /dev/null +++ b/.ciagent/P4-PILOT-RUN-EVIDENCE.md @@ -0,0 +1,46 @@ +# P4 — Live Pilot Run Evidence (v1.26, v0.2 re-run) + +> The live `terraform apply` against AWS `581513795199` succeeded. The +> Decision Ledger + outcome backfill are complete. SPEC §5.8 evidence +> stream verified. + +## Apply result (account 581513795199, dev, autonomous) +- **ALB DNS**: `app-254671247.us-east-1.elb.amazonaws.com` +- **ECS service**: `arn:aws:ecs:us-east-1:581513795199:service/nova-cluster/nova-microservice` +- **DynamoDB table**: `nova-blkex-ledger-dev` (PK `block_index`, PAY_PER_REQUEST) +- **S3 bucket**: `nova-blkex-blocks-dev-581513795199-us-east-1` (versioning + SSE) +- **ECS cluster**: `arn:aws:ecs:us-east-1:581513795199:cluster/nova-cluster` +- **ECR repo**: `581513795199.dkr.ecr.us-east-1.amazonaws.com/app-repo` +- **IAM role**: `arn:aws:iam::581513795199:role/nova-app-role` +- **KMS key**: `arn:aws:kms:us-east-1:581513795199:key/e9a7ba15-d5cb-4f4d-ab20-bfac5cb62bcf` +- **Platform VPC** (prerequisite): `vpc-0d7c8867e6cc080f1` + 6 subnets + ECS SG `sg-0c95704b16859e86f` + +## Confidence signal +- score: **0.800**, band: **pass** (dev autonomous, ≥0.50, no HITL) +- human_override: false +- escalation_reason: absent (clean apply — REQ-318) + +## Decision Ledger (SQLite hash-chain, /root/metrics/decision_ledger.db) +- `nova.ai.decision.made` — decision_id `blkex-pilot-apply-v0.2`, chosen_action `pass`, human_override false +- `nova.outcome.backfilled` — outcome `pending → succeeded`, backfilled_at `2026-08-19T03:05:04Z` +- chain valid: true (0 breaks) + +## Outcome backfill (REQ-317) +- fact_decision.outcome: `pending` → `succeeded` (NOT stuck pending) +- backfilled_at: `2026-08-19T03:05:04Z` + +## Module-completeness gaps fixed (uncovered by the live apply) +- ecs-service L1: added `execution_role_arn` + `task_role_arn` (Fargate requires execution role for ECR pull) +- microservice L2 composition: wired `roles.outputs.role_arn` → `service.inputs.{execution,task}_role_arn` +- microservice L2 composition: wired `platform_vpc.outputs.ecs_security_group_id` → `alb.inputs.security_group` (ALB requires a SG) + +## Run id +- NOVA_RUN_ID: `blkex-pilot-apply-v0.2` + +---ci--- +project: acdl +phase: 4 +milestone: v1.26 +status: execute +wave: W1 +---