You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
a6b41da Thanks @rami-hatoum! - - Fixed state reference detection to use all stream events, preventing sibling event names from being incorrectly identified as state references
Added field hints for sibling events in generated state types
3dad664 Thanks @rami-hatoum! - - Added automatic detection of sibling events across shared streams for smarter event evolution
Wired all stream events into the evolve template with proper temporal ordering and deduplication
14dab22 Thanks @rami-hatoum! - - State-ref Given steps with preceding siblings now generate Inspect state instructions instead of succeeding from initial state, improving event stream resolution accuracy
dbe3629 Thanks @rami-hatoum! - - Added sibling event resolution for shared streams in Given lookups
State-ref fallback now uses preceding sibling events with example data
061af97 Thanks @rami-hatoum! - - Added utility to find events produced by sibling command moments that share the same stream pattern, enabling cross-command event awareness
d27048c Thanks @rami-hatoum! - - Added normalizeStreamPattern() utility that converts template variables to wildcards for flexible stream pattern matching
Patch Changes
52b0795 Thanks @rami-hatoum! - - Added planning document for shared-stream sibling event awareness in the Apollo Emmett server generator
83f9321 Thanks @rami-hatoum! - - Added named UUID constant generation in handle.ts, producing readable variables (e.g., const workoutId = randomUUID()) instead of inline calls
UUID variables from stream patterns are now available to all templates, not just the commands where they appear
Generated UUIDs are passed to the decide function via a structured context object for cleaner data flow
40745af Thanks @rami-hatoum! - - Stream names in generated React code now use the target command's stream pattern directly when available, producing more accurate event stream references
Falls back to the previous field-based naming approach when no stream pattern exists, maintaining backward compatibility
3c3e87c Thanks @rami-hatoum! - - Added stream pattern resolution for seed data in generated test specs, using example data when a target command has a stream pattern
Falls back to existing state-type and linking field convention when no stream pattern is available
b11b24c Thanks @rami-hatoum! - - Added field completeness assertions for non-command fields in generated server tests, ensuring all event fields are verified with proper type matchers
1cb9ffa Thanks @rami-hatoum! - - Enriched event-command pair generation to include the target command's stream destination pattern, enabling more accurate scaffold wiring between commands and their downstream event streams
0bac84b Thanks @rami-hatoum! - - Added type assertion helper that maps TypeScript types to JavaScript constructor names for use in generated test specifications
3142d48 Thanks @rami-hatoum! - - Added Given state ref hints to generated state files, so implementers see which discriminated union variants to create
Improved scaffold instructions for non-command fields by classifying them as date-derived, state-derived, or not asserted by tests
5622978 Thanks @rami-hatoum! - - Improved field linking logic to prefer ID-like fields (e.g., bookingId) over arbitrary primitive matches (e.g., status) when resolving relationships between types
98bd3b6 Thanks @rami-hatoum! - - Field completeness assertions now use exact model values for non-command fields instead of generic type matchers, providing stronger test verification
1f0145a Thanks @rami-hatoum! - - Added date-aware filter comparison in query resolver so Date-type fields are correctly compared using numeric time values instead of failing string comparisons
b0fde2b Thanks @rami-hatoum! - - Added validation for query moment mappings that reference non-existent fields on the state type
Invalid mapping targets now surface as field issues instead of being silently skipped
Errors flow through the existing issue reporting pipeline automatically
97e4219 Thanks @rami-hatoum! - - Added stream pattern support to aggregate stream detection, ensuring handlers use the correct destination-based stream name instead of fabricated ones
Added test coverage verifying deterministic stream pattern resolution in react handlers
a025f64 Thanks @rami-hatoum! - - Register command handlers now use deterministic stream name patterns from target commands, improving consistency with the react handler approach
97fb3d6 Thanks @rami-hatoum! - - Created planning document for fixing state-Given handling in the Apollo Emmett server generator
0f9054e Thanks @rami-hatoum! - - Fixed test accuracy for state-derived fields by excluding state-traceable values from exact assertions
Improved event-handling test isolation by passing only event references instead of full given/when/then context
8c345a6 Thanks @rami-hatoum! - - Created planning document for upcoming scaffold improvements to the Apollo/Emmett server generator
68c5190 Thanks @rami-hatoum! - - Marked G7 B1-B2 bursts as done in the ketchup plan for the Apollo Emmett server generator
f683b15 Thanks @rami-hatoum! - - Fixed incorrect test assertions for server-generated fields like exerciseId and workoutId by requiring explicit traceability to Given events
Replaced confusing double-negative logic with clearer positive check for field value traceability
Fields not directly traceable to a Given event now correctly use flexible matchers instead of exact values
fa1828b Thanks @rami-hatoum! - - Updated internal tracking plan to mark scaffold improvement tasks as completed
d5ba3a0 Thanks @rami-hatoum! - - Added state context instruction to generated decide handlers, preventing unnecessary narrowing when Given steps contain only state references
e0cdc4e Thanks @rami-hatoum! - - Added context-aware classification of non-command fields in generated decide.ts scaffolds, distinguishing between date-derived, state-derived, and not-yet-tested fields
9195db7 Thanks @rami-hatoum! - - Extracted shared template helpers into a dedicated module for cleaner code generation
abb6540 Thanks @rami-hatoum! - - Added status variant hints from Given state references to the state template, helping implementers create matching discriminated union variants
9195db7 Thanks @rami-hatoum! - - Extracted shared template helper functions into a dedicated module for better code reuse across generators
Simplified template specs by removing inline duplicate definitions in favor of the shared helpers
server-generator-apollo-emmett: compute crossSceneGivens in template data
react-gen: clean stale src/ subdirectories in scaffold step
server-generator-apollo-emmett: return single object for id-lookup query resolvers
server-generator-apollo-emmett: use narrative prefix in cross-scene import paths
Patch Changes
6b87393 Thanks @rami-hatoum! - - Added planning documentation for fixing cross-stream Given states in the server generator
0316cef Thanks @rami-hatoum! - - Added planning document for fixing generator bugs related to G1 and G2 scenarios
cde9ffa Thanks @rami-hatoum! - - Fixed empty files being generated in scaffold output for query/projection moments that have no local events
53d65dd Thanks @rami-hatoum! - - Marked the G1+G2 ketchup plan as complete for the Apollo Emmett server generator
1c99de6 Thanks @rami-hatoum! - - Fixed incorrect placement of Given-step state references (e.g. WorkoutDraft, UserProfile) that were being added to the events array instead of the states array
Eliminated phantom Event types appearing in generated events.ts files
Eliminated phantom case handlers appearing in generated evolve.ts files
f6cb5c2 Thanks @rami-hatoum! - - Fixed generated test files incorrectly using state references as events in the given() setup, ensuring only actual event references are included