diff options
| author | Ben Sima <ben@bsima.me> | 2025-11-08 16:26:30 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bsima.me> | 2025-11-08 16:26:30 -0500 |
| commit | 2203b9f08fc67d7229bb429ae136801b0dffd4f6 (patch) | |
| tree | e2c706571843a069b7193b9a166498c45abec0ea | |
| parent | 3bf1691f4e32235f84f5cff9d6e4a3fdb9a57ffc (diff) | |
Add testing and quality check requirements to AGENTS.md
- Add coding convention: always include tests with new features and
bug fixes - Add 'Required Checks Before Completing Tasks' section -
Instruct agents to run 'bild --test' and 'lint' on modified namespaces
- Require fixing all errors before marking tasks complete
Completed tasks: - t-s9T0u1: Add testing guidance - t-v2w3x4: Add
build/lint instructions
Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com>
| -rw-r--r-- | .tasks/tasks.jsonl | 4 | ||||
| -rw-r--r-- | AGENTS.md | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/.tasks/tasks.jsonl b/.tasks/tasks.jsonl index 3c975e8..46daad9 100644 --- a/.tasks/tasks.jsonl +++ b/.tasks/tasks.jsonl @@ -4,8 +4,8 @@ {"taskCreatedAt":"2025-11-08T20:09:35.590622249Z","taskDependencies":[],"taskId":"t-j0k1L2","taskProject":"task-manager","taskStatus":"Open","taskTitle":"Tasks should have an optional namespace associated with them. Namespaces are first class citizens in this monorepo","taskUpdatedAt":"2025-11-08T20:09:35.590622249Z"} {"taskCreatedAt":"2025-11-08T20:10:09.944217463Z","taskDependencies":[],"taskId":"t-m3n4o5","taskProject":"task-manager","taskStatus":"Open","taskTitle":"There should be a command to list all projects.","taskUpdatedAt":"2025-11-08T20:10:09.944217463Z"} {"taskCreatedAt":"2025-11-08T20:20:38.785442739Z","taskDependencies":[],"taskId":"t-p6q7r8","taskProject":"task-manager","taskStatus":"Done","taskTitle":"Instruct agents too use git-branchless and a patch based workflow rather than traditional git commands if and when they need to record things in git.","taskUpdatedAt":"2025-11-08T21:09:06.854871964Z"} -{"taskCreatedAt":"2025-11-08T20:22:20.116289616Z","taskDependencies":[],"taskId":"t-s9T0u1","taskProject":"task-manager","taskStatus":"Open","taskTitle":"instruct agents to include tests with all new features and bug fixes","taskUpdatedAt":"2025-11-08T20:22:20.116289616Z"} -{"taskCreatedAt":"2025-11-08T20:45:12.764939794Z","taskDependencies":[],"taskId":"t-v2w3x4","taskProject":"task-manager","taskStatus":"Open","taskTitle":"instruct agents to run 'bild --test' and 'lint' for whatever namespace(s) they are working on after completing a task and fix any reported errors","taskUpdatedAt":"2025-11-08T20:45:12.764939794Z"} +{"taskCreatedAt":"2025-11-08T20:22:20.116289616Z","taskDependencies":[],"taskId":"t-s9T0u1","taskProject":"task-manager","taskStatus":"Done","taskTitle":"instruct agents to include tests with all new features and bug fixes","taskUpdatedAt":"2025-11-08T21:24:54.004658966Z"} +{"taskCreatedAt":"2025-11-08T20:45:12.764939794Z","taskDependencies":[],"taskId":"t-v2w3x4","taskProject":"task-manager","taskStatus":"Done","taskTitle":"instruct agents to run 'bild --test' and 'lint' for whatever namespace(s) they are working on after completing a task and fix any reported errors","taskUpdatedAt":"2025-11-08T21:25:10.756670871Z"} {"taskCreatedAt":"2025-11-08T20:48:43.183226361Z","taskDependencies":[],"taskId":"t-y5z6A7","taskProject":"ide","taskStatus":"Open","taskTitle":"The script Omni/Ide/typecheck.sh needs to support Haskell type checking in a similar fashion as how Omni/Ide/repl.sh is able to handle multiple languages","taskUpdatedAt":"2025-11-08T20:48:43.183226361Z"} {"taskCreatedAt":"2025-11-08T21:00:27.020241869Z","taskDependencies":[],"taskId":"t-1ky7gJ2","taskProject":"task-manager","taskStatus":"Done","taskTitle":"Test shorter IDs","taskUpdatedAt":"2025-11-08T21:04:00.990704969Z"} {"taskCreatedAt":"2025-11-08T21:00:29.901677247Z","taskDependencies":[],"taskId":"t-1kyjmjN","taskProject":"task-manager","taskStatus":"Done","taskTitle":"Another test task","taskUpdatedAt":"2025-11-08T21:04:04.081664205Z"} @@ -316,6 +316,7 @@ repl.sh --bash Omni/Log.py # Start bash shell for namespace 1. **Test interface**: Every program must accept `test` as a first argument to run its test suite 2. **Entrypoint naming**: The entrypoint for every program shall be called `main` +3. **Always include tests**: Every new feature and bug fix must include tests. No code should be committed without corresponding test coverage ## Git Workflow @@ -380,6 +381,20 @@ git submit 3. **Rebase and clean up history** - Use `git commit --amend` and `git restack` to keep history clean 4. **Test before committing** - Run `bild --test` and `lint` on affected namespaces +### Required Checks Before Completing Tasks + +After completing a task, **always** run these commands for the namespace(s) you modified: + +```bash +# Run tests +bild --test Omni/YourNamespace.hs + +# Run linter +lint Omni/YourNamespace.hs +``` + +**Fix all reported errors** related to your changes before marking the task as complete. This ensures code quality and prevents breaking the build for other contributors. + ## Future Enhancements Planned features (not yet implemented): |
