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

code-shoily / choreo / a3215885aaa29ebcff80c8c347e7247b05d33779
88%

Build:
DEFAULT BRANCH: main
Ran 08 Jun 2026 11:41PM UTC
Jobs 1
Files 65
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 11:41PM UTC coverage: 87.9% (-0.02%) from 87.917%
a3215885aaa29ebcff80c8c347e7247b05d33779

push

github

web-flow
Hardening phase 2 (#3)

* refactor: Align Choreo and Choreo.Infrastructure data models, unify rendering

This commit addresses the architectural drift between top-level Choreo and
Choreo.Infrastructure identified in code review.

Key changes:

- Standardize node data keys across both modules:
  - :type → :node_type (aligns with C4, Planner, Workflow, etc.)
  - :name → :label (display name convention)

- Extend top-level Choreo with cloud primitives:
  - New node builders: add_internet/3, add_compute/3, add_managed_db/3
  - New cluster builders: add_vpc/3, add_subnet_public/3, add_subnet_private/3
  - Typed clusters carry :cluster_type metadata for theme-aware rendering

- Make Choreo.Infrastructure a thin vocabulary wrapper:
  - Delegates rendering to Choreo.Render.DOT and Choreo.Render.Mermaid
  - Deleted parallel renderers (Infrastructure.Render.DOT/.Mermaid)
  - Fixes the embed/4 interoperability bug where embedded infra nodes
    rendered as generic shapes

- Move cluster-type styling into shared Choreo.Render.DOT:
  - VPC (dashed), public subnet (green), private subnet (red) defaults
  - Dark-theme variants supported

- Fix Infrastructure.Analysis:
  - Renamed warnings/1 → validate/1 (returns [{severity, msg}])
  - Severity distinguishes :error (critical) from :warning
  - Added storage-public-subnet and unassigned-compute checks

- Fix zoom predicates to include databases at tier 1

- Fix DOT renderer highlight logic for nodes and edges

- Update README/guides to clarify Choreo vs Infrastructure usage

* Apply Planner review fixes (hardening-phase-2)

- Fix @spec return types on Analysis functions (Yog.node_id() not Planner.t())
- Fix Quick Start example ready/1 status (:impl now :backlog)
- Fix zoom_predicate arity to 2-arity (id, data) consistently across all modules
- Fix new/1 to accept keyword opts while keeping backward compat
- Add parents/2 and assignees/2; make parent/2 and assignee/2 convenience wrappers
- Fix relates/3 to raise Argume... (continued)

5136 of 5843 relevant lines covered (87.9%)

20.58 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
92.65
-0.74% lib/choreo/internal.ex
Jobs
ID Job ID Ran Files Coverage
1 a3215885aaa29ebcff80c8c347e7247b05d33779.1 08 Jun 2026 11:41PM UTC 65
87.9
GitHub Action Run
Source Files on build a3215885aaa29ebcff80c8c347e7247b05d33779
  • Tree
  • List 65
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • a3215885 on github
  • Prev Build on main (#1B2CFDFE...)
  • Next Build on main (#6BAA3D90...)
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