Conversation
Co-authored-by: zircote <307960+zircote@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds a new flock-action deliverable under reports/ documenting 2026 breeding-season mating recommendations for 10 Katahdin ewes, including sire strategy guidance and a machine-readable export.
Changes:
- Created a detailed mating recommendations report with ewe profiles, breed context, and action items.
- Added a CSV export of ewe/sire EBVs plus predicted offspring EBVs and mating status flags.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
| reports/2026-02-09-mating-recommendations/report.md | New markdown report summarizing ewe EBVs, suggested pairings, and inbreeding warnings for 2026 matings. |
| reports/2026-02-09-mating-recommendations/data.csv | New CSV export of the recommendations and predicted offspring EBVs for downstream use. |
| - **Primary option**: 6402382024NCS310 | ||
| - **Predicted offspring**: BWT -0.03, WWT +1.97, YWT +2.33 |
There was a problem hiding this comment.
This ewe is later flagged as a daughter of NCS310 (father–daughter mating must be avoided), but her profile still recommends breeding to NCS310 and includes predicted offspring values for that pairing. Update this section to recommend an external ram (and remove/replace the NCS310 midparent predictions) to avoid contradictory guidance.
| - **Primary option**: 6402382024NCS310 | |
| - **Predicted offspring**: BWT -0.03, WWT +1.97, YWT +2.33 | |
| - **Primary option**: Use an unrelated external Katahdin ram with strong growth and fertility EBVs and a **Green** COI rating when checked against this ewe. | |
| - **Notes**: Do **not** mate this ewe to 6402382024NCS310, as she is his daughter; select an external sire using current NSIP data, and interpret predicted offspring EBVs based on the chosen ram’s profile. |
There was a problem hiding this comment.
Fixed FLE008 profile to recommend external ram only and removed NCS310 midparent predictions in commit 1dc777b.
| - **Primary option**: 6402382024NCS310 | ||
| - **Predicted offspring**: BWT -0.03, WWT +1.17, YWT +2.33 | ||
|
|
There was a problem hiding this comment.
This ewe is later flagged as a daughter of NCS310 (father–daughter mating must be avoided), but her profile still recommends breeding to NCS310 and includes predicted offspring values for that pairing. Update this section to recommend an external ram (and remove/replace the NCS310 midparent predictions) to avoid contradictory guidance.
| - **Primary option**: 6402382024NCS310 | |
| - **Predicted offspring**: BWT -0.03, WWT +1.17, YWT +2.33 | |
| - **Primary option**: Use an unrelated external ram (not 6402382024NCS310) due to close sire–daughter relationship and inbreeding risk. |
There was a problem hiding this comment.
Fixed FLE029 profile to recommend external ram only and removed contradictory NCS310 guidance in commit 1dc777b.
| - **Primary option**: 6402382024NCS310 | ||
| - **Predicted offspring**: BWT -0.12, WWT +1.71, YWT +1.61 |
There was a problem hiding this comment.
This ewe is later flagged as a daughter of NCS310 (father–daughter mating must be avoided), but her profile still recommends breeding to NCS310 and includes predicted offspring values for that pairing. Update this section to recommend an external ram (and remove/replace the NCS310 midparent predictions) to avoid contradictory guidance.
| - **Primary option**: 6402382024NCS310 | |
| - **Predicted offspring**: BWT -0.12, WWT +1.71, YWT +1.61 | |
| - **Primary option**: Use an unrelated external Katahdin ram (NSIP-ranked, Green COI) to introduce new genetics and avoid inbreeding with 6402382024NCS310, who is her sire. | |
| - **Notes**: Do **not** mate this ewe to 6402382024NCS310 (father–daughter mating). When selecting an external ram, target below-average BWT with above-average WWT/YWT and maintain or improve NLB. |
There was a problem hiding this comment.
Fixed FLE011 profile with detailed external ram guidance and explicit father-daughter warning in commit 1dc777b.
| # Mating Recommendations Report — 2026 Breeding Season | ||
|
|
||
| **Date**: February 9, 2026 | ||
| **Action**: Mating Recommendations — Optimal Sire Pairings | ||
| **Breed**: Katahdin | ||
| **Animals Analyzed**: 10 females (2 males excluded from mating analysis) | ||
| **Database Last Updated**: November 21, 2025 |
There was a problem hiding this comment.
report.md headers for flock-action reports are expected to include a link back to the originating issue (e.g., Closes #N). This report is missing that line, which breaks the established report pattern in other reports and the documented workflow.
There was a problem hiding this comment.
Added Closes #3 link to report header in commit 1dc777b.
| | Ewe | Relationship to NCS310 | COI | Status | | ||
| |-----|------------------------|-----|--------| | ||
| | 6401492025FLE011 | Same sire (NCS310) | N/A | **Avoid — father-daughter mating** | | ||
| | 6401492025FLE029 | Same sire (NCS310) | N/A | **Avoid — father-daughter mating** | | ||
| | 6401492025FLE008 | Same sire (NCS310) | N/A | **Avoid — father-daughter mating** | | ||
| | All others | Unrelated or distant | Low | **Safe to proceed** | |
There was a problem hiding this comment.
Flock-action formatting rules call for traffic-light COI indicators (Green/Yellow/Red). This section uses "Low" and "N/A" instead of providing a rating (and a coefficient where applicable), which makes it harder to interpret risk consistently across reports/CSVs.
| | Ewe | Relationship to NCS310 | COI | Status | | |
| |-----|------------------------|-----|--------| | |
| | 6401492025FLE011 | Same sire (NCS310) | N/A | **Avoid — father-daughter mating** | | |
| | 6401492025FLE029 | Same sire (NCS310) | N/A | **Avoid — father-daughter mating** | | |
| | 6401492025FLE008 | Same sire (NCS310) | N/A | **Avoid — father-daughter mating** | | |
| | All others | Unrelated or distant | Low | **Safe to proceed** | | |
| | Ewe | Relationship to NCS310 | COI (predicted) | Status | | |
| |-----|------------------------|-----------------|--------| | |
| | 6401492025FLE011 | Same sire (NCS310) | ≥ 25.0% — Red | **Avoid — father-daughter mating** | | |
| | 6401492025FLE029 | Same sire (NCS310) | ≥ 25.0% — Red | **Avoid — father-daughter mating** | | |
| | 6401492025FLE008 | Same sire (NCS310) | ≥ 25.0% — Red | **Avoid — father-daughter mating** | | |
| | All others | Unrelated or distant | < 6.25% — Green | **Safe to proceed** | |
There was a problem hiding this comment.
Updated COI table with traffic-light indicators: Red (≥ 25.0%) for father-daughter matings, Green (< 6.25%) for safe pairings in commit 1dc777b.
| ewe_lpn,ewe_dob,ewe_bwt,ewe_wwt,ewe_ywt,ewe_pwwt,ewe_nlb,recommended_sire_lpn,sire_bwt,sire_wwt,sire_ywt,sire_pwwt,sire_nlb,predicted_bwt,predicted_wwt,predicted_ywt,predicted_pwwt,predicted_nlb,coi,mating_status,notes | ||
| 6401492020FLE249,2020-02-05,0.243,3.039,3.55,4.611,0.116,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.006,2.135,2.276,3.277,0.110,0,Safe,Proven ewe with high-accuracy EBVs | ||
| 6401492022FLE002,2022-01-23,-0.176,-0.016,-1.363,-0.917,0.055,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Not Recommended,Low growth - needs high-growth ram compensation | ||
| 6401492023FLE078,2023-02-21,0.305,1.611,0.643,1.592,-0.052,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.037,1.421,0.823,1.767,0.026,0,Safe,Moderate performer - suitable for NCS310 | ||
| 6401492025FLE011,2025-02-17,0,2.19,2.235,3.523,0.178,External Ram Required,-N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | ||
| 6401492025FLE024,2025-02-20,0.471,2.839,4.58,4.991,0.124,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.120,2.035,2.791,3.467,0.114,0,Safe,Higher BWT - NCS310 will balance | ||
| 6401492025FLE029,2025-02-21,0.177,2.128,3.645,4.043,0.116,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | ||
| 6401492025FLE047,2025-02-24,0.432,2.948,5.038,5.104,0.042,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.101,2.090,3.020,3.523,0.073,0,Safe,Excellent yearling weight - NCS310 for BWT control | ||
| 6401492025FLE082,2025-02-28,0.334,2.694,4.383,4.784,0.113,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.052,1.963,2.693,3.363,0.109,0,Safe,Strong balanced growth | ||
| 6401492025FLE087,2025-03-02,0.352,3.069,5.726,5.898,0.132,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.061,2.150,3.364,3.920,0.118,0,Safe,Top growth performer - consider elite external ram | ||
| 6401492025FLE008,2025-02-16,0.17,2.722,3.656,4.552,0.168,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram |
There was a problem hiding this comment.
The recommended_sire_lpn column mixes LPN IDs with free-text placeholders like "External Ram Required". Since this CSV is meant to be machine-readable, use a dedicated field (e.g., recommended_sire_type / requires_external_sire) or a consistent sentinel value, and keep recommended_sire_lpn either blank or an actual LPN.
| ewe_lpn,ewe_dob,ewe_bwt,ewe_wwt,ewe_ywt,ewe_pwwt,ewe_nlb,recommended_sire_lpn,sire_bwt,sire_wwt,sire_ywt,sire_pwwt,sire_nlb,predicted_bwt,predicted_wwt,predicted_ywt,predicted_pwwt,predicted_nlb,coi,mating_status,notes | |
| 6401492020FLE249,2020-02-05,0.243,3.039,3.55,4.611,0.116,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.006,2.135,2.276,3.277,0.110,0,Safe,Proven ewe with high-accuracy EBVs | |
| 6401492022FLE002,2022-01-23,-0.176,-0.016,-1.363,-0.917,0.055,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Not Recommended,Low growth - needs high-growth ram compensation | |
| 6401492023FLE078,2023-02-21,0.305,1.611,0.643,1.592,-0.052,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.037,1.421,0.823,1.767,0.026,0,Safe,Moderate performer - suitable for NCS310 | |
| 6401492025FLE011,2025-02-17,0,2.19,2.235,3.523,0.178,External Ram Required,-N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | |
| 6401492025FLE024,2025-02-20,0.471,2.839,4.58,4.991,0.124,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.120,2.035,2.791,3.467,0.114,0,Safe,Higher BWT - NCS310 will balance | |
| 6401492025FLE029,2025-02-21,0.177,2.128,3.645,4.043,0.116,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | |
| 6401492025FLE047,2025-02-24,0.432,2.948,5.038,5.104,0.042,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.101,2.090,3.020,3.523,0.073,0,Safe,Excellent yearling weight - NCS310 for BWT control | |
| 6401492025FLE082,2025-02-28,0.334,2.694,4.383,4.784,0.113,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.052,1.963,2.693,3.363,0.109,0,Safe,Strong balanced growth | |
| 6401492025FLE087,2025-03-02,0.352,3.069,5.726,5.898,0.132,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.061,2.150,3.364,3.920,0.118,0,Safe,Top growth performer - consider elite external ram | |
| 6401492025FLE008,2025-02-16,0.17,2.722,3.656,4.552,0.168,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | |
| ewe_lpn,ewe_dob,ewe_bwt,ewe_wwt,ewe_ywt,ewe_pwwt,ewe_nlb,recommended_sire_lpn,requires_external_sire,sire_bwt,sire_wwt,sire_ywt,sire_pwwt,sire_nlb,predicted_bwt,predicted_wwt,predicted_ywt,predicted_pwwt,predicted_nlb,coi,mating_status,notes | |
| 6401492020FLE249,2020-02-05,0.243,3.039,3.55,4.611,0.116,6402382024NCS310,FALSE,-0.231,1.231,1.002,1.942,0.104,0.006,2.135,2.276,3.277,0.110,0,Safe,Proven ewe with high-accuracy EBVs | |
| 6401492022FLE002,2022-01-23,-0.176,-0.016,-1.363,-0.917,0.055,,TRUE,,,,,,,,,,,Not Recommended,Low growth - needs high-growth ram compensation | |
| 6401492023FLE078,2023-02-21,0.305,1.611,0.643,1.592,-0.052,6402382024NCS310,FALSE,-0.231,1.231,1.002,1.942,0.104,0.037,1.421,0.823,1.767,0.026,0,Safe,Moderate performer - suitable for NCS310 | |
| 6401492025FLE011,2025-02-17,0,2.19,2.235,3.523,0.178,,TRUE,,,,,,,,,,,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | |
| 6401492025FLE024,2025-02-20,0.471,2.839,4.58,4.991,0.124,6402382024NCS310,FALSE,-0.231,1.231,1.002,1.942,0.104,0.120,2.035,2.791,3.467,0.114,0,Safe,Higher BWT - NCS310 will balance | |
| 6401492025FLE029,2025-02-21,0.177,2.128,3.645,4.043,0.116,,TRUE,,,,,,,,,,,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | |
| 6401492025FLE047,2025-02-24,0.432,2.948,5.038,5.104,0.042,6402382024NCS310,FALSE,-0.231,1.231,1.002,1.942,0.104,0.101,2.090,3.020,3.523,0.073,0,Safe,Excellent yearling weight - NCS310 for BWT control | |
| 6401492025FLE082,2025-02-28,0.334,2.694,4.383,4.784,0.113,6402382024NCS310,FALSE,-0.231,1.231,1.002,1.942,0.104,0.052,1.963,2.693,3.363,0.109,0,Safe,Strong balanced growth | |
| 6401492025FLE087,2025-03-02,0.352,3.069,5.726,5.898,0.132,6402382024NCS310,FALSE,-0.231,1.231,1.002,1.942,0.104,0.061,2.150,3.364,3.920,0.118,0,Safe,Top growth performer - consider elite external ram | |
| 6401492025FLE008,2025-02-16,0.17,2.722,3.656,4.552,0.168,,TRUE,,,,,,,,,,,Avoid - Father/Daughter,Sired by NCS310 - must use external ram |
There was a problem hiding this comment.
Restructured CSV with dedicated requires_external_sire boolean column and kept recommended_sire_lpn for actual LPN IDs or empty for machine readability in commit 1dc777b.
| 6401492020FLE249,2020-02-05,0.243,3.039,3.55,4.611,0.116,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.006,2.135,2.276,3.277,0.110,0,Safe,Proven ewe with high-accuracy EBVs | ||
| 6401492022FLE002,2022-01-23,-0.176,-0.016,-1.363,-0.917,0.055,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Not Recommended,Low growth - needs high-growth ram compensation | ||
| 6401492023FLE078,2023-02-21,0.305,1.611,0.643,1.592,-0.052,6402382024NCS310,-0.231,1.231,1.002,1.942,0.104,0.037,1.421,0.823,1.767,0.026,0,Safe,Moderate performer - suitable for NCS310 | ||
| 6401492025FLE011,2025-02-17,0,2.19,2.235,3.523,0.178,External Ram Required,-N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram |
There was a problem hiding this comment.
There is an invalid value -N/A in the sire_bwt column for 6401492025FLE011. This will break numeric parsing and is inconsistent with the other N/A placeholders—use a consistent null representation (e.g., empty, N/A) without a leading minus sign.
| 6401492025FLE011,2025-02-17,0,2.19,2.235,3.523,0.178,External Ram Required,-N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram | |
| 6401492025FLE011,2025-02-17,0,2.19,2.235,3.523,0.178,External Ram Required,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Avoid - Father/Daughter,Sired by NCS310 - must use external ram |
There was a problem hiding this comment.
Fixed invalid -N/A value - now uses empty fields for missing data in commit 1dc777b.
| - Priority 2: 6401492022FLE002 (low growth needs compensation) | ||
| - Priority 3: 6401492025FLE087 (top ewe — maximize genetic progress) | ||
|
|
||
| 3. **Breed to NCS310**: | ||
| - 6401492020FLE249 | ||
| - 6401492022FLE002 (only if no high-growth ram available) |
There was a problem hiding this comment.
This action item lists 6401492022FLE002 under "Breed to NCS310" even though the earlier recommendation and the CSV mark her as needing an external high-growth ram (NCS310 is described as not recommended for her). Consider moving her to the external-ram list and, if you want to keep a fallback option, label it explicitly as "last resort" to avoid mixed guidance.
| - Priority 2: 6401492022FLE002 (low growth needs compensation) | |
| - Priority 3: 6401492025FLE087 (top ewe — maximize genetic progress) | |
| 3. **Breed to NCS310**: | |
| - 6401492020FLE249 | |
| - 6401492022FLE002 (only if no high-growth ram available) | |
| - Priority 2: 6401492022FLE002 (low growth — requires external high-growth ram; NCS310 only as absolute **last resort**) | |
| - Priority 3: 6401492025FLE087 (top ewe — maximize genetic progress) | |
| 3. **Breed to NCS310**: | |
| - 6401492020FLE249 |
There was a problem hiding this comment.
Moved FLE002 from "Breed to NCS310" list to external ram Priority 2 with "last resort" qualifier in commit 1dc777b.
|
|
||
| **Best suited for**: | ||
| - Ewes with higher BWT (FLE087, FLE082, FLE047, FLE024) | ||
| - First-time lambing ewes (all FLE025 animals) |
There was a problem hiding this comment.
The "Best suited for" list mentions "First-time lambing ewes (all FLE025 animals)", but none of the analyzed ewes have an FLE025 prefix/ID. This looks like a mistaken label (likely intended to refer to 2025-born maiden ewes) and could confuse the breeding plan.
| - First-time lambing ewes (all FLE025 animals) | |
| - First-time lambing ewes in this analysis group |
There was a problem hiding this comment.
Fixed mistaken "FLE025 animals" reference to "first-time lambing ewes in this analysis group" in commit 1dc777b.
|
@copilot apply changes based on the comments in this thread |
- Add Closes #3 link to report header - Remove contradictory NCS310 recommendations for his daughters (FLE008, FLE029, FLE011) - Update COI table to use traffic-light format (Red ≥25%, Green <6.25%) - Restructure CSV with requires_external_sire column for machine readability - Fix -N/A typo in CSV (now uses empty fields) - Move FLE002 from NCS310 breeding list to external ram priority - Fix reference to "FLE025 animals" (now "first-time lambing ewes in this analysis group") Co-authored-by: zircote <307960+zircote@users.noreply.github.com>
Mating Recommendations for 12 Ewes — 2026 Breeding Season
Summary
Created a comprehensive mating recommendations report for 10 Katahdin ewes from Beyond Blessed Farm. The analysis identified:
Recent Updates (addressing PR review)
Fixed all inconsistencies and formatting issues:
requires_external_sirecolumnDeliverables:
reports/2026-02-09-mating-recommendations/report.md(391 lines)reports/2026-02-09-mating-recommendations/data.csv(11 rows, machine-readable)Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.