Explore, plan, code, verify, commit
Use an evidence-based workflow to understand the change, make the smallest coherent edit, and prove the result.A disciplined workflow
Nova is most reliable when repository work follows five explicit stages:- Explore the current implementation.
- Plan when uncertainty or risk justifies it.
- Code the smallest coherent change.
- Verify with evidence appropriate to the change.
- Commit only when explicitly requested.
1. Explore
Begin by locating the behaviour, its dependencies, and its tests. Nova should prefer focused filename and code searches, then read targeted sections rather than scanning the whole repository. Example:- Observed facts from code and configuration.
- Inferences that still need confirmation.
- The root cause from downstream symptoms.
- Existing conventions that a fix should follow.
- Missing tests or runtime evidence.
2. Decide whether to plan
Planning is appropriate for architecture changes, migrations, breaking changes, high-risk systems, or work spanning coupled modules where the wrong sequence would cause rework. Nova distinguishes direct execution from an approval-gated plan workflow. It normally classifies the request from its complexity and risk; you can also ask explicitly for a plan:/resume plan [planId] to list or reactivate unfinished implementation plans in an interactive session.
For simple fixes, direct execution is better. Creating a plan for a one-line typo adds ceremony without reducing risk.
3. Code
Implementation should follow the project’s established patterns. Before editing, Nova should inspect:- The complete function or component being changed.
- Imports, types, and public interfaces.
- Nearby implementations solving similar problems.
- Existing tests and fixtures.
- Dependency manifests before introducing a library.
4. Verify
Verification should target the observable success criteria. Depending on the project, that may include:- Focused unit or integration tests.
- Linting and type checking.
- A production build.
- Browser verification for a real UI path and its loading, error, empty, and success states.
- Diff inspection for documentation-only work.
- Git status to confirm the exact change surface.
5. Review and commit
Before committing, inspect the working tree and staged diff. Check for unrelated files, generated artefacts, credentials, oversized binaries, and accidental configuration changes. Nova never needs a commit to consider an implementation complete. Commit only when the user asks. When the interactive agent handles that request, its workflow is to:- Inspect Git status.
- Stage the relevant changes.
- Review the staged diff.
- Generate a conventional commit message.
- Run the commit without bypassing hooks.
- Push only if the user requested a push.
/commit and nova commit commands are narrower: they require changes to be staged already, generate a conventional message from git diff --staged, and create the commit. They do not stage files or push. Existing user changes must not be reset or overwritten as a shortcut.
Recovering from mistakes
Nova supports/rollback last for removing the last conversational turn from active context. That does not undo side effects. Checkpoint restoration is separate, opt-in, file-scoped, and approval-gated:
What you learned
- Explore the current implementation and its tests before choosing a change.
- Use a formal plan when risk, uncertainty, or coupling makes sequencing important.
- Verify the observable success criteria and commit only when you explicitly intend to do so.
Safe practice exercise
Ask Nova to trace a small feature and identify its tests without editing files. Then decide whether the proposed change needs a plan before you ask it to implement anything.Previous: Your first Nova session
Return to lesson 4.
Next: Context and session management
Continue to lesson 6.