{"schema_version":1,"experiment_id":"eoa_inverse_innovation_exp09_archetype_breadth150_20260804","research_id":"eoa_inverse_innovation_exp09_light_prior_art_20260804","cell_id":"layer_decay_and_expiration_management__computer_science","search_lanes":{"direct_problem_and_intervention":{"queries":["database migration chain squash baseline archive old migrations checkpoint supported instances","retire old database migrations quarantine archive tombstone lifecycle manifest","database migration lifecycle archive quarantine tombstone old migrations"],"source_ids":["SRC1","SRC2","SRC3"],"no_result_note":null},"synonyms_and_historical_terms":{"queries":["database schema migration consolidation baseline cumulative migration rebase history","Flyway baseline migrations squash old versioned migrations","Flyway State Scripts cumulative baseline migration"],"source_ids":["SRC1","SRC2","SRC3"],"no_result_note":null},"products_practices_and_standards":{"queries":["Flyway baseline migrations official documentation","Django squashing migrations old files all instances official","Prisma Migrate squashing migrations clean production history","Liquibase DATABASECHANGELOG checksum id author filename official documentation"],"source_ids":["SRC1","SRC2","SRC3","SRC4"],"no_result_note":null},"component_combination":{"queries":["migration squash baseline restore test data invariants archive supported deployments","database migration retention policy preservation hold audit archive migration scripts","migration squash archive old scripts deployment fleet versions restore test checksum audit trail"],"source_ids":["SRC1","SRC2","SRC3","SRC4"],"no_result_note":"No retained source described the complete conjunction of fleet enumeration, preservation holds, invariant-based reconstruction testing, quarantine, immutable archival, tombstoning, and periodic revalidation."}},"sources":[{"source_id":"SRC1","title":"Baseline migrations","publisher":"Red Gate Software Limited","url":"https://documentation.red-gate.com/flyway/flyway-concepts/migrations/baseline-migrations","source_type":"FIRST_PARTY_PRODUCT","claims_supported":["Flyway identifies lengthy migration histories as a burden when bringing new environments up to speed.","A B-prefixed baseline migration cumulatively represents all versioned migrations through its version.","New environments select the latest baseline and mark earlier migrations ignored, while databases with migrations already applied ignore the baseline.","The older term for baseline migrations was State Scripts."]},{"source_id":"SRC2","title":"Migrations: Squashing migrations","publisher":"Django Software Foundation","url":"https://docs.djangoproject.com/en/6.0/topics/migrations/#squashing-migrations","source_type":"OFFICIAL_GUIDANCE","claims_supported":["Django defines squashing as reducing many migrations to one or a few that represent the same changes.","Replaced and squashed migrations coexist temporarily; partially upgraded installations continue on the old path while new installations use the squash.","Django recommends retaining old files until all systems are upgraded, then removing them in a separate release.","The guidance warns that complex dependencies, custom operations, and historical code references can make old migrations fail or make squashing incorrect."]},{"source_id":"SRC3","title":"Squashing migrations","publisher":"Prisma Data, Inc.","url":"https://www.prisma.io/docs/orm/prisma-migrate/workflows/squashing-migrations","source_type":"FIRST_PARTY_PRODUCT","claims_supported":["Prisma documents squashing multiple migration files into one.","It identifies accumulated production history and burdensome replay in new environments as a reason to squash.","Its production workflow requires all migrations to be applied and the schema, data model, and migration history to be synchronized before replacement.","The workflow generates an empty-to-current-schema migration, marks it applied in production, and retains prior history in the production migration table and source-control history.","Prisma warns that manually added SQL, such as views or triggers, is not automatically retained by schema-derived squashing."]},{"source_id":"SRC4","title":"What is the DATABASECHANGELOG table?","publisher":"Liquibase Inc.","url":"https://docs.liquibase.com/secure/user-guide-5-1/what-is-the-databasechangelog-table","source_type":"FIRST_PARTY_PRODUCT","claims_supported":["Liquibase records executed changesets in DATABASECHANGELOG.","Changesets are identified by the combination of identifier, author, and filename.","The table records execution date and order, execution state, checksum, description, comments, tags, contexts, labels, product version, and deployment identifier.","Stored checksums are used to detect unexpected changes to changelog entries."]}],"problem_evidence":{"status":"SUPPORTED","finding":"The problem is visible in official and first-party documentation. Flyway and Prisma explicitly identify long historical chains as a burden for initializing new environments. Django documents failures caused by historical code references and requires old and squashed paths to coexist until all installations advance, demonstrating the risk of stranding lagging deployments. Prisma separately warns that schema-derived squashing can omit custom SQL, supporting the concern that a baseline may lose historical transformation semantics.","source_ids":["SRC1","SRC2","SRC3"]},"closest_prior_art":[{"name":"Django squashed migrations with transitional coexistence","source_ids":["SRC2"],"overlap":"This is the closest operational match: it creates an equivalent compacted path, records which migrations it replaces, retains both paths during a transition, selects a path according to installation state, waits for all installations to advance, then deletes replaced files and rewrites dependencies.","remaining_difference":"The retained guidance lacks an explicit preservation-hold register, signed baseline and archive, declared schema-and-data invariant test, separately named quarantine and archive states, deletion decision record, and recurring exception revalidation."},{"name":"Prisma production migration-history squashing","source_ids":["SRC3"],"overlap":"It gates production squashing on applied-history and schema consistency, replaces accumulated history with an empty-to-current baseline, prevents existing production databases from executing that baseline, and leaves old history recoverable from database records and version control.","remaining_difference":"It does not specify complete supported-fleet enumeration, preservation holds, immutable archival, a reversible quarantine interval, supersession tombstones, or tests for data semantics and external effects omitted from the declarative schema."},{"name":"Flyway baseline migrations","source_ids":["SRC1"],"overlap":"It creates a cumulative checkpoint for new environments, automatically skips the old prefix there, and leaves existing environments on versioned migrations.","remaining_difference":"It is a dual-path initialization feature rather than a governed expiration process; the versioned prefix remains available, and the documentation does not provide fleet-wide retirement gates, holds, archival states, invariant testing, or deletion governance."},{"name":"Liquibase DATABASECHANGELOG metadata","source_ids":["SRC4"],"overlap":"It already supplies much of the proposed inventory substrate: stable composite identity, authorship, execution order and status, checksum integrity, comments, tags, contexts, and deployment identifiers.","remaining_difference":"The retained documentation tracks execution but does not prescribe prefix compaction or the proposed eligibility, quarantine, archival, tombstone, and preservation lifecycle."}],"prior_art_disposition":"ADJACENT_PRIOR_ART","contrastive_claim_remaining":"Relative to established baseline and squash workflows, the remaining falsifiable claim is that requiring three gates together—complete supported-fleet advancement, successful signed-baseline-plus-suffix reconstruction against predeclared schema and data invariants, and clearance of preservation holds—and then moving the prefix through reversible quarantine to immutable archive with a supersession tombstone reduces obsolete-script execution while preserving every declared upgrade, reconstruction, and evidence obligation. The constituent ideas and transitional replacement are established; only this governed combination and continuing review cadence remain contrastive in the retained sources.","contrastive_claim_falsifier":"The contrast disappears if a product or documented practice is found that already implements substantially the same joint gates and lifecycle. Its operational benefit is falsified if a pilot fails any declared invariant, overlooks a supported installation or hold, leaves another initialization or recovery path executing the retired prefix, cannot recover or reactivate the archived prefix within the stated objective, or shows no measurable reduction in obsolete-chain execution or maintenance burden.","gates":{"adequate_source_search":{"status":"PASS","rationale":"The light screen searched direct formulations, older baseline/state-script and squashing terminology, four major framework or migration-tool practices, and combinations involving fleet state, restoration, archival, checksums, holds, and tombstones. Four opened direct sources from four publishers were retained. This is sufficient for coarse researchability, not exhaustive prior-art review.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"supported_problem":{"status":"PASS","rationale":"Multiple official or first-party sources independently document burdensome historical replay, transitional protection for lagging installations, failures from obsolete historical references, and loss of custom semantics during schema-derived squashing.","source_ids":["SRC1","SRC2","SRC3"]},"distinct_testable_claim":{"status":"PASS","rationale":"Django substantially anticipates safe transitional squashing, but none of the retained sources specifies the narrower joint fleet, reconstruction, and preservation gates followed by quarantine, immutable archive, tombstone, and recurring review. That combination has observable pass and failure conditions.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"bounded_next_test":{"status":"PASS","rationale":"For one noncritical service, a read-only chain and fleet inventory followed by disposable full-chain and checkpoint-plus-suffix builds can compare execution time and obsolete dependency use while checking declared schema and data invariants. No production mutation, quarantine, or deletion is required.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"no_obvious_safety_or_authority_stop":{"status":"PASS","rationale":"The authorized first step is confined to read-only inventory and disposable infrastructure. It preserves all scripts and evidence, does not alter production or support policy, and halts on incomplete fleet knowledge, unresolved ownership or holds, archive failure, or invariant mismatch. Django and Prisma guidance reinforce staged transition and consistency checks.","source_ids":["SRC2","SRC3"]}},"screen_survival":true,"world_novelty_boundary":"This bounded public-web screen found substantial adjacent practice and cannot establish world novelty, patentability, market size, expert acceptance, or realized value. It supports only the limited conclusion that the complete proposed lifecycle conjunction was not found in these four retained official or first-party sources. Unsearched product features, patents, academic literature, internal operating procedures, and non-indexed implementations may anticipate it."}