Skip to content

Commit 2706225

Browse files
respencer-nclclaude
andcommitted
Update documentation for Scala 3.3.7 LTS session
- NOTEBOOK.md: Added January 27, 2026 session log covering: - Scala 3.3.7 LTS migration via With.scala3 - BAST test fixes (offset comparison, file read test, command name) - Institutional-commerce RIDDL validation work in progress - CLAUDE.md: Added notes for future sessions: - With.scala3 usage example in Common Configurations - Guidance on BAST location comparisons using offsets Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 7ad2584 commit 2706225

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ RIDDL (Reactive Interface to Domain Definition Language) is a specification lang
2626

2727
#### Common Configurations:
2828
```scala
29+
// Scala 3.3.7 LTS (recommended for projects)
30+
.configure(With.scala3) // Sets scalaVersion to 3.3.7 LTS
31+
2932
// Scala.js configuration
3033
.jsConfigure(With.ScalaJS(
3134
header = "RIDDL: module-name",
@@ -684,3 +687,5 @@ Then add to root aggregation: `.aggregate(..., mymodule, mymoduleJS, mymoduleNat
684687
11. **BAST code lives in language module** - `language/shared/.../bast/`, NOT the standalone `bast/` directory
685688
12. **BAST readNode() vs readTypeExpression()** - Disjoint tag sets; see "Key Implementation Notes" for details on avoiding deserialization bugs
686689
13. **BAST Hugo documentation is outdated** - `doc/src/main/hugo/content/future-work/bast.md` needs complete rewrite
690+
14. **Use `With.scala3` for Scala version** - Sets Scala 3.3.7 LTS; don't hardcode `scalaVersion` in build.sbt
691+
15. **BAST location comparisons use offsets** - BASTParserInput uses synthetic 10000-char lines for reconstruction; compare offset/endOffset, not line/col

NOTEBOOK.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,57 @@ The `pseudoCodeBlock` parser now allows comments before and/or after `???`:
474474

475475
## Session Log
476476

477+
### January 27, 2026 (Scala 3.3.7 LTS Migration)
478+
479+
**Focus**: Update riddl to use Scala 3.3.7 LTS and fix test failures
480+
481+
**Tasks Completed**:
482+
1.**Scala 3.3.7 LTS Migration**
483+
- Added `With.scala3` to Root project configuration in `build.sbt`
484+
- Removed hardcoded `Global / scalaVersion := "3.7.4"`
485+
- Now uses sbt-ossuminc's default Scala 3.3.7 LTS
486+
487+
2.**BAST Test Fixes**
488+
- `DeepASTComparison.scala` - Changed to compare offsets instead of line/col (BASTParserInput uses synthetic 10000-char lines)
489+
- `BASTFileReadTest.scala` - Removed dependency on non-existent `everything.bast` file
490+
- `BastGenCommandTest.scala` - Updated command name from "bast-gen" to "bastify"
491+
492+
3.**Committed changes** to riddl repository
493+
494+
4. 🚧 **External Project Validation** (institutional-commerce)
495+
- Ran validation on `/Users/reid/Code/ossuminc/institutional-commerce` with `src/main/riddl/ImprovingApp.conf`
496+
- Found 16+ parse errors - all RIDDL syntax issues with string literals in handlers
497+
- Fixed `organizationsProjection.riddl` - converted string literals to comments with `???`
498+
- Partially fixed `Order.riddl` - 3 handlers done, more remain
499+
500+
**Files Modified**:
501+
- `build.sbt` - Added `With.scala3` to Root project
502+
- `passes/jvm/.../DeepASTComparison.scala` - Compare offsets instead of line/col
503+
- `passes/jvm/.../BASTFileReadTest.scala` - Removed file comparison
504+
- `commands/jvm/.../BastGenCommandTest.scala` - Changed command name
505+
506+
**Remaining Work** (institutional-commerce RIDDL fixes):
507+
- `Order/Order.riddl` - ~10 more handlers with string literals
508+
- `Store/Store.riddl` - Many handlers with string literals
509+
- `Organization/organization.riddl` - Multiple handlers
510+
- `Members/members.riddl`, `Tenant/tenant.riddl`, `Events/eventContext.riddl`
511+
- `Venues/venueContext.riddl`, `Product/product.riddl`
512+
- Various projection files
513+
514+
**Pattern to Fix**:
515+
```riddl
516+
// Invalid:
517+
on command X { "description" }
518+
519+
// Valid:
520+
on command X {
521+
// description
522+
???
523+
}
524+
```
525+
526+
---
527+
477528
### January 20, 2026 (BAST Phase 9: Critical Bug Fix)
478529

479530
**Focus**: Fix BAST ref/definition tag collision causing byte misalignment

0 commit comments

Comments
 (0)