[EVI-11]: fix capture-pr video artifacts#41
Conversation
EVI-11 Fix capture-pr video artifacts and noisy build hangs
Context / backgroundParent Project: Evidence PR Change Proof MVP ( Root cause analysisLikely root-cause candidate 1: Likely root-cause candidate 2: Likely root-cause candidate 3: the report renderer does not make video artifact completeness visible. Concrete evidence from EVI-10 handoff run on 2026-05-18 America/Toronto:
Use this representative plan shape for reproduction: {
"repo": "RiddimSoftware/epac",
"pr": 479,
"platform": "ios",
"runner": "simctl",
"ios": {
"project": "ios/epac.xcodeproj",
"scheme": "epac",
"bundle_id": "net.dinglebox.cabinetdoor",
"simulator_udid": "<available-iPhone-simulator-udid>",
"destination": "platform=iOS Simulator,id=<available-iPhone-simulator-udid>",
"extra_build_arguments": ["-quiet"]
},
"launch": {
"arguments": ["--evidence-mode", "-UIAnimationsDisabled", "YES"],
"environment": { "EPAC_EVIDENCE_MODE": "1" }
},
"video": { "enabled": true, "name": "home-status-card" },
"steps": [
{ "name": "launch home", "kind": "launch" },
{ "name": "settle home", "kind": "wait", "seconds": 4 },
{ "name": "home status card", "kind": "screenshot", "path": "home-status-card.png" }
]
}Acceptance criteria
External validation gatesNone. The implementer can reproduce with the local EPAC repo and simulator tooling; EVI-10 owns the final human closeout after this fix lands. Out of scope
Inputs / dependenciesRepository context: EVI team owns Local reproduction requires:
EVI-10 is blocked by this issue because its verification checklist includes videos when enabled. Risks / notes for implementerDo not require plan authors to pass Be careful with Definition of DoneDone when unit tests cover concurrent process output draining, video artifact validation, and report visibility, and a real or representative local Architecture ImpactAffected layers: framework adapters and report rendering in Intended dependency direction: Test strategy: unit-test Clean Architecture ShapeUse case:
Entities / value objects:
Ports:
Adapters:
Boundary rule:
Catalog update:
Mergeability / change ownershipSingle reason to change: make |
Summary
Verification
swift testpassed: 123 tests, 2 skipped, 0 failuresswift buildpassedbefore/home-status-card.movandafter/home-status-card.movwere produced with non-zero manifest sizesLinear