Skip to content

fix(05): replace timeout binary with Bash tool native timeout parameter#35

Merged
pingvinen merged 7 commits into
mainfrom
gsd/phase-05-fix-the-constant-timeout-warnings
Mar 27, 2026
Merged

fix(05): replace timeout binary with Bash tool native timeout parameter#35
pingvinen merged 7 commits into
mainfrom
gsd/phase-05-fix-the-constant-timeout-warnings

Conversation

@pingvinen

Copy link
Copy Markdown
Owner

Summary

Phase 05: fix-the-constant-timeout-warnings
Goal: Remove all timeout N binary invocations from Donna workflow files and replace them with the Bash tool's native timeout parameter
Status: Verified ✓ (4/4 must-haves)

The timeout binary isn't available on macOS without coreutils, causing constant "command not found" warnings when Donna runs. All 5 workflow files now instruct Claude to use the Bash tool's built-in timeout parameter (in milliseconds) instead — cross-platform, zero external dependencies.

Changes

Plan 05-01: Remove timeout binary from workflows

Replaced all timeout N cmd binary invocations across 5 workflow files with Bash tool native timeout parameter prose (10000ms/15000ms).

Key files modified:

  • workflows/begin-the-day.md — 3 occurrences (CLI, REST, GraphQL)
  • workflows/run-tools.md — 4 occurrences (CLI, REST, GraphQL, smart-merge gh check)
  • workflows/focus.md — 3 occurrences
  • workflows/add-tool.md — 4 auth test references
  • workflows/relearn-tools.md — 2 GraphQL introspection blocks (15000ms)
  • test/stubs.test.cjs — 2 assertions updated to check for 10000 instead of timeout

Verification

  • Automated verification: passed (4/4 must-haves)
  • Zero timeout [0-9] patterns remain in any workflow file
  • All 287 tests pass
  • Error message templates ("timed out after 10s") preserved unchanged

Key Decisions

  • Use Bash tool native timeout parameter (ms) instead of external timeout binary — cross-platform, no coreutils required
  • Preserve same timeout durations: 10s → 10000ms for tool commands, 15s → 15000ms for GraphQL introspection
  • Keep error message templates and failure condition prose unchanged

🤖 Generated with Claude Code

- Replace 'timeout N cmd' with Bash tool timeout parameter prose
- CLI/REST/GraphQL tool commands now use timeout: 10000 (10s)
- GraphQL introspection in relearn-tools uses timeout: 15000 (15s)
- Error message templates (timed out after 10s) preserved unchanged
- Smart-merge gh check in run-tools.md updated to use timeout: 10000
- Replace 'timeout' keyword check with '10000' ms value check in run-tools.md assertion
- Replace 'timeout 10' keyword check with '10000' ms value check in begin-the-day assertion
- All 287 tests pass
- SUMMARY.md for plan 05-01
- STATE.md updated: phase 5 plan 1 complete, decisions recorded
- ROADMAP.md updated: phase 5 progress to 1/1 complete
@pingvinen pingvinen self-assigned this Mar 27, 2026
@pingvinen pingvinen merged commit e4fbc4a into main Mar 27, 2026
4 checks passed
@pingvinen pingvinen deleted the gsd/phase-05-fix-the-constant-timeout-warnings branch March 27, 2026 15:59
@github-actions

github-actions Bot commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

Released in v0.10.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant