Spec Doc
Purpose
Document the technical implementation details, including invariants, ABI specifications, events, and architectural decisions.
References
Important Sections
Invariants
Properties that must always hold in the system, covering state consistency, protocol rules, and security guarantees.
Interfaces
Documentation of all system interfaces, including function signatures, parameters, return values, and access controls.
Properties
System characteristics across state management, behavior, and performance requirements.
Workflow
- The
main
branch in the Wonderland repo should remain stable and unchanged. - For new work, create a feature branch (e.g.,
sc-feat/<feature>
orsc-fix/<fix>
). - Within this, create further branches (
feat/<X>
,fix/<Y>
) for specific tasks and open internal PRs targeting the main feature branch. - Run the linters defined in the justfile (
just lint
) before submitting PRs. - After all internal PRs have been merged, raise an external PR from the feature branch to the
main
branch of the Optimism repo.
Collaboration
- For significant changes, schedule sync review sessions with Optimism to present the spec doc and incorporate feedback.
- Initial spec drafts can be started in Notion for easier iteration and team input, and then migrated to GitHub for final review and versioning.