Guidelines for implementing tasks safely in parallel execution. Use when working on a task in Ralph parallel mode to avoid conflicts...
Guidelines for implementing tasks in Ralph parallel mode without causing conflicts.
touches pathsDo NOT: modify DAG, schedule tasks, merge branches, or review other work.
Only modify files within your task's touches declaration:
touches: ["src/auth/**", "tests/auth/**"]
Allowed: src/auth/middleware.ts, tests/auth/login.test.ts
Forbidden: src/api/routes.ts, package.json
If your task has mutex: ["db-migrations"], you have exclusive access to that resource. Other tasks with the same mutex will wait.
Never touch these without explicit mutex:
package.json / package-lock.json → mutex: lockfiledb-migrationsrouterglobal-configBefore starting:
touches for allowed pathsmutex for exclusive resourcesdependsOn to understand available interfacesWhile implementing:
Before committing:
AUTH-002: Add auth middleware
- Implement JWT validation
- Add role-based access control
- Add unit tests for middleware
WIP
various fixes
At task completion, report what you changed:
Task AUTH-002 completed
Files changed: 4
+ src/auth/middleware.ts (new)
+ src/auth/roles.ts (new)
~ src/auth/index.ts (export added)
+ tests/auth/middleware.test.ts (new)
Within declared touches: ✓
Mutex used: contract:auth-api
Pre-implementation safety check:
✓ touches: ["src/auth/**"] - clear scope
✓ mutex: ["contract:auth-api"] - exclusive access
✓ dependsOn: ["AUTH-001"] - user table available
Hotspots to avoid:
✗ package.json (no lockfile mutex)
✗ db/migrations/** (no db-migrations mutex)
Ready to implement safely