Conversation
42a432f to
3379d25
Compare
7f9c9be to
fcea260
Compare
fcea260 to
2415f91
Compare
| ├── frontend.go # Frontend gRPC handler to map API calls to Engine operations | ||
| ├── fx.go # fx module to wire the Library into the application | ||
| ├── library.go # Registers component and task types with the Library | ||
| └── statemachine.go # Transition declarations |
There was a problem hiding this comment.
just want to callout that the statemachine framework is not core part of CHASM. Library author can implement their component struct however they want, not necessarily using that.
| ### Search Attributes | ||
| Indexed key-value pairs that make Executions queryable (e.g. by status, custom tags). A Component can provide them by implementing the search attributes provider interface. | ||
|
|
||
| ### Memo | ||
| Unindexed key-value metadata attached to an Execution. A Component can provide them by implementing the memo provider interface. |
There was a problem hiding this comment.
Visibility is a bit complex here.
The SA and memo store in the Visibility components are custom SA and custom Memo from end users who are actually using an archetype.
The two providers interfaces are for component defined SA/Memo (think predefined SA/Memo in workflow world). Their value is calculated on the fly based on the root component's state.
| <td width="500"> | ||
|
|
||
| ### Field types | ||
| - **`Field[T]`** — stores a single value. |
There was a problem hiding this comment.
When creating a field it can be either a ComponentField or a Data Field.
| </td> | ||
| <td width="500"> | ||
|
|
||
| ### Field types |
There was a problem hiding this comment.
There's also a PointerField for pointing to other nodes in the tree. It's not used by any components yet and we are making some changes to what it can actually points to (only to ancestor nodes is what we are thinking). We can probably add it later when it's ready.
c62844c to
653dc33
Compare
WISOTT
Rendered: https://github.com/temporalio/temporal/blob/stephanos/chasm-graph/docs/architecture/chasm.md