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

TTRPG-Dev / ex_ttrpg_dev / a26ce2c100bd18bbe75b327deb8b3f676017e3c9-PR-116
86%
main: 87%

Build:
Build:
LAST BUILD BRANCH: qmalcolm--feat-harden-config-error-messages
DEFAULT BRANCH: main
Ran 06 May 2026 03:47AM 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 03:45AM UTC coverage: 86.254% (+0.2%) from 86.064%
a26ce2c100bd18bbe75b327deb8b3f676017e3c9-PR-116

Pull #116

github

QMalcolm
feat(loader): warn on unknown concept metadata keys at load time

Previously, typos or undeclared keys in concept TOML silently had no
effect — the library ignored them without any feedback. This made it
easy to author broken config that appeared correct.

Now, `load/1` calls `warn_unknown_metadata_keys/3` after building the
concept_metadata map. Any key not in the allowed set emits a
Logger.warning grouped by {key, type_id} to avoid one warning per
concept. The warning names the system slug and lists the affected
concept IDs (first 5, then "+ N more").

Allowed keys are the union of four sources:
1. The structural vocabulary (@structural_metadata_keys) — the 18 keys
   the library reads by name from concept metadata.
2. metadata_contributions from_field and label_filters.filter_field
   values, which the loader expands into effects at load time.
3. inventory_rules dynamic keys (mode_field, pool_field,
   always_prepared_metadata_key, class_filter_field) — read by the
   evaluator at runtime from the InventoryRules config.
4. custom_metadata_keys declared in module.toml — the escape hatch for
   system authors who use domain-specific metadata keys that the
   library never reads (e.g. display metadata like "school",
   "casting_time", "description").

The dnd_5e_srd custom_metadata_keys list was built empirically by
running the integration test and iterating until zero warnings
remained, rather than enumerating by hand.

Warnings rather than errors to allow a smooth rollout. A future
breaking release can elevate these to errors once authors have had time
to migrate.
Pull Request #116: feat: warn on unknown concept metadata keys at load time

26 of 27 new or added lines in 1 file covered. (96.3%)

1255 of 1455 relevant lines covered (86.25%)

10312.39 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.36
-0.02% apps/ex_ttrpg_dev/lib/rule_system/loader.ex
Jobs
ID Job ID Ran Files Coverage
1 a26ce2c100bd18bbe75b327deb8b3f676017e3c9-PR-116.1 06 May 2026 03:47AM UTC 19
86.25
GitHub Action Run
Source Files on build a26ce2c100bd18bbe75b327deb8b3f676017e3c9-PR-116
  • Tree
  • List 19
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #116
  • PR Base - main (#1C3B209C...)
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