## Summary ## Linked issue ## Test plan - [ ] `pytest -q` passes locally - [ ] `npm run test:js` passes locally - [ ] `npm test` (Playwright) passes locally — *or* CI will run it - [ ] Verified in `docker compose up` (live-reload working directory) - [ ] Plugin manifest validates against `schema/plugin.schema.json` - [ ] Not applicable — explain below ## Screenshots / recordings ## Checklist - [ ] DCO sign-off on every commit (`Signed-off-by:` trailer) - [ ] Conventional-commit subject (`feat(scope):`, `fix(scope):`, `docs:`, `chore:`) - [ ] `CHANGELOG.md` `[Unreleased]` section updated (skip for chore/docs) - [ ] Documentation updated if behaviour or contracts changed