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

Freegle / Iznik / 27741
76%

Build:
DEFAULT BRANCH: master
Ran 18 Jul 2026 02:59PM UTC
Jobs 4
Files 1422
Run time 2min
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

18 Jul 2026 02:37PM UTC coverage: 72.405% (-0.02%) from 72.42%
27741

push

circleci

edwh
feat(monitor-fsm): ground diagnoses in prod DB + Loki before theorising

Wrong-diagnosis post-mortems (#1103 language-detect, #1104 blank admin
mail, earlier #581/582/585) shared one structural cause: DIAGNOSE_BUG's
entire evidence base was search_code plus a test written FROM its own
hypothesis - confirmatory, not falsifying - so when the real cause lived
in production data or runtime behaviour the FSM shipped the most
plausible code-visible story and argued it well.

New read-only grounding actions (src/grounding.ts, unit-tested):
- query_live_db: single SELECT/SHOW over the live tunnel using a
  dedicated iznik_ro grant (SELECT, SHOW VIEW on iznik.* only); guarded
  in code too (statement allowlist, single statement, LIMIT cap), creds
  from .env, graceful {available:false} when the tunnel is down.
- query_loki: LogQL against PROD Loki via the tunnel (WSL gateway:3102 /
  LOKI_PROD_URL), documented with the real prod label scheme; local dev
  Loki fallback is labelled local-dev and never counts as prod evidence.

Workflow changes:
- DIAGNOSE_BUG gather phase may add grounding queries; the diagnose
  phase gets GROUND & FALSIFY: grounded data outranks source inference,
  a falsification check is recorded in the brief (groundingStatus +
  falsificationCheck fields), and an ungrounded data-dependent diagnosis
  must defer to a human rather than become a PR.
- FIX_SENTRY_ISSUE: a stack trace says WHERE it crashed; the DB/logs say
  WHY - ground before delegating, quote the evidence in the task, and
  say so in the PR body when tunnels were down.

Also folds in the pending Discourse auth switch (Api-Key header alone,
replacing User-Api-Key + Api-Username) across loop.md, postDiscourseReply
and the scan scripts.

Verified live: query_live_db returned hertford_freegle via the tunnel
with the new grant; query_loki returned prod api_headers streams; write
statements rejected; 275/275 monitor-fsm tests pass; tsc clean.

Co-Authored-By: Claude Opus 4.8 (1M co... (continued)

13214 of 17411 branches covered (75.89%)

Branch coverage included in aggregate %.

138101 of 191572 relevant lines covered (72.09%)

37.79 hits per line

Coverage Regressions

Lines Coverage ∆ File
371
86.44
-1.34% iznik-server-go/message/message.go
130
62.87
1.48% iznik-nuxt3/components/PostMap.vue
47
77.61
0.04% iznik-nuxt3/components/PostMapAndList.vue
29
88.03
-8.32% iznik-server-go/message/search.go
27
92.76
0.0% iznik-server-go/isochrone/message.go
6
96.34
0.0% iznik-server-go/message/vectorsearch.go
1
95.0
-0.56% iznik-batch/app/Services/AutoRepostService.php
1
89.79
0.09% iznik-server-go/embedding/store.go
Jobs
ID Job ID Ran Files Coverage
27741 vitest - 27741 18 Jul 2026 02:59PM UTC 764
70.55
CircleCI Job 27741
27741 playwright - 27741 18 Jul 2026 02:59PM UTC 75
22.08
CircleCI Job 27741
27741 go - 27741 18 Jul 2026 02:59PM UTC 158
83.35
CircleCI Job 27741
27741 laravel - 27741 18 Jul 2026 02:59PM UTC 499
69.25
CircleCI Job 27741
Source Files on build 27741
  • Tree
  • List 1422
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #27741
  • 9729eb00 on github
  • Prev Build on master (#27696)
  • Next Build on master (#27762)
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