Testing and pull requests
Create a focused branch, run the checks appropriate to your change, and open a reviewable pull request.
Sync your fork
git checkout main
git fetch upstream
git merge --ff-only upstream/main
git push origin mainCreate a focused branch
Choose a short description and a prefix that communicates the type of change.
feat/short-description: a new user-facing capability.fix/short-description: a bug fix.chore/short-description: maintenance, tooling, dependencies, or repository housekeeping.refactor/short-description: an internal change that preserves behavior.test/short-description: test additions or improvements.docs/short-description: documentation-only changes.git checkout -b feat/short-descriptionRequired checks
Every change should pass the repository's type, lint, build, and unit-test checks.
npm run typecheck
npm run lint
npm run build
npm run test:runChange-specific checks
npm run test:package for CLI, package exports, packaging, or generated-project workflow changes.npm run test:core with DATABASE_URL configured for database-backed core behavior.npm run test:fleet with DATABASE_URL configured for fleet behavior.tests/manual/ when an algorithm or provider behavior benefits from realistic end-to-end verification.Live smoke tests
Before releasing, or after changing a critical Grafter, ingestion, Fleet, crawler, or lifecycle workflow, run the minimal live smoke suite.
The suite uses the root .env; its basic chat, graph building, queue, and Fleet checks call OpenAI. Queue and recall-cache coverage runs when REDIS_URL is configured.
npm run live-smoke:smokeLive smoke report
The --write-doc option saves a Markdown report containing timings, answers, drift scores, node counts, queue metrics, and estimated token usage.
See tests/manual/live-smoke/README.md for individual suite commands and reporting options.
npm run live-smoke:smoke -- --write-docFormatting, tests, and documentation
Commit and push
Use concise conventional-style commit and pull-request titles such as feat: add provider adapter, fix: avoid duplicate ingestion, or docs: clarify migration setup.
git add <changed-files>
git commit -m "feat: short description"
git push -u origin feat/short-descriptionOpen the pull request
mayhemking007/memo-grafter's main branch.Merge expectations
Accepted pull requests are expected to be squash-merged so main receives one focused commit. Keep commits understandable during review, but write the pull-request title and description so they can represent the final merged change.