You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add quiet mode feature for agentic workflows (#10)
* Add workflow documentation in CLAUDE.md
Documents project structure, build commands, testing workflow, and development setup for future reference.
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Add SKIP_S3_TESTS option to test runner
- Tests marked with `# s3` directive now skippable via SKIP_S3_TESTS=1
- Allows running 35/50 tests without S3 credentials
- Updated CLAUDE.md with usage instructions and S3 requirements
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Add local settings for Claude permissions
This commit introduces a new configuration file, settings.local.json, which defines the permissions for various Bash commands used in the Claude environment. The allowed commands include stack build, git add, git commit, stack test, find, and stack build with specific arguments. No commands are currently denied or require confirmation.
* Auto-detect S3 credentials and skip tests with clear reporting
- Tests automatically skip when S3 environment variables are missing
- Clear informative messages explain test execution (e.g. "Running 35/50 tests")
- Provides guidance on enabling S3 tests when credentials are absent
- Maintains backward compatibility with SKIP_S3_TESTS=1 override
- Enables agentic workflows to use `stack test` without environment exports
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Add quiet mode feature for agentic workflows
- Task output suppressed from terminal unless task fails
- Successful tasks: output goes only to log files (clean terminal)
- Failed tasks: full buffered output displayed for debugging
- Enabled via TASKRUNNER_QUIET=1 environment variable
- Added # quiet test directive and comprehensive test coverage
- All existing functionality preserved, no regressions
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Add comprehensive nested task tests for quiet mode
- quiet-mode-nested-success: No output when all nested tasks succeed
- quiet-mode-nested-parent-fail: Shows parent output when parent fails
- quiet-mode-nested-child-fail: Shows child output when child fails
- Validates that quiet mode works correctly in complex nested scenarios
- Each task process maintains its own buffer, only failing process shows output
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
* Update Claude settings and add research documentation
* Refactor testing documentation and clarify quiet mode feature
- Updated CLAUDE.md to remove explicit S3 test skipping section.
- Revised testing commands in README.md for consistency and clarity.
- Expanded test structure and directives information.
- Introduced a comprehensive section on the new quiet mode feature in task output handling.
- Enhanced explanations for output behavior in quiet mode and its integration with nested tasks and exit codes in task-output-handling.md.
* Update research documentation with proper metadata header
- Added YAML front matter with date, researcher, git commit, branch info
- Included comprehensive tags for searchability
- Enhanced task-output-handling.md with complete quiet mode documentation
- Updated Claude settings to allow additional git commands
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
---------
Co-authored-by: Claude <[email protected]>
# Claude Code Workflow Instructions for taskrunner
2
+
3
+
## Project Overview
4
+
This is a Haskell project that implements a task runner with caching, parallel execution, and remote storage capabilities. It uses Stack for build management and tasty-golden for snapshot testing.
5
+
6
+
## Project Structure
7
+
-`src/` - Haskell source code (main library)
8
+
-`app/` - Executable main entry point
9
+
-`test/` - Test suite
10
+
-`test/t/` - Golden test files (`.txt` input, `.out` expected output)
11
+
-`test/Spec.hs` - Main test runner
12
+
-`test/FakeGithubApi.hs` - Mock GitHub API for testing
Copy file name to clipboardExpand all lines: README.md
+52-4Lines changed: 52 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -144,13 +144,61 @@ The `snapshot` command supports the following flags:
144
144
-`--long-running`: Indicates that the task is expected to run for a long time (e.g. a server). Currently doens't have any effect though, TODO: can we remove it?
145
145
146
146
147
-
## Tests: Update Golden Files
147
+
## Testing
148
148
149
149
This project uses [tasty-golden](https://github.com/UnkindPartition/tasty-golden) for snapshot-based testing.
150
150
151
-
To update the golden files, run the test suite with the `--accept` flag passed to the test executable.
152
-
If you're using stack, the full command is:
151
+
### Running Tests
153
152
154
-
```sh
153
+
```bash
154
+
# Run all tests (auto-detects S3 credentials)
155
+
stack test
156
+
157
+
# Run tests, skipping slow ones for faster development
158
+
export SKIP_SLOW_TESTS=1
159
+
stack test
160
+
161
+
# Run specific test by pattern
162
+
stack test --test-arguments "--pattern hello"
163
+
164
+
# List all available tests
165
+
stack test --test-arguments "--list-tests"
166
+
```
167
+
168
+
### Test Structure
169
+
170
+
Tests are located in `test/t/` directory with two files per test:
171
+
-`.txt` file - Shell script to execute
172
+
-`.out` file - Expected output (golden file)
173
+
174
+
#### Test Directives
175
+
176
+
Special comments in `.txt` files control test behavior:
177
+
-`# check output` - Check stdout/stderr (default)
178
+
-`# check github` - Check GitHub API calls
179
+
-`# no toplevel` - Don't wrap in taskrunner
180
+
-`# s3` - Requires S3 credentials (auto-skipped if missing)
181
+
-`# github keys` - Provide GitHub credentials
182
+
-`# quiet` - Run in quiet mode
183
+
184
+
### S3 Test Auto-Detection
185
+
186
+
15 tests require S3 credentials and are automatically skipped if credentials are missing.
0 commit comments