Skip to content

feat: add produced-event mapping source location tracking - #182

Open
woksin wants to merge 1 commit into
mainfrom
work/e2e-screenplay-mapping-current
Open

feat: add produced-event mapping source location tracking#182
woksin wants to merge 1 commit into
mainfrom
work/e2e-screenplay-mapping-current

Conversation

@woksin

@woksin woksin commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Partial increment for #138 - produced-event mapping patches.

Changes

Parser Enhancements

  • ProducesParser now captures SourceLocation and SourceLength for each mapping
  • Enables precise source-level patching of produced-event mappings

Workspace Transaction Support

  • ProducedEventMappingPatch and ProducedEventMappingSourcePatch types added
  • WorkspaceTransaction and WorkspaceTransactionOperations extended
  • Full atomic patch/revert support for mapping changes

Documentation

  • folders.md updated with mapping operation details

Testing

22 new specs covering:

  • Source range preservation
  • Literal, implicit, and drifted sources
  • Identity migrations and stale revisions
  • Repeated mappings and owner validation
  • Incompatible and unsupported grammar handling
  • Mapping proposal repetition and combination

Verification

  • 2,346 language specs pass
  • 22 canonical checks pass
  • Verified across net8.0, net9.0, and net10.0
  • Clean strict Debug/Release builds
  • API validation pack passes

Partial increment for #138.

Changes:
- ProducesParser now captures SourceLocation and SourceLength for mappings
- CommandSyntax extended to support mapping source patches
- WorkspaceTransaction/Operations support produced-event mapping patches
- 22 new specs covering mapping edge cases:
  - Source range preservation
  - Literal, implicit, and drifted sources
  - Identity migrations and stale revisions
  - Repeated mappings and owner validation
  - Incompatible and unsupported grammar handling

Verified: 2,346 language specs + 22 canonical checks pass across net8/net9/net10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant