Private standalone MKRF FEMIC instance for bootstrap, PoC benchmarking, contract hardening, and later publication of the real from-scratch MKRF model payload.
This repository is intentionally a thin baseline built around the current MKRF PoC intermediate.
Included now:
- standard FEMIC instance scaffold;
config/rebuild.spec.yamlandconfig/rebuild.allowlist.yaml;config/run_profile.mkrf.yaml,config/silviculture.mkrf.yaml, andconfig/tipsy/tsamkrf.yamlstarter surfaces;- instance-local legacy compiled-package reference metadata plus a copied
archival control layer plus archival track tables for the stable 2016
PW_MKRFpackage, plus the archival spatial runtime family; runbooks/REBUILD_RUNBOOK.md;- standalone Sphinx docs under
docs/for the current MKRF PoC benchmark lane; - metadata ledgers for provenance and checksum tracking; and
- one non-sensitive annex-backed smoke artifact used to validate publication and cold-clone materialization.
The checked-in runtime package under
models/mkrf_patchworks_model_poc/ is the current PoC benchmark/intermediate
surface. It is suitable for benchmark comparison, reverse-engineering,
runtime smoke, and operator-facing documentation. It is not the final
canonical MKRF rebuild package.
Not included yet:
- the real MKRF bulky data/model payload;
- packaged built-in registration in the parent FEMIC repo.
The later canonical rebuild remains a separate roadmap lane under the from-scratch MKRF rebuild phase in the parent FEMIC repository.
For the current PoC benchmark/intermediate lane, the canonical operator-facing docs surface is:
docs/index.rst
Use the standalone docs tree first for operator guidance and accepted claim
boundaries. Use this README and runbooks/REBUILD_RUNBOOK.md as the
repository-level orientation and rebuild-boundary companions to that docs set.
This instance now carries a metadata-only intake of the stable compiled legacy MKRF Patchworks package.
Instance-local reference surfaces:
runbooks/LEGACY_COMPILED_PACKAGE_REFERENCE.mdrunbooks/LEGACY_XML_BUILDER_AUTHORITY_REVIEW.mdrunbooks/LEGACY_XLSM_SURFACE_MAP.mdrunbooks/LEGACY_INPUT_VARIABLES_TRANSLATION.mdrunbooks/LEGACY_CURVE_LIBRARY_TRANSLATION.mdrunbooks/LEGACY_NETDOWN_TRANSLATION.mdrunbooks/LEGACY_ATTRIBUTES_TRANSLATION.mdrunbooks/LEGACY_TREAT_TRANSLATION.mdrunbooks/LEGACY_REBUILD_READINESS_REVIEW.mdmetadata/legacy_compiled_package_reference.yamlmetadata/legacy_xml_builder_authority.yamlmetadata/legacy_xlsm_surface_map.yamlmetadata/legacy_xlsm_review_extracts.yamlmetadata/legacy_input_variables_translation.yamlmetadata/legacy_curve_library_translation.yamlmetadata/legacy_netdown_translation.yamlmetadata/legacy_attributes_translation.yamlmetadata/legacy_treat_translation.yamlmetadata/legacy_workbook_compiled_reconciliation.yamlmetadata/legacy_generated_xml_reconciliation.yamlmetadata/legacy_compiled_track_evidence_reconciliation.yamlmetadata/legacy_builder_activation_plan.yamlmetadata/legacy_source_input_publication_boundary.yamlmetadata/legacy_rebuild_readiness_criteria.yamlmetadata/legacy_runtime_model_layout.yamlmetadata/legacy_runtime_xml_emission.yamlmetadata/legacy_attribute_passthrough.yaml(historical P57.4 record)metadata/legacy_runtime_config_wiring.yamlmetadata/legacy_runtime_track_reconciliation.yamlconfig/legacy_xml_builder/input_variables.mkrf.yamlconfig/legacy_xml_builder/curve_library.mkrf.yamlconfig/legacy_xml_builder/netdown.mkrf.yamlconfig/legacy_xml_builder/attributes.mkrf.yamlconfig/legacy_xml_builder/strata/treat.mkrf.yamldata/legacy_mkrf/compiled_controls/data/legacy_mkrf/compiled_tracks/data/legacy_mkrf/compiled_spatial/data/legacy_mkrf/generated_xml/models/mkrf_patchworks_model_poc/models/mkrf_patchworks_model_poc/XML/baseMKRF.xmlrunbooks/LEGACY_ATTRIBUTE_PASSTHROUGH.mdrunbooks/LEGACY_RUNTIME_CONFIG_WIRING.mdrunbooks/LEGACY_RUNTIME_TRACK_RECONCILIATION.md
These surfaces summarize the discovered compiled package anatomy:
baseMKRF.pinas the primary compiled model entrypoint;Tracks/*.csvas the compiled matrix/runtime table family;Spatial/fragments.*plusSpatial/topo_frag100.csvas the spatial runtime family; andScenarioSet.bsh,runME.bsh,Scripts/*.bsh, andTargets/*.bshas the scenario/control seam.
Copied archival controls now present in-instance:
data/legacy_mkrf/compiled_controls/entrypoints/data/legacy_mkrf/compiled_controls/scripts/data/legacy_mkrf/compiled_controls/targets/
Copied archival track tables now present in-instance:
data/legacy_mkrf/compiled_tracks/
Copied archival spatial runtime files now present in-instance:
data/legacy_mkrf/compiled_spatial/
Copied generated XML review artifacts now present in-instance:
data/legacy_mkrf/generated_xml/baseMKRF.xmldata/legacy_mkrf/generated_xml/CSV/CURVE_TABLE.csv
Important boundary:
- these copied files are archival references only;
- the copied bulky compiled runtime families now include
Tracks/*.csv,Spatial/fragments.*, andSpatial/topo_frag100.csv; - the governing editable-source seam for the core XML builder is now treated as
workbook data surfaces from
002_base.xlsm, not the checked-in generated XML; - parent-side tracked workbook review extracts now live under
metadata/mkrf_xlsm_review/in the parent FEMIC repo and are referenced here bymetadata/legacy_xlsm_review_extracts.yaml; - the first MKRF-first translated
Input Variablesconfig now lives atconfig/legacy_xml_builder/input_variables.mkrf.yaml, but onlydescription,start_year,horizon_years, and the legacy block/area/age/ exclude expressions plus the additional stratification fragment bindings and thetreat_ineltreatment-eligibility review flag are live in exporter behavior at this stage, withmanaged,unmanaged,operable, andlowoperavailable through the explicit scalar constants contract; max_inventory_ageand blank include-fragment hooks are preserved as review metadata;- the Curve Library surface is now translated into a review-to-build contract
that preserves curve identifiers, the
Ageaxis, and nonblank curve points, whilebefore_curvesremains inactive until generatedCurves.xmlreconciliation is explicitly scheduled; - the Netdown surface is now translated into a review-to-build contract that
preserves the two complete proportional reassignment rules while keeping
incomplete tail values as review metadata and
dumpRetentioninactive; - the Attrib surface is now translated into a review-to-build contract that
preserves 16 rows with nonblank
Attribute Namevalues while keeping formula dependencies anddumpAttributesinactive; - the Treat stratum bundle is now translated into a review-to-build contract
that preserves the CC/CT treatment definitions and default succession rule
while keeping feature/product template rows and
dumpStratuminactive; - the P55.19 reconciliation records a metadata-recovery go decision and a runnable-rebuild no-go decision pending generated XML, builder, compiled track, and upstream-input gap closure;
- the P56.2 generated XML reconciliation materializes inert review copies of
baseMKRF.xmlandCSV/CURVE_TABLE.csv, matches the base XML to translated Input Variables and Curve Library contracts, and matches locatedCurves.xmltoCURVE_TABLE.csvby curve identifier, age, and value; - the P56.3 compiled track evidence reconciliation records that legacy
curves.csv,features.csv, andproducts.csvare readable compiled-output evidence in the planning corpus, while current instance paths remain pointer files pending git-annex availability; - the P56.4 builder activation plan defines the future curve, retention, attribute, stratum, full XML emission, and matrix-build handoff order while preserving the archival-evidence versus future-regenerated-output boundary;
- the P56.5 source-input publication boundary records the fragments/topology
inputs required for a future matrix-build candidate, separates compiled
runtime evidence from raw source reproducibility, and keeps the
Base TFL26literal-description mismatch visible; - the P56.6 rebuild-readiness criteria close Phase 56 with metadata recovery complete and runnable rebuild readiness still no-go pending future builder, XML, source-input, matrix-build, output-comparison, and identity gates;
- the P57.2 runtime model layout now materializes
models/mkrf_patchworks_model_poc/with a sanitizedanalysis/base.pin, copied compiled spatial runtime inputs, copied control scripts, and staging directories for future XML/tracks output, but it still does not generate XML, populate runtime tracks, or resolve the missingInitialTargetsscenario target-definition lane; - the P57.3/P58.2 runtime XML emission now materializes
models/mkrf_patchworks_model_poc/XML/baseMKRF.xmlfrom the recovered Input Variables, Curve Library, Netdown, Treat, and generated curve-table contracts together with a native FEMIC Attrib builder driven by reviewed workbook extracts; - the P57.6/P57.7 runtime reconciliation now records successful generated
Tracks/*.csvoutput generation and an accepted non-blocking merchantable- tail variance (500/501generated versus650/651legacy) for very-old- stand behavior; - the P57.8 launch proof now confirms that the generated runtime model opens
from
models/mkrf_patchworks_model_poc/analysis/base.pinthrough the Patchworks runtime seam; Spatial/patchworksLog.csv, output, and upstream mapping-analysis payloads are still deferred; and- this instance now carries a minimally runnable MKRF PoC Patchworks surface, not a raw-source reconstruction, exact legacy-equivalence claim, or the final canonical rebuild.
This repository is intended to follow the large-only DataLad/git-annex
pattern used by femic-tsa29-instance.
Policy:
- keep docs, config, runbooks, metadata ledgers, and other small canonical text in Git;
- annex bulky runtime/model/publication artifacts only; and
- do not publish transient local scratch or machine-specific secrets.
- Validate the rebuild contract:
femic instance validate-spec --spec config/rebuild.spec.yaml - Dry-run the rebuild sequence:
femic instance rebuild --spec config/rebuild.spec.yaml --dry-run --run-id mkrf_dryrun - Review the legacy compiled-package reference note:
runbooks/LEGACY_COMPILED_PACKAGE_REFERENCE.md - Review the legacy XML-builder authority note:
runbooks/LEGACY_XML_BUILDER_AUTHORITY_REVIEW.md - Review the legacy workbook surface map:
runbooks/LEGACY_XLSM_SURFACE_MAP.md - Review the Input Variables translation note:
runbooks/LEGACY_INPUT_VARIABLES_TRANSLATION.md - Review the Curve Library translation note:
runbooks/LEGACY_CURVE_LIBRARY_TRANSLATION.md - Review the Netdown translation note:
runbooks/LEGACY_NETDOWN_TRANSLATION.md - Review the Attributes translation note:
runbooks/LEGACY_ATTRIBUTES_TRANSLATION.md - Review the Treat translation note:
runbooks/LEGACY_TREAT_TRANSLATION.md - Review the rebuild readiness review:
runbooks/LEGACY_REBUILD_READINESS_REVIEW.md - Review the parent-side workbook review extract pointer:
metadata/legacy_xlsm_review_extracts.yaml - Review the translated Input Variables config:
config/legacy_xml_builder/input_variables.mkrf.yaml - Review the translated Curve Library contract:
config/legacy_xml_builder/curve_library.mkrf.yaml - Review the translated Netdown contract:
config/legacy_xml_builder/netdown.mkrf.yaml - Review the translated Attributes contract:
config/legacy_xml_builder/attributes.mkrf.yaml - Review the translated Treat contract:
config/legacy_xml_builder/strata/treat.mkrf.yaml - Inspect the copied archival control layer under:
data/legacy_mkrf/compiled_controls/ - Inspect the copied archival track tables under:
data/legacy_mkrf/compiled_tracks/ - Inspect the copied archival spatial runtime files under:
data/legacy_mkrf/compiled_spatial/ - If this is a thin clone, materialize the annex smoke artifact:
python -m datalad get data/annex_smoke/mkrf_bootstrap_smoke.bin - Run full
femic prep validate-case --run-config config/run_profile.mkrf.yaml --tipsy-config-dir config/tipsyonly after the real MKRF boundary and checkpoint inputs are published.
See runbooks/REBUILD_RUNBOOK.md for the current thin-baseline boundary.