• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

akvo / akvo-mis / #1297
91%

Build:
DEFAULT BRANCH: main
Ran 25 Sep 2026 11:00AM UTC
Jobs 1
Files 140
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Sep 2026 10:48AM UTC coverage: 90.224% (-0.02%) from 90.242%
#1297

push

coveralls-python

web-flow
Epic/geoshape capture validation (#471)

* [#383] [GEO-005] Correct a status that read "Draft" long after it shipped

`geometry_answers`, `bounding_box` and `geometry_by_data_id` have been in
`v1_mobile/geometry.py` since #405, with 25 tests in
`tests_mobile_datapoint_geometry.py` — and the header still said Draft.

Found by cross-checking each GEO document's header against the code rather
than against the other documents. Worth repeating as a method: a "Draft"
that is really delivered is the one kind of staleness no reader questions,
because it understates rather than overstates and so never contradicts
anything they see.

Four acceptance criteria ticked. Two stay unticked on purpose and now say
why: building GEO-006's index from this payload belongs to GEO-006, which is
unbuilt, and the per-polygon accuracy summary specified by GEO-014 D-10 is
not yet served.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* [#455] [GEO-006, GEO-007] Offline polygon overlap detection (#458)

* [#455] [GEO-006, GEO-007] Offline polygon overlap detection

An enumerator now learns on the plot, with the radio off, that the boundary
they just walked overlaps one already registered. The same overlap found at
a desk costs a return visit; found here it costs two minutes and a redraw.

`geometry_index` (GEO-006) is one row per geoshape answer, carrying a
bounding box and a per-polygon accuracy summary. GEO-007 range-queries it
for candidates, then measures only the handful that survive.

Four decisions worth stating, because each rules out something that looks
cheaper until you follow it through.

No backfill. Parsing every stored datapoint on app start is a blocking
migration of unbounded duration on the one launch a user is least tolerant
of. Existing installs upgrade by sync then reset. That opens a window where
the index is empty while `datapoints` is full, so `config.geometryIndexReady`
gates GEO-007 off until a full sync sets it — an empty index mu... (continued)

7920 of 9008 branches covered (87.92%)

Branch coverage included in aggregate %.

14627 of 15982 relevant lines covered (91.52%)

0.92 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
90.57
-9.43% api/v1/v1_mobile/geometry.py
2
94.69
-0.48% utils/custom_generator.py
1
98.75
-0.42% api/v1/v1_profile/models.py
Jobs
ID Job ID Ran Files Coverage
1 #1297.1 25 Sep 2026 11:00AM UTC 140
90.22
Source Files on build #1297
  • Tree
  • List 140
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • a17688b6 on github
  • Prev Build on main
  • Next Build on main
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc