Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,25 @@ Contributions to RuFaS can fall in any of the five categories described below. T

> These contribution categories are designed to foster a collaborative environment while ensuring strong leadership and governance for RuFaS.

---

## Shared Values and Operating Principles

All participation in RuFaS is guided by the values and operating principles defined in [Strategy.md](Strategy.md).

Contributors, maintainers, sponsors, and PML members are expected to act in accordance with:

- Scientific Integrity
- Openness and Accessibility
- Inclusive Collaboration
- Shared Stewardship
- Systems Thinking

Decision-making within RuFaS should be consistent with the operating principles described in [Strategy.md](Strategy.md).

For strategic direction and project values, see [Strategy.md](Strategy.md).

@LisaM-kiwi LisaM-kiwi Aug 4, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can combine text here to remove the multiple references to strategy.md.

Something like this might work:
"All participation and decision-making in RuFaS is guided by the values and operating principles defined in Strategy.md, along with strategic pillars."



---

## Code of Conduct
Expand Down
3 changes: 2 additions & 1 deletion FORKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

# Forking guidelines (strategic + operational)

Forking is a first-class collaboration mechanism in RuFaS. We encourage forks when they enable experimentation, contextual adaptation, or innovation that would be difficult to pursue directly in the main repository. At the same time, RuFaS exists as a shared scientific and software commons: forks should strengthen the ecosystem, not fragment it.
Forking is a first-class collaboration mechanism in RuFaS. We encourage forks when they enable experimentation, contextual adaptation, or innovation that would be difficult to pursue directly in the main repository. At the same time, RuFaS exists as a shared scientific and software commons: forks should strengthen the ecosystem, not fragment it.
> These forking guidelines are highly aligned with RuFaS Shared Operating Principles of **Openness > Control** and **Shared ownership > Possession** described in [Strategy.md](Strategy.md).

## 1) Strategic norms: when forking is appropriate
Forking is encouraged when you need to:
Expand Down
27 changes: 13 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![Flake8](https://img.shields.io/badge/Flake8-passed-brightgreen)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml)
[![Pytest](https://img.shields.io/badge/Pytest-passed-brightgreen)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml)
[![Coverage](https://img.shields.io/badge/Coverage-99%25-brightgreen)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml)
[![Pytest](https://img.shields.io/badge/Pytest-failed-red)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml)
[![Coverage](https://img.shields.io/badge/Coverage-%25-red)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml)
[![Mypy](https://img.shields.io/badge/Mypy-1135%20errors-red)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml)


Expand All @@ -12,23 +12,16 @@

### 🌍 Vision

To support research and sustainable decision-making in ruminant animal production through a state-of-the-art, open-source modeling environment that evolves with scientific and technological advances.
A world where the continuous generation and sharing of knowledge about ruminant production systems [^note] empower understanding and decision making to achieve socio-economic well-being and environmental sustainability.
[^note]: **RuFaS** is currently focused on dairy cattle production systems.


---

### 🎯 Mission

To build an integrated, whole-farm modeling platform that simulates:
- Milk, meat, and crop production
- Greenhouse gas emissions
- Water quality impacts
- Soil health
- Other sustainability outcomes

We aim for the highest standards in:
- Prediction accuracy
- Code structure and clarity
- Documentation and accessibility
To develop, maintain, and share an open, modular simulation platform that connects scientific research with real world decision making. Equip scientists, farmers, and other stakeholders with tools to understand, evaluate, and improve the environmental, economic, and social outcomes of ruminant farming systems by integrating transparent models, diverse data, and collaborative contributions.


---

Expand All @@ -38,6 +31,12 @@ RuFaS is grounded in peer-reviewed science and collaborative development. It is

---

### ♟️ Strategy

The strategic direction of RuFaS, including its vision, mission, strategic pillars, values, and operating principles, is described in [Strategy.md](Strategy.md).

---

### 🚀 Getting Started

1. **Install Python 3.12 or 3.13** - Make sure you have one of these versions installed on your system.
Expand Down
64 changes: 64 additions & 0 deletions Strategy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
`STRATEGY.md`

---

# RuFaS Strategy
This document provides the strategic direction, values and operating principles necessary for RuFaS to coordinate action across diverse organizations and disciplines.


# Vision
A world where the continuous generation and sharing of knowledge about ruminant\* production systems empower understanding and decision making to achieve socio-economic well-being and environmental sustainability. (\*RuFaS is currently focused on dairy cattle production systems.)


# Mission
To develop, maintain, and share an open, modular simulation platform that connects scientific research with real world decision making. Equip scientists, farmers, and other stakeholders with tools to understand, evaluate, and improve the environmental, economic, and social outcomes of ruminant farming systems by integrating transparent models, diverse data, and collaborative contributions.


# Strategic Pillars
The Strategic Pillars define the long-term directions for RuFaS evolution and provide a common lens for decision-making. They are not intended to prescribe specific activities or targets. Instead, they describe the areas in which RuFaS seeks to increase its impact and help guide choices about priorities, investments, partnerships, and project activities.

* **Decision Support:** The RuFaS model enables informed decision making by delivering integrated outputs—from production metrics to whole-system sustainability indicators—that inform on-farm management, research, policy, and industry actions.

* **Model Evolution:** The RuFaS model continuously evolves with advances in science and technology to deliver whole-farm insights across diverse systems and scales.

* **Scientific Leadership:** RuFaS creates research opportunities, contributes to collaborative grant-funded projects, generates scientific communications, and engages in academic and industry forums.


# Core Values:
The identity and culture of RuFaS can be described by the following explicit, stand-alone statements. Organizations and individuals that engage with RuFaS are expected to uphold and apply these values when engaging with RuFaS.

* **Scientific Integrity:**
* *Value Statement:* We value rigorous, transparent, and evolving science.
* *Action based on value:* We prioritize clarity in assumptions, traceability in methods, and openness in documentation so that users can trust, challenge, and build upon our work.

* **Openness and Accessibility:**
* *Value Statement:* We believe knowledge should be shared, usable, and barrier-free.
* *Action based on value:* We lower barriers to entry through documentation, training, shared repositories, and interoperable tools.

* **Inclusive Collaboration:**
* *Value Statement:* We value diversity of thought, co-creation, and collaboration.
* *Action based on value:* We promote and recognize diverse contributions and commit to surfacing and respecting dissent.

* **Shared Stewardship:**
* *Value Statement:* We value collective stewardship where responsibility is distributed across organizations and individuals.
* *Action based on value:* We share responsibility for maintenance, improvement, and governance and support long-term continuity through documentation, onboarding, and knowledge transfer.

* **Systems Thinking:**
* *Value Statement:* We value the ability to transform complexity into actionable insights.
* *Action based on value:* We design models and outputs to increase understanding of the interactions and tradeoffs in ruminant production systems.


# Shared Operating Principles
RuFaS utilizes shared operating principles to maintain strategic coherence while empowering individuals and organizations to act with agency. These explicit operating principles (or simple rules) empower groups and individuals to navigate trade-offs and decision-making about their contributions to RuFaS.

* **Rigor > Convenience.** We prioritize correctness and reproducibility over speed or short-term usability gains.

* **Openness > Control.** We prioritize open-source solutions and extensibility over optimization for any single organization or proprietary dependency. We do not accept dependencies that are non-open-source.

* **Explicitness > Implicit Authority:** Governance requires decisions to be justified with documented rationale; seniority or position is not a sufficient reason for action.

* **Shared ownership > Possession:** RuFaS prioritizes collective stewardship and continuity over individual ownership or dependency.

* **Integration > Isolated Optimization**. We prioritize understanding whole-system interactions and tradeoffs over optimizing isolated components or metrics.

> Refer to the [CONTRIBUTING.md](https://github.com/RuminantFarmSystems/RuFaS/blob/dev/CONTRIBUTING.md) file for full details on contribution categories and the specific responsibilities for RuFaS participants.
1 change: 1 addition & 0 deletions changelog_WIP.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,4 @@ This **WIP Changelog** records development changes in progress and not yet inclu
- [3150](https://github.com/RuminantFarmSystems/RuFaS/pull/3150) - [minor change] [Crop and Soil] [NoInputChange] [OutputChange] Re-implements `MineralizationDecomposition._calculate_nutrient_cycling_residue_composition_factor` to return the SWAT 3:1.2.8 value.
- [3166](https://github.com/RuminantFarmSystems/RuFaS/pull/3166) - [minor change] [Dependency - Black] [NoInputChange] [NoOutputChange] Updates minimum Black version in `pyproject.toml` file dev section from 25.1.0 to 26.5.1.
- [3099](https://github.com/RuminantFarmSystems/RuFaS/pull/3099) - [minor change] [Animal] [NoInputChange] [NoOutputChange] Adds a summary warning in `HerdManager.formulate_rations()` that reports the number of cows whose milk production was reduced due to ration formulation failure and the average reduction (kg), logged once per ration formulation interval via `OutputManager.add_warning()`.
- [3161](https://github.com/RuminantFarmSystems/RuFaS/pull/3161) - [minor change] [Docs] [Governance] [NoInputChange] [NoOutputChange] Adds Strategy.md defining the RuFaS vision, mission, strategic pillars, core values, and operating principles, and aligns README.md, CONTRIBUTING.md, and FORKING.md with the approved strategic direction.