{"schema_version":1,"research_id":"eoa_inverse_innovation_exp04_external_evaluation_20260802","source_assessment_id":"layer_decay_and_expiration_management__computer_science:SENTINEL_MATCHED:v0","cell_id":"layer_decay_and_expiration_management__computer_science","search_queries":["site:docs.aws.amazon.com Amazon ECR lifecycle policies referenced manifest list image delete","site:docs.gitlab.com container registry cleanup policy storage tags protected tags","site:goharbor.io docs tag retention rule dry run immutable tags","OCI distribution spec garbage collection manifest blobs references","site:cloud.google.com/artifact-registry/docs/repositories/cleanup-policy Docker images dry run keep policies","site:learn.microsoft.com Azure Container Registry retention policy untagged manifests locks deletion","site:goharbor.io/docs tag retention immutable images garbage collection","container registry storage costs stale images survey artifact accumulation CI research","site:about.gitlab.com blog container registry garbage collection storage scale cleanup GitLab.com","site:gitlab.com/gitlab-org container registry cleanup storage issue customer","site:github.blog container registry retention cleanup storage packages stale images","site:cloud.google.com blog Artifact Registry cleanup policies storage costs CI CD","site:csrc.nist.gov SP 800-190 container image registry stale images vulnerabilities approved images","NIST container security guide image registry vulnerabilities old images scan approved images PDF","SLSA provenance artifact retention container images official spec","site:docs.sigstore.dev registry artifact retention signatures garbage collection","Amazon ECR pricing storage per GB month official","Google Artifact Registry pricing storage per GB month official","US Bureau Labor Statistics software developers median wage 2025","AWS ECR archive storage pricing retrieval 2026"],"sources":[{"source_id":"S1","title":"Application Container Security Guide (NIST SP 800-190)","publisher":"National Institute of Standards and Technology","url":"https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-190.pdf","source_class":"GOVERNMENT_OR_REGULATOR","publication_date":"2017-09-25","accessed_at":"2026-08-02","claims_supported":["Registries accumulate vulnerable, out-of-date images over time.","Stored stale images increase the likelihood of accidental deployment of a known-vulnerable version.","Container images can contain proprietary software, secrets, malware, and components of uncertain provenance, making lifecycle actions security-sensitive."]},{"source_id":"S2","title":"Reduce container registry storage","publisher":"GitLab","url":"https://docs.gitlab.com/user/packages/container_registry/reduce_container_registry_storage/","source_class":"OFFICIAL_PRODUCT_DOCUMENTATION","publication_date":"n.d. (living documentation)","accessed_at":"2026-08-02","claims_supported":["Registry growth consumes storage and slows retrieval of image and tag lists.","GitLab provides scheduled tag cleanup using age, naming, keep-most-recent, protected-tag, and immutable-tag exclusions.","Tag cleanup does not itself remove underlying images and layers; garbage collection is separately required.","Maintainers, owners, and administrators have identifiable authority over usage and cleanup workflows.","Cleanup at scale can require multiple runs and third-party registry behavior can vary."]},{"source_id":"S3","title":"GitLab's next-generation container registry is now available","publisher":"GitLab","url":"https://about.gitlab.com/blog/gitlabs-next-generation-container-registry-is-now-available/","source_class":"COMMERCIAL_FIRST_PARTY","publication_date":"2023-12-04","accessed_at":"2026-08-02","claims_supported":["GitLab identified high storage cost, poor registry usability, and nonperformant tag listing as operational problems.","GitLab chose registry garbage collection as a priority and estimated that legacy offline collection would require 64 days at GitLab.com scale.","The resulting online garbage collector deletes terabytes daily and produced reported storage-cost, performance, and reliability benefits.","GitLab and its self-managed customers are identifiable adopters of registry lifecycle and garbage-collection capabilities."]},{"source_id":"S4","title":"Automate the cleanup of images by using lifecycle policies in Amazon ECR","publisher":"Amazon Web Services","url":"https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html","source_class":"OFFICIAL_PRODUCT_DOCUMENTATION","publication_date":"n.d. (living documentation)","accessed_at":"2026-08-02","claims_supported":["ECR already supports prioritized lifecycle rules, previews, archive or expiration actions, age and pull-time criteria, restoration state, and CloudTrail event records.","ECR blocks expiration or archival of an image referenced by a manifest list until the manifest list is handled.","Reference artifacts are lifecycle-managed with their subject images.","Substantial portions of the proposed governed lifecycle are existing commercial product behavior."]},{"source_id":"S5","title":"Cleanup policy overview","publisher":"Google Cloud","url":"https://docs.cloud.google.com/artifact-registry/docs/repositories/cleanup-policy-overview","source_class":"OFFICIAL_PRODUCT_DOCUMENTATION","publication_date":"2026-07-17","accessed_at":"2026-08-02","claims_supported":["Artifact Registry supports automatic delete policies based on age and filters.","Conditional keep and keep-most-recent policies override matching deletion policies.","Multiple ordered policies and retention exceptions are established product practice.","Migration can change creation-time metadata, illustrating a data-quality limitation for age-based decisions."]},{"source_id":"S6","title":"Set a Retention Policy to Retain Untagged Manifests","publisher":"Microsoft","url":"https://learn.microsoft.com/en-us/azure/container-registry/container-registry-retention-policy","source_class":"OFFICIAL_PRODUCT_DOCUMENTATION","publication_date":"n.d. (living documentation accessed 2026-08-02)","accessed_at":"2026-08-02","claims_supported":["Azure states that unneeded artifacts can fill registries and increase storage cost.","Azure supports delayed deletion, manifest reference counting, policy disabling, and per-manifest deletion locks.","Deletion is unrecoverable, and Microsoft warns against deleting untagged manifests when external systems pull by digest.","Native retention coverage is incomplete for some OCI manifest media types, requiring an alternate purge mechanism."]},{"source_id":"S7","title":"Open Container Initiative Distribution Specification","publisher":"Open Container Initiative","url":"https://github.com/opencontainers/distribution-spec/blob/main/spec.md","source_class":"STANDARD","publication_date":"n.d. (living standard)","accessed_at":"2026-08-02","claims_supported":["OCI registries contain manifests, blobs, tags, and digest-addressed content.","Manifests may reference other manifests and blobs, and a manifest digest may have zero, one, or many tags.","The standard structure supports inventory and internal dependency tracing but does not establish visibility into every external consumer."]},{"source_id":"S8","title":"Software Developers, Quality Assurance Analysts, and Testers","publisher":"U.S. Bureau of Labor Statistics","url":"https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm","source_class":"GOVERNMENT_OR_REGULATOR","publication_date":"2025-08-28","accessed_at":"2026-08-02","claims_supported":["The May 2024 median annual wage was $133,080 for software developers and $102,610 for software quality-assurance analysts and testers.","These wage benchmarks support order-of-magnitude labor estimates for a 2026 engineering pilot and deployment, before benefits and overhead."]}],"problem_evidence":{"support":"STRONG","rationale":"The problem is directly visible in government guidance and first-party operations. NIST identifies stale registry images as an accidental-deployment risk; GitLab documents storage and listing degradation and reports petabyte-scale operational pressure; Azure says unneeded artifacts can fill registries and raise costs. The evidence establishes existence and importance, although prevalence and loss magnitude for any proposed pilot registry remain unknown.","source_ids":["S1","S2","S3","S6"]},"stakeholder_evidence":{"support":"STRONG","rationale":"GitLab is an identifiable operator, product funder, and adopter that prioritized online garbage collection because of storage cost and performance, while its documentation identifies maintainers, owners, and administrators who can authorize project-level cleanup. AWS, Google, and Microsoft offer corresponding controls, indicating sustained customer demand. No specific pilot partner has yet committed to the proposed integrated intervention.","source_ids":["S2","S3","S4","S5","S6"]},"prior_art":{"proximity":"SUBSTANTIAL_COLLISION","closest_analogues":[{"name":"Amazon ECR lifecycle policies","similarity":"Very close: prioritized rules already preview candidates, archive or expire images, use age and pull state, record actions, manage reference artifacts, and enforce manifest-list dependencies.","remaining_difference":"The documentation does not show a cross-system graph of deployments and external digest consumers, organization-specific legal or incident holds, impact-sized soft-delete quarantine, or a recurring sampled end-to-end archive-restore test combined into one policy.","source_ids":["S4"]},{"name":"GitLab cleanup policies plus online garbage collection","similarity":"Close: inventory and storage views, age and naming filters, keep-most-recent rules, protected and immutable exclusions, scheduled cleanup, and online garbage collection already bound registry growth.","remaining_difference":"Tag cleanup and blob collection are separate, and the cited system does not document dependency-gated quarantine, external-consumer discovery, disposition scoring, or sampled archive restoration as one lifecycle gate.","source_ids":["S2","S3"]},{"name":"Google Artifact Registry cleanup policies","similarity":"Close: ordered delete policies, conditional keep overrides, keep-most-recent behavior, and automatic background deletion implement policy-driven expiry with exceptions.","remaining_difference":"The cited policy lacks demonstrated rollback quarantine, cross-system dependency checks, legal-hold workflow, archive restoration testing, and stale-discoverability outcomes.","source_ids":["S5"]},{"name":"Azure Container Registry retention policy","similarity":"Close: delayed deletion, reference counting, deletion locks, configurable retention windows, and explicit warnings about hidden digest consumers cover important safety elements.","remaining_difference":"It is limited mainly to untagged manifests, has media-type coverage gaps, and warns rather than solving external digest dependency discovery; deletion is unrecoverable rather than quarantined.","source_ids":["S6"]}],"distinctive_claim_remaining":"In a registry where deployment references and holds can be observed, adding a cross-system dependency gate, explicit hold vetoes, reversible quarantine, and sampled archive-restore testing to a native age/tag cleanup policy will reduce active stale bytes and obsolete-artifact discoverability beyond the native policy while causing no missed live dependency, hold violation, digest-fidelity failure, or unacceptable restore failure. This is a contrastive systems-performance and safety claim, not a claim that lifecycle policies or garbage collection are new.","confidence":"HIGH"},"implementation_evidence":{"support":"MODERATE","rationale":"Official products demonstrate that inventories, age and access filters, ordered keep/delete rules, locks, previews, archival, audit events, reference counting, and garbage collection are technically implementable. OCI descriptors support internal graph traversal. The unsolved feasibility issue is completeness: external digest consumers, release systems, incident reconstruction paths, and legal holds may not be visible from registry metadata. Quarantine and restoration are feasible in nonproduction but their latency, fidelity, operational effort, and authority integration require live testing.","source_ids":["S2","S4","S5","S6","S7"]},"scores":{"meaningful_impact":{"score":4,"rationale":"Stale-image deployment risk, storage cost, and degraded registry operations are directly documented, including terabyte-per-day cleanup at GitLab scale; target-registry magnitude is unmeasured.","source_ids":["S1","S2","S3"]},"stakeholder_pull":{"score":5,"rationale":"GitLab explicitly prioritized and funded registry garbage collection, reported benefits, and markets the capability to self-managed customers; all three major cloud publishers provide lifecycle controls.","source_ids":["S3","S4","S5","S6"]},"incremental_advantage":{"score":2,"rationale":"Most mechanisms already exist in commercial registries. Possible advantage is confined to cross-system dependency completeness, integrated holds, reversible quarantine, and tested restoration, with no comparative result yet.","source_ids":["S2","S4","S5","S6"]},"distinctiveness_plausibility":{"score":2,"rationale":"The integrated safety composition is not fully shown in the opened sources, but it combines well-established mechanisms and therefore has limited conceptual distinctiveness.","source_ids":["S4","S5","S6"]},"technical_implementability":{"score":4,"rationale":"First-party systems implement nearly every registry-local primitive; external reference discovery and archive restoration remain the material engineering uncertainties.","source_ids":["S2","S4","S5","S6","S7"]},"adoption_authority_feasibility":{"score":3,"rationale":"Registry owners and project maintainers can run policy, but service owners, security, incident response, and legal or compliance authorities must jointly define dependencies and vetoes before production destruction.","source_ids":["S2","S6"]},"evidence_readiness":{"score":3,"rationale":"A shadow-mode, nonproduction comparison can be instrumented with existing metadata and audit events, but superiority and safety require proprietary registry and deployment data plus live restore tests.","source_ids":["S2","S4","S5","S6"]},"safety_net_benefit":{"score":4,"rationale":"Dependency gates, locks, quarantine, and restore tests directly address the unrecoverable-deletion and hidden-digest-consumer hazards documented by Microsoft and the reference relationships documented by OCI and AWS.","source_ids":["S4","S6","S7"]},"scalability":{"score":3,"rationale":"GitLab demonstrates that online collection can operate at petabyte scale, but policy evaluation, external dependency ingestion, repeated restore tests, and human exception review may become bottlenecks.","source_ids":["S2","S3"]}},"score_confidence":"MODERATE","costs":{"first_evidence":{"band_2026_usd":"10K_TO_50K","scope":"Thirty-day shadow-mode pilot in one existing nonproduction namespace with at most 500 superseded artifacts: inventory export, native-policy comparator, dependency and hold review, quarantine simulation, 20-50 archive restores, metrics analysis, and no hard deletion.","confidence":"MODERATE","assumptions":["Existing registry, CI/CD, audit logging, and nonproduction namespace are available.","Approximately 0.1-0.25 engineer-year plus limited release, security, and compliance review is required.","The BLS wage is treated as a floor; benefits, overhead, and 2026 escalation are included qualitatively in the band.","No new enterprise software license or large data-egress charge is required."],"source_ids":["S2","S4","S5","S8"]},"initial_deployment_startup":{"band_2026_usd":"50K_TO_250K","scope":"Productionize one registry integration: lifecycle-state database, deployment-reference adapters, hold API, policy preview, quarantine and restore workflow, audit records, dashboards, access controls, and runbooks.","confidence":"LOW","assumptions":["One registry technology and two or three deployment/reference systems are integrated.","Roughly 0.5-1.5 engineer-years plus security and compliance review are required.","Native cleanup, lock, archive, and audit facilities are reused where available.","The range excludes replacement of the registry platform."],"source_ids":["S2","S4","S5","S6","S8"]},"operational_launch":{"band_2026_usd":"250K_TO_1M","scope":"Roll out across multiple production namespaces or business units, backfill inventory, validate service ownership and holds, conduct rollback exercises, train operators, establish incident procedures, and monitor the first lifecycle cycles.","confidence":"LOW","assumptions":["Two to five engineer-equivalents and fractional release, security, incident-response, and legal/compliance effort are required during launch.","Hidden digest consumers require discovery and remediation work.","No petabyte-scale registry rewrite comparable to GitLab's is included; such a rewrite would exceed this scope.","Hard deletion begins only after successful quarantine and restore evidence."],"source_ids":["S3","S6","S7","S8"]},"annual_recurring":{"band_2026_usd":"50K_TO_250K","scope":"Operate policy evaluation and dashboards, review exceptions and holds, maintain reference adapters, sample archive restores, investigate blocked deletions, and pay incremental archive, retrieval, and audit-log costs.","confidence":"LOW","assumptions":["Approximately 0.3-1.2 engineer-equivalents plus periodic stakeholder review are required.","Storage savings are not netted against operating cost.","Archive volume, retrieval frequency, vendor prices, and legal-review burden are unknown.","Very large or highly regulated estates may exceed this band."],"source_ids":["S3","S4","S8"]}},"verified_pipeline_gates":{"externally_supported_problem":{"status":"YES","reason":"NIST, GitLab, and Microsoft directly document stale-image risk, registry growth, storage cost, and operational degradation.","source_ids":["S1","S2","S3","S6"]},"externally_credible_adopter_or_authorizer":{"status":"YES","reason":"GitLab is an identified adopter and funder, and its documentation identifies maintainers, owners, and administrators with cleanup authority; cloud vendors show a broad adopter workflow.","source_ids":["S2","S3","S4","S5","S6"]},"distinct_testable_incremental_claim":{"status":"YES","reason":"The remaining claim compares integrated dependency, hold, quarantine, and restore safeguards with native age/tag cleanup on measurable stale-byte, discoverability, safety, restore, and labor outcomes.","source_ids":["S4","S5","S6"]},"bounded_next_evidence_step":{"status":"YES","reason":"A 30-day, one-namespace, at-most-500-artifact, no-hard-delete pilot has explicit comparators, outcome measures, halt rules, and falsifiers.","source_ids":["S2","S4","S5","S6"]},"no_unresolved_safety_or_authority_stop":{"status":"UNCERTAIN","reason":"A non-destructive pilot is safe in principle, but no actual organization has demonstrated complete external dependency visibility, functioning hold vetoes, agreed restore objectives, or joint approval from registry, service, security, incident-response, and legal stakeholders.","source_ids":["S4","S6","S7"]},"credible_cost_scope_and_range":{"status":"YES","reason":"The four ranges are explicitly scoped, use existing product capabilities, identify dominant labor assumptions, and are anchored to an official developer-wage benchmark; confidence remains low where integration and storage scale are unknown.","source_ids":["S2","S4","S5","S6","S8"]}},"next_evidence_step":"Recruit one registry owner and the relevant release, security, incident-response, and compliance representatives for a preregistered 30-day pilot in one nonproduction namespace containing no more than 500 superseded artifacts. Run the current native age/tag cleanup policy in shadow mode as comparator A and the proposed dependency-gated policy in shadow mode as comparator B; retain manual expert disposition as comparator C on a stratified sample. Before intervention, measure superseded-artifact share of active bytes, obsolete results in standard search/tag-selection tasks, pull and deployment references, holds, and operator time. For B, archive a stratified sample across age and format bands, quarantine only candidates cleared by registry and deployment-reference checks, perform end-to-end pull, digest, parse, and reconnect restore tests, and prohibit hard deletion. Preregister falsifiers: reject the problem if superseded artifacts are under 10% of active bytes and no obsolete discoverability or selection exposure is observed; reject incremental advantage if B fails to improve stale active bytes or obsolete discoverability by at least 20% relative to A, misses any live dependency, bypasses any hold, produces any digest/fidelity failure, achieves under 99% successful sampled restores within the agreed recovery objective, or requires over 20% more operator time than A. Halt immediately on an attempted deployment or pull of a quarantined artifact and restore it.","blocking_evidence":["No target-registry inventory establishes the local prevalence, byte share, or discoverability of superseded artifacts.","No evidence estimates the completeness of deployment, rollback, external digest-consumer, provenance, or incident-reconstruction references.","No live comparison shows that the integrated policy outperforms native age/tag cleanup or manual review.","No sampled archive-restore result establishes fidelity, latency, reconnectability, or failure rate.","No participating organization has approved a retention matrix, hold-veto authority, recovery objective, or transition from quarantine to destruction.","Vendor-specific storage, retrieval, data-egress, licensing, and integration costs are unmeasured."],"research_disposition":"PARTNERED_RESEARCH_PROGRAM","world_novelty_boundary":"This evaluation found substantial collision with established registry lifecycle, retention, locking, archival, preview, audit, and garbage-collection practices. It did not establish whether any product or organization already combines every proposed safeguard, and it does not measure world novelty, patentability, freedom to operate, market size, or realized impact.","arm":"SENTINEL","candidate_version":0,"controller_recommendation":{"action":"STOP_EMPIRICAL_RESEARCH_NEEDED","repairable":false,"material_progress_observed":true,"progress_targets":["Secure a named registry pilot partner and written approval from registry, service, security, incident-response, and hold authorities.","Produce a baseline inventory quantifying superseded bytes, obsolete discoverability, current retention exceptions, and cleanup labor.","Measure and document coverage of every deployment, rollback, digest pull, provenance, and investigation reference source used by the dependency gate.","Preregister comparator policies, acceptance thresholds, halt rules, and problem and intervention falsifiers before examining outcomes.","Complete stratified archive-restore and quarantine exercises with digest fidelity, reconnectability, recovery-time, and operator-effort measurements.","Report comparative results against native age/tag cleanup and manual review before considering any hard deletion or scalability claim."],"reason":"Bounded web research verifies the problem and strong prior-art collision but cannot determine the remaining incremental safety and performance claim. That claim requires proprietary dependency and hold data, an organizational authorizer, and live quarantine and restoration testing. Further web search alone cannot resolve those gaps; because this is a stop recommendation, repairable is correctly false."}}