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

code-shoily / choreo / 5545fd7e135e5b0bab4f89f4478f58065e3898ef
88%

Build:
DEFAULT BRANCH: main
Ran 08 Jun 2026 04:27AM UTC
Jobs 1
Files 67
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

08 Jun 2026 04:26AM UTC coverage: 89.139% (+0.03%) from 89.108%
5545fd7e135e5b0bab4f89f4478f58065e3898ef

push

github

code-shoily
refactor(fsm): module checkup — fix bugs, add remove_state/2, extract themes

Fixes:
- fix stale variable in add_state/3 type: :normal — use acc instead of
  captured fsm for the final_states MapSet.delete, preventing silent data
  loss when the initial-state and final-state mutations are chained
- flip negated if condition in remove_state/2 to satisfy Credo

New API:
- add remove_state/2 to fully remove a state and all its incident
  transitions, updating initial_state and final_states metadata

Refactoring:
- extract shared FSM theme definitions into Choreo.FSM.Themes, removing
  ~190 lines of copy-pasted theme structs from the DOT and Mermaid
  renderers and establishing a single source of truth
- add Enum.reverse/1 to validate/1 so issues are returned in the same
  order as the checks that produce them (was reversed due to prepend acc)
- add Enum.uniq/1 to next_queue in do_accepted_strings to prune
  identical {state, path} BFS entries early, reducing redundant work on
  cyclic FSMs

Tests:
- add positive test for nondeterministic_states/1 by injecting a
  duplicate-label edge directly into the graph struct
- add five tests for remove_state/2 covering: state removal, transition
  cleanup, initial-state clearing, final-state demotion, and no-op on
  a non-existent state

32 of 35 new or added lines in 5 files covered. (91.43%)

5113 of 5736 relevant lines covered (89.14%)

19.46 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
85.71
lib/choreo/fsm/themes.ex
1
89.25
-0.18% lib/choreo/fsm/render/mermaid.ex
Jobs
ID Job ID Ran Files Coverage
1 5545fd7e135e5b0bab4f89f4478f58065e3898ef.1 08 Jun 2026 04:27AM UTC 67
89.14
GitHub Action Run
Source Files on build 5545fd7e135e5b0bab4f89f4478f58065e3898ef
  • Tree
  • List 67
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 5545fd7e on github
  • Prev Build on main (#CD2065F8...)
  • Next Build on main (#7214A906...)
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