simulate.farm
PlatformDataScienceDocumentationAbout
Log inRequest access
Skip to guide← All guides and search

Guides

  • Current capabilities and supported builds
  • Native input editing
  • Saved JSON output plans and results
On this page
  • Choose the output workflow
  • Reviewed selectors
  • Preview and save
  • Import and export with the CLI
  • Audit versus execution eligibility
  • Original downloads and observation tables
  • Loaded-page charts
  • Remaining limits

Opt-in JSON plans · read-only saved results

Saved JSON output plans and results

Preview and save reviewed output filters, preserve original downloads, and inspect observations with honest chart limits.

Choose the output workflow

Open Outputs in the signed-in workspace and choose the exact build. The unchanged default rufas-1.0.5-freestall-v1 offers stateless native JSON selection preview while its runs retain the protected fixed filter. The explicit opt-in rufas-1.0.5-freestall-outputs-v1 adds Saved JSON output plan on existing file-scenario revisions. Selected-build live rollout remains deferred; catalog visibility and local checks do not prove regional execution availability.

See supported builds before selecting. Both workflows use the same five reviewed selectors. They are a bounded catalog, not every RuFaS output.

Reviewed selectors

Every suffix below begins with AnimalModuleReporter.. The four population counts are initialization statistics, not daily population series. Milk is emitted only when the animal simulation reaches its reporter; a selector's existence does not guarantee emission in every run.

Scroll horizontally to read all columns.
Native selector suffixMeaningNative unit
report_animal_population_statistics.initial_number_of_cowsInitial herd cows after samplinganimals
report_animal_population_statistics.population_number_of_cowsLoaded/generated source-population cows before samplinganimals
report_animal_population_statistics.population_number_of_lactating_cowsSource-population lactating cows before samplinganimals
report_animal_population_statistics.population_number_of_dry_cowsSource-population non-lactating cows before samplinganimals
report_herd_statistics_data.daily_milk_productionNative daily herd milk productionkg/day

These emitters omit per-observation simulation_day. Population emitters omit data_origin, and native task options can omit info maps. Missing metadata remains explicit. Catalog descriptions are reviewed summaries, not a complete scientific registry or a promise of full schema coverage.

Preview and save

  1. Search labels or native names and select one to five outputs. Search can hide selected entries without deselecting them.
  2. Choose Preview native JSON. Review exact native bytes and file/folder SHA-256 identities. Download JSON filter creates only a file; preview and download do not save a scenario or launch a run.
  3. For the opt-in build, review the checkbox selection or use Import native JSON file and its Source editor. Preview the exact plan and filter bytes.
  4. Enter an existing matching scenario ID and Saved revision, then Load target revision. Inspect the verified model build and current plan. Historical revisions can be inspected; only the current head is editable.
  5. Enter a reason, confirm the exact plan and target, then choose Save reviewed plan only. Inspect the new revision. No run is launched.

The plan binds the model/catalog/source, selected names, native bytes, file/folder hashes and plan_id. Exactly one native JSON file is supported: output_filters/json_simulate_farm_selection.json, at most 65,536 UTF-8 bytes. Only name and filters with reviewed exact anchored selectors are accepted. Wildcards, duplicate keys/options/selectors, extra files, unsafe paths and other formats are rejected. Valid raw import preserves whitespace, key order and pattern order; two semantically similar files can therefore have different identities.

A cancelled or interrupted save may already have created a revision. Reconcile or retry the original target/plan/reason and idempotency key before another save. Editing a draft does not undo that request. Navigation does not guarantee recovery of unsaved output selections.

Import and export with the CLI

From the repository's backend directory, use Python 3.12 or 3.13. Local plan/import/export commands are stateless and create no workspace or simulation. The example fetches current catalog identities rather than inventing hashes. Destinations must be new paths.

$build = 'rufas-1.0.5-freestall-outputs-v1'
$catalog = python -m app.model_cli outputs catalog --model-version-id $build | ConvertFrom-Json
python -m app.model_cli outputs plan --model-version-id $build --expected-catalog-id $catalog.catalog_id --expected-binding-sha256 $catalog.binding_sha256 --selector AnimalModuleReporter.report_herd_statistics_data.daily_milk_production --destination plan.json
python -m app.model_cli outputs export --model-version-id $build --plan-file plan.json --destination exported-filter
python -m app.model_cli outputs import --model-version-id $build --expected-catalog-id $catalog.catalog_id --expected-binding-sha256 $catalog.binding_sha256 --source exported-filter --destination imported-plan.json

outputs import accepts one raw native JSON file, an exported package-root folder or its output_filters subfolder. Portable plan files are capped at 200,000 bytes. Download portable plan JSON and Download exact native filter in the dashboard provide the same two distinct representations; downloading a filter does not create a folder. CLI export creates the exact native folder and never overwrites or merges an existing path.

For remote save, use the remote authentication settings. Fetch the remote output catalog and create/import the portable plan against that deployment's exact binding first. Add --remote before outputs for those catalog/plan/import operations. Local and remote runtime bindings need not match. Replace the scenario ID and revision with inspected values.

python -m app.model_cli --remote --scenario-id EXISTING_SCENARIO_ID outputs save --model-version-id rufas-1.0.5-freestall-outputs-v1 --plan-file plan.json --expected-revision 1 --reason 'Reviewed output selection' --idempotency-key reviewed-output-save-01
python -m app.model_cli --remote --scenario-id EXISTING_SCENARIO_ID outputs inspect --model-version-id rufas-1.0.5-freestall-outputs-v1 --revision 2

The public preview is POST /api/platform/model-versions/{model_version_id}/output-plan, using inspected expected_catalog_id, expected_binding_sha256 and either selectors or one raw files entry. Personal keys require catalog:read. Inspect at GET /api/platform/file-scenarios/{scenario_id}/output-plan?revision=N with inputs:read. Save at the same scenario path with POST, inputs:read plus inputs:write, an Idempotency-Key, and exactly expected_revision, output_plan, reason, channel (gui, monaco, api or import). The server enforces owner, region and revision checks.

Audit versus execution eligibility

A saved plan creates a scenario revision. It does not create a separate plan library or launch a run. Changing the filter requires a new frozen input snapshot and native audit. Snapshot, audit evidence, protected execution admission, staged worker files and result manifests must agree on the filter and build identities. The opt-in build cannot bypass those checks by launching a typed scenario.

Portable validation, audit validity, execution eligibility and simulation success are separate outcomes. Eligibility covers the reviewed freestall profile and supported regional capabilities; it is not unrestricted RuFaS readiness or scientific certification. Only an explicit execution action requests a simulation. Live rollout and regional acceptance remain deferred.

Original downloads and observation tables

Open the saved run's results workspace to inspect stored successful file-workspace simulation runs with reviewed execution bindings and pinned manifests. Search series by native name or source path, choose an exact artifact/variable pair and page through observations. Typed runs, audit-only runs, unfinished/failed runs and historical unbound runs are outside this inspector's support; their existing raw views are separate.

The inspector retains native values, units, reported simulation_day and data_origin, exact build/output-plan identity, and pinned manifest/artifact hashes and generations. A later page must retain that manifest identity; stale or tampered evidence fails instead of mixing generations. Duplicate variable names in different artifacts are not merged. A known empty series is different from an unknown series. Missing selectors and parser/bundle warnings remain visible.

Original files and verified downloads remain available even when the bounded inspector cannot display a series or value. The browser refuses unsafe integers rather than rounding them. Edits in an output file workspace create derived data; they must not be treated as original native observations.

The observation API requires runs:read for personal keys. Pages allow 1–100 items (default 50), with bounded responses and complete pinned-bundle verification on each request. This is not streaming or a durable scientific index. Oversized inspection pages fail explicitly; request fewer observations or use the verified original artifact route.

Loaded-page charts

The chart uses only the currently loaded observation page beside the literal table. It performs no extra requests and does not fetch the rest of the series. Changing page, run, search or series clears the previous chart context.

  • Finite scalar numbers plot as unconnected points. Nulls, booleans, strings and whole objects are omitted without coercion or flattening; omission counts are disclosed.
  • Original zero-based observation indexes are retained, including gaps. Tooltips and table values preserve the native numeric value.
  • The horizontal axis says Observation position, not simulation day. With absent time metadata, no dates, daily coordinates, interpolation or aggregation are inferred.
  • Units are checked only for numeric observations on this loaded page. One exact native unit is used without conversion or normalization. All absent units are labeled unknown (not supplied).
  • Conflicting unit strings, a mix of known/absent units, or unit dictionaries for scalar numbers block the chart. Units on other pages remain unestablished.

The page range and total do not imply all observations were fetched, plotted or scientifically validated. There is no full-series unit validation or scientific certification. Use original metadata, warnings and downloads when interpreting outputs.

Remaining limits

CSV and other output formats, standalone reusable presets, broader selector catalogs, grouping/options, real compatible-run comparisons, durable indexing and richer visualization remain deferred. Grounded output-selection/interpretation agent workflows are separately scoped later work. General deletion and production ephemeral/24-hour expiry guarantees are unavailable; read the capability limits.

Previous guideNative input editing
simulate.farm

Scientific farm simulation that keeps configuration, assumptions, runs, and results connected.

Product

Interactive demoPlatformDocumentation

Company

AboutData & securityPasalica

© 2026 Pasalica. All rights reserved.

RuFaS is the first model integration.