DEV Community

COMMENTERTHE9
COMMENTERTHE9

Posted on • Originally published at cx-lang.com

Cx Dev Log — 2026-04-23

No code landed today. That makes five consecutive days without a developer-authored commit on any branch. The test matrix on main sits at 78/78, unchanged. The working tree is clean. On the surface, the project looks stalled. But the real story is about the gap between where the work actually is and where it is visible.

The submain integration gap

The submain branch is carrying 15 unmerged commits. The last human commit there, eb65acf, is a parser/semantic/interpreter audit (Part 1) plus a parser body-gap fix, now 10 days old. That branch contains real feature work that would move the project forward significantly if merged:

  • Result error model with Ok, Err, and the ? operator
  • Integer overflow enforcement
  • Semicolons made optional
  • A diagnostics pass
  • Parser audit Part 1
  • Phase 10 control flow lowering (while, for, loop/break/continue)
  • A basic test runner

Several of these directly satisfy hard blockers on the roadmap. On main, those roadmap items remain unchecked because the code hasn't been merged. As of the 2026-04-18 log, uncommitted audit Part 2 work in a submain working tree context had reportedly pushed the test matrix to 116/116, with a recursive type parser refactor, struct field type resolution, a 64 MB interpreter thread stack increase, struct field truncation fixes, 6 new matrix tests, and 8 new example programs. Whether that uncommitted work still exists is unknown from the main checkout.

This is the single highest-leverage bottleneck right now. One merge would jump the matrix from 78 to potentially 116+ tests, check off multiple hard blockers, and unblock the final audit and 0.1 gate work.

Branch clutter

Twenty-two daily-log branches (2026-03-29 through 2026-04-22) sit on the remote without being merged to main. The last daily log that actually reached main was 2026-03-31. It is operational noise, but it keeps growing by one branch per day.

Roadmap state

The roadmap on main is at v4.8 (docs/frontend/ROADMAP.md). The unchecked hard blockers include: basic test runner, minimal error model, integer overflow enforcement, consistent semicolon rules, parser/semantic/interpreter agreement, no soundness holes in the memory boundary model, all examples passing, readable diagnostics, and roadmap/spec alignment with actual behavior. Submain has commits that would partially or fully satisfy at least five of those items.

There is also a version discrepancy: submain carries roadmap v4.7 while main has v4.8. That will need reconciliation during or after the merge.

What's next

The same five items predicted across the last five logs, none of which happened today:

  1. Commit the audit Part 2 sprint on submain
  2. Merge submain into main
  3. Update the roadmap post-merge
  4. Broader audit Part 2 coverage
  5. IR lowering for Result

The merge remains the critical path item. Until it happens, main stays frozen and the roadmap stays blocked. If the uncommitted audit Part 2 work exists in a local working tree somewhere, committing it before it gets lost should be a priority.

Five idle days in a row. The work exists, it just hasn't moved to where it counts.


Follow the Cx language project:

Originally published at https://cx-lang.com/blog/2026-04-23

Top comments (0)