DEV Community

COMMENTERTHE9
COMMENTERTHE9

Posted on • Originally published at cx-lang.com

Cx Dev Log — 2026-06-20

Six weeks without new code might sound like development downtime, but in reality, the Cx project's roadmap had a few cobwebs that needed addressing. Imagine working with an ever-evolving roadmap, only to find out that confirmed work wasn't synchronized with the larger picture. That's exactly what happened with Cx — a six-week lag in roadmap updates was finally reconciled, albeit with no new commits landing.

Roadmap reconciliation

The drift in the roadmap file dates back to May 18, with a slew of confirmed work on submain going MIA from the living document. The gap? Closed today. Essential updates were added, marking the completion of the when block lowering trilogy in Phase 11. While these were previously committed on submain, they hadn't made it to the roadmap:

  • D1.2a: Unified statement/expression handling
  • D2.1: If-expression merging via shared branch-value blocks
  • D2.2: Implemented tag-only enum construct and match using variant_id

Other significant updates include post-release hardening details with the CR#1-4 fixes series, which tighten up range checks. Furthermore, the Gate-1a through 2b JIT safety checks were documented, addressing potential arithmetic vulnerabilities—highlighting the period from June 6 to June 15.

Parity numbers reflected this hidden progress, adjusting from a stale state to current figures: 205/81/0 out of 286 fixtures, with the frontend matrix ticking up from 182 to 230. What does this signify? Real strides in development, previously invisible in the roadmap.

The submain gap continues

Submain is racing ahead, 16 commits beyond the main, devoid of any regressions. Since the last merge on June 5, the gap widened — 15 days of clean contributions still waiting to be merged. This backlog comprises the entirety of the range-check series, all arithmetic safety gates, and the aforementioned when block trilogy, all yet to reach the main.

The merge appears risk-free on paper; yet, it remains in the queue, stuck in development limbo — the ongoing saga of this development log.

The daily-log PR backlog

PRs remain unresolved from June 13 through June 20, continuing the trend of pending merges. Much like the main/submain situation, a backlog of clean and handy PRs waits, grounded in non-technical bottlenecks.

Predictions vs. reality

Anticipations for June 19: DotAccess in compound forms, a submain merge, unknown-value lowering, and clearing the daily-log PR backlog. Result? None materialized. Notably, DotAccess, the remaining to-do for Phase 11, hasn't been initiated despite repeated predictions. This marks it as a likely candidate for priority when development resumes in full swing.

What's next

Priorities steadfastly persist:

  1. DotAccess in compound forms: The solitary piece to complete Phase 11. Clearly marked as the starting point when work kicks back into active gear.
  2. Submain merging to main: Sixteen commits, zero regressions — straightforward.
  3. Unknown-value lowering (D2.x): Marked as a blocker in D2.2's commit notes, critical for test fixtures like t47_edge_mix.
  4. Phase 8 Round 2: Incorporates str/strref layout updates, Handle adjustments, and TBool calling conventions, anticipated post-Phase 11.

Today may have been about documentation cleanup, replacing development with roadmap accuracy. Significant groundwork sits on submain, queued to bring more substantial updates when they inevitably land.


Follow the Cx language project:

Originally published at https://cx-lang.com/blog/2026-06-20

Top comments (0)