# Execution Specifications: What is "Done"?
These things need to be implemented before the core spec code can be frozen:
- Issues in https://github.com/ethereum/execution-specs/milestone/14
- [x] London
- [ ] The Merge
- [x] Opcode Refac
- [ ] Documentation Rendering
- [ ] https://github.com/ethereum/execution-specs/issues/590
- [x] https://github.com/ethereum/execution-specs/issues/591
- [ ] https://github.com/ethereum/execution-specs/issues/519
- [ ] Pass **all** `ethereum/tests` test (that are correct/possible.)
- [x] Contributing documentation (`CONTRIBUTING.rst`.)
- [ ] Code Style documentation (`STYLE.rst` maybe?)
- eg. only call `charge_gas` once per opcode
These things *might* need to be implemented before EELS is "done":
- [ ] Branching bot - some kind of tool to enforce the rules in [Executable EIPs](https://notes.ethereum.org/@timbeiko/executable-eips).
- [ ] Being able to fill tests.
- Test cases: https://github.com/ethereum/go-ethereum/tree/master/cmd/evm/testdata
- [ ] Run the previous fork's tests for DAO and glacier forks.
- [ ] Formalize cadence for code freezes:
1. Fork `F-1` happens.
2. EELS maintainers apply refactoring (30 days?)
3. Fork `F` opens for EIP authors (30 days?)
4. Fork `F` freezes for implementation.
5. Goto 1.
- [ ] Documenting requirements for "EELS Proposals":
- Needs a test that fails before your change that passes after.
- Has to pass all the CI checks.
- Needs to meet the relevant checks from `eipw`
- [ ] Join in the fuzzing
- https://github.com/holiman/goevmlab/tree/master/evms