summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-09 08:20:52 -0500
committerBen Sima <ben@bsima.me>2025-11-09 08:20:52 -0500
commitdd20248176086e0e918e8d982a1e38599ed45a87 (patch)
tree14a15eb002c3d0aac5931ad4a8191189b7e41bc4
parent6dbb77b5e7525d0b38434267ca97fdbe16b8ef84 (diff)
Document TASK_TEST_MODE for safe testing in AGENTS.md
Add critical documentation about using test database to protect production task data during development and testing. Key points: - Set TASK_TEST_MODE=1 to use .tasks/tasks-test.jsonl - Test suite automatically uses test mode - Never run destructive tests on production database This prevents accidental data loss like we experienced earlier when test runs overwrote the production tasks.jsonl file.
-rw-r--r--.tasks/tasks.jsonl2
-rw-r--r--AGENTS.md23
2 files changed, 23 insertions, 2 deletions
diff --git a/.tasks/tasks.jsonl b/.tasks/tasks.jsonl
index 0ff032c..592d363 100644
--- a/.tasks/tasks.jsonl
+++ b/.tasks/tasks.jsonl
@@ -17,7 +17,7 @@
{"taskCreatedAt":"2025-11-09T13:05:06.802295008Z","taskDependencies":[],"taskId":"t-PpZlbL","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"Open","taskTitle":"Implement task tree visualization command","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:05:06.802295008Z"}
{"taskCreatedAt":"2025-11-09T13:05:06.829842253Z","taskDependencies":[],"taskId":"t-PpZsm4","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"Open","taskTitle":"Implement task stats command","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:05:06.829842253Z"}
{"taskCreatedAt":"2025-11-09T13:05:06.85771202Z","taskDependencies":[],"taskId":"t-PpZzBA","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"Open","taskTitle":"Implement epic progress tracking","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:05:06.85771202Z"}
-{"taskCreatedAt":"2025-11-09T13:05:06.88583862Z","taskDependencies":[],"taskId":"t-PpZGVf","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"InProgress","taskTitle":"Add filtering by type and parent (list improvements)","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:14:05.997641101Z"}
+{"taskCreatedAt":"2025-11-09T13:05:06.88583862Z","taskDependencies":[],"taskId":"t-PpZGVf","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"Done","taskTitle":"Add filtering by type and parent (list improvements)","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:17:51.373969453Z"}
{"taskCreatedAt":"2025-11-09T13:05:18.344932105Z","taskDependencies":[],"taskId":"t-PqLLXk","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"Done","taskTitle":"Implement epic and task types","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:05:18.406381682Z"}
{"taskCreatedAt":"2025-11-09T13:05:18.445111257Z","taskDependencies":[],"taskId":"t-PqMc17","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"Done","taskTitle":"Add enhanced dependency types (blocks, discovered-from, related)","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:05:18.50495798Z"}
{"taskCreatedAt":"2025-11-09T13:05:18.543055749Z","taskDependencies":[],"taskId":"t-PqMBuS","taskNamespace":"Omni/Task.hs","taskParent":"t-PpXWsU","taskStatus":"Done","taskTitle":"Protect production database from tests","taskType":"WorkTask","taskUpdatedAt":"2025-11-09T13:05:18.602787251Z"}
diff --git a/AGENTS.md b/AGENTS.md
index 653e8f3..3cd9aa7 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -255,11 +255,32 @@ States:
```
.tasks/
-├── tasks.jsonl # Git-tracked, source of truth
+├── tasks.jsonl # Git-tracked, production database
+├── tasks-test.jsonl # Test database (not tracked, auto-created)
```
Each line in `tasks.jsonl` is a JSON object representing a task.
+## Testing and Development
+
+**IMPORTANT**: When writing or testing code that modifies tasks, use the test database:
+
+```bash
+# Set test mode to protect production database
+export TASK_TEST_MODE=1
+
+# Now all task operations use .tasks/tasks-test.jsonl
+task create "Test task" --type=task
+task list
+
+# Unset when done
+unset TASK_TEST_MODE
+```
+
+**The test suite automatically uses test mode** - you don't need to set it manually when running `task test` or `bild --test Omni/Task.hs`.
+
+**Never run destructive tests against the production database** (`.tasks/tasks.jsonl`) as this will delete real task data.
+
## Example Session
```bash