- Keep changes focused and reviewable; do not modify unrelated scenarios or helper code.
- Tests run inside the image under test. Assert only on what the shipped image provides, and do not add dependencies that must be installed for a scenario to pass.
- Put shared step vocabulary in
tests/shared/steps.pyand probe helpers intests/shared/host.pywhen adding or updating scenarios. - Tag scenarios that should not gate the pipeline with
@wip; the lab excludes those by default. - Validate test changes with
PYTHONPATH=. python3 -m behave tests/smoke/features/ --no-capture --tags ~@wipwhen a live snosi machine or suitable container is available. - Record unfinished-work handoffs in
.claude/session-summary.md; keep entries concise and remove them when the follow-up is complete.