Skip to content

Design the data structures, data flow, validation rules, user error prevention, etc. for FLIP 296 (Execution Stack Upgrade) #8351

@fxamacker

Description

@fxamacker

Updates #6999 #7143 etc.

I created Data Design for FLIP 296 (Execution Stack Upgrades) and it is ready for initial review/feedback (25 pages of text in notion).

This is to design and document the new data design for execution stack upgrades. This extends FLIP 296 by specifying the data structures, data flow, validation rules, integrity rules, and related details. Include various methods for preventing human errors, outline use cases for upgrading components, adding new components, etc. Also mention alternative approaches along with their pros and cons for completeness.

The proposed design allows us to safely manage components, reject unknown components introduced by users, and add new upgradeable components without modifying the Protocol State Model each time.

Many thanks to @AlexHentschel 🙌 for creating FLIP 296, anticipating future user mistakes we want to handle, inviting suggestions, sharing insights, and providing feedback!

Status

Some prior status at #7143 (comment)

Jan 16, 2026: Finished the design and converted the document to notion (25 pages of text) so it can be reviewed by teammates.

TODO (Jan 20, 2026): During Execution Team Sync, briefly share the design and go over some of the document (happy to dive into details if we have time) with Execution team.

TODO (paused, schedule TBD): Discuss/Review/feedback on the design from Execution Team, Protocol Team, and Bastian if time allows.

TODO (paused, schedule TBD): After the design is approved by the teams, I can begin estimating and/or dividing up implementation tasks that can be completed in parallel. E.g., I can modify the Protocol State Model with the required changes if nobody is available to do it.

Caveats

It would be good to wrap up the reviews/feedback next week before pausing on this (before details get forgotten), but we may need to pause sooner due to higher priority projects.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions