Qualify CI producer closure and durable evidence retirement
Maintainers usually reply within 1 day
@DeandreT is already working on this.
Since Oct 26, 2026.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- github-actions, rust
- Domain
- devops, infrastructure
Research direction
Read the per-job metadata interface and the dependencies in #359 and #355 first; the issue does not name source files or tests. Define how producer closure, archive readback, durable preservation, and finite retirement will be qualified, then test the listed failure cases and reserve gates. Done means a tiny canary is qualified before any full automatic cleanup is enabled.
Written by the indexing model from the issue text.
Description
After per-job temporary roots are available, qualify an end-to-end retention provider and producer ownership boundary before automatic retirement.
Scope: managed per-job descendant closure, closed/unarchived recovery, exact artifact-ID export and strict complete archive/member readback, plus durable preservation authority and finite manifest retirement. Own a separate lifecycle helper and trusted runner containment configuration; consume the per-job metadata interface without redesigning mapping or PDF runtime behavior.
Acceptance:
- Prove descendant/producer closure and temporary-root compliance; do not infer it from a descriptor census or an always() step.
- Verify archive identity, every original body and metadata, exact member inventory, and fail on any mismatch.
- Define durable preservation beyond expiring/deletable workflow artifacts before local retirement.
- Refuse incomplete uploads, downloads, recovery and ownership ambiguity while preserving original evidence.
- Test exact finite retirement, failed/canceled jobs, active-cache preservation and reserve gates.
- Deploy a tiny qualified canary before enabling full automatic cleanup.
Depends on #359 and #355. Design may proceed in parallel; automatic deletion remains unqualified.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 2h 50m
- Merged PRs (30d)
- 571
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DeandreT/ferrule
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
test(mfd): synthetic whole-design MFD corpus with a stage-outcome ledgerPossibly taken @DeandreT claimed this today. Open
DeandreT/ferrule#1396 · 1 assignee ·
Maintainers usually reply within 1 day
-
arch: one built-in function catalog and shared limit definitionsPossibly taken @DeandreT claimed this 1 day ago. Open
DeandreT/ferrule#1390 · 1 assignee ·
Maintainers usually reply within 1 day
-
arch: type schema roles and format optionsPossibly taken @DeandreT claimed this 1 day ago. Open
DeandreT/ferrule#1389 · 1 assignee ·
Maintainers usually reply within 1 day
-
arch: remove downward dependencies on format adaptersPossibly taken @DeandreT claimed this 1 day ago. Open
DeandreT/ferrule#1388 · 1 assignee ·
Maintainers usually reply within 1 day
All issues in DeandreT/ferrule
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
madesroches/fontaine#513 ·
Maintainers usually reply within 1 day
-
area:ui needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
bherbruck/solvecraft#13497 ·
-
needs-triage tooling
Difficulty 1/5 Under an hour Newbie friendliness 90/100
neilsh/stunt-reel#317 ·
Maintainers usually reply within 1 day
-
Add Noto Sans Thaana (Dhivehi) - missing face blocking Thaana support in PdfCraftPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
storytold/craft-fonts#65 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
storytold/craft-libs#723 ·
Maintainers usually reply within 1 day