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

TTRPG-Dev / ex_ttrpg_dev / d8450436f7868d2000259166d7c6625aa8e8c654-PR-117
87%
main: 87%

Build:
Build:
LAST BUILD BRANCH: qmalcolm--feat-harden-config-error-messages
DEFAULT BRANCH: main
Ran 06 May 2026 02:53PM UTC
Jobs 1
Files 19
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

06 May 2026 02:51PM UTC coverage: 86.662% (+0.4%) from 86.254%
d8450436f7868d2000259166d7c6625aa8e8c654-PR-117

Pull #117

github

QMalcolm
feat(rule_module): error on missing required fields in concept_type and metadata_contribution

A [[concept_type]] entry without an id, or a [[metadata_contributions]]
entry without from_type/from_field/to_type/to_field/value, previously
produced a struct with nil fields that silently misbehaved: a nil id
would be included in the concept_type_ids MapSet, and a nil from_type
would cause the contribution to match no concepts and generate no
effects, with no indication of the problem.

from_map/1 now validates both lists before building the struct:
- validate_concept_types/1: {:error, {:concept_type_missing_id, idx}}
  if any entry lacks an id field.
- validate_metadata_contributions/1: {:error,
  {:metadata_contribution_missing_field, field, idx}} if any entry is
  missing one of the five required fields.

These return {:error, ...} from from_map/1 (and therefore from
Loader.load/1) rather than Logger.warning, because a metadata_contribution
with a nil from_type or a concept_type with a nil id cannot be recovered
from at runtime — the data is structurally invalid.

Restructured from_map/1 to use a top-level with/else rather than
if/else + nested with, eliminating a Credo nesting violation. Extracted
check_metadata_contribution_fields/1 to flatten the validate function
for the same reason.
Pull Request #117: feat: harden config error messages in loading paths

26 of 26 new or added lines in 2 files covered. (100.0%)

1280 of 1477 relevant lines covered (86.66%)

10421.03 hits per line

Jobs
ID Job ID Ran Files Coverage
1 d8450436f7868d2000259166d7c6625aa8e8c654-PR-117.1 06 May 2026 02:53PM UTC 19
86.66
GitHub Action Run
Source Files on build d8450436f7868d2000259166d7c6625aa8e8c654-PR-117
  • Tree
  • List 19
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #117
  • PR Base - main (#DD21271A...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc