More Infinite Research


Productivity for intermediates, science packs, final products, spoilage rate, and modded recipes. Bonuses for player stats, robot specs, weapon speed, stack size, cargo landing pads, and more... Override game limits on productivity, efficiency, speed, quality, and recycling. Settings to disable, limit, and rebalance each added research. Designed for vanilla, Space Age, and overhaul mods.

Tweaks
5 hours ago
0.13 - 2.1
8.03K
Logistics Trains Combat Character Mining Fluids Logistic network Manufacturing Cheats

Changelog

Version: 5.0.14
Date: 2026-11-13

  Bugfixes:

    - Fix worker cargo save upgrades that reject changes to unrelated mods despite having saved MIR ownership history.
    - Include prior package and saved-route details when a worker transfer cannot be authenticated.
Version: 5.0.13
Date: 2026-11-12

  Bugfixes:

    - Fix startup on Factorio 2.1 with Angel's and Bob's Space Age Compatibility & Rebalance when native steel productivity already
      covers Angel's steel recipes.
    - Preserve earned and unfinished default worker cargo research from supported MIR 4.7.3 Base saves on Factorio 2.0 and 2.1.
    - Match multilingual Research Library searches using Factorio's native text handling while retaining the typed query.
Version: 5.0.12
Date: 2026-11-11

  Bugfixes:

    - Prevent worker cargo upgrade failures when the map research price multiplier differs from 1.
    - Keep Ferrum robotics science in continued worker robot cargo research on Factorio 2.0 and 2.1.
    - Keep default worker cargo research in permanent native research on Factorio 2.0 and 2.1, preserving earned levels and
      unfinished work on admitted upgrades.
    - Preserve earlier MIR 5 default worker cargo research when upgrading and later adding a supported provider.
    - Retain worker cargo history across supported engine patch updates, Factorio 2.0-to-2.1 upgrades and provider updates that
      leave the research contract unchanged.
    - Keep ordinary research queue changes safe after a force finishes its preserved worker cargo research.
    - Allow Bob's Warfare with mods that set recipe productivity caps, preserving their configured limits.
    - Preserve known Base-only research history from 5.0.0–5.0.2 when upgrading and adding mods.
    - Keep Secretas robot research history across successive MIR updates.
    - Preserve complete productivity credit effects when other mods expand native recipe research.
    - Restore 485 missing startup-setting labels from published translations across 49 languages.
    - Keep unavailable research explanations in separate, wrapping rows in the Research Library.
    - Preserve complete characters when limiting Library search text, including previously saved searches.

  Changes:

    - Use `mir-worker-storage-default-4` for native default worker research queries; `worker-robots-storage-4` retains its separate
      prerequisite or finite-stage meaning.
    - Use responsive Research Library filters, native title-bar controls and clearer empty-queue and settings-scope states.
    - Label the support page Help and improve German Library wording.
Version: 5.0.11
Date: 2026-11-09

  Bugfixes:

    - Fix startup failures caused by valid productivity reward settings in Factorio 2.0 and 2.1.
    - Preserve earned robot cargo bonuses and unfinished work through supported provider additions using a prepared original-save
      copy.
    - Include recipe and research details in native bonus validation errors.
    - Remove outdated active-lab science advice from translated direct-effect research descriptions.
    - Detect disabled Angel water-treatment prerequisites before publishing dependent research.
    - Retain selected Library research while translated search results reload after changing tabs.
Version: 5.0.10
Date: 2026-11-08

  Bugfixes:

    - Preserve finite worker robot cargo research from other mods and continue after its actual final level; retain an existing
      infinite continuation.
    - Keep Space Is Fake research obtainable when white science is retired, including shifted continuations and expanded science
      policies.
    - Include the affected research and saved-state context in unknown bonus-history errors.
Version: 5.0.9
Date: 2026-11-07

  Bugfixes:

    - Fix loading existing saves with non-default research costs by keeping private bonus tracking independent of the map
      multiplier.
    - Keep the Library Settings page inside the window at normal and narrow sizes.
    - Restore compact effect labels and their original translations in the Library.
Version: 5.0.8
Date: 2026-11-07

  Bugfixes:

    - Restore fixed Library tabs, compact research details, labelled filters, Settings fields and sectioned help from the authored
      interface.
    - Keep Library selection, list/detail scrolling and science-production snapshots during updates; fix resizing across narrow
      layouts.
    - Preserve a supplied finite research-speed level 7 and continue MIR research from level 8, while protecting earned bonuses and
      partial work.
    - Refuse unsafe first upgrades when finite research ownership cannot be established; retain normal cap changes after a verified
      upgrade.
    - Show configured numeric research caps in native technology descriptions.
    - Restore missing setting names, help and dropdown labels without changing setting values.
Version: 5.0.7
Date: 2026-11-06

  Bugfixes:

    - Preserve earned low-density structure, plastic, processing-unit and rocket-fuel research when upgrading Base saves from MIR
      1.0.0, 1.1.0 and 1.2.0.
    - Preserve earned module bonuses when module research is disabled on the first updated load from MIR 1.1.0.
    - Fix the research-preservation check when moving Base saves from MIR 4.7.3 on Factorio 2.0.77 to Factorio 2.1.23.

  Documentation:

    - Simplify player reports, contributor build instructions and source navigation, and update the API guide.
Version: 5.0.6
Date: 2026-11-06

  Bugfixes:

    - Keep unsafe Bob material productivity research unavailable when its recipes can return their own ingredients, while retaining
      existing research and earned effects.
    - On Factorio 2.1, unsafe Bob material research leaves the active queue while keeping its partial progress and earned bonuses.
    - Restore conditional Marine coke research for Real Industrial Chemistry without overriding its research owner or recipes.
    - Preserve zero fluid-box extents when applying the pipeline-extent setting.
Version: 5.0.5
Date: 2026-11-05

  Bugfixes:

    - Keep Space-policy research available on Factorio 2.1 with Space Age when a supported satellite launch source supplies space
      science.
    - Correct the German Research Library sorting label.
Version: 5.0.4
Date: 2026-11-05

  Bugfixes:

    - Avoid redundant future weapon-speed upgrades when qualified native research already covers every effect, while retaining
      earned bonuses.
    - Preserve paid electric and Tesla speed bonuses separately when another mod covers only part of their shared research, while
      keeping useful uncovered research available.
    - Avoid duplicate future productivity for Galore coal crushing while retaining earned sulfur bonuses and other sulfur research
      effects.
    - Avoid errors when a research event refers to a technology that is missing or no longer valid.
Version: 5.0.3
Date: 2026-11-04

  Bugfixes:

    - Keep Krastorio 2: Spaced Out glass research loading when Crushing Industry replaces the glass recipe, without changing either
      mod's recipes.
    - Preserve Secretas's finite worker-robot storage research and continue from level 9 with its inherited science and effects.
    - Apply research cost and time settings to compatible native productivity research; retain separate MIR research when the native
      progression cannot represent those settings safely.
    - Preserve recipe-specific earned bonuses, unfinished research and queued work when native research ownership changes, including
      existing destination-force bonuses during force merges.
    - Preserve affected Space Is Fake research when selecting native productivity research or inheriting research time.
    - Preserve independently known paid research from earlier plain Base betas and supported 4.7.3 upgrades; refuse unknown prior
      ownership before changing saved research state.
    - Improve Russian research and setting names, descriptions and percentage explanations.
Version: 5.0.2
Date: 2026-11-03

  Changes:

    - Show current and maximum recipe productivity and whether the next research level can still help in selected Library details,
      without changing research queue behavior.
    - Search affected recipe IDs in the Library, including IDs without translated names.
    - Preview diagnostic reports in Debug and choose whether to include settings and availability details before exporting locally.
    - Preserve personal Library choices through player and configuration changes, and show when discovery information is limited or
      falls back to stable IDs.
    - Correct three Russian research names for cannon shells and thruster fuel and oxidizer productivity.
    - Respect Discovery Tree's research visibility in Library lists, selected details, queue labels and native research navigation.

  Bugfixes:

    - Preserve previously earned low-density-structure, plastic, processing-unit, rocket-fuel and steel bonuses for affected
      Factorio 2.0 saves using Space Is Fake 1.0.60.
    - Avoid duplicate weapon-speed research with Muria while preserving its finite technologies and adding the intended
      continuation.
    - Leave compatible infinite native research supplied by another mod under that mod's control.
    - Refuse unsafe addition or removal of Muria on an existing MIR save before changing MIR's saved state.
    - Keep private Space Is Fake and Krastorio recovery research out of ordinary Library views.
    - Restore custom percentages and older accepted values in imported pipeline and prototype-limit settings profiles.
    - Restore English setting names and help text.
Version: 5.0.1
Date: 2026-11-01

  Changes:

    - Restore the Research Library's research list and selected details side by side at normal window widths, with a readable
      stacked layout when space is narrow.
    - Add explicit larger, smaller and reset controls, and retain the Library's size and position while switching tabs.
    - Restore native localized research names and complete selected-research details.
    - Keep search and filters responsive while the displayed results refresh.

  Bugfixes:

    - Keep loading when Strategy Mortar Turret changes Ironclad's mortar firing-speed bonus.
    - Avoid a false startup refusal after Krastorio 2: Spaced Out patch updates within the reviewed major/minor version lines.
    - Preserve an existing train-braking research technology instead of failing on a duplicate.
    - Close MIR's owned Library window before a player is removed, preventing stale views from surviving player-slot reuse.
Version: 5.0.0
Date: 2026-10-31

  Beta testing:

    - Performance testing and in-game checks for Library keyboard/focus behavior, saved personal views and export files remain
      unfinished.

  Changes:

    - Simplify research generation to avoid unnecessary loading work while keeping existing research names, costs and progression.
    - Check MIR research definitions before adding them, catching duplicate names, missing references, invalid values and circular
      MIR prerequisites.
    - Preserve research and setting identities, finite levels, infinite continuations and each Factorio version's supported
      features.
    - Preserve inherited defaults and explicit choices when importing settings profiles.
    - Keep native research bonuses separate from repair, agriculture and spoilage processing.
    - Add the documented MIR API for mod integrations and read-only research information.
    - Keep personal Research Library views, search, settings export and translations; explain unavailable features without changing
      research state.
    - Add full and compact settings exports on Factorio 2.0/2.1, with copyable text and local text files.
    - Add a local diagnostic report on Factorio 2.0/2.1 for support requests. Nothing uploads automatically; attach the engine log
      separately.
    - Preserve cumulative save migrations for supported direct upgrades from older releases.

  Compatibility:

    - Retain supported Armor, Py, ATAN, Bob's/Angel's and Krastorio integrations.
    - Restore fourteen Tin, Lead, Bronze, Gunmetal, Invar, Nitinol and Copper Tungsten technologies with Bob's mods on Factorio 2.1
      without Angel's.
    - Restore five Tin, Gunmetal and Invar material research stages with Bob's Tech and Angel's on Factorio 2.1.
    - Restore 31 Base and 16 Space Age Bob's Plates research entries, including installations using only part of Bob's mods.
    - Preserve advanced and alien science quantities for Bob's Tech research continuations.
    - Restore missing Angel's research, including steel productivity, on Factorio 2.1.
    - Restore breeding, material and steel research with Bob's/Angel's on Factorio 2.1, including braking and laser research
      requirements.
    - Restore missing research with the supported Space Age, Bob's Tech and Angel's combination on Factorio 2.0.
    - Preserve disabled oil-cracking research and match science-pack productivity research to the supported Bob's/Angel's laboratory
      inputs and progression.
    - Preserve Ironclad mortar shooting speed and native weapon categories when dedicated weapon research is disabled or overlapping
      research is retained.
    - Restore sulfur and sulfuric-acid research with Bob's mods on Factorio 2.1.
    - Keep separate finite and infinite material research, recipe ownership and hidden Imersite recovery research where supported.
    - Keep both existing runtime integration interfaces available for other mods.

  Bugfixes:

    - Accept already-enabled armor-plate recipes with Bob's/Angel's on Factorio 2.0 without changing research or overriding another
      mod's recipe settings.
    - Preserve extra tier-one module productivity earned in supported MIR 1.1 saves; new module research uses the corrected effects.
    - Preserve cannon bonuses earned through the old combined rocket research in supported MIR 1.2 saves, using the saved rocket
      setting; new cannon research remains separate.
    - Hide recovery research from Library lists, translation requests and native research actions while preserving its earned
      bonuses and ordinary research from other mods.
    - Show localized Library titles, research groups, science and prerequisites while search translations are loading; add missing
      German status, queue and cap explanations.
    - Keep disabled MIR research unavailable after research-effect resets and force changes, including when caps are unlimited.
    - Restore only MIR-owned research disablement when relaxing caps or re-enabling a research family, including supported old
      worker-robot research.
    - Restore all twenty Bob's/Angel's material setting families on supported Factorio 2.1 Base and Space Age configurations.
    - Restore seven Bob's/Angel's productivity research icons on Factorio 2.1.
    - Restore missing research names and descriptions across included languages without replacing existing translations.
    - Add missing names for Imersite recovery research and explanations for unavailable material research.
    - Preserve the correct carbon productivity effects when the Bob's/Angel's Space Age recipe produces Angel's carbon.
    - Include science quantities, prerequisites, effects, lab support and icons in optional research-generation diagnostics.
    - Remove retired space-science requirements from Research speed 7 and Weapon shooting speed 7 when Space Is Fake is installed,
      including expanded science settings.
    - Reject invalid integration research before adding it to the game, and restrict changes to MIR-owned presentation.
    - Accept the default recipe productivity limit when Bob's Tech and Angel's omit it.
    - Accept an explicit 300% recipe productivity limit on Factorio 2.0 as equivalent to the default.
    - Prevent graphics-only Krastorio add-ons from activating the overhaul integration or hiding unrelated integrations.
    - Limit the growth-factor setting to 1000 while preserving defaults and zero inheritance.
    - Require unchanged productivity-provider preferences for the first upgrade from MIR 4.7.3, including locally built copies.
    - Refresh open Library views after relevant research, queue and force changes without changing research state.
    - Preserve pending Library translations across client reloads and retry expired requests in a consistent order.
    - Avoid scanning unrelated science unlocks and research trees during ordinary research generation.
    - Preserve cryogenic science and its unlock requirement when another mod replaces the native research trigger with ordinary
      research.
    - Preserve earned levels above a cap, suspended research progress and queues on supported save upgrades.
    - Recover old MIR cap ownership without enabling research disabled by another mod or treating visibility records as permission
      to enable it.
    - Preserve cap-restoration rights on supported MIR 4.2-4.7 upgrades from Factorio 2.0 to 2.1.
    - Preserve other mods' original research-disablement choices through effect resets and equivalent productivity-effect orderings.
    - Preserve disabled and hidden Imersite research through its supported recovery transition, including when it is not queued.
    - Reconcile scripted bonuses with other mods' contributions rather than overwriting their combined values.
    - Avoid Lua stack overflows when reading deeply nested pipeline and receiver definitions.

  Optimizations:

    - Share Research Library catalogue information between views and combine related refreshes on the next tick.
    - Create each research family once; native research bonuses need no recurring Lua maintenance.
    - Skip inactive integrations and disabled broad overrides before scanning prototypes.
    - Avoid repeated recipe collection and reuse unchanged lab-compatibility information during research generation.

  Info:

    - This is a GitHub community beta. Heavy-modpack, active-factory, save-loading and Library-memory performance testing remains
      unfinished.
    - Separate builds cover Factorio 0.13-0.17, 1.0, 1.1, 2.0 and 2.1; minimum versions and available features differ. Factorio 2.1
      requires 2.1.23.
    - Factorio 0.18.47 remains experimental and has not been tested on that exact engine.
    - Factorio 0.6-0.12 builds provide basic finite research only and remain untested best effort; save upgrades are not supported
      there.
    - GitHub betas and stable releases use the same version format. Only stable releases go to the Mod Portal, using the same tested
      ZIPs.
    - Back up the save and matching mods/settings before upgrading. Test a copy with settings unchanged, then save and restart
      before adopting it.
    - All editions share this changelog; historical entries keep their original release and Factorio-version scope.
    - Package metadata, changelog and public API version queries identify the matching release and Factorio build.
Version: 4.7.3

  Bugfixes:

    - Bind independently established direct recipe alternatives for unfamiliar lab inputs, including planetary-data with no
      same-name recipe.
    - Preserve selected science amounts and the actual seed owner's prerequisites; reject disabled, zero-output and unseeded cyclic
      alternatives.

  Historical qualification scope:

    - All nine editions had the recorded upgrade and two-cold-reload observation; the separate Factorio 2.1 load/save scope covered
      Base and the pinned K2 2.1.4/K2 Spaced Out 2.0.19 combination.
    - The separate multi-producer fixture retained67 researches and199 positive recipe-productivity effects; it did not reproduce
      the reporter's full QoL set.
    - No new performance or multiplayer conclusion was recorded.

  Info:

    - Target package from source 4.7.3.
    - Retain the published 4.7.2 changelog and earlier history.
    - [Factorio 2.1] Require Factorio 2.1.23 or newer in this target line.
    - [Factorio 2.0] Require Factorio 2.0.77 or newer in this target line.
    - [Factorio 1.1] Require Factorio 1.1.110 or newer in this target line.
    - [Factorio 1.0] Require Factorio 1.0.0 or newer in this target line.
    - [Factorio 0.17] Require Factorio 0.17.79 or newer in this target line.
    - [Factorio 0.16] Require Factorio 0.16.51 or newer in this target line.
    - [Factorio 0.15] Require Factorio 0.15.40 or newer in this target line.
    - [Factorio 0.14] Require Factorio 0.14.23 or newer in this target line.
    - [Factorio 0.13] Require Factorio 0.13.20 or newer in this target line.
Version: 4.7.2

  Bugfixes:

    - Preserve unambiguous native science sources and their unlock gates when acyclic transitive factory dependencies are unknown.
    - Keep strict diagnostics, missing-source rejection and cyclic-reference rejection; never remove selected cryogenic science to
      suppress startup errors.
    - Do not let optional late or recycling producers veto an otherwise acyclic native science declaration.

  Historical qualification limits:

    - The small native reproducer represented the reported failure shape, not the reporters' complete mod configurations; no new
      performance or multiplayer conclusion was recorded.

  Info:

    - Target package from source 4.7.2.
    - Retain the published 4.7.1 changelog and earlier history.
    - [Factorio 2.1] Require Factorio 2.1.23 or newer in this target line.
    - [Factorio 2.0] Require Factorio 2.0.77 or newer in this target line.
    - [Factorio 1.1] Require Factorio 1.1.110 or newer in this target line.
    - [Factorio 1.0] Require Factorio 1.0.0 or newer in this target line.
    - [Factorio 0.17] Require Factorio 0.17.79 or newer in this target line.
    - [Factorio 0.16] Require Factorio 0.16.51 or newer in this target line.
    - [Factorio 0.15] Require Factorio 0.15.40 or newer in this target line.
    - [Factorio 0.14] Require Factorio 0.14.23 or newer in this target line.
    - [Factorio 0.13] Require Factorio 0.13.20 or newer in this target line.
Version: 4.7.1

  Bugfixes:

    - Match foreign infinite technology effects before qualifying their science; retain qualification of matching owners.
    - Bind independently seeded replacement recipes for declared named science sources when the named recipe is absent.
    - Distinguish missing science unlocks from rejected unlock candidates and retain their rejection reasons.

  Historical qualification scope:

    - All nine editions passed focused packaged-Lua controls and exact-engine loading; the eight editions from Factorio 0.13 through
      Factorio 2.0 recorded 4.7.0 upgrades with two cold reloads, while Factorio 2.1 retained its earlier Base and Space Age scope
      rather than establishing a generalized new result.
    - Reporter mod closures were unavailable, and this release made no new performance claim.

  Info:

    - Target package from source 4.7.1.
    - Retain the published 4.7.0 changelog and earlier history.
    - [Factorio 2.1] Require Factorio 2.1.23 or newer in this target line.
    - [Factorio 2.0] Require Factorio 2.0.77 or newer in this target line.
    - [Factorio 1.1] Require Factorio 1.1.110 or newer in this target line.
    - [Factorio 1.0] Require Factorio 1.0.0 or newer in this target line.
    - [Factorio 0.17] Require Factorio 0.17.79 or newer in this target line.
    - [Factorio 0.16] Require Factorio 0.16.51 or newer in this target line.
    - [Factorio 0.15] Require Factorio 0.15.40 or newer in this target line.
    - [Factorio 0.14] Require Factorio 0.14.23 or newer in this target line.
    - [Factorio 0.13] Require Factorio 0.13.20 or newer in this target line.
Version: 4.7.0

  Performance:

    - [Factorio 2.1, Factorio 2.0, Factorio 1.1, Factorio 1.0] Reuse owned Gate and provider inputs, and capture journal mutation
      before-state once with independent after checks.
    - [Factorio 2.1, Factorio 2.0, Factorio 1.1, Factorio 1.0] Prepare recipe semantics and full facts lazily; reuse normalized
      output, ingredient and category relationships.

  Bugfixes:

    - [Factorio 2.1, Factorio 2.0] Bind approved trigger-output science sources through positive typed outputs and required
      prerequisites.
    - [Factorio 2.1, Factorio 2.0] Keep disabled, cyclic and unseeded alternatives unresolved.

  Compatibility:

    - [Factorio 2.1] Add finite Imersite levels 1-3 and a level 4+ powder continuation for K2 2.1.4 with K2SO 2.0.19.
    - [Factorio 2.1] Preserve separate native crystal ownership and saved research state through the Imersite migration.
    - [Factorio 2.1] Apply Gunmetal/Invar structural continuation mappings for Bob/Angel with BobsTech.

  Historical qualification scope:

    - Four earned Imersite levels changed 300 ore into 324 powder and 324 sand versus the 300/300 control; the Gunmetal/Invar staged
      queues and 42% next-level progress survived two cold reloads.
    - Five balanced headless blocks per profile, including no-MIR controls, observed16.7% to37.5% MIR-added reductions in named
      cases; they were not ordinary-menu measurements and did not prove the50% menu-overhead target.

  Info:

    - Target package from source 4.7.0.
    - Retain the exact published 4.6 entry and earlier history for this target.
    - [Factorio 2.1] Require Factorio 2.1.23 or newer in this target line, matching declared package metadata.
    - [Factorio 2.0] Require Factorio 2.0.77 or newer in this target line, matching declared package metadata.
    - [Factorio 1.1] Require Factorio 1.1.110 or newer in this target line, matching declared package metadata.
    - [Factorio 1.0] Require Factorio 1.0.0 or newer in this target line, matching declared package metadata.
    - [Factorio 0.17] Require Factorio 0.17.79 or newer in this target line, matching declared package metadata.
    - [Factorio 0.16] Require Factorio 0.16.51 or newer in this target line, matching declared package metadata.
    - [Factorio 0.15] Require Factorio 0.15.40 or newer in this target line, matching declared package metadata.
    - [Factorio 0.14] Require Factorio 0.14.23 or newer in this target line, matching declared package metadata.
    - [Factorio 0.13] Require Factorio 0.13.20 or newer in this target line, matching declared package metadata.
Version: 4.6.0

  Bugfixes:

    - [Factorio 2.1, Factorio 2.0, Factorio 1.1, Factorio 1.0] Accept an independently available replacement science recipe when its
      named source has no usable unlock.
    - [Factorio 2.1, Factorio 2.0, Factorio 1.1, Factorio 1.0] Keep disabled and circular alternatives from inventing science
      availability.

  Performance:

    - [Factorio 2.1, Factorio 2.0, Factorio 1.1, Factorio 1.0] Reuse the prepared technology-selection fingerprint instead of
      encoding the same selection again.

  Info:

    - Target package from source 4.6.0.
    - Restore the published 4.3, 4.4 and 4.5 changelog entries alongside the retained earlier history.
    - Retain the research, settings, cap and save-continuity repairs included in source 4.5.2.
    - [Factorio 2.1] Require Factorio 2.1.21 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 2.0] Require Factorio 2.0.77 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 1.1] Require Factorio 1.1.110 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 1.0] Require Factorio 1.0.0 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 0.17] Require Factorio 0.17.79 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 0.16] Require Factorio 0.16.51 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 0.15] Require Factorio 0.15.40 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 0.14] Require Factorio 0.14.23 or newer in this target line, matching the accepted exact-engine tests.
    - [Factorio 0.13] Require Factorio 0.13.20 or newer in this target line, matching the accepted exact-engine tests.

  Compatibility:

    - [Factorio 2.0] Restore staged Aluminium, Gold, Tin and Titanium manufacturing productivity for the qualified Bob/Angel inputs.
    - [Factorio 2.0] Check actual recipe outputs, permissions, ownership and progression through the shared material bindings.
    - [Factorio 2.0] Apply Gold wire productivity to its gilded copper cable output; retain Tin's established Automation science
      policy.

  Historical qualification scope:

    - The Factorio 2.0 Bob/Angel-without-BobTech observation covered four material families, eight staged technologies and eighteen
      effect entries across nine recipes; four earned levels produced 108 plates from 100 and 432 gilded cables from 400, with saved
      next-level investment surviving both reloads.
    - Three-run headless-creation medians were mixed and slower in named Base and Bob/Angel cases; no general speedup, ordinary-menu
      result or 10% target pass was claimed.
Version: 4.5.2

  Info:

    - Target package from source 4.5.2.

  Bugfixes:

    - Accept independently validated alternative science unlocks, including moved Promethium and electromagnetic unlocks.
    - Keep circular or unavailable owners from replacing the valid science source or removing required packs.
    - Preserve numeric research costs consistently through planning and design validation on Factorio 0.13 and 0.14.

  Performance:

    - Reuse final journal and public-artifact representation preparation without changing generated research.
    - Bind each prepared design once after effect sanitation.
    - Use the common qualifier while retaining target-specific science diagnostics.

  Compatibility:

    - Retain the released worker-speed cap, Dark Matter Replicators Reborn, Library, multiplayer and mining-drill manufacturing
      corrections.

  Historical qualification scope:

    - Twenty-two upgrades from published 4.5.1 and corrected 4.4.2 plus ten fresh-load scenarios were recorded with two cold
      reloads; the exact Factorio 2.1 package also had one graphical localhost join, rejoin, restart and Library-search observation,
      not two-client coverage.
    - Matched Galore headless medians varied in both directions, so the release made no whole-run speedup or ordinary-menu claim.
Version: 4.5.1

  Info:

    - Target package from source 4.5.1.

  Bugfixes:

    - Preserve native Promethium science binding and validated direct science alternatives.

  Historical qualification limits:

    - Controlled source tests reproduced the reported science errors, but not reporters' complete modpacks; native migration, reload
      and client acceptance remained unfinished and no new performance timing was recorded.
Version: 4.5.0

  Info:

    - Target package from source 4.5.0.

  Bugfixes:

    - Repair the reported modules prerequisite on disabled Angel silver research without ignoring other prerequisites.

  Performance:

    - Avoid preparing unused provider diagnostics and copying detailed publication evidence during normal startup.
    - Reuse prepared graph nodes and avoid an unnecessary ordinary-table sort.

  Compatibility:

    - Retain the single research catalogue and authoritative emitter; the release made no deliberate Classic support cull.

  Historical qualification limits:

    - The Factorio 2.0 Angel disabled-silver reproduction and Base-upgrade observation were scoped, with its first cold reload
      interrupted by the memory guard; final Factorio 2.1 Space Age and broader client qualification remained unfinished.
    - Earlier development-byte headless comparisons were modest and mixed, not final-package or ordinary-menu timings.
Version: 4.4.2

  Bugfixes:

    - [Factorio 2.1, Factorio 2.0] Bind Dark Matter Replicators Reborn's mined tenemut lab input to its actual resource, preventing
      unresolved scoop science dependencies without restarting factory discovery.

  Performance:

    - Reuse lab acceptance data and approved bindings within each compilation.
    - Avoid copying the public compiler snapshot solely to measure its serialized size.

  Changes:

    - [Factorio 2.1, Factorio 2.0] Add an explicit maximum-level setting for native infinite worker robot speed research, using the
      existing cap controller without changing earned bonuses, science or costs.
    - [Factorio 2.1, Factorio 2.0] Use the shared native-continuation planner and remove the obsolete Classic notice.
    - [Factorio 1.1, Factorio 1.0, Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Remove the obsolete
      Classic notice module and its inactive lifecycle hooks.

  Info:

    - [Factorio 1.1, Factorio 1.0, Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Target package from
      source 4.4.2.

  Fixes:

    - [Factorio 0.16] Retain published Factorio 0.16 science progression prerequisites through checked declarations.
    - [Factorio 0.15] Recognize Factorio 0.15 satellite launch results and retain approved science progression prerequisites.

  Historical qualification scope:

    - Native Factorio 2.0 Base and Factorio 2.1 Space Age exercised the worker-speed cap from 0 to 10 to 0 and retained earned
      bonuses plus 42% progress; focused Factorio 2.0/Factorio 2.1 predecessor upgrades each used two cold reloads.

  Historical qualification limits:

    - The original nuclear-test report and full reporter modpack remained unreplicated; no all-engine client, hardware-independent
      loading or general performance guarantee was claimed.
Version: 4.4.1

  Info:

    - Target package from source 4.4.1.

  Fixes:

    - Prevent multiplayer join failures caused by a load-only on_tick event registration.

  Historical qualification limits:

    - The release retained its construction-manifest wrapper failure while separately verifying all nine archive payloads; fresh
      native multiplayer/client and broader save/engine qualification were deferred.
Version: 4.4.0

  Changes:

    - Use the unified approved catalogue, declared binder and single-emitter path, including the associated Library import repair.
    - Retain package, binding and compatibility corrections, separate retired developer-only characterization, and update package
      presentation and fixture controls.

  Info:

    - Target package from source 4.4.0.

  Compatibility:

    - A focused Factorio 2.0 Secretas 1.0.33 plus Pretty Frozeta 0.1.0 finite continuation passed; the original reporter save,
      Factorio 2.1 Secretas 1.0.37 incompatibility and reported mining-yield/core-drill behavior stayed outside that scope.
    - A focused Factorio 2.0 manufacturing observation measured drill-recipe productivity only; it did not establish ore yield,
      Space Exploration or client behavior.

  Historical qualification scope:

    - The release recorded Factorio 2.0 Base and Galore/Space Age direct 4.2.2 and immediate 4.3.0 upgrades, Factorio 1.1 Base and
      Factorio 2.1 Space Age observations; the Factorio 2.0 paths used four actors and two cold reloads, not an all-scenario result.
    - Matched Factorio 2.0 Galore/Space Age headless creation observed 12.1377% and 11.4527% improvements against published 4.3.0,
      while remaining 38–39% above the no-MIR arm; this was not ordinary-menu, reporter-profile or client qualification.

  Historical qualification limits:

    - This emergency unsigned, partially qualified R05 release did not claim protected-main promotion, a technical seal, broad
      native upgrade/fresh/Library/client coverage, or the 10% performance destination.
Version: 4.3.0

  Changes:

    - Keep Full as the default 4.2.2-compatible profile while making Classic an explicit reduced option that does not preserve
      investment in omitted research.
    - Prepare route data once, retain typed recipe indexes and viable alternatives, and stop unnecessary Research Library
      translation maintenance.

  Info:

    - Target package from source 4.3.0.

  Historical qualification scope:

    - Published 4.2.2 upgrades on Base Factorio 2.0, Base Factorio 2.1 and Space Age Factorio 2.1 recorded definitions, saved
      investment, effects, queues, fractional progress and two cold reloads; zero row differences in named Galore and Bob/Angel
      captures did not prove modded-save migration.
    - Matched headless create-and-save observations ranged from 4.98% to 59.47% shorter total runs in named profiles, not
      ordinary-menu, reporter-environment or first-Library-use qualification.

  Historical qualification limits:

    - Full retained no deliberate support cull, but unresolved integrations, wider modded-save and client/multiplayer acceptance
      remained follow-up work; no universal loading-time guarantee was claimed.
Version: 4.2.2

  Bugfixes:

    - [Factorio 2.1, Factorio 2.0] Honor declared surface-property defaults when admitting an acquired laboratory, while preserving
      explicit surface overrides.
    - [Factorio 2.1, Factorio 2.0] Continue eligible base research after a finite numeric upstream level range from its actual
      terminal technology, preserving the finite chain and true-infinite ownership checks.
    - [Factorio 2.1, Factorio 2.0] Refine recipe-productivity and science-route admission from completed recipe outputs, compatible
      fluid handling and valid acquisition routes.
    - [Factorio 2.1, Factorio 2.0] Keep unsafe return and recycling paths from admitting unreachable research while retaining
      verified native spoilage acquisition.
    - [Factorio 2.1] Adapt the Research Library to the supported Factorio 2.1 catalogue, recipe, statistics and event APIs.
    - [Factorio 2.0] Adapt the Research Library to the supported Factorio 2.0 catalogue, recipe, statistics and event APIs.

  Changes:

    - [Factorio 2.1, Factorio 2.0] Keep the Research Library available independently of optional settings-profile import tools.
    - [Factorio 2.1, Factorio 2.0] Show a force-wide science-production summary when this engine supplies force-wide statistics.
    - [Factorio 1.1] Update the Factorio 1.1 distribution identity and package guidance for source 4.2.2.
    - [Factorio 1.1, Factorio 1.0, Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Preserve the reduced
      target research and settings surface.
    - [Factorio 1.1, Factorio 1.0, Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Continue eligible base
      research after a finite numeric upstream level range from its actual terminal technology, preserving the finite chain and
      true-infinite ownership checks.
    - [Factorio 1.1, Factorio 1.0, Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Research Library host
      adapters remain disabled on this target; this package does not enable a backport.
    - [Factorio 1.0] Update the Factorio 1.0 distribution identity and package guidance for source 4.2.2.
    - [Factorio 0.17] Update the Factorio 0.17 distribution identity and package guidance for source 4.2.2.
    - [Factorio 0.16] Update the Factorio 0.16 distribution identity and package guidance for source 4.2.2.
    - [Factorio 0.15] Update the Factorio 0.15 distribution identity and package guidance for source 4.2.2.
    - [Factorio 0.14] Update the Factorio 0.14 distribution identity and package guidance for source 4.2.2.
    - [Factorio 0.13] Update the Factorio 0.13 distribution identity and package guidance for source 4.2.2.

  Compatibility:

    - [Factorio 2.1, Factorio 2.0] Route admission remains conditional on the actual enabled mod set and its completed data stage.
    - [Factorio 2.1, Factorio 2.0] Historical Research Library hosts remain disabled; this package does not enable a backport.

  Info:

    - [Factorio 2.1] Use 4.2.21002 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - Preserve original saves before upgrading from the published 4.2.1 package for the same Factorio target.
    - [Factorio 2.0] Use 4.2.20002 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - [Factorio 1.1] Use 4.2.11002 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - [Factorio 1.0] Use 4.2.10002 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - [Factorio 0.17] Use 4.2.01702 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - [Factorio 0.16] Use 4.2.01602 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - [Factorio 0.15] Use 4.2.01502 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - [Factorio 0.14] Use 4.2.01402 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.
    - [Factorio 0.13] Use 4.2.01302 for source 4.2.2. The final 02 identifies the source patch, not a packaging retry.

  Upgrade limits:

    - Upgrade directly from 4.2.0 or 4.2.1 to the matching 4.2.2 target package; a 4.2.1 resave after removals cannot recreate
      erased science-productivity levels or bonuses, so preserve backups and load a copy directly with 4.2.2 rather than removing
      MIR or guessing lost state.
Version: 4.2.1

  Bugfixes:

    - [Factorio 2.1, Factorio 2.0] Compile after Bob's Electronics and Technology finalizers when installed, so lab and science
      acquisition uses their completed progression.
    - [Factorio 2.1, Factorio 2.0] Remove retired space science from Weapon shooting speed 7 and Lab research speed 7 with Space Is
      Fake.
    - [Factorio 2.1] Restore Imersite powder continuation with K2 2.1.3/K2SO 2.0.13 on Factorio 2.1.21.
    - [Factorio 2.1, Factorio 2.0] Use base/MIR artwork when an optional DLC artwork provider is inactive, including saved or
      imported icon opt-ins.
    - [Factorio 2.1, Factorio 2.0] Apply the selected braking-force bonus and its correct badge to the native continuation.
    - [Factorio 2.1, Factorio 2.0] Reject continuations whose useful effects are zero after ownership resolution.
    - [Factorio 2.1, Factorio 2.0] Require an obtainable compatible laboratory and acquisition routes for selected science packs.
    - [Factorio 2.1, Factorio 2.0] Reject circular science acquisition before recursively selecting a laboratory.
    - [Factorio 2.1, Factorio 2.0] Account for machine, drill, pump, boiler and fluid-temperature requirements when checking
      acquisition routes.
    - [Factorio 2.1, Factorio 2.0] Respect typed outputs, result probabilities, productive quantities and productivity exclusions in
      route admission.
    - [Factorio 2.1, Factorio 2.0] Reject unsafe self-return routes without treating impossible return edges as reachable
      production.
    - [Factorio 2.1, Factorio 2.0] Include localized recipe and material names in Research Library discovery.
    - [Factorio 2.1, Factorio 2.0] Preserve Library close/position ownership and release obsolete source-force catalogue caches
      after a merge.
    - [Factorio 2.0] Preserve paid LDS, plastic, processing-unit, rocket-fuel and steel manufacturing bonuses with Space Is Fake
      1.0.60.
    - [Factorio 2.0] Keep their retained technology IDs hidden from new research while preserving saved levels and queued progress.

  Compatibility:

    - [Factorio 2.1, Factorio 2.0] Extend guarded material continuation and science-frontier handling through the existing route and
      owner checks.
    - [Factorio 2.1, Factorio 2.0] Keep new Angel/Py subjects conditional; declarations alone do not establish supported overhaul
      profiles.
    - [Factorio 2.1, Factorio 2.0] Preserve existing community breeding and equipment-manufacturing fixes from 4.2.0.

  Changes:

    - [Factorio 2.1, Factorio 2.0] Cache decoded startup profiles and index laboratory placement items during planning.
    - [Factorio 2.1, Factorio 2.0, Factorio 1.1, Factorio 1.0] Try initially obtainable crafting machines before exploring
      research-gated alternatives during acquisition planning.
    - [Factorio 2.1, Factorio 2.0] Optional DLC icon preferences no longer authorize reading files from inactive Space Age or
      Elevated Rails.
    - [Factorio 1.1] Update the Factorio 1.1 distribution identity and package guidance for source 4.2.1.
    - [Factorio 1.1, Factorio 1.0, Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Preserve the reduced
      target research and settings surface; modern-only features remain excluded.
    - [Factorio 1.1, Factorio 1.0, Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Research Library
      backports are not included in this package.
    - [Factorio 1.0] Update the Factorio 1.0 distribution identity and package guidance for source 4.2.1.
    - [Factorio 0.17] Update the Factorio 0.17 distribution identity and package guidance for source 4.2.1.
    - [Factorio 0.16] Update the Factorio 0.16 distribution identity and package guidance for source 4.2.1.
    - [Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Recognize the historical player prototype when checking
      handcraftable laboratory and science acquisition routes.
    - [Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Select the native historical science-pack names for default
      research and official science progression.
    - [Factorio 0.15] Update the Factorio 0.15 distribution identity and package guidance for source 4.2.1.
    - [Factorio 0.14] Update the Factorio 0.14 distribution identity and package guidance for source 4.2.1.
    - [Factorio 0.14, Factorio 0.13] Emit the singular technology icon field required by this engine, preserving the selected base
      artwork.
    - [Factorio 0.14, Factorio 0.13] Withhold robot-battery research because this engine does not support its native modifier.
    - [Factorio 0.13] Update the Factorio 0.13 distribution identity and package guidance for source 4.2.1.

  Info:

    - [Factorio 2.1] Use 4.2.21001 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - Preserve original saves before upgrading from the published 4.2.0 package for the same Factorio target.
    - [Factorio 2.0] Use 4.2.20001 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - [Factorio 1.1] Use 4.2.11001 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - [Factorio 1.0] Use 4.2.10001 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - [Factorio 0.17] Use 4.2.01701 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - [Factorio 0.16] Use 4.2.01601 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - [Factorio 0.15] Use 4.2.01501 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - [Factorio 0.14] Use 4.2.01401 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.
    - [Factorio 0.13] Use 4.2.01301 for source 4.2.1. The final 01 identifies the source patch, not a packaging retry.

  Superseded advisory:

    - This release was superseded by 4.2.2 after reported unexpected technology removals on upgrade; existing saves should not be
      upgraded through 4.2.1, and an affected save should be preserved without resaving before following the direct 4.2.2
      backup-recovery guidance.
Version: 4.2.0

  Changes:

    - [Factorio 2.1, Factorio 2.0] Added a hideable research-browser shortcut with localized search, personal views, and native
      research-queue controls.
    - [Factorio 2.1, Factorio 2.0] Show MIR research in progression order with science, cost, prerequisites, and effect details.
    - [Factorio 2.1, Factorio 2.0] Added guarded finite ordinary-material productivity research with three +2% levels by default for
      eligible recipes.
    - [Factorio 2.1, Factorio 2.0] Added optional free wall/gate maintenance, disabled by default: up to 1 HP per second after 10
      seconds without damage.
    - [Factorio 1.1] Rebuilt the retained Factorio 1.1 package from the current MIR 4.2 source.
    - [Factorio 1.1, Factorio 1.0] Kept the reduced eleven-stream research and settings surface.
    - [Factorio 1.1] Omitted the Factorio-2-only research-cost support artifact from this Factorio 1.1 package.
    - [Factorio 1.0] Rebuilt the retained Factorio 1.0 package from the current MIR 4.2 source.
    - [Factorio 1.0] Omitted the Factorio-2-only research-cost support artifact from this Factorio 1.0 package.

  Bugfixes:

    - [Factorio 2.1, Factorio 2.0] Keep breeding research controls visible for eligible recipes without Space Age; existing setting
      values are retained.
    - [Factorio 2.1, Factorio 2.0] Exclude retired space science from MIR research when Space Is Fake is active.
    - [Factorio 2.1, Factorio 2.0] Cover AAI industrial furnace, SE solar-panel and accumulator tiers in existing
      manufacturing-productivity research.
    - [Factorio 2.1, Factorio 2.0] Cover Solar Matrix and Accumulator V2 manufacturing without changing upstream power, capacity, or
      unlocks.
    - [Factorio 2.1, Factorio 2.0] Preserve continuation effects when an existing native research owner overlaps MIR research.
    - [Factorio 2.1, Factorio 2.0] Preserve generic weapon-speed effects when weapon-overlap handling is set to off.
    - [Factorio 2.1, Factorio 2.0] Store science-route snapshots without copying live compiler service functions.
    - [Factorio 2.1, Factorio 2.0] Retain canonical serialization corrections without claiming an unmeasured overall speedup.
    - [Factorio 2.1, Factorio 2.0] Kept item and fluid identities distinct in material-route and self-return checks.
    - [Factorio 2.1] Recognized explicit offshore-pump sources, native water offsets, and actual lab inputs in science selection.
    - [Factorio 2.1] Restored Space Age productivity research lost through science selection while preserving technology identities
      and order.
    - [Factorio 2.1] Preserved a foreign-disabled technology through V2-to-V3 cap migration and subsequent cap relaxation.
    - [Factorio 2.1] Preserved native queues and force-owned state through cap transitions while refusing forged cap policies.
    - [Factorio 2.0] Preserved safe science exclusions when the locked Bob/Angel profile disables ordinary salt production.
    - [Factorio 2.0] Recognized explicit offshore-pump fluid sources and actual lab inputs when selecting science for generated
      research.
    - [Factorio 2.0] Corrected settings-derived maximum-level transitions while preserving completed research and MIR-owned cap
      state.
    - [Factorio 1.1] Restored package loading by keeping the Factorio-2-only support proof outside the Factorio 1.1 target.
    - [Factorio 1.0] Restored package loading by keeping the Factorio-2-only support proof outside the Factorio 1.0 target.

  Compatibility:

    - [Factorio 2.1] Raised the Factorio 2.1 base, optional Recycler, and optional Space Age dependency floor to Factorio 2.1.18.
    - [Factorio 2.1, Factorio 2.0] Excluded unavailable, cyclic, externally owned, and productivity-denied material routes from
      generated research.
    - [Factorio 2.0] Preserved existing technology and setting identities while composing the Factorio 2.0 package from shared
      source.

  Playtest:

    - [Factorio 0.17, Factorio 0.16, Factorio 0.15] Rebuilt the reduced eleven-stream research surface from current MIR 4.2 source.
    - [Factorio 0.17] Added the Factorio 0.17 target adapter and exact-engine package smoke coverage.
    - [Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Kept Factorio-2-only research-cost support output
      out of this historical target.
    - [Factorio 0.16] Added the Factorio 0.16 old-science target adapter and exact-engine package smoke coverage.
    - [Factorio 0.15] Added the Factorio 0.15 old-science target adapter and exact-engine package smoke coverage.
    - [Factorio 0.14] Materialized a Factorio 0.14 private historical adapter from current MIR 4.2 source.
    - [Factorio 0.14, Factorio 0.13] Applied the target-native old-science and unsupported-effect dispositions discovered by
      exact-engine loading.
    - [Factorio 0.13] Materialized a Factorio 0.13 private historical adapter from current MIR 4.2 source.

  Status:

    - [Factorio 0.17, Factorio 0.16, Factorio 0.15, Factorio 0.14, Factorio 0.13] Private historical playtest package. It is not a
      public compatibility claim or release asset.
Version: 4.1.0
Date: 2026-09-05

  Changes:

    - [Factorio 2.1, Factorio 2.0] Prepared the four-target MIR 4.1 release through one resource-bounded production-readiness
      coordinator.

  Repository Changes:

    - Routed package-excluded MIR 4 documentation and established deterministic repository, authority, bridge, and package
      characterization. [MIR4-CHG-2026-0002] Declared migration facts now generate one authority ledger plus writer, reader, graph,
      bridge-expiry, physical-file, package-membership, and documentation-routing reports. The package-visible root README and
      player package-source fingerprint remain unchanged pending the independently qualified package-documentation cutover.
    - Defined MIR 4.1 as the complete physical and executable foundation and removed stale mutable candidate authority.
      [MIR4-CHG-2026-0003] The live programme now includes package, tooling, test, documentation, maintainability, and
      behavior-preserving decomposition outcomes in the MIR 4.1 completion boundary. Completed pre-freeze records remain immutable
      history while generated current-state views route first to the live MIR 4.x programme. An append-only reconciliation preserves
      the dated MIR 3 portal observation bytes while binding its legacy and lexical timestamp self-hash interpretations.
    - Adopted the rolling Factorio 2.1 experimental channel and passed the first F2D exact-runtime target replay.
      [MIR4-CHG-2026-0008] Factorio 2.1 now selects the latest installed official Factorio 2.1 experimental engine while every
      execution binds the exact patch, executable, runtime API, prototype API, and changelog identities. Every observed 2.1 engine
      or API identity change materializes twelve review tasks covering new APIs, implementation and functionality opportunities,
      compatibility, fixtures, performance, documentation, and the eventual stable transition. The newly materialized 4.0.21000
      Factorio 2.1 package passed fourteen exact-zip runtime scenarios and all five 3.2.11 upgrade archetypes, including first and
      second reloads, without authorizing package cutover.
    - Passed the exact Factorio 2.0 F2D runtime replay and enforced fixed historical-engine locks. [MIR4-CHG-2026-0009] Factorio 2.0
      now rejects any Factorio executable whose product version, governed file version, or SHA-256 differs from the exact target
      authority; the independent verifier repeats that check. The newly materialized 4.0.20000 Factorio 2.0 package passed its
      exact-package smoke scenario and the 2.5.11 base-default upgrade through first and second reloads. The reusable target receipt
      writer records Factorio 2.0 and can advance Factorio 1.1 and Factorio 1.0 without cloning target-specific implementations;
      package cutover and every release gate remain false.
    - Passed the exact Factorio 1.1 F2D runtime replay and bound the historical build observation. [MIR4-CHG-2026-0010] The shared
      fixed-engine resolver now treats optional fields in older release records explicitly and binds Factorio 1.1 to the accepted
      1.1.110.62357 availability observation without weakening its executable digest lock. The newly materialized 4.0.11000 Factorio
      1.1 package passed its exact-package smoke scenario and the 1.9.9 base-default upgrade through first and second reloads.
      Independent verification and external custody passed before expanded work was released; Factorio 1.0 and the four-target
      aggregate remain pending and every cutover and release gate remains false.
    - Passed exact Factorio 1.0 F2D replay, completing all target lanes. [MIR4-CHG-2026-0011] The materialized 4.0.10000 package
      matched the accepted 174-entry tree under exact Factorio 1.0.0.54889. Its exact-package smoke and 1.8.9 base-default upgrade
      passed through two reloads, independent verification, and custody. Expanded success work was released; four target lanes are
      complete while aggregate, cutover, allocation, and release gates remain closed.
    - Accepted the independent four-target F2D runtime aggregate without package cutover. [MIR4-CHG-2026-0012] One verifier bound
      all four receipt chains, replay commits and trees, engines, package identities, predecessor archives, fresh loads, upgrades,
      reloads, and independent verifier results. All four external custody manifests and resource receipts were rechecked, evidence
      remained path-redacted, and cross-target proof substitution was rejected. The package source and root README remain unchanged,
      the old writer stays authoritative, and only F2E package-authority cutover becomes dependency-ready.
    - Cut package authority over to the canonical four-target source and materializer. [MIR4-CHG-2026-0013] src/mod and targets now
      own editable source, stable target identity, overlays, and target policy; mutable distribution versions are projected at
      construction time. TargetMaterializer is the sole current writer, ordinary builds remain below build/packages, and the prior
      bootstrap writer is fenced as explicit historical compatibility. All four accepted 4.0 content trees reconstruct
      deterministically after the independent F2D runtime replay; rollback remains bound to the exact pre-cutover dev commit and
      tree.
    - Separated repository and player-package documentation authorities. [MIR4-CHG-2026-0014] The root README is now a concise
      package-excluded repository landing page with current target, support, installation, diagnostic, developer, and rolling
      Factorio 2.1 policy routing. Generated runtime-pipeline and stream-default references moved under docs/reference/generated and
      remain checked against their executable authorities. The four target-owned README and changelog templates remain exact
      immutable 4.0 reconstruction inputs while release narratives retain sole authority for future source and target changelog
      projections.
    - Converged the public CLI and release orchestration behind canonical application authorities. [MIR4-CHG-2026-0015]
      tools/mir.ps1 is now a thin sole public facade over one package-excluded command router and a generated command inventory
      classifies every PowerShell implementation without unknown entries. One non-production release application DAG now owns
      intent, freeze, target impact, build, qualification, acceptance, rehearsal, readback, restore, and reporting while preserving
      the existing idempotent phase engine. The historical release workflow command is a bounded compatibility wrapper, the
      publisher cannot build or check out source, and all version, signing, tag, seal, promotion, and publication gates remain
      false.
    - Converged executable tests, proof catalogues, and workflow purposes behind one governed authority. [MIR4-CHG-2026-0016]
      Canonical executable PowerShell tests now live under tests/, while validation/tests retains only three bounded historical
      compatibility forwarders. The public CLI deterministically regenerates and checks current test-authority projections, the
      executable proof catalogue, the workflow-purpose catalogue, and the command inventory. Release workflows route through the
      release application entry point, stable required-check names are retained, the publisher still cannot build, and all
      release-transition gates remain false.
    - Split modern compilation-plan construction into explicit model, build, validation, fingerprint, and serialization owners.
      [MIR4-CHG-2026-0017] The public compilation-plan module is now a five-line facade over one build owner and four bounded
      supporting responsibility modules. Factorio 2.1 and Factorio 2.0 gain five internal Lua module paths; Factorio 1.1 and
      Factorio 1.0 retain their independently governed legacy implementation. The four-target current-source materializer records
      exact deterministic structural deltas while immutable 4.0 baseline custody remains unchanged. The materialized Factorio 2.1
      archive passed space-age generation-integrity loading on the exact reviewed Factorio 2.1.17 engine; compact evidence is
      retained under external hashed custody. No technology identity, plan disposition, mutation journal, setting, migration, save,
      compatibility claim, release gate, or publication authority changes.
    - Split modern base-continuation planning into explicit discovery, classification, qualification, and plan owners.
      [MIR4-CHG-2026-0018] The stable base-continuations require path is now a thin facade over four bounded target-owned
      responsibility modules. Factorio 2.1 and Factorio 2.0 retain independent source authorities and their previously governed
      science-phase difference; common discovery and classification implementations remain byte-identical. Each modern target gains
      four internal Lua module paths, while Factorio 1.1 and Factorio 1.0 remain byte-identical to their accepted package baselines.
      The materialized Factorio 2.1 archive passed space-age generation-integrity on the exact currently reviewed rolling
      experimental engine, with compact redacted evidence under external hashed custody. No technology identity, cost, science,
      prerequisite, plan disposition, mutation journal, setting, migration, save, compatibility claim, release gate, or publication
      authority changes.
    - Split modern stream compilation into explicit discovery, ownership, qualification, compilation, and diagnostics owners.
      [MIR4-CHG-2026-0019] The stable stream-compiler require path is now a thin facade over five bounded target-owned
      responsibility modules. Factorio 2.1 and Factorio 2.0 retain independent qualification authorities and the governed Factorio
      2.1 science-phase evidence difference; the other four responsibility implementations remain byte-identical. Each modern target
      gains five internal Lua module paths, while Factorio 1.1 and Factorio 1.0 remain byte-identical to their accepted package
      baselines. The materialized Factorio 2.1 archive passed space-age generation-integrity on the exact currently reviewed rolling
      experimental engine, with compact redacted evidence under external hashed custody. No stream identity, effect, cost, science,
      prerequisite, ownership, diagnostic, plan, mutation journal, setting, migration, save, compatibility claim, release gate, or
      publication authority changes.
    - Split the modern technology catalogue into explicit model, index, query, build, and validation owners. [MIR4-CHG-2026-0020]
      The stable technology-catalogue require path is now a thin facade over five bounded common responsibility modules. The
      decomposition preserves the single trusted catalogue authority through Lua module caching and retains the complete public API.
      Factorio 2.1 and Factorio 2.0 gain five internal catalogue module paths; Factorio 1.1 and Factorio 1.0 remain byte-identical
      to their accepted package baselines. A lazy compilation-plan fingerprint import exposed by the exact compiler-contracts
      fixture now binds at MIR module load time so fixture callers cannot redirect resolution into their own mod namespace. The
      corrected Factorio 2.1 archive passed compiler-contracts on the exact currently reviewed rolling experimental engine, with the
      failed attempt classified and compact passing evidence under external hashed custody. No technology identity, effect, cost,
      science, prerequisite, ownership, diagnostic, plan, mutation journal, setting, migration, save, compatibility claim, release
      gate, or publication authority changes.
    - Split modern effect ownership into explicit fact, row-resolution, and planned-operation owners. [MIR4-CHG-2026-0021] The
      stable effect-ownership require path is now a thin facade over three bounded responsibility modules. Immutable row and
      operation facts, row-level owner resolution, and assembled-plan operation resolution now have separate owners without changing
      the public resolve or resolve_operations contracts. Factorio 2.1 and Factorio 2.0 gain three internal effect-ownership module
      paths; Factorio 1.1 and Factorio 1.0 remain byte-identical to their accepted package baselines. The fresh Factorio 2.1 archive
      passed compiler-contracts on the exact currently reviewed rolling experimental engine, with compact passing evidence under
      external hashed custody. No technology identity, effect, cost, science, prerequisite, ownership outcome, diagnostic, plan,
      mutation journal, setting, migration, save, compatibility claim, release gate, or publication authority changes.
    - Split the modern compiler orchestrator into bounded construction, invocation, contract, and publication owners.
      [MIR4-CHG-2026-0022] The stable compiler-orchestrator require path remains a six-function facade over four bounded
      responsibility modules. Run-context construction, admitted phase invocation, contract checking, and final artifact publication
      now have separate owners without changing the public compile, apply, snapshot, assertion, or publication contracts. Factorio
      2.1 and Factorio 2.0 gain four internal compiler-orchestrator module paths; Factorio 1.1 and Factorio 1.0 remain
      byte-identical to their accepted package baselines. The fresh Factorio 2.1 archive passed compiler-contracts on the exact
      currently reviewed rolling experimental engine, with compact passing evidence under external hashed custody. No technology
      identity, effect, cost, science, prerequisite, ownership outcome, diagnostic, plan, mutation journal, setting, migration,
      save, compatibility claim, release gate, or publication authority changes.
    - Bind the residual PowerShell maintainability work to a finite generated characterization and reconcile architecture validation
      with canonical package outputs. [MIR4-CHG-2026-0023] The generated characterization classifies all 20 canonical internal
      PowerShell files at or above 600 lines, admitting 11 release-critical decompositions and recording nine explicit bounded
      waivers. The architecture gate now validates module assignments against src/mod/package-source.json output paths instead of
      the historical repository-root package projection. Nine existing generated planner modules gain module assignments and two
      stale root-only assignments are removed; all 267 canonical MIR Lua output paths are assigned exactly once. Package-excluded
      architecture, repository-succession, and characterization tests are explicitly mapped to no Factorio scenario impact,
      preventing an unrelated full runtime campaign. The live M42-01B convergence check now counts governed post-convergence
      characterization tests while preserving the immutable 137-test historical relocation receipt. No player package bytes,
      gameplay, saves, settings, migrations, compatibility claims, versions, tags, signatures, seals, or publication authority
      change.
    - Decompose the public PowerShell command router into bounded internal command groups without changing its 85-command public
      contract. [MIR4-CHG-2026-0024] The 1,321-line command router is now a 200-line-bounded facade that owns help rendering, loads
      bounded modules, and delegates command lookup and invocation to one dispatcher. Twelve package-excluded router modules
      separately own argument parsing, run profiles, documentation-only release checks, MIR4 command families,
      core/product/repository command families, and top-level dispatch. Every module is PowerShell-AST clean and below the 400-line
      maintainability limit; the largest module is below 240 lines. The generated command inventory still exposes exactly 85 public
      commands with zero unknown implementations and zero duplicate command keys. The canonical public-command projection is
      byte-identical before and after the split, and positive plus negative public-CLI probes preserve routing behavior. No player
      package bytes, gameplay, saves, settings, migrations, compatibility claims, versions, tags, signatures, seals, or publication
      authority change.
    - Decompose the canonical PowerShell validation runner into a stable facade and bounded internal execution modules without
      changing scenario or result semantics. [MIR4-CHG-2026-0025] The 5,159-line validation entry point is now a 40-line-bounded
      public facade that retains its exact 18-parameter contract and delegates to one application runner. Twenty-one
      package-excluded modules own target bootstrap, early modes, static check families, runtime selection and setup, Factorio
      execution, report assertions, package smoke policy, and resumable scenario campaigns. Every extracted module is PowerShell-AST
      clean and below 600 lines; exact canonical source-slice checks bind the moved behavior to the characterized predecessor. List,
      documentation-only, manifest-only, architecture-only, static, scenario-worker, checkpoint, result-schema, scenario-name, and
      group contracts remain unchanged. Factorio process ownership and schema-2 result aggregation remain in their existing reusable
      validation libraries; the split creates no parallel test framework. No player package bytes, gameplay, saves, settings,
      migrations, compatibility claims, versions, tags, signatures, seals, or publication authority change.
    - Decompose the canonical assurance evidence implementation into a stable facade and bounded responsibility modules without
      changing proof semantics. [MIR4-CHG-2026-0026] The 2,650-line assurance evidence implementation is now a small compatibility
      facade that loads nine package-excluded modules in an explicit order. Fingerprints, producer trust, worker-artifact
      validation, worker import, evidence decisions, attempt state, command execution, plans, and aggregate execution/gates have
      separate bounded owners. All 62 functions retain their exact names, order, and characterized source bodies; each module is
      PowerShell-AST clean and below 600 lines. Fingerprinting, trust, reuse, worker ingestion, attempt, command, plan, result, and
      aggregate gate behavior remain unchanged. No player package bytes, gameplay, saves, settings, migrations, compatibility
      claims, versions, tags, signatures, seals, or publication authority change.
    - Decompose pre-freeze and release-readiness tooling into a stable facade and bounded responsibility modules without changing
      release behavior. [MIR4-CHG-2026-0027] The evolved 2,283-line pre-freeze implementation is now a 10-line facade loading six
      package-excluded modules in an explicit order. Shared authority primitives, policy locks, authority-state construction,
      authority-chain validation, release doctor and workflow checks, and playtest sessions now have separate owners. All 25
      existing functions retain their names and order; all characterized current source is exact except the declared PS4
      self-succession receipt binding required to keep the authority chain current. The original 2,093-line characterization and
      the exact 2,283-line post-PS3 starting source are both bound so later decomposition cannot silently use stale bytes. No
      player package bytes, gameplay, saves, settings, migrations, compatibility claims, versions, tags, signatures, seals, or
      publication authority change.
    - Decompose bootstrap materialization into a stable facade and bounded responsibility modules without changing construction,
      comparison, or capsule behavior. [MIR4-CHG-2026-0028] The exact 1,872-line bootstrap implementation becomes a small facade
      loading six package-excluded modules in an explicit order. Digests and records, safe paths, archive comparison, Git source
      proof, capsule contracts, and capsule artifact construction now have separate owners. All 51 existing functions retain
      their names, order, and exact source segments. The accepted characterization and exact PS4 merge source are both bound so
      later decomposition cannot silently use stale bytes. No player package bytes, gameplay, saves, settings, migrations,
      compatibility claims, versions, tags, signatures, seals, or publication authority change.
    - Separate assurance release planning and sealing from executable self-test authority without changing either public
      command behavior or release decisions. [MIR4-CHG-2026-0029] The exact 1,810-line assurance release implementation becomes
      a small facade loading four bounded package-excluded production modules in an explicit order. Candidate planning, seal
      source authority, seal creation, and seal verification now have separate production owners. The embedded assurance
      self-test moves as one exact source segment beneath canonical tests and loads only for the existing self-test command.
      All eleven existing functions retain their names, order, and exact source segments across production and test
      authorities. No player package bytes, gameplay, saves, settings, migrations, compatibility claims, versions, tags,
      signatures, seals, or publication authority change.
    - Split the compatibility audit coordinator into bounded modules without changing its command surface, claims, scenarios,
      or runtime evidence. [MIR4-CHG-2026-0030] The stable compatibility-audit command retains its exact parameter block and
      loads six package-excluded modules in an explicit order. Configuration, input discovery, scenario definitions, scenario
      resolution and execution, selection and lock construction, and result collation now have bounded owners. All 35
      existing function names retain their order and the extracted command-root references preserve their original path
      meaning. An offline no-Factorio smoke proves empty-catalog execution and contained cleanup through the decomposed entry
      point. No player package bytes, compatibility claims, stream identities, gameplay, saves, settings, migrations,
      versions, tags, signatures, seals, or publication authority change.
    - Split offline candidate custody into bounded modules without changing admission, verification, sealing, restore, or
      emergency-completion behavior. [MIR4-CHG-2026-0031] The exact 1,380-line offline custody application becomes a small facade
      loading eight package-excluded modules in an explicit order. Core records, custody admission, seal inputs, OpenSSH signatures,
      exact-engine evidence, publication dry runs, offline sealing, and restore and completion now have bounded owners. All 26
      existing function names retain their order and the application-root substitution preserves the original repository-relative
      path behavior. The legacy emergency-lane reconstruction used only by the custody contract probe now opts into its explicit
      historical-compatibility gate, while current package creation remains exclusively routed through TargetMaterializer. A
      contained post-cutover contract smoke proves facade loading, canonical immutable records, bindings, path guards, and
      fail-closed mode selection without reconstructing through the retired root-package writer. No player package bytes, gameplay,
      saves, settings, migrations, compatibility claims, versions, tags, signatures, seals, or publication authority change.
    - Split release-capsule custody, construction, verification, publication admission, and restore behind the existing facade.
      [MIR4-CHG-2026-0032] Preserved all public PowerShell functions and their declaration order. Kept capsule inventory,
      content-addressed construction, verification, publisher admission, and offline restore behavior unchanged. Updated
      non-interference proof to compare the canonical post-cutover package fingerprint. Changed no gameplay, saves, settings,
      migrations, compatibility claims, versions, tags, signatures, seals, or publication authority.
    - Split control-plane execution, runtime measurement, and aggregate gating behind the existing facade. [MIR4-CHG-2026-0033]
      Preserved all public PowerShell functions and their declaration order. Kept context locks, environment execution, runtime and
      performance measurements, approved-delta checks, and aggregate evidence behavior unchanged. Preserved the accepted
      compatibility-audit overlay and post-cutover package-fingerprint selection. Changed no gameplay, saves, settings, migrations,
      compatibility claims, versions, tags, signatures, seals, or publication authority.
    - Split supply-chain inventory, attestation, policy verification, and custody projection behind the existing facade.
      [MIR4-CHG-2026-0034] Preserved all public PowerShell functions and their declaration order. Kept source identity, archive
      selection, component inventory, SPDX, SLSA provenance, policy verification, and custody-record behavior unchanged.
      Completed the bounded PowerShell decomposition sequence without reopening player behavior. Changed no gameplay, saves,
      settings, migrations, compatibility claims, versions, tags, signatures, seals, or publication authority.
    - Prepared the four-target MIR 4.1 release through one resource-bounded production-readiness coordinator. [MIR4-CHG-2026-0036]
      Allocated source version 4.1.0 and target distributions 4.1.21000, 4.1.20000, 4.1.11000, and 4.1.10000 for private
      qualification. Added direct 4.0-to-4.1 upgrade fixtures with first and second reload proof for every target. Reduced player
      READMEs to target-specific package guidance and generated every target changelog from the same accepted typed release
      inventory. Added streaming resource measurement, external work and evidence roots, one-heavy-process admission, and cleanup
      only after verified custody. Prepared technical sealing, exact dev-to-main promotion, and a constant-time human playtest
      handoff without authorizing tag or publication.

  Repository Features:

    - Established canonical change fragments and deterministic release narratives as package-excluded repository authority.
      [MIR4-CHG-2026-0001] One accepted change inventory now renders source, target, GitHub, Mod Portal, technical, and manifest
      views. Historical MIR 4.0.0 and synthetic patch and multi-target corpora prove filtering, redaction, formatting, and
      determinism.
    - Bound the four published MIR 4.0 target packages as exact golden baselines and derived a minimal deterministic
      common/family/target overlay model. [MIR4-CHG-2026-0004] The generated authority inventories every Factorio 2.1, Factorio 2.0,
      Factorio 1.1, and Factorio 1.0 package path and byte hash together with metadata, lifecycle, setting, locale, asset,
      migration, runtime, stream, technology, and state-namespace surfaces. Exact reconstruction uses 89 all-target common files,
      202 modern-family files, 81 legacy-family files, and target overlays of 14, 12, 4, and 4 files without copying a full target
      tree. Fresh load, reload, and upgrade replay remains mandatory before package-authority cutover; the baseline grants no source
      move, version allocation, tagging, signing, sealing, or publication authority.
    - Added the deterministic four-target shadow materializer and proved exact package-tree parity without changing package
      authority. [MIR4-CHG-2026-0005] The supported package-source command now reconstructs Factorio 2.1, Factorio 2.0, Factorio
      1.1, and Factorio 1.0 from the accepted 89-file common layer, modern or legacy family layer, and minimal target overlay. Two
      independent constructions per target produce byte-identical deterministic archives while every normalized path and raw file
      byte matches its immutable MIR 4.0 baseline. Historical ZIP container bytes remain immutable bootstrap inputs and are
      deliberately distinguished from newly deterministic container bytes; runtime replay and a separate authority cutover remain
      mandatory.
    - Added the governed semantic source and target-overlay model for the four-target MIR 4.1 package-source cutover.
      [MIR4-CHG-2026-0006] All 406 accepted package-layer bindings now have an explicit semantic class, historical comparison
      source, future editable authority, materialization rule, and proof obligation. All 264 target-specific absences are explicit
      overlay omissions rather than inferred differences, including independent Factorio 1.1 and Factorio 1.0 dispositions. The
      model names the future src/mod, target registry, support policy, per-target overlay, and target materializer authorities while
      deliberately creating no editable package source and changing no current package writer.
    - Established editable canonical MIR package source and one deterministic materializer for all four public targets.
      [MIR4-CHG-2026-0007] The governed source manifest selects 406 unique editable sources across common, family, generated, and
      explicit target layers without retaining a full target-specific source copy. The production materializer reads no historical
      package archive, verifies every source and output hash, and reconstructs Factorio 2.1, Factorio 2.0, Factorio 1.1, and
      Factorio 1.0 with exact normalized byte-tree parity to their accepted 4.0 baselines. Independent A/B builds prove
      deterministic archive construction for every target while the existing root package writer remains unchanged pending
      exact-engine replay, rollback, and a separate cutover receipt.

  Repository Removed:

    - Retired every current-product authority bridge while retaining bounded historical compatibility readers. [MIR4-CHG-2026-0035]
      Made src/mod, targets, TargetMaterializer, and the MIR 4.1 development context the only current authorities for their facts.
      Classified former bridges as retired reassignment or read-only, package-excluded, owned, tested, expiry-bounded historical
      compatibility. Made unknown bridge state block deletion and release rather than silently inheriting authority. Changed no
      gameplay, saves, settings, migrations, compatibility claims, versions, tags, signatures, seals, or publication authority.
Version: 4.0.0
Date: 2026-08-30

  Changes:

    - [Factorio 2.1, Factorio 2.0] Began MIR 4 with independently generated target packages from one canonical source release.
    - [Factorio 2.1, Factorio 2.0] Preserved the proven player compiler and emitter behind explicit target and release boundaries.

  Compatibility:

    - [Factorio 2.1] Preserved the direct Factorio 2.1 upgrade from MIR 3.2.11, technology IDs, settings, and runtime state.
    - [Factorio 2.1] Set the Factorio 2.1 package compatibility floor to Factorio 2.1.8 and kept optional features target-gated.
    - [Factorio 2.0] Preserved the direct Factorio 2.0 upgrade from MIR 2.5.11, technology IDs, settings, and runtime state.
    - [Factorio 2.0] Omitted Factorio 2.1-only effects, prototypes, transports, settings, and runtime handlers.

  Repository Changes:

    - Preserved proven compiler, emitter, technology identities, settings, migrations, and runtime state across direct upgrades.
      [MIR4-HIST-4000-0002] Retained target-aware science, prerequisite, process-safety, ownership, and maximum-level validation.
      Kept valid external research owners and rejected duplicate or unsafe effects with diagnostics.

  Repository Features:

    - Established one MIR 4 source family with independently qualified packages for four Factorio lines. [MIR4-HIST-4000-0001]
      Published self-contained target packages for Factorio 2.1, 2.0, 1.1, and 1.0. Encoded the Factorio target into each numeric
      distribution version while retaining one source version.
    - Added deterministic target packaging, environment locks, diagnostics, support evidence, and public-byte verification.
      [MIR4-HIST-4000-0003] Recorded exact target engines, archive hashes, content roots, and supply-chain evidence. Kept
      qualification machinery outside the self-contained player ZIPs.
    - Published four separate package-excluded developer previews for MIR APIs, extensions, tooling, and inspection.
      [MIR4-HIST-4000-0004] Developer previews were GitHub assets and were not installable Factorio mods. Preview implementation
      granted no player mutation or support-claim authority.
Version: 3.2.11
Date: 2026-08-17

  Bugfixes:

    - Hid the misleading infinity badge when a positive maximum level is configured.
    - Displayed the exact selected cap in the technology description.
    - Preserved completed levels above a newly lowered cap.
    - Prevented current, queued, or future research beyond the selected maximum.
    - Kept competing base-extension replacement transactional when the selected cap omits MIR's replacement technology.

  Compatibility:

    - Applied the presentation and enforcement correction to generated productivity streams and base continuations.
    - Applied the same correction to Space Age native owners.
    - Applied direct startup values and MIRSET1 profile imports through the same maximum-level contract.
Version: 3.2.10
Date: 2026-08-16

  Bugfixes:

    - Removed current and queued research that is above a newly lowered maximum level.
    - Retained completed technology levels and valid fractional research progress while applying a lower cap.
    - Reported late prototype mutations that prevent a configured native-owner maximum from becoming active.

  Compatibility:

    - Applied the same absolute maximum-level contract to generated streams and base continuations.
    - Applied that contract to all five Space Age native productivity owners.
    - Preserved every 3.2.9 technology identity, cost, effect, science route, and unrelated force state.
Version: 3.2.9
Date: 2026-08-12

  Bugfixes:

    - Chose the earliest safe science route so later alternatives cannot delay already-producible packs.
    - Normalized MIR-owned technology science cards after the K2 phase pass for exact K2 2.1.2 and K2SO 2.0.13.

  Compatibility:

    - Preserved stable technology IDs, research progress, lab-valid ingredients, and the earlier K2SO load-order repair.
    - Kept the K2 science-phase correction inactive when the exact admitted K2/K2SO envelope is absent.
    - Added generic alternate-route regression coverage without claiming unmodified Cubium support on Factorio 2.1.
Version: 3.2.5
Date: 2026-08-04

  Changes:

    - Added a per-level linear cost increment setting for every MIR research stream and base continuation.
    - Unified fixed, linear, exponential, and hybrid costs under one numeric research-cost contract.
    - Clarified the existing growth setting as the exponential multiplier; no model dropdown was added.
    - Consolidated the unpublished 3.2.4 work into the direct public upgrade from 3.2.3 to 3.2.5.
    - Bound hosted worker evidence to an exact verification-plan receipt before deterministic aggregate import.

  Bugfixes:

    - Stopped native-owner cost changes from converting Factorio-normalized research progress a second time.
    - Replaced runtime formula reparsing with bounded versioned old/new cost descriptors.
    - Refused malformed, tampered, unknown, or over-budget transition descriptors without guessing or resetting force state.
    - Corrected packaged guidance: productivity-family adoption preserves effects without a force-wide technology reset.
    - Preserved 3.2.3 base-continuation costs by projecting stable level-one coefficients to the new curve anchor.
    - Classified Ice productivity as Space Age-only before science-pack selection in Base-only modsets.

  Compatibility:

    - Preserved recognized native and modded research formulas byte-for-byte when settings stay at defaults.
    - Canonicalized explicit overrides and rejected unknown external formulas instead of guessing their meaning.
    - Preserved completed research work, selection, level, queue, completed levels, and unrelated force state.
Version: 3.2.3
Date: 2026-07-30

  Changes:

    - Added Platform productivity with +10% ice-platform and +5% space-platform-foundation productivity per level.
    - Gated Platform productivity with cryogenic science replacing Landfill's metallurgic science requirement.

  Bugfixes:

    - Required cryogenic science for Ice productivity so Aquilo ice recipes are not researchable from Nauvis progression alone.
    - Added name-independent discovery for modded belts, underground belts, splitters, lane splitters, loaders, and inserters.
    - Added structural Advanced Belts coverage for all three post-Turbo logistics tiers.
    - Preserved productivity-ignored cryogenic fluid returns; AdvancedBeltsSA 2.3.3 remains a Factorio 2.0 archive.
    - Preserved explicit recipe productivity denials when applying structural logistics compatibility.
Version: 3.2.2
Date: 2026-07-27

  Bugfixes:

    - Ordered MIR after Pyanodons Post-processing so sanitation runs against Py's final rebuilt technology tree.
    - Fixed casting-mk02 referencing the removed casting-gear recipe after Pyanodons finalization.
    - Restored valid researched planet discoveries damaged by MIR 3.2.0 or 3.2.1.
    - Kept the upgrade repair narrow; unrelated technology effects are not reset.
Version: 3.2.1
Date: 2026-07-26

  Bugfixes:

    - Preserved unlock-space-location effects for concrete planet prototypes.
    - Restored discovered Space Age and modded planets, starmap connections, and platform travel.
    - Continued pruning only genuinely missing space-location targets.
    - Kept force-wide technology-effect resetting disabled.
Version: 3.2.0
Date: 2026-07-25

  Changes:

    - Completed all 50 Factorio-supported locales and added source-hash-bound generation and regression checks.
    - Added persistent content-addressed verification evidence with stable per-test and per-scenario identities.
    - Split exact release-archive identity from gameplay, runtime, migration, settings, balance, and dependency domains.
    - Added separate locale and asset domains so packaging-only changes do not invalidate unrelated gameplay evidence.
    - Reused trusted passing evidence only when every declared effective input has the same fingerprint.
    - Added explicit REUSE, WAIT, RUN, and INVALID planning with matching-worker adoption and non-cancelling concurrency.
    - Added isolated Factorio scenario workers and one aggregate verification gate for pull requests and release qualification.
    - Added target-specific verification profiles so Factorio 2.0 backports recalculate their own fingerprints.
    - Added canonical schema-4 plans, structured test results, immutable attempt capsules, trust classes, and strict JSON schemas.
    - Enforced protected F0 through F4 release layers and made candidate sealing invoke the canonical aggregate gate.
    - Bound mod archives, the Factorio installation, verifier, policy, and producer trust to evidence reuse.
    - Added iterative pre-emission SCC analysis that rejects cyclic technology operations.
    - Replaced foreign technology cloning with an allowlisted builder and moved stream mutation into emission.
    - Added bounded compiler telemetry and indexed science-pack recipe discovery.
    - Retained the portable target-capability guard that emits mod-data only on Factorio lines that support it.
    - Preserved stable settings, generated technology IDs, migrations, and runtime-state namespaces from MIR 3.1.9.
    - Kept additional automatic recipe-family generation disabled by default.
    - Added steel plate productivity: base games receive one MIR chain, while Space Age keeps and extends its native owner.
    - Preserved every MIR 3.1.9 technology while moving design and lifecycle handling behind common contracts.
    - Removed redundant transient technology-catalog materialization while retaining one validated authoritative final catalog.
    - Reduced final catalog construction cost with trusted copy-on-write diagnostic designs and gate-only qualification snapshots.
    - Generated the packaged effective stream-default table directly from the canonical Lua defaults.
    - Enabled every established technology toggle by default, including spoilage preservation and inserter capacity bonus.
    - Kept factory-disruptive technology classification independent of default enablement.
    - Sorted risky technologies first and appended automatic localized tooltip warnings.
    - Added +2% ice-platform and +1% space-platform-foundation productivity to Landfill productivity.
    - Added default-on +10% Nutrients productivity for exact forward Space Age nutrient recipes.
    - Added default-on +10% Capture bot rocket productivity for its exact Space Age recipe.
    - Proved pentapod egg remains in Breeding productivity with a seed-safe +10% effect.
    - Supports Factorio, Recycler, and Space Age 2.1.8 or newer; release qualification continues on newer 2.1 builds.

  Bugfixes:

    - Requalified the exact realized technology graph after safe competing-technology replacement and prerequisite rewiring.
    - Fixed competing productivity preparation when a recognized overhaul owner is eligible for MIR replacement.
    - Ordered MIR after Krastorio 2 and K2SO final science/lab rewrites so generated research no longer collapses to red science.
    - Ordered MIR after Space Exploration so its final Krastorio recipe removals happen before productivity compilation.
    - Pruned impossible known recipe targets from generated and external technology effects before final safety assertions.
    - Added regressions for removed K2/SE recipes, dangling unlock effects, and retained valid effects.
    - Sanitized missing quality and entity targets and distinguished item grants by quality.
    - Retained valid planet unlocks when resolving abstract space-location effect targets.
    - Preserved unrelated force recipe state during MIR configuration changes without globally reapplying technology effects.
    - Replaced recursive researchability traversal and prevented fatal safety assertions from suppressing diagnostic flushing.
    - Corrected four stable stream manifest policies to match native-owner binding for their Space Age families.
    - Preserved exact singleton CompatibilityPack candidate seeds instead of incorrectly classifying every seed as ambiguous.
    - Corrected packaged documentation for the enabled agricultural-growth, cargo-landing-pad-count, and character-reach defaults.
Version: 3.1.9
Date: 2026-07-14

  Bugfixes:

    - Kept generated research loadable when mods disable automation science technology but leave its recipe initially available.
    - Skipped finite anchors and prerequisite chains that transitively depend on disabled technologies.
    - Made the standard settings configure recognized existing Space Age infinite productivity owners.
    - Applied cost base and growth together as the displayed cost model when either value is customized.
    - Preserved final native or modded owner values when settings stay at their defaults.
    - Preserved current native-owner research level, selection, and fractional progress across cost changes.
    - Left external owners untouched when their MIR stream is disabled.
    - Rejected explicit cost changes for unrecognized external formulas instead of guessing.
    - Retained safe fallback generation and transactional owner updates.
Version: 3.1.5
Date: 2026-07-13

  Changes:

    - Returned portable compiler-plan and settings-override improvements from historical Factorio support work.
    - Improved configuration-change reliability across supported Factorio lines.
    - Standardized generated research formulas on compact syntax accepted across historical and current Factorio parsers.
    - Improved compatibility across maintained and archive targets from Factorio 2.0 through 0.13.
    - Replaced the automatic compiler preset with separate action and research-creation controls.
    - Added an independent reviewed-data requirement and outcome-first tooltips.
    - Added a generic schema-2 automatic compiler policy contract for future registered family modules.
    - Added a sorted data-only CompilerProvider registry for extending recipe-family discovery and planning.
    - Added canonical setting descriptors and exact Conservative, Safe, Expansive, and Custom policy expansions.
    - Added stable automatic-compiler and provider diagnostic codes.
    - Kept experimental assembler and lab family technologies out of reviewed-data creation.
    - Preserved explicit broad opt-in testing for experimental automatic family technologies.
    - Standardized automatic-recipe dropdown labels, tooltip structure, capitalization, and locale parity.
    - Preserved old automatic compiler profiles through a hidden legacy-policy bridge.
    - Hid unreviewed automatic-family tuning settings while preserving broad opt-in testing and profile compatibility.
    - Hid Space Age-only technology settings when the DLC is inactive while retaining their registered values.

  Bugfixes:

    - Preserved the 3.1.2 iterative prerequisite-cycle repair and strict generated-graph safety checks.
    - Published compiled generation plans only after authoritative safety checks complete.
    - Added exact 3.1.2-to-3.1.5 upgrade coverage for legacy automatic-compiler settings and saved runtime state.
Version: 3.1.2
Date: 2026-07-13

  Bugfixes:

    - Fixed a startup crash when Muluna and Astroponics formed a mutual prerequisite path through space science.
    - Removed only Astroponics' redundant space-science prerequisite when both named mods create that exact cycle.
    - Kept missing, disabled, and MIR-created technology prerequisite failures strict.
    - Made deep technology graph checks iterative so very large modpacks cannot exhaust the Lua call stack.
Version: 3.1.1
Date: 2026-07-13

  Bugfixes:

    - Fixed a startup crash when one multi-output recipe matched more than one generated productivity research stream.
    - Made overlapping recipe effects choose one stable owner while preserving every non-overlapping effect.
    - Preferred compatible existing productivity research when it already owns an overlapping recipe effect.
    - Kept a final duplicate-effect safety check after overlapping ownership is resolved.
    - Added regression coverage for Space Age Galore's coal-crushing recipe shape and related ownership cases.
Version: 3.1.0
Date: 2026-07-13

  Changes:

    - Added automatic structural coverage for loaders, belts, drills, inserters, furnaces, machines, labs, and modules.
    - Added structural coverage for solar generation and power storage equipment.
    - Added conservative automatic modes ranging from reporting only through opt-in generic family generation.
    - Preserved existing technology names, setting names, defaults, profiles, and saved-game state.
    - Added whole-plan safety checks before any generated technology or adopted effect is applied.
    - Prevented compatibility-pack data from overriding hard productivity, recycling, probability, catalyst, and owner safety facts.
    - Made exact-pack mode generate only families authorized by an exact-version compatibility record with named evidence.
    - Added reviewed exact candidate seeding for recipes outside generic structural discovery without adding technology IDs.
    - Unified stream, adoption, and base-extension operations in one fingerprinted compilation plan with full output-value parity.
    - Preserved recipe variants, fluids, probabilities, catalysts, surfaces, and productivity exclusions during discovery.
    - Rejected recycling, self-return, catalyst, voiding, transmutation, ambiguous-owner, and unsafe multi-output loops.
    - Preferred an exact existing productivity owner instead of creating duplicate infinite research.
    - Added complete recipe accounting with stable reasons for covered, external, safe-skip, unsafe, and unresolved recipes.
    - Added positive target capabilities so unsupported effects, settings, and prototype shapes fail closed.
    - Made generated outputs and archive construction deterministic.
    - Made every runtime scenario test one exact archive, with setup reuse, focused selection, and bounded parallel workers.
    - Renamed Automatic Research Coverage options and added detailed setting and per-option tooltips.
    - Improved science-pack, lab, prerequisite, and technology reachability decisions.
    - Added independent compatibility load coverage for AAI, BZ, Bob, Krastorio, and Krastorio Spaced Out.
    - Kept complex chemistry, recovery, recycling, catalysts, and byproduct loops conservative unless explicitly proven safe.
    - Preserved non-default settings, research levels, saved state, and scripted effects when upgrading from 3.0.5.
Version: 3.0.5
Date: 2026-07-12

  Compatibility:

    - Kept the canonical MIR 3 compiler, generated technology IDs, and existing default behavior stable.
    - Fixed generated research that could inherit an unavailable tutorial technology from an already-enabled science recipe.
    - Kept disabled or cyclic technology prerequisites out of generated research while preserving legitimate progression gates.
    - Rejected self-locked, cyclic, or non-researchable science recipe unlocks.
    - Skipped generated streams whose required technologies are disabled or unreachable instead of emitting a fatal graph edge.
    - Made science recipe unlock selection deterministic when multiple reachable technologies provide the same recipe.
    - Made rocket and cannon overlap cleanup use semantic effect identity and positive emitted coverage for new configurations.
    - Preserved finite vanilla weapon speed bonuses and existing stored overlap-mode choices.
    - Limited weapon overlap cleanup to MIR-generated continuations and required external owners to use obtainable science.
    - Rejected external research owners that use unrecognized science ingredients.
    - Kept incineration sink recipes out of breeding productivity research so later recipe removal cannot leave invalid effects.
    - Made opt-in productivity scoping derive its unrestricted threshold from the inverse effective recycler return.
    - Kept recycling-category recipe productivity caps outside both the global production cap and scoped-cap passes.
    - Made the scope checkbox inert at or below the inverse threshold, including cap-matched boundaries.
    - Defined engine-unchanged recycling as a conservative 25% threshold baseline without changing recycler returns.
    - Added a recycler-return dropdown with unchanged, cap-matched, and fixed choices from 20% down to 0.1%.
    - Hid the redundant fixed 25% recycler row while retaining legacy profile compatibility for that enum.
    - Cap-matched recycling uses total output: +400% gives 20% returns and +1000% about 9.09%, never above vanilla 25%.
    - Added a separate negative speed-floor dropdown down to -99.99% while keeping the positive speed cap independent.
    - Expanded the numeric dropdown ladders from quarter-scale values through high-end megabase and modpack values.
    - Gave every dropdown an explicit unchanged/bypass option while retaining all existing enum IDs.
    - Allowed portable profiles to use validated custom decimal percentages beyond the curated dropdown steps.
    - Added an engine-unchanged lab policy that bypasses MIR reachability, reduction, and skip intervention.
    - Made module productivity discover recipes through final module prototype tiers, including tier 4 and later modded modules.
    - Cooperated with Finite Productivity Technologies 0.1.1's hidden load-after dependency for final cap conversion.
    - Added opt-in unrestricted module permissions across existing recipe, machine, and beacon slots.
    - Added per-generated-technology effect-per-level controls while preserving canonical mixed-tier ratios.
    - Fixed a settings-stage circular import that prevented 3.0.5 from loading.
    - Made effect controls display each technology's primary base-tier value while preserving later-tier ratios.
    - Kept scripted effect controls scaling multiplier deltas instead of full multipliers.
    - Made competing technology replacement transactional.
    - Rewired dependent prerequisites only after MIR emitted graph-safe coverage.
    - Isolated unrestricted module-permission arrays per prototype and gave the pass its own target capability.
    - Made scripted effect tooltips display the selected per-level value.
    - Preserved retained non-default base effect settings during upgrades instead of failing on an incomplete scaling descriptor.

  Changes:

    - Centralized target capabilities so the mod and developer tools consume the same Factorio-line profile.
    - Made the runtime persistence backend an explicit target choice: storage on Factorio 2.x and global on older lines.
    - Added final generated-technology checks for enabled prerequisites, cycles, science production, labs, and reachability.
    - Separated reduced target setting visibility from modern settings profile encoding behavior.
    - Added durable grouped developer-run summaries with passed, failed, skipped, and incomplete outcomes.
    - Bound release evidence to exact source, target-profile, required-group, package-content, and runtime-summary fingerprints.
    - Allowed exact external rocket or cannon speed owners when the existing competition preference keeps external research.
    - Added classifier-boundary, late recipe-removal, and exact Planet Crucible plus Rigor Module regression gates.
    - Consolidated generated setting registration through the canonical catalog and aligned controls with generated effects.
    - Kept visible recycling processes such as scrap recycling outside MIR's generated-recycler balance pass.
    - Added recycler combination coverage for unchanged, fixed, and cap-matched modes and independent recipe caps.
    - Corrected recycling safety indexing for Factorio 2.1 independent and shared product probabilities.
    - Added a complete 3.0.5 inventory for all 477 dropdown, checkbox, numeric, and profile-import settings.
Version: 3.0.0
Date: 2026-07-08

  Compatibility:

    - Reworked MIR around the MIR 3 compatibility compiler for Factorio 2.1 while preserving generated technology IDs.
    - No new migration is required for the architecture move; the shipped 2.0.5 and 2.1.0 migrations remain included.
    - Space Age remains optional; Quality, Recycler, and Elevated Rails remain optional or hidden optional dependencies.
    - Generated research is gated by active recipes, items, fluids, technologies, ammo categories, labs, and science packs.
    - Unsafe or unavailable candidates are skipped or reported instead of forced into invalid mod sets.
    - Compatibility overlays remain declarative: selectors, claims, denials, and policy data only; no prototype mutation.
    - Air Scrubbing support is limited to clean-filter recipe families; scrubbing and recovery recipes stay excluded.
    - ATAN Ash support is limited to ash separation; landfill, brick, nutrient, foundation, tile, and recovery sinks stay excluded.
    - Added exact Factorio 2.1 loader-schema repairs for atan-ash 2.2.1 and atan-nuclear-science 0.3.3.
    - ATAN repairs normalize known category and probability fields only, without changing ingredients, unlocks, science, or balance.
    - AAI loaders route through belt productivity, and big mining drills route through mining productivity.
    - ATAN Nuclear Science routes through science-pack productivity.
    - Fluid Must Flow, Robot Attrition, Jetpack, Equipment Gantry, AAI Containers, and AAI Industry stay scoped.
    - Public compatibility claims remain narrow and evidence-backed; this is not a full overhaul-support claim.
    - Generated output stayed stable against recorded 2.2 comparison lanes.

  Changes:

    - Made MIR 3.0.0 an architecture/compiler release rather than a broad new gameplay-content wave.
    - Moved active implementation under prototypes/mir and made the Factorio root lifecycle files thin stage wrappers.
    - The prototypes/streams directory remains declarative stream data.
    - MIR planner, policy, emit, and report modules now handle generation behavior.
    - Made data-final-fixes ordering explicit so exact compatibility repairs run before prototype limit passes and MIR planning.
    - Moved scripted technology runtime handlers under prototypes/mir/runtime.
    - Added a canonical settings catalog for registration, effective reads, profile export/import, docs, and tests.
    - Added deterministic MIRSET1 settings profiles with full export by default and optional compact export.
    - Settings profile imports now ignore unknown IDs, wrong types, invalid choices, and out-of-range numbers.
    - Added visible Main, Compatibility, Limits, Advanced, and Diagnostics prefixes to global startup settings.
    - Generated technology settings now use technology-name-first labels and stable attention buckets.
    - MIR-owned official technology settings stay visible across base and Space Age.
    - Hidden unavailable settings keep readable IDs and do not force values.
    - Added startup dropdowns for recipe productivity, energy-use, pollution, speed, and quality prototype caps.
    - Prototype cap dropdowns leave engine defaults unchanged unless explicitly changed.
    - Prototype cap dropdowns use signed labels and high-to-low numeric order with unchanged defaults in numeric position.
    - Recipe productivity default labels show +300%; energy and pollution savings defaults show -80%.
    - Split energy-use and pollution cap settings because efficiency effects can reduce both.
    - Added a default-off Compatibility setting that changes explicit 0W active energy_usage prototypes to 1W only when enabled.
    - Shortened rocket/cannon speed cleanup text to "Only if dedicated tech exists".
    - Enabled breeding, agricultural growth speed, cargo bay range/count, and character reach by default.
    - Inserter capacity bonus remains disabled because larger hand sizes can affect circuits and engine optimization assumptions.
    - Updated README, user docs, maintainer docs, reference docs, release notes, Mod Portal copy, and result summaries.

  Internal:

    - Added and updated .mir manifests for branch policy, module boundaries, streams, claims, docs, settings, and capabilities.
    - Added generated stream manifest coverage and required every emitted stable stream to have a manifest row.
    - Added DecisionRecord and StreamSpec records plus a compatibility claim registry.
    - Added Factorio data.raw and mods adapters so prototype reads and settings-stage mod checks stay behind boundaries.
    - Added focused MIR modules for indexing, planning, policy, emission, reporting, overlays, exact repairs, settings, and runtime.
    - Added load-check coverage for hidden settings, prototype limits, settings profile round trips, and accepted legacy imports.
    - Profile round-trip coverage checks defaults, hidden provider settings, unknown IDs, wrong types, and invalid choices.
    - Added or extended architecture, docs, settings visibility, policy, claim, changelog, package, and runtime checks.
    - Added local mod library catalog checks and legacy inventory reporting tools.
    - Fixed compatibility-audit staging so local load-test mod copies exclude repo-only development and ignored output paths.
    - Fixed release archive packaging so the shipped zip opens cleanly from the mods folder.
    - Added release evidence docs for the MIR 3 summary, checklist, migration guide, local library gate, and risk register.
    - Package hygiene rejects docs, sample mods, scripts, tests, .mir, .codex, .github, build output, and dist output.
    - Package hygiene rejects AGENTS.md, CONTRIBUTING.md, and the root work ledger.

  Removed:

    - Removed old shipped paths for prototypes/compat/air-scrubbing.lua, prototypes/tech-gen.lua, and max-level-control.lua.
    - Removed the old generated-stream manifest location in favor of the MIR manifest path.
    - Removed shipped control-folder runtime module paths; runtime handlers now live under prototypes/mir/runtime.
    - Removed broad root-helper ownership for defaults, config, diagnostics, settings, pipeline extent, utilities, and cleanup.
    - Removed broad root-helper ownership for effect safety and weapon speed.
    - Removed direct Air Scrubbing and ATAN Ash behavior scripts; declarative overlays now feed policy and diagnostics.
    - Removed old-path imports that pointed at compat, lib, legacy, planner, control-folder, and broad root-helper modules.
    - Removed direct prototype mutation responsibility from compatibility policy overlays.

  Checks:

    - Legacy inventory passed with zero old shipped shim paths, old imports, root helper files, and control-folder runtime Lua.
    - Legacy inventory passed with zero direct prototype access outside allowed layers and zero streams without manifest rows.
    - Static checks passed docs governance, MIR manifests, architecture boundaries, settings visibility, policy, and claims.
    - Static checks passed changelog syntax, package hygiene, and git whitespace checks.
    - Runtime load checks passed on the target Factorio 2.1 binary in packaged zip, base-only, and Space Age modes.
    - Prototype limit checks passed in base-only and Space Age modes, including split energy/pollution caps and opt-in power floor.
    - Settings profile round-trip checks passed for deterministic encoding, compact export, hidden settings, and unknown IDs.
    - Settings profile round-trip checks passed for wrong types, invalid choices, and accepted legacy import values.
    - Local isolation confirmed atan-ash 2.2.1 and atan-nuclear-science 0.3.3 fail without MIR and load with MIR.
    - Local isolation confirmed Air Scrubbing and all tested ATAN zips load together with MIR after exact schema repair.
    - Selected local zip checks passed for advertised and recently repaired compatibility targets.
    - The targeted release gate passed using the recorded local Factorio 2.1 mod library scenario set.
    - The final package contains 119 entries and zero forbidden repository-only paths.
    - Portal-backed full-catalog checks were not run in the release environment because FACTORIO_TOKEN was not set.
    - Full release evidence is recorded in the 3.0.0 checklist, release notes, result summary, and targeted gate artifacts.
Version: 2.3.0
Date: 2026-07-09

  Compatibility:

    - Ported the MIR 3 compatibility compiler architecture to the Factorio 2.0 release line.
    - Retargeted package metadata to Factorio 2.0 with `base >= 2.0`.
    - Kept Quality hidden and optional, and kept Space Age optional without a Factorio 2.1 dependency floor.
    - Removed Factorio 2.1-only cargo bay unloading distance research from the Factorio 2.0 package.
    - Removed Factorio 2.1-only cargo landing pad count research from the Factorio 2.0 package.
    - Kept generated technology IDs stable for streams that remain available on the Factorio 2.0 line.
    - Kept exact ATAN loader-schema repairs scoped to Factorio 2.1+ so Factorio 2.0 keeps its native fields.
    - Fixed ATAN Ash 2.2.1 with Space Age on Factorio 2.0 by keeping foundation crafting in `crafting-with-fluid`.
    - Kept Factorio 2.0 science-pack handling on the older tool prototype model during compatibility checks.
    - Classified reviewed Factorio 2.0 local zip issues that reproduce without MIR as external local-library issues.

  Changes:

    - Backported the canonical settings catalog, deterministic MIRSET1 profiles, strict import checks, and compact export.
    - Backported prototype cap dropdowns for recipe productivity, energy-use, pollution, speed, and quality caps.
    - Backported signed high-to-low prototype cap labels, including +300% productivity and -80% savings defaults.
    - Split energy-use and pollution cap settings because efficiency effects can reduce both.
    - Added the default-off Compatibility setting for the opt-in positive power floor on explicit 0W active energy use.
    - Kept Factorio 2.0 cargo logistics exclusions while preserving the shared settings and profile code.

  Checks:

    - Package metadata and base dependency floors now match the Factorio 2.0 line.
    - The Factorio 2.0 package no longer contains 2.1-only cargo direct-effect modifier strings.
    - Runtime and local mod-library checks target the matching Factorio 2.0 binary and mod library.
    - Factorio 2.0 runtime checks passed across base, Space Age, science-pack, lab, ATAN, AAI, and drill scenarios.
    - Factorio 2.0 runtime checks passed for prototype limits and settings profile round trips.
    - Targeted local zip checks passed for AAI, Big Mining Drill, Equipment Gantry, Fluid Must Flow, Jetpack, and robots.
    - The local Factorio 2.0 BZ suite passed with zero grouped failures.
    - The full Factorio 2.0 local zip sweep covered 314 roots with zero MIR-owned unexpected failure groups.
Version: 2.2.0
Date: 2026-07-07

  Compatibility:

    - Added a typed prototype fact registry for recipes, technologies, machines, labs, owners, and rule surfaces.
    - Added compiler decision rows for generated technologies, rejected loop risks, and observed rule surfaces.
    - Added loop-risk reports for recycling, cleaning, voiding, barrel/container, transmutation, and self-return recipes.
    - Added lab-matrix reports so each generated technology can be checked against labs that accept its science set.
    - Added useful-level estimates to recipe productivity cap reports.
    - Added Air Scrubbing clean-filter productivity for exact pollution and spore filter crafting recipes.
    - Kept Air Scrubbing scrubbing, cleaning, recovery, and environmental-removal recipes diagnostic-only.
    - Added ATAN Ash separation productivity for the exact ash separation recipe.
    - Kept ATAN Ash landfill, brick, nutrient, foundation, tile, and recovery-style ash sinks outside MIR streams.
    - Added AAI-style loader recipe coverage to transport belt productivity.
    - Added Big Mining Drill coverage through mining drill productivity.
    - Added ATAN-style Nuclear Science coverage through science-pack productivity.
    - Added compatibility coverage for Fluid Must Flow, Robot Attrition, Jetpack, and Equipment Gantry.
    - Added compatibility coverage for AAI Containers and AAI Industry.
    - Added capability diagnostics for entity-backed loader crafting recipes.
    - Added capability diagnostics for entity-backed mining-drill crafting recipes.
    - Added native modifier ownership diagnostics for selected lab, mining, logistics, and robot modifiers.
    - Added negative capability coverage for loop risks, hidden recipes, cap-zero recipes, and loader/drill structural decoys.

  Internal:

    - Kept the new compiler path report-only so broad unknown mod behavior remains observed before it is emitted.
    - Added compatibility safeguards for AAI-style loaders, standalone big mining drills, and ATAN-style nuclear science packs.
    - Added progression-aware science-pack ingredient policies for official and modded science-pack chains.
    - Extended compatibility observation output with compiler, decision, capability, loop-risk, rule-surface, and lab-matrix rows.
    - Added schema helpers, a resolver contract, capability policy, and compatibility claims.
    - Added generated-stream manifest linting and planner report diff tooling.
Version: 2.1.5
Date: 2026-07-05

  Compatibility:

    - Added known-competitor profiles for exact recipe-productivity overlaps found in the local idea-mod audit.
    - Skipped MIR lab productivity when a matching infinite native laboratory-productivity owner is active.
    - Skipped MIR worker robot battery when Better Bot Battery-style infinite native robot battery owner is active.
    - Added diagnostics-only compatibility planner rows for active audit roles and deliberate non-actions.
    - Added recipe productivity cap diagnostics for non-default recipe maximum productivity values.

  Internal:

    - Fixed local audits so official built-ins include required official dependencies such as Recycler for Quality.
    - Fixed offline dependency closure for Factorio `~` dependencies such as Mini Machines' shared settings mod.
    - Kept generated local scenarios rooted in configured root zips instead of dependency-only library zips.
    - Allowed generated and baseline local audit scenarios with no root mods.
    - Shortened audit user-data paths to avoid Windows path-length false negatives.
    - Added optional hardlink and symlink staging for local compatibility audit mod zips.
    - Added reviewed expected-failure rules for external 2.1 local-library stress failures.
    - Added downloaded dependency-cache support to local 2.1 audit profiles.
    - Tightened load-failure grouping to classify Factorio error excerpts instead of MIR audit-row text.
    - Made mir.ps1 profile-driven for release, overnight, and local-audit commands with simple path overrides.
    - Added compatibility observation artifacts and a report command for planner and recipe-cap diagnostics.
    - Added PowerShell script checks for parsing, duplicate parameters, ignored outputs, and secret-output guards.
    - Added Factorio 2.0 and 2.1 run profiles for release gates, overnight sweeps, and local audits.
    - Made compatibility audits select Factorio line, local scenario defaults, and available official built-ins.
    - Added a docs-only release check command for release-note and documentation refreshes after a clean full gate.
    - Trimmed release archives so extra repository files are not shipped in the mod zip.
Version: 2.1.0
Date: 2026-07-03

  Features:

    - Added fluid productivity research for oil processing, cracking, lubricant, sulfuric acid, acid neutralization, and thrusters.
    - Added Space Age material productivity research for landfill, artificial soil, molten metals, carbon, ice, and bacteria.
    - Added lithium-from-brine productivity coverage to Lithium Productivity.
    - Rail Productivity now covers Elevated Rails supports and ramps when Elevated Rails is active.
    - Split Stone Product Productivity into Landfill, Artificial Soil, and Molten Metals research lines.
    - Updated Space Age science-pack requirements for fluid, agriculture, bacteria, breeding, and shooting-speed research.
    - Updated cargo logistics technology icons to better match their Space Age unlocks.
    - Added an opt-in pipeline extent startup multiplier; default 100% leaves prototypes unchanged.

  Compatibility:

    - Vanilla Space Age productivity technologies can adopt safe residual recipes from compatible planet-style mods.
    - Existing saves refresh technology effects when adopted vanilla-family recipe signatures change.
    - Known competing productivity technologies are replaced only when MIR fully matches their recipes and effect values.
    - Unknown external recipe-productivity owners make MIR suppress matching effects instead of duplicating ownership.
    - Elevated Rails and Quality remain hidden load-order dependencies without separate visible requirements.

  Migration:

    - Retired Stone Product Productivity progress migrates into Landfill Productivity.
    - Artificial Soil Productivity and Molten Metals Productivity start as new separate research lines.
Version: 2.0.5
Date: 2026-07-01

  Features:

    - Expanded Electric Shooting Speed to cover base electric weapons and Space Age Tesla weapons.
    - Mining Drill Productivity now covers Omega Drill-style and broader modded mining-drill recipes.
    - Kept Spoilage Preservation disabled and enabled Agricultural Growth Speed for newly planted tower crops.
    - Agricultural Growth Speed affects newly planted tower crops and does not rescan existing crops.
    - Combined Character Logistic Trash Slot bonuses into Character Inventory Slot research.
    - Renamed Heavy Ammunition Productivity to Cannon Shell Productivity and broadened shell/ammo coverage.
    - Added base-game Research Productivity using the native laboratory productivity modifier.
    - Refreshed generated technology icons, effect badges, settings labels, and localized descriptions.
    - Added diagnostic overlap reporting for generated direct-effect technologies.

  Compatibility:

    - Improved generated weapon-speed ownership so vanilla finite rocket, cannon, and tank bonuses stay intact.
    - Improved recipe-productivity ownership detection so MIR does not duplicate other infinite productivity techs.
    - Space Age keeps vanilla productivity ownership for processing units, low-density structures, plastic, and rocket fuel.
    - Quality module productivity recipes can be discovered when Quality is active without a visible dependency.

  Migration:

    - Existing trash-slot progress now moves into the combined Character Inventory Slot technology.
    - No other existing generated technology IDs were renamed.
Version: 2.0.0
Date: 2026-06-30

  Features:

    - Updated More Infinite Research for Factorio 2.1.
    - Added Space Age cargo logistics research for unloading distance and optional landing pad count.
    - Added lab-compatible science-pack selection for generated technologies.
    - Added flexible science-pack policies for configured, space, promethium, official, and active lab packs.
    - Added startup diagnostics for generated and skipped streams, recipe matches, and base extensions.
    - Added Factorio 2.1 recipe-category support and late data-final-fixes generation.
    - Added layered icons, effect badges, localized descriptions, and normal effect text for generated research.
    - Added startup settings for optional vanilla weapon shooting speed cleanup.

  Generator changes:

    - Improved science-pack inheritance, prerequisites, max-level, availability, and continuation checks.
    - Improved recipe matching for hidden, recycling, lab-input, biochamber, and modded science-pack recipes.
    - Improved base-technology extension generation so vanilla and other-mod technologies remain unchanged.
    - Added compatibility profile support for stream items, patterns, exclusions, and groups.

  Compatibility:

    - Raised the base dependency to Factorio 2.1.8 or newer.
    - Added optional official DLC ordering floors for Elevated Rails, Recycler, Quality, and Space Age.
    - Added cleanup for compatible competing base extensions and recipe-productivity technologies.
    - Added Better Robots Extended compatibility for competing worker robot storage research.
    - Added a startup setting to prefer MIR over selected competing infinite technologies.
    - Added opportunistic compatibility for several popular productivity and recipe mods.
    - Improved optional Space Age behavior, including Space Age installs without Quality.

  Locale:

    - Replaced placeholder text in German, Spanish, French, Italian, Polish, Brazilian Portuguese, and Simplified Chinese.
    - Updated Russian localization coverage and terminology to match current English locale keys.
    - Updated in-game descriptions for productivity, direct-effect, and Space Age cargo logistics research.
    - Moved Spanish localization to Factorio's supported es-ES locale code.
    - Removed empty placeholder locale folders so only complete locale packs are shipped.

  Migration:

    - No existing prototype IDs were renamed. No migration is required.
Version: 1.2.9
Date: 2025-10-30

  Changes:

    - Enabled Character Logistic Trash Slot research by default.
    - Disabled Character Reach research by default.
    - Character Reach research no longer grants item pickup distance.
    - Character Reach research still grants reach, build distance, resource reach, and item drop distance.
    - Increased the default Inserter Capacity extension curve.
    - The optional Inserter Capacity infinite continuation is now more expensive.
Version: 1.2.5
Date: 2025-10-29

  Features:

    - Added direct-effect infinite research for character mining speed, crafting speed, walking speed, reach, and build distance.
    - Added direct-effect infinite research for character logistic trash slots.
    - Added per-stream research time startup settings.
    - Added max-level startup settings for generated base-tech extensions.
    - Added support for stream-provided custom icons and icon tinting.

  Changes:

    - Character Inventory Slot research now uses explicit utility, military, and agricultural science packs.
    - Character Logistic Trash Slot research was introduced disabled by default.
    - Base-tech extension research time settings now allow 0 to reuse the configured default.
Version: 1.2.0
Date: 2025-10-28

  Features:

    - Added infinite extensions for braking force, research speed, worker robot storage, inserter capacity, and weapon speed.
    - Added startup settings for enabling and tuning base-tech extensions.
    - Added direct-effect rocket, cannon-shell, flamethrower, and electric weapon shooting speed research.
    - Added max-level enforcement for generated infinite stream technologies.
    - Added vanilla weapon shooting speed adjustment support.
    - Dedicated generated speed researches can own selected vanilla weapon speed bonuses.

  Changes:

    - Added default cost and science-pack profiles for each generated base-tech extension.
    - Added dedicated locale keys and setting descriptions for base-tech extension settings.
    - Corrected the promethium science pack spelling in English locale text.
Version: 1.1.5
Date: 2025-10-27

  Features:

    - Added per-stream base cost, growth factor, and max-level defaults and startup settings.
    - Added English locale support for mod name, mod description, technology names, and setting text.
    - Added locale files for German, Spanish, French, Italian, Polish, Brazilian Portuguese, Russian, and Simplified Chinese.
    - Added direct-effect Character Inventory Slot and Worker Robot Battery research.
    - Added broad productivity coverage for science packs, infrastructure, weapons, intermediates, and Space Age materials.
    - Added grouped productivity streams for modules, belts, inserters, bullets, and rockets.

  Changes:

    - Added item prototype lookup for modules and science packs when selecting icons and matching outputs.
    - Added recipe exclusions for common unwanted scrap and asteroid byproducts.
    - Added Quality module coverage to Module Productivity.
    - Refined belt tiers to cover turbo and hyper transport belt families.
    - Rail Productivity now avoids unrelated rail-like outputs.
    - Added a startup gate setting for holding generated technologies behind space or promethium science.
Version: 1.1.0
Date: 2025-10-25

  Features:

    - Added support for hiding generated productivity research when Space Age provides the vanilla equivalent.
    - Added direct-effect technology generation support for non-productivity infinite bonuses.
    - Added early Character Inventory Slot and Worker Robot Battery infinite research.
    - Added early Science Pack, Wall, Grenade, Rail, Electric Energy, Concrete, Furnace, and Drill productivity.

  Changes:

    - Expanded item lookup for generated icons and recipe matching.
    - Item lookup can use ammo, capsules, modules, and science pack prototypes where appropriate.
    - Added Space Age-aware science-pack selection with optional promethium or space-science gating.
Version: 1.0.0
Date: 2025-10-25

  Features:

    - Initial public release for Factorio 2.0 with optional Space Age support.
    - Added generated infinite recipe productivity technologies for many intermediate items and resources.
    - Generated productivity technologies cover resources not covered by vanilla productivity research.
    - Added per-technology startup enable switches for every generated research stream.
    - Added automatic recipe scanning for covered outputs and generation of matching productivity effects.
    - Added conflict trimming so recipes already covered by existing productivity technologies are skipped.
    - Added Space Age-aware science-pack selection and prerequisites for generated technologies.
    - Added a default infinite research cost curve of `8000 * 2^(L-1)` with 60-second research units.

  Initial research coverage:

    - Added productivity streams for vanilla intermediates, infrastructure, ammunition, and science packs.
    - Added Space Age and overhaul-oriented productivity streams for advanced materials.
    - Added grouped productivity streams for modules, belts, inserters, bullets, and rockets.
    - Grouped productivity streams use lower per-level gains for higher-tier items inside those groups.

  Notes:

    - The technologies are intentionally infinite, but Factorio's recipe productivity cap still applies.
    - The mod was created to make megabasing easier on lower-end hardware.
    - The mod still preserves Factorio's normal production and logistics constraints.