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

Rotorsoft / act-root / 33273395274
100%

Build:
DEFAULT BRANCH: master
Ran 29 Aug 2026 08:26PM UTC
Jobs 1
Files 116
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

29 Aug 2026 08:24PM UTC coverage: 100.0%. Remained the same
33273395274

push

github

web-flow
fix(act): key the dynamic-lane reports on the declaration, not the target (#1587)

`report_once` exists so one misdeclaration costs one log line, but two of
its three callers built the key from the resolved target. The documented
per-aggregate shape mints one target per aggregate, so the dedup never
engaged across them: a single typo'd lane, or a single pair of resolvers
disagreeing, produced one identical report per aggregate. Twenty-five
aggregates, twenty-five lines — unbounded exactly where an operator can
least afford it.

Both correlate reporters now take the reaction's handler name and key on
it plus the lane(s) involved. The target moves into the message as a
concrete example, which is what it was always doing there anyway.

The lane conflict keeps its kept/dropped orientation in the key rather
than collapsing the pair into one canonical entry. Which side wins is
"first discovered", so the same pair can land either way on different
targets, and those are two different facts about one misdeclaration — an
operator shown only one of them would read the outcome as deterministic.
The count stays bounded by the declarations either way. The winning
handler is also not available at the report site: a lane carried over
from an earlier scan, or seeded by a static subscribe, has no handler
recorded against it.

`warn_misrouted` in drain keeps its key. It reads like the same shape,
but its `stream` is only ever a key of `batch_handlers` — the
projections' static targets, one per declaration and bounded by the
build, never one per aggregate. It already followed the rule; the rule
is now written down in `report-once`'s module doc, which previously
claimed per-declaration keying for all three without saying what made a
key per-declaration.

Severity is unchanged: these never self-heal, so they stay at `error`.

Closes #1584

Co-authored-by: rotorsoft <rotorsoft@outlook.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

4294 of 4294 branches covered (100.0%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

9275 of 9275 relevant lines covered (100.0%)

1173.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33273395274.1 29 Aug 2026 08:26PM UTC 116
100.0
GitHub Action Run
Source Files on build 33273395274
  • Tree
  • List 116
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #33273395274
  • c2a3b6f3 on github
  • Prev Build on master (#33106512168)
  • Next Build on master (#33273496848)
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