Skip to content

feat(farm_pack_demo): geo fixtures — fields, observations, fences, water#9

Open
dnplkndll wants to merge 1 commit into
19.0from
feat/farm-pack-demo-geo
Open

feat(farm_pack_demo): geo fixtures — fields, observations, fences, water#9
dnplkndll wants to merge 1 commit into
19.0from
feat/farm-pack-demo-geo

Conversation

@dnplkndll

Copy link
Copy Markdown
Contributor

Summary

Adds geo demo data so a fresh install of farm_pack_demo opens with polygons on the map, observations grouped by urgency, fences color-coded by condition, and water sources pinned to the right fields. Everything anchors to Ligonier PA (40.2421°N, 79.2389°W) where the existing demo partners already live.

Files added

  • demo/farm_field_geo_demo.xml — 4 polygons (North 40 corn, South Pasture alfalfa, East Garden veg, Berry Hill strawberry) split across partner_demo_alice + partner_demo_bob
  • demo/farm_observation_demo.xml — 6 observations mixing pest/disease/water/photo/soil/weed types and full urgency spread (low/med/high)
  • demo/farm_water_source_demo.xml — farmhouse well + frost-free pasture trough/hydrant, with field_ids linking to relevant fields
  • demo/farm_fence_demo.xml — high-tensile perimeter, polywire paddock divider, woven-wire deer fence (one in each condition tier)
  • tests/test_geo_demo_data.py — 7 smoke tests covering XML parse, xmlid resolution, acreage compute, urgency spread, and length compute

Test coverage

Test Asserts
test_four_demo_fields_exist All four named fields present after demo install
test_north_40_acreage_in_range Albers-derived acreage lands in 20–60 ac band
test_south_pasture_smaller_than_north_40 Relative polygon sizes preserved
test_east_garden_smallest_field East Garden < every other field
test_six_observations_loaded All 6 observations + every urgency tier present
test_water_sources_serve_demo_fields Farmhouse well has 2 field_ids
test_three_fences_with_distinct_conditions One fence per {good, fair, repair}; length_feet > 0 for all

Depends on

Best to merge after #8 (Farm Pack umbrella now lists the SMB-tier + geo modules) so installing farm_pack_demo actually pulls in the geo schema it references. Not strictly blocking — farm_pack_demo depends on farm_pack already, the umbrella fix just makes the whole stack install in one shot.

Test plan

  • Pre-commit clean
  • Local doodba install: invoke install -m farm_pack_demo succeeds
  • Fields → Map view shows 4 colored polygons
  • Observations kanban grouped by urgency shows entries in all three columns
  • All 7 unit tests pass

…ces, 3 fences

Showcases the v1 geo slice on a fresh demo install. All polygons +
points anchor to Ligonier PA (40.2421N, 79.2389W) where the other
demo partners + the rest of farm_pack_demo already live.

Layout:
- North 40 (~40 ac corn) and South Pasture (~25 ac alfalfa) on Alice's
  place
- East Garden (~2 ac mixed veg) and Berry Hill (~5 ac strawberry) on
  Bob's place
- Observations: pest/disease/water/photo/soil/weed types, urgency
  spread across low/med/high so the kanban grouped-by-urgency view
  has color in every column
- Water sources: farmhouse well serving both Alice fields, frost-free
  hydrant + trough on the south pasture
- Fences: high-tensile farm perimeter, polywire paddock divider,
  woven-wire deer fence around the East Garden (one in each
  condition tier)

Tests cover XML parse correctness, xmlid resolution, the acreage
compute on the polygons, and presence of every urgency/condition tier
so the demo always exercises the full UI palette.
@dnplkndll dnplkndll closed this May 19, 2026
@dnplkndll dnplkndll reopened this May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant