This document outlines recommended next steps and enhancements for the Project Rosetta repository.
Why: External contributors need to understand the system design and scope to contribute effectively.
Action: Create docs/architecture/:
- System overview and component diagram
- Data flow (scenario → test track → correlation)
- Key interfaces and formats (OpenSCENARIO, OpenDRIVE)
- Design decisions and rationale
- Type hints + mypy — Add Python type annotations and enforce with CI
- Unit tests — Establish test directory structure, run tests in CI
- Code coverage — Track % of code tested, set minimum thresholds
- Integration tests — Test scenario transformations end-to-end
- API/Interface reference — Formal specification for scenario formats
- Usage examples — Sample scenarios and step-by-step walkthroughs
- Troubleshooting guide — Common issues and solutions
- Contributing guide expansions — Naming conventions, code style details
- Roadmap — Public priorities and planned features (linked from README)
- Release process — Semantic versioning, changelog automation
- Community guidelines — Decision-making process, RFCs for major changes
- Document correlation metric definitions formally
- Provide reference implementations with test cases
- Include sample input/output files for testing
- Create validation tooling for scenario format compliance
- Define robot file format requirements
- Provide transformation examples (OpenSCENARIO → robot format)
- Document known limitations and edge cases
- Add "good first issue" labels to encourage new contributors
- Create starter tasks for onboarding
- Consider a CONTRIBUTORS.md file to acknowledge contributors
When ready, implement in this order...
✅ Already in place:
- Branch governance (CCB-only merge to main)
- Python lint/format (ruff)
- Markdown lint (markdownlint-cli2)
- Contributing guide with quality standards
- Professional README and docs structure
- GitHub issue and PR templates
- Pre-commit hooks
⏳ Not yet started:
- Architecture documentation
- All medium-term enhancements listed above
For questions or discussion about priorities, open an issue on GitHub.