Summary
Retain the execution-lifetime fixture's failure evidence from the full Buddy CI suite. Set its existing evidence directory and upload only the six diagnostic/SQLite filenames after the suite, including when the suite fails.
failed lifetime fixture
-> stdout, stderr, lifecycle, SQLite files
-> always-run CI artifact uploadThe upload excludes fixture dependency trees and framework symlinks. Successful fixtures keep their existing cleanup behavior, and empty evidence is ignored. Runtime behavior, authority, assertions and timing guards are unchanged.
Refs #60. This addresses evidence transport; the original Mac full-suite failure remains unresolved and the issue stays open.
Evidence
- Before: the full suite does not set
EXECUTION_LIFETIME_EVIDENCEand has no upload for its retained diagnostic files. - After: the parsed workflow binds the existing fixture producer to an always-run, seven-day upload with six explicit file globs. Native YAML qualification verifies the rest of the parsed workflow is unchanged. Buddy lint and app typecheck pass.
- The existing source revision already passed the local and Linux full suites in #110. This change only affects CI metadata; the exact candidate CI will run the full suite again. Actual failure-artifact transport is not claimed from static checks or a passing suite.
Merge Danger
Door: Two-way.
Blast Radius: CI.
Failed synthetic fixtures may produce a retained diagnostic/SQLite artifact. Dependency trees and unrelated files are outside the upload paths. The change does not establish the cause of the original failure or physical operation readiness.