Commit db44856
BAST Phase 9: Fix ref/definition tag collision causing byte misalignment
Root cause: Reference types (RepositoryRef, ProjectorRef, etc.) shared the
same tag values as their definition counterparts, but had different binary
structures (refs have loc+pathId vs definitions have loc+id+contents+metadata).
Fix:
- Add 22 new dedicated REF tags (80-101) to package.scala
- Update BASTWriter to use new REF tags for all reference writes
- Add readXxxRefNode() methods in BASTReader for all new REF tags
- Update readReference(), readProcessorRef(), readPortletRef() to handle new tags
- Fix message ref node readers to not consume tag (readNode already did)
- Fix BASTDebugTest byte order issues
All 37 incremental BAST tests pass. The structural parsing now works correctly.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent 7bc49bb commit db44856
4 files changed
Lines changed: 538 additions & 49 deletions
0 commit comments