Skip to content

FDM284-docs#308

Merged
SvenVw merged 3 commits into
FDM284from
FDM284-docs
Oct 28, 2025
Merged

FDM284-docs#308
SvenVw merged 3 commits into
FDM284from
FDM284-docs

Conversation

@SvenVw
Copy link
Copy Markdown
Collaborator

@SvenVw SvenVw commented Oct 27, 2025

Summary by CodeRabbit

  • Documentation
    • Reorganized 2025 Dutch Fertilizer Application Norms documentation with an improved structure.
    • Added comprehensive guides explaining nitrogen, phosphate, and animal manure usage norm calculations.
    • Expanded content detailing how filling calculations are derived for each norm type.

…pplication Norms, e.g. explaining how filling is calculated
@SvenVw SvenVw self-assigned this Oct 27, 2025
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Oct 27, 2025

🦋 Changeset detected

Latest commit: a232478

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@svenvw/fdm-docs Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@SvenVw
Copy link
Copy Markdown
Collaborator Author

SvenVw commented Oct 27, 2025

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 27, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (2)
  • development
  • main

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

A changelog entry documents a minor version bump for the fdm-docs package. The existing single 2025 Dutch Fertilizer Application Norms documentation file was removed and restructured into a organized subdirectory with four focused documentation files covering nitrogen, phosphate, and animal manure usage norms. The parent category configuration was updated to remove a generated-index link reference.

Changes

Cohort / File(s) Summary
Changelog
.changeset/short-hats-poke.md
Added changelog entry documenting minor version bump for @svenvw/fdm-docs package with updates to 2025 Dutch Fertilizer Application Norms documentation and filling calculation details.
Documentation Restructuring
fdm-docs/docs/norms/nl/01-2025.md
Removed legacy documentation file containing 2025 norms overview, nitrogen/phosphate/animal manure calculation steps, and reduction rules.
2025 Norms Category
fdm-docs/docs/norms/nl/2025/_category_.json
Added new category metadata file defining label "2025" with position 1 and generated-index documentation link.
2025 Norms Documentation
fdm-docs/docs/norms/nl/2025/01-index.md, fdm-docs/docs/norms/nl/2025/stikstofgebruiksnorm.md, fdm-docs/docs/norms/nl/2025/fosfaatgebruiksnorm.md, fdm-docs/docs/norms/nl/2025/dierlijke-mest-gebruiksnorm.md
Added structured documentation set explaining FDM Calculator's determination of 2025 usage norms: index provides overview and data requirements; stikstofgebruiksnorm covers nitrogen norm calculation including crop adjustments and reductions; fosfaatgebruiksnorm details phosphate norm based on land type and soil status; dierlijke-mest-gebruiksnorm documents animal manure norm with geographic and derogation rules. All reference corresponding calculator functions and data sources.
Parent Category Configuration
fdm-docs/docs/norms/nl/_category_.json
Removed "link" field (with generated-index type and description) from The Netherlands category, leaving only label and position fields.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Changes are predominantly documentation and configuration updates with no code logic modifications
  • File restructuring follows a consistent, homogeneous pattern (moving content from one file to a structured subdirectory)
  • Review focus should concentrate on content accuracy and completeness of the new documentation files versus the removed file to ensure no information loss

Possibly related PRs

  • SvenVw/fdm#156: Overlapping documentation changes to the same fdm-docs norms files and category configuration.
  • SvenVw/fdm#213: Modifies fdm-docs structure and package version metadata in coordination with the documentation path reorganization.

Suggested labels

fdm-docs

Suggested reviewers

  • gerardhros

Poem

🐰 Documentation hopped and rearranged,
From flat to nested, nicely changed,
Four guides now shine where one did rest,
Norms of nitrogen, phosphate, beasts—
Organized whiskers approve this quest! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title Check ❓ Inconclusive The PR title "FDM284-docs" is a branch or issue reference identifier rather than a descriptive summary of the changes. While it includes "-docs" indicating documentation-related work, it fails to convey what specific documentation changes were made. The actual changeset involves reorganizing and expanding the 2025 Dutch Fertilizer Application Norms documentation by replacing a single file with a new categorized folder structure containing separate documentation for nitrogen, phosphate, and animal manure norms. A teammate scanning the commit history would not understand the purpose or scope of these changes from the title alone. Consider updating the title to be more descriptive of the primary change, such as "Reorganize and expand 2025 Dutch Fertilizer Application Norms documentation" or "Restructure Dutch norms documentation into categorized norm-specific files." This would make the commit history more meaningful and help reviewers quickly understand the nature of the documentation restructuring.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 27, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@codecov
Copy link
Copy Markdown

codecov Bot commented Oct 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.36%. Comparing base (cf89a92) to head (a232478).
⚠️ Report is 7 commits behind head on FDM284.

Additional details and impacted files
@@           Coverage Diff           @@
##           FDM284     #308   +/-   ##
=======================================
  Coverage   93.36%   93.36%           
=======================================
  Files          91       91           
  Lines       15020    15020           
  Branches     1522     1522           
=======================================
  Hits        14023    14023           
  Misses        995      995           
  Partials        2        2           
Flag Coverage Δ
fdm-calculator 95.46% <ø> (ø)
fdm-core 91.75% <ø> (ø)
fdm-data 94.04% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (3)
fdm-docs/docs/norms/nl/2025/01-index.md (1)

28-28: Fix markdown list indentation to comply with project standards.

The markdownlint MD007 rule requires list items to be indented by the configured number of spaces (default: 2). Several nested list items use 4-space indentation instead of 2-space. Apply consistent 2-space indentation:

 ## How the Calculator Works: Required Data
 
 To calculate the norms for a specific field, the FDM Calculator requires the following information for the 2025 calendar year.
 
 *   **Farm Details**:
-    *   **Derogation Status**: Does the farm have a derogation permit for 2025? This is a critical factor for nitrogen and animal manure norms.
+  *   **Derogation Status**: Does the farm have a derogation permit for 2025? This is a critical factor for nitrogen and animal manure norms.
 
 *   **Field & Location**:
-    *   **Field Location**: The precise geographical coordinates of the field are used to determine if it falls within special regulatory zones, such as Nutrient-Polluted Areas (`NV-gebieden`), Groundwater Protection Areas (`GWBG-gebieden`), or specific soil regions (sand, clay, peat, loess).
+  *   **Field Location**: The precise geographical coordinates of the field are used to determine if it falls within special regulatory zones, such as Nutrient-Polluted Areas (`NV-gebieden`), Groundwater Protection Areas (`GWBG-gebieden`), or specific soil regions (sand, clay, peat, loess).
 
 *   **Cultivation Plan for 2025**:
-    *   **Main Crop (`hoofdteelt`)**: The primary crop grown on the field. The calculator identifies the main crop as the one with the longest cultivation period between May 15th and July 15th.
-    *   **Crop Variety**: For certain crops like potatoes and flowers, the specific variety can result in a higher or lower nitrogen norm.
-    *   **Cultivation Dates**: The start and end dates of cultivation are crucial for time-sensitive norms, such as those for temporary grassland.
+  *   **Main Crop (`hoofdteelt`)**: The primary crop grown on the field. The calculator identifies the main crop as the one with the longest cultivation period between May 15th and July 15th.
+  *   **Crop Variety**: For certain crops like potatoes and flowers, the specific variety can result in a higher or lower nitrogen norm.
+  *   **Cultivation Dates**: The start and end dates of cultivation are crucial for time-sensitive norms, such as those for temporary grassland.
 
 *   **Latest Soil Analysis Data**:
-    *   **Phosphate Levels**: The P-CaCl2 (or P-PAE) and P-Al values from your most recent soil test are used to classify the soil's phosphate status, which directly determines the phosphate usage norm.
+  *   **Phosphate Levels**: The P-CaCl2 (or P-PAE) and P-Al values from your most recent soil test are used to classify the soil's phosphate status, which directly determines the phosphate usage norm.

Also applies to: 31-31, 34-34, 35-35, 36-36, 39-39

fdm-docs/docs/norms/nl/2025/fosfaatgebruiksnorm.md (1)

56-56: Standardize markdown list indentation to 2 spaces.

Nested list items should use 2-space indentation per markdownlint defaults. Apply this fix:

 #### Differentiated Percentages for Organic-Rich Fertilizers:
 
 The phosphate in qualifying organic-rich fertilizers counts towards the usage norm according to the following differentiated percentages:
 
 *   **25% of phosphate counts for:**
-    *   GFT-compost
-    *   Groencompost (Green compost)
+  *   GFT-compost
+  *   Groencompost (Green compost)
 
 *   **75% of phosphate counts for:**
-    *   Vaste strorijke mest van rundvee (Straw-rich solid manure from cattle)
-    *   Vaste strorijke mest van varkens (only for organic farms) (Straw-rich solid manure)
-    *   Vaste strorijke mest van schapen (Straw-rich solid manure from sheep)
-    *   Vaste strorijke mest van geiten (Straw-rich solid manure from goats)
-    *   Vaste strorijke mest van paarden (Straw-rich solid manure from horses)
-    *   Champost
+  *   Vaste strorijke mest van rundvee (Straw-rich solid manure from cattle)
+  *   Vaste strorijke mest van varkens (only for organic farms) (Straw-rich solid manure)
+  *   Vaste strorijke mest van schapen (Straw-rich solid manure from sheep)
+  *   Vaste strorijke mest van geiten (Straw-rich solid manure from goats)
+  *   Vaste strorijke mest van paarden (Straw-rich solid manure from horses)
+  *   Champost
 
 *   **100% of phosphate counts for:**
-    *   All other fertilizers, including mineral fertilizers and other organic fertilizers not listed above.
+  *   All other fertilizers, including mineral fertilizers and other organic fertilizers not listed above.

Also applies to: 57-57, 58-58, 61-61, 62-62, 63-63, 64-64, 65-65, 66-66, 69-69

fdm-docs/docs/norms/nl/2025/dierlijke-mest-gebruiksnorm.md (1)

57-57: Apply consistent 2-space indentation to nested list items.

Nested list items use 4-space indentation instead of the project standard 2-space. Apply this fix:

 #### Forfaitair Nitrogen Content (`Forfaitaire Stikstofgehalten`):
 
 The forfaitair nitrogen content per ton of manure is determined by the animal species, category, and manure type, as specified in RVO Tabel 11. This table provides standard values for various manure codes (`mestcodes`).
 
 **Example from RVO Tabel 11**:
 
 | Diersoort (Animal Species) | Omschrijving (Description) | Mestcode | Kg stikstof per ton | Kg fosfaat per ton |
 | :------------------------ | :------------------------- | :------- | :------------------ | :----------------- |
 | Rundvee (Cattle)          | Vaste mest (Solid manure)  | 10       | 6.4                 | 3.2                |
 | Rundvee                   | Drijfmest (Slurry)         | 17       | 4.0                 | 1.3                |
 | Varkens (Pigs)            | Drijfmest vleesvarkens     | 46       | 6.4                 | 2.4                |
 | Kippen (Chickens)         | Mestband (Belt manure)     | 32       | 26.0                | 3.8                |
 
 ### How the FDM Calculator Determines the Filling
 
 The `fdm-calculator` uses the `calculateAnimalManureFilling` function in `fdm-calculator/src/norms/nl/2025/filling/dierlijke-mest-gebruiksnorm.ts`. This function relies on:
 
-*   The applied amount of animal manure.
-*   The manure code (`mestcode`) of the applied manure.
-*   The forfaitair nitrogen values from `fdm-calculator/src/norms/nl/2025/filling/table-11-mestcodes.ts`, which implements RVO Tabel 11.
+*   The applied amount of animal manure.
+*   The manure code (`mestcode`) of the applied manure.
+*   The forfaitair nitrogen values from `fdm-calculator/src/norms/nl/2025/filling/table-11-mestcodes.ts`, which implements RVO Tabel 11.

Also applies to: 58-58, 61-61, 62-62, 63-63, 64-64, 65-65, 66-66, 69-69

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cf89a92 and 6ee8422.

📒 Files selected for processing (8)
  • .changeset/short-hats-poke.md (1 hunks)
  • fdm-docs/docs/norms/nl/01-2025.md (0 hunks)
  • fdm-docs/docs/norms/nl/2025/01-index.md (1 hunks)
  • fdm-docs/docs/norms/nl/2025/_category_.json (1 hunks)
  • fdm-docs/docs/norms/nl/2025/dierlijke-mest-gebruiksnorm.md (1 hunks)
  • fdm-docs/docs/norms/nl/2025/fosfaatgebruiksnorm.md (1 hunks)
  • fdm-docs/docs/norms/nl/2025/stikstofgebruiksnorm.md (1 hunks)
  • fdm-docs/docs/norms/nl/_category_.json (1 hunks)
💤 Files with no reviewable changes (1)
  • fdm-docs/docs/norms/nl/01-2025.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-21T12:06:07.070Z
Learnt from: SvenVw
PR: SvenVw/fdm#156
File: fdm-calculator/src/norms/nl/2025/stikstofgebruiksnorm.ts:295-303
Timestamp: 2025-07-21T12:06:07.070Z
Learning: Functions in the fdm-calculator with "NL2025" in their names are specifically designed for Netherlands 2025 agricultural norms calculation and hardcoded 2025 dates are appropriate in this context, as different years would have separate calculation modules.

Applied to files:

  • fdm-docs/docs/norms/nl/2025/stikstofgebruiksnorm.md
  • fdm-docs/docs/norms/nl/2025/01-index.md
  • fdm-docs/docs/norms/nl/2025/dierlijke-mest-gebruiksnorm.md
🪛 LanguageTool
fdm-docs/docs/norms/nl/2025/stikstofgebruiksnorm.md

[grammar] ~24-~24: Ensure spelling is correct
Context: ...oked up in the official RVO Table 2 (or Tabel 2g for NV-gebieden). 4. **Apply Specif...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

fdm-docs/docs/norms/nl/2025/dierlijke-mest-gebruiksnorm.md

[grammar] ~55-~55: Ensure spelling is correct
Context: ...odes (mestcodes). Example from RVO Tabel 11: | Diersoort (Animal Species) | O...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~72-~72: Ensure spelling is correct
Context: ... known, it will be used; otherwise, the forfaitair content is applied.

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
fdm-docs/docs/norms/nl/2025/01-index.md

28-28: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


31-31: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


34-34: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


35-35: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


36-36: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


39-39: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

fdm-docs/docs/norms/nl/2025/dierlijke-mest-gebruiksnorm.md

57-57: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


58-58: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


61-61: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


62-62: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


63-63: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


64-64: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


65-65: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


66-66: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


69-69: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

🔇 Additional comments (4)
fdm-docs/docs/norms/nl/2025/_category_.json (1)

1-8: Well-structured category configuration.

The new category file correctly establishes the 2025 documentation hierarchy with an appropriate generated-index link. This aligns well with the removal of the link from the parent category.

.changeset/short-hats-poke.md (1)

1-5: Properly formatted changelog entry.

The minor version bump and description accurately reflect the documentation updates for 2025 Dutch Fertilizer Application Norms.

fdm-docs/docs/norms/nl/_category_.json (1)

1-4: Appropriate category restructuring.

Removing the link from the parent category aligns with establishing a proper hierarchy where the 2025 subdirectory provides its own generated-index link. This improves navigation organization.

fdm-docs/docs/norms/nl/2025/stikstofgebruiksnorm.md (1)

1-107: Comprehensive and well-structured nitrogen norms documentation.

The documentation clearly explains the 2025 nitrogen usage norm calculation, catch/winter crop rules, and filling logic with appropriate references to RVO tables and efficiency coefficients. Based on learnings, NL2025-specific functions with hardcoded dates are appropriate for this year-specific calculation module.

@SvenVw SvenVw merged commit 1858657 into FDM284 Oct 28, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant