Repository navigation
data: adopt the owner catalogue (Flaha Agri Tech Analysis Ver 0.0) - #207
Merged
Merged
Conversation
tests/fixtures/catalogue-pre-owner-33c5df2.json is the byte copy of src/flahax/data/library.json at 33c5df2. tests/catalogue_history.py provides historical_catalogue(), which makes the package load it (engine, every module that imported load_library by name, and the benchmark report's formula_names reader), and historical_library(). Tests written against the pre-owner formulas and products are wrapped; tests that meet a gate scheduled for removal carry "# Owner catalogue: re-enable in PR <n> (G<k>)"; catalogue-content assertions are updated to the owner library.json values. No assertion is removed or loosened.
…wner catalogue - HNO3 joins the ion tables as a fully dissociated strong acid with an implicit proton, as H3PO4 is (N1); focused test added. - Micro Combi Mix 1 and 2 get owner-declared identity records (status declared_blend: EDTA chelates with the catalogue's Na counter-ions, sodium molybdate, boric acid; mol/kg from the library analysis), linked by identityId; declared blends resolve as disclosed blends without the assumed_composition flag (N2). - NOTICE credits Flaha Agri Tech Analysis Ver 0.0 (N3). - Public contract subprocess runs expect the owner-accepted "requires review" exit 0 with the K -100 % shortfall (N4). - Identity coverage is checked against shipped and frozen catalogues; retired records stay (N5). Identities pin updated. - The three every-product chemistry tests now fail on owner data only at the KNO3 label gate: wrapped and marked G5. - test_owner_catalogue formatted for ruff (same assertions and values). - historical_catalogue patches with its own function so restoring never rebinds a module's historical_library import.
Micro Combi Mix 2 declares B as boric acid, B(OH)3 without B(OH)4-; its profile now names 'boric acid' among its components (family edta_boric_acid_molybdate_blend), as CH-micro's profile names borax.
State the packaged catalogue (13 formulas; 29 products, 24 fertilizers and 5 pH products; owner-supplied, not independent laboratory verification) in README, the user guide and the site; rewrite examples that named removed formulas or products (USER_GUIDE example 6 now uses Pepper (Howard Resh); mixed_chemistry drops CH - micro); describe the packaged acids in the batch help, catalogue_ph_reagents and regenerated references. Changelog entry and docs/releases/0.7.0.md. Owner-data test: recommend never selects a pH reagent for any owner formula. Examples that now stop only on the KNO3 label gate carry the PR 4 (G5) marker.
…e owner catalogue USER_GUIDE example 4, the docs/site verification example and the verify_distribution smoke used Potassium Nitrate, which stops at the KNO3 label gate on the owner catalogue. They now dose Potassium Sulfate with target K 13.9 mg/L, the K the doses supply (engine.forward on the owner assays: 13.901). The manual and site example tests run on owner data again.
Documentation build overview
15 files changed ·
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #207 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 112 112
Lines 13088 13092 +4
Branches 2604 2605 +1
=========================================
+ Hits 13088 13092 +4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
rafatahmed
marked this pull request as ready for review
October 30, 2026 14:15
This was referenced Nov 7, 2026
rafatahmed
added a commit
that referenced
this pull request
Nov 7, 2026
data: adopt the owner catalogue (Flaha Agri Tech Analysis Ver 0.0)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #206
Closes #208
The packaged catalogue becomes the owner's Flaha Agri Tech Analysis Ver 0.0: 24 fertilizers, 5 pH products and 13 crop formulas (owner-supplied, not independent laboratory verification).
Changes
src/flahax/data/library.jsonis the owner catalogue (merged from the owner's local work; main's other changes kept). The only later edit addsidentityIdlinks for Micro Combi Mix 1 and 2.declared_blendidentities from the owner-declared forms (owner, 2026-10-30): Fe, Cu, Mn and Zn as EDTA chelates, Mo as sodium molybdate, B as boric acid. Their sodium counter-ions follow the catalogue's own chelate products, and the amounts in mol/kg come from the owner element percentages.tests/fixtures/catalogue-pre-owner-33c5df2.jsonviatests/catalogue_history.py).# Owner catalogue: re-enable in PR <n> (G<k>).docs/releases/0.7.0.md.tools/verify_distribution.pydose potassium sulfate (K target 13.9 mg/L).Known follow-ups
Verification
.venvfile headers, untrackedphreeqc.loginventory drift).tools/verify_distribution.py: passed locally against the owner catalogue.sphinxcontrib.mermaidis missing) and the coverage gate. CI runs both.