@weldr/runr 0.3.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +150 -1
  2. package/README.md +124 -111
  3. package/dist/audit/classifier.js +331 -0
  4. package/dist/cli.js +593 -282
  5. package/dist/commands/audit.js +259 -0
  6. package/dist/commands/bundle.js +180 -0
  7. package/dist/commands/continue.js +276 -0
  8. package/dist/commands/doctor.js +430 -45
  9. package/dist/commands/hooks.js +352 -0
  10. package/dist/commands/init.js +368 -8
  11. package/dist/commands/intervene.js +109 -0
  12. package/dist/commands/journal.js +167 -0
  13. package/dist/commands/meta.js +245 -0
  14. package/dist/commands/mode.js +157 -0
  15. package/dist/commands/orchestrate.js +29 -0
  16. package/dist/commands/packs.js +47 -0
  17. package/dist/commands/preflight.js +8 -5
  18. package/dist/commands/resume.js +421 -3
  19. package/dist/commands/run.js +63 -4
  20. package/dist/commands/status.js +47 -0
  21. package/dist/commands/submit.js +374 -0
  22. package/dist/config/schema.js +61 -1
  23. package/dist/diagnosis/analyzer.js +86 -1
  24. package/dist/diagnosis/formatter.js +3 -0
  25. package/dist/diagnosis/index.js +1 -0
  26. package/dist/diagnosis/stop-explainer.js +267 -0
  27. package/dist/diagnostics/stop-explainer.js +267 -0
  28. package/dist/guards/checkpoint.js +119 -0
  29. package/dist/journal/builder.js +497 -0
  30. package/dist/journal/redactor.js +68 -0
  31. package/dist/journal/renderer.js +220 -0
  32. package/dist/journal/types.js +7 -0
  33. package/dist/orchestrator/artifacts.js +17 -2
  34. package/dist/orchestrator/receipt.js +304 -0
  35. package/dist/output/stop-footer.js +185 -0
  36. package/dist/packs/actions.js +176 -0
  37. package/dist/packs/loader.js +200 -0
  38. package/dist/packs/renderer.js +46 -0
  39. package/dist/receipt/intervention.js +465 -0
  40. package/dist/receipt/writer.js +296 -0
  41. package/dist/redaction/redactor.js +95 -0
  42. package/dist/repo/context.js +147 -20
  43. package/dist/review/check-parser.js +211 -0
  44. package/dist/store/checkpoint-metadata.js +111 -0
  45. package/dist/store/run-store.js +21 -0
  46. package/dist/supervisor/runner.js +161 -10
  47. package/dist/tasks/task-metadata.js +74 -1
  48. package/dist/ux/brain.js +528 -0
  49. package/dist/ux/render.js +123 -0
  50. package/dist/ux/safe-commands.js +133 -0
  51. package/dist/ux/state.js +193 -0
  52. package/dist/ux/telemetry.js +110 -0
  53. package/package.json +5 -1
  54. package/packs/pr/pack.json +50 -0
  55. package/packs/pr/templates/AGENTS.md.tmpl +120 -0
  56. package/packs/pr/templates/CLAUDE.md.tmpl +101 -0
  57. package/packs/pr/templates/bundle.md.tmpl +27 -0
  58. package/packs/solo/pack.json +82 -0
  59. package/packs/solo/templates/AGENTS.md.tmpl +80 -0
  60. package/packs/solo/templates/CLAUDE.md.tmpl +126 -0
  61. package/packs/solo/templates/bundle.md.tmpl +27 -0
  62. package/packs/solo/templates/claude-cmd-bundle.md.tmpl +40 -0
  63. package/packs/solo/templates/claude-cmd-resume.md.tmpl +43 -0
  64. package/packs/solo/templates/claude-cmd-submit.md.tmpl +51 -0
  65. package/packs/solo/templates/claude-skill.md.tmpl +96 -0
  66. package/packs/trunk/pack.json +50 -0
  67. package/packs/trunk/templates/AGENTS.md.tmpl +87 -0
  68. package/packs/trunk/templates/CLAUDE.md.tmpl +126 -0
  69. package/packs/trunk/templates/bundle.md.tmpl +27 -0
  70. package/dist/commands/__tests__/report.test.js +0 -202
  71. package/dist/config/__tests__/presets.test.js +0 -104
  72. package/dist/context/__tests__/artifact.test.js +0 -130
  73. package/dist/context/__tests__/pack.test.js +0 -191
  74. package/dist/env/__tests__/fingerprint.test.js +0 -116
  75. package/dist/orchestrator/__tests__/policy.test.js +0 -185
  76. package/dist/orchestrator/__tests__/schema-version.test.js +0 -65
  77. package/dist/supervisor/__tests__/evidence-gate.test.js +0 -111
  78. package/dist/supervisor/__tests__/ownership.test.js +0 -103
  79. package/dist/supervisor/__tests__/state-machine.test.js +0 -290
  80. package/dist/workers/__tests__/claude.test.js +0 -88
  81. package/dist/workers/__tests__/codex.test.js +0 -81
package/CHANGELOG.md CHANGED
@@ -7,6 +7,152 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.7.0] - 2026-01-06
11
+
12
+ **Hybrid Workflow Foundation** - Productivity + Auditability together.
13
+
14
+ ### Added
15
+
16
+ - **runr intervene** - Record manual work with provenance
17
+ - SHA anchoring with `--since` for retroactive attribution
18
+ - Commit linking with `--commit` and `--amend-last`
19
+ - Command output capture with redaction
20
+ - Flow/Ledger mode awareness
21
+
22
+ - **runr audit** - View project history by classification
23
+ - Classifications: CHECKPOINT, INTERVENTION, INFERRED, ATTRIBUTED, GAP
24
+ - Coverage reporting with `--coverage`
25
+ - CI thresholds with `--fail-under` and `--fail-under-with-inferred`
26
+ - Strict mode with `--strict`
27
+
28
+ - **runr mode** - Switch between Flow and Ledger modes
29
+ - Flow mode: productivity-first, flexible interventions
30
+ - Ledger mode: audit-first, stricter controls
31
+
32
+ - **Redaction** - Automatic secret removal from receipts
33
+ - Detects tokens, API keys, passwords, credentials
34
+ - Pattern-based with configurable behavior
35
+
36
+ - **Review Loop Diagnostics** - Actionable guidance when runs stop
37
+ - Explains why review loops were detected
38
+ - Suggests specific fixes based on timeline analysis
39
+ - Identifies unmet verification requirements
40
+
41
+ - **Inferred Attribution** - Reduce audit gaps automatically
42
+ - Commits within intervention SHA ranges classified as inferred
43
+ - Both explicit and inferred coverage tracked
44
+
45
+ ### Changed
46
+
47
+ - Intervention receipts now include SHA anchors (base_sha, head_sha)
48
+ - Audit shows dual coverage: explicit vs with-inferred
49
+ - Config schema extended for receipts and workflow mode
50
+
51
+ ### Documentation
52
+
53
+ - New: Hybrid Workflow Guide (`docs/hybrid-workflow-guide.md`)
54
+ - New: Intervention Patterns (`docs/examples/intervention-patterns.md`)
55
+
56
+ ## [0.6.0] - 2026-01-06
57
+
58
+ **Meta-Agent UX Sprint** — Smoother onboarding and smarter defaults.
59
+
60
+ ### Added
61
+
62
+ - **Runr Meta-Agent**: Built-in `runr meta` helper for agent workflow guidance
63
+ - **Claude Auto-Setup**: `--with-claude` flag wires CLAUDE.md scaffolding during init
64
+ - **Claude Templates**: `.claude/` template library for repeatable agent prompts
65
+ - **Enhanced Doctor**: Deeper diagnostics and clearer remediation in `runr doctor`
66
+
67
+ ## [0.5.0] - 2026-01-05
68
+
69
+ **Solo Workflow** — Effortless dev→main checkpoints with automated safety.
70
+
71
+ ### Added
72
+
73
+ - **Workflow System**: Three profiles (solo/pr/trunk) with bundle→submit integration
74
+ - `runr bundle <run_id>` — Generate deterministic markdown evidence packet
75
+ - `runr submit <run_id> --to <branch>` — Cherry-pick verified checkpoint to target branch
76
+ - Submit validation: clean tree, terminal state, verification evidence required
77
+ - Conflict handling: clean abort with diagnostic timeline event
78
+ - `--dry-run` mode for safe preview before integration
79
+
80
+ - **Workflow Packs**: One-command scaffolding for complete workflow setup
81
+ - `runr init --pack solo` — Dev branch workflow (dev → main, no PR)
82
+ - `runr init --pack trunk` — Trunk-based development (main only)
83
+ - `runr init --pack pr` — Pull request workflow (feature → main via PR)
84
+ - `runr packs` — List available packs
85
+ - Auto-generated `AGENTS.md` and `CLAUDE.md` with workflow-specific guidance
86
+ - Pack templates with variable substitution (project name, verification commands, branches)
87
+
88
+ - **Auto .gitignore Setup**: Packs automatically add runtime artifact entries
89
+ - `.runr/runs/` (runtime state)
90
+ - `.runr-worktrees/` (isolated worktrees)
91
+ - `.runr/orchestrations/` (orchestration artifacts)
92
+ - Keeps `.runr/runr.config.json` and `.runr/tasks/*.md` tracked
93
+
94
+ - **Meta-Agent Safety Contract**: Behavioral guardrails for agents driving Runr
95
+ - Rule 1: Never delete on dirty tree
96
+ - Rule 2: Never delete outside `.runr/` without explicit file list
97
+ - Rule 3: Must end with bundle + dry-run
98
+ - Embedded in pack templates (`CLAUDE.md`)
99
+
100
+ - **90-Second Demo**: `dogfood/hello-world/` minimal example
101
+ - Complete walkthrough in README
102
+ - Shows full workflow: init → run → bundle → submit
103
+ - Pre-initialized with solo pack
104
+
105
+ ### Documentation
106
+
107
+ - **Solo Workflow Example**: Canonical copy-paste reference ([docs/examples/solo-workflow.md](docs/examples/solo-workflow.md))
108
+ - Complete 6-step workflow loop
109
+ - Meta-agent integration patterns (Mode A/B)
110
+ - .gitignore policy explained
111
+ - Troubleshooting section
112
+ - Quick reference card
113
+
114
+ - **Comprehensive Documentation Overhaul**:
115
+ - [Workflow Guide](docs/workflow-guide.md) — Bundle/submit/integration workflows
116
+ - [Packs User Guide](docs/packs-user-guide.md) — Choosing and using packs
117
+ - [Safety Guide](docs/safety-guide.md) — All guard mechanisms documented
118
+ - Updated [CLI Reference](docs/cli.md) with bundle/submit/packs commands
119
+ - Updated [Configuration](docs/configuration.md) with workflow config section
120
+
121
+ ### Changed
122
+
123
+ - `runr init` with pack now creates workflow-ready project instead of minimal config
124
+ - Pack templates replace legacy example task files
125
+ - README.md now features 90-second demo and solo workflow reference
126
+
127
+ ### Fixed
128
+
129
+ - Documentation gaps: bundle/submit/packs were shipped but undocumented
130
+ - Legacy `.agent/` references throughout documentation
131
+ - Missing .gitignore guidance caused confusion about what to commit
132
+
133
+ ## [0.4.0] - 2026-01-03
134
+
135
+ **Case Files** — Every run leaves a machine-readable journal.
136
+
137
+ ### Added
138
+
139
+ - **Case Files**: Auto-generated `journal.md` + `journal.json` for every run
140
+ - Schema v1.0 with immutable facts (timestamps, milestones, verification attempts)
141
+ - Living data (append-only notes)
142
+ - Secret redaction in error excerpts
143
+ - Warnings array captures all extraction issues
144
+ - **CLI Commands**:
145
+ - `runr journal [run_id]` — Generate and display journal (defaults to latest)
146
+ - `runr note <message> [--run-id]` — Add timestamped note (defaults to latest)
147
+ - `runr open [run_id]` — Open journal in $EDITOR (defaults to latest)
148
+ - **Auto-generation**: Journals written on run completion (stop or finish)
149
+ - **Non-interactive safety**: `runr open` fails cleanly in CI or when $EDITOR unset
150
+
151
+ ### Fixed
152
+
153
+ - **Package bloat**: Excluded test files from npm package (81 → 69 files)
154
+ - **Deprecation warnings**: Replaced deprecated `getRunsRoot()` with `getRunrPaths().runs_dir`
155
+
10
156
  ## [0.3.0] - 2026-01-01
11
157
 
12
158
  **Renamed to Runr.** New identity, same reliability-first mission.
@@ -208,7 +354,10 @@ Initial stable release with full dual-LLM orchestration and autonomy features.
208
354
  - Worktree strategy documentation
209
355
  - CLI reference
210
356
 
211
- [Unreleased]: https://github.com/vonwao/runr/compare/v0.3.0...HEAD
357
+ [Unreleased]: https://github.com/vonwao/runr/compare/v0.6.0...HEAD
358
+ [0.6.0]: https://github.com/vonwao/runr/compare/v0.5.0...v0.6.0
359
+ [0.5.0]: https://github.com/vonwao/runr/compare/v0.4.0...v0.5.0
360
+ [0.4.0]: https://github.com/vonwao/runr/compare/v0.3.0...v0.4.0
212
361
  [0.3.0]: https://github.com/vonwao/runr/compare/v0.2.2...v0.3.0
213
362
  [0.2.2]: https://github.com/vonwao/runr/compare/v0.2.1...v0.2.2
214
363
  [0.2.1]: https://github.com/vonwao/runr/compare/v0.2.0...v0.2.1
package/README.md CHANGED
@@ -1,27 +1,80 @@
1
1
  # Runr
2
2
 
3
- **Stop losing 30 minutes when the agent derails.**
3
+ > Autopilot for AI-driven dev work: run tasks end-to-end, and when something breaks, stop cleanly with the next 3 best actions.
4
4
 
5
5
  ![Failure Recovery](demo/failure-checkpoint.gif)
6
6
 
7
- *When verification fails after 3 checkpoints, progress isn't lost — Runr saves verified work as git commits.*
7
+ ## Try it (2 minutes)
8
8
 
9
- ## Quickstart
9
+ ```bash
10
+ npm install -g @weldr/runr
11
+ runr init --demo
12
+ cd runr-demo
13
+ npm install
14
+
15
+ # Task 1: success
16
+ runr run --task .runr/tasks/00-success.md
17
+ runr report latest
18
+
19
+ # Task 2: failure + recovery
20
+ runr run --task .runr/tasks/01-intentional-fail.md
21
+ runr # shows STOPPED + 3 next actions
22
+ runr continue
23
+ runr report latest
24
+
25
+ # Task 3: scope guard (expected to stop)
26
+ runr run --task .runr/tasks/02-scope-violation.md
27
+ # STOPPED: scope guard. Runr tells you what to do.
28
+ ```
29
+
30
+ The demo creates a self-contained TypeScript project with three tasks: success, a failure that stops with next actions (then `continue`), and a scope guard stop.
31
+
32
+ **Runr is language-agnostic.** The demo is JS/TS because it's the fastest proof. Other languages work by swapping verification commands (e.g., `pytest -q` for Python, `go test ./...` for Go).
33
+
34
+ ---
35
+
36
+ ## In your own repo
10
37
 
11
38
  ```bash
12
39
  npm install -g @weldr/runr
13
- cd your-repo
14
- runr init
15
- runr run --task .runr/tasks/your-task.md --worktree
40
+ runr init --pack solo
41
+
42
+ # Start work
43
+ runr run --task .runr/tasks/example-task.md
44
+
45
+ # If it stops, do the obvious next thing
46
+ runr continue
47
+
48
+ # Inspect what happened
49
+ runr report latest
16
50
  ```
17
51
 
18
- **If it stops:** Run the suggested command in `.runr/runs/<run_id>/handoffs/stop.json`
52
+ ## What happens when it fails
53
+
54
+ Runr doesn't "keep going and hope." It stops with receipts and 3 next actions you can trust:
55
+
56
+ - **continue** — auto-fix what's safe, then resume
57
+ - **report** — open the run receipt: diffs + logs + timeline
58
+ - **intervene** — record manual fixes so they don't become black holes
59
+
60
+ That's the whole UX: keep momentum, keep receipts, never lose your place.
19
61
 
20
- ![Next Action](demo/next-action.gif)
62
+ ## The mental model
21
63
 
22
- *Runr writes a stop handoff so agents know exactly what to do next no guessing, no hallucinating.*
64
+ - **Autopilot:** run work in milestones with phase gates (plan implement verify review)
65
+ - **Recovery:** save checkpoints so you can resume from the last verified state
66
+ - **Runs:** capture diffs, verification logs, and interventions automatically
23
67
 
24
- ## How It Works
68
+ ## Quick links
69
+
70
+ - [Why Runr?](docs/why-runr.md)
71
+ - [Hybrid Workflow](docs/hybrid-workflow-guide.md)
72
+ - [CLI Reference](docs/cli.md)
73
+ - [Configuration](docs/configuration.md)
74
+
75
+ ---
76
+
77
+ ## How it works
25
78
 
26
79
  Runr orchestrates AI workers through phase gates with checkpoints:
27
80
 
@@ -30,93 +83,72 @@ PLAN → IMPLEMENT → VERIFY → REVIEW → CHECKPOINT → done
30
83
  ↑___________| (retry if verification fails)
31
84
  ```
32
85
 
33
- - **Phase gates** Agent can't skip verification or claim false success
34
- - **Checkpoints** Verified milestones saved as git commits
35
- - **Stop handoffs** Structured diagnostics with next actions
36
- - **Scope guards** Files outside scope are protected
86
+ - **Phase gates:** the agent can't skip verification or claim false success
87
+ - **Checkpoints:** verified milestones are saved as git commits
88
+ - **Stop handoffs:** structured diagnostics with next actions
89
+ - **Scope guards:** files outside scope are protected
37
90
 
38
- > **Status**: v0.3.0Renamed from `agent-runner`. Early, opinionated, evolving.
91
+ > **Status**: v0.7.xHybrid workflow with provenance tracking. Early, opinionated, evolving.
39
92
 
40
- ## Meta-Agent Quickstart (Recommended)
41
-
42
- **The easiest way to use Runr:** Let your coding agent drive it.
43
-
44
- Runr works as a **reliable execution backend**. Instead of learning CLI commands, your agent (Claude Code, Codex, etc.) operates Runr for you — handling runs, interpreting failures, and resuming from checkpoints.
93
+ ---
45
94
 
46
- ### Setup (One-Time)
95
+ ## Try it: Hello World
47
96
 
48
97
  ```bash
49
- # 1. Install Runr
50
- npm install -g @weldr/runr
51
-
52
- # 2. Verify environment
53
- runr doctor
54
-
55
- # 3. Create minimal config
56
- mkdir -p .runr/tasks
57
- cat > .runr/runr.config.json << 'EOF'
58
- {
59
- "agent": { "name": "my-project", "version": "1" },
60
- "scope": {
61
- "presets": ["typescript", "vitest"]
62
- },
63
- "verification": {
64
- "tier0": ["npm run typecheck"],
65
- "tier1": ["npm test"]
66
- }
67
- }
68
- EOF
98
+ cd dogfood/hello-world
99
+ npm install
100
+ runr run --task .runr/tasks/add-farewell.md --worktree
69
101
  ```
70
102
 
71
- ### Usage
103
+ Complete walkthrough in [dogfood/hello-world/README.md](dogfood/hello-world/README.md).
72
104
 
73
- Just tell your coding agent:
105
+ ---
106
+
107
+ ## Meta-Agent Mode
74
108
 
75
- > "Use Runr to add user authentication with OAuth2. Create checkpoints after each milestone."
109
+ **The easiest way to use Runr:** one command, zero ceremony.
76
110
 
77
- The agent will:
78
- 1. Create a task file (`.runr/tasks/add-auth.md`)
79
- 2. Run `runr run --task ... --worktree`
80
- 3. Monitor progress with `runr status`
81
- 4. Handle failures, resume from checkpoints
82
- 5. Report results with commit links
111
+ Best for: longer tasks, multiple milestones, and hands-off recovery.
83
112
 
84
- **See [RUNR_OPERATOR.md](./RUNR_OPERATOR.md)** for the complete agent integration guide.
113
+ Runr works as a **reliable execution backend** for meta-agents (Claude Code, Codex CLI). The meta-agent operates Runr for you — handling runs, interpreting failures, and resuming from checkpoints.
85
114
 
86
- ### Why This Works
115
+ ```bash
116
+ # Initialize with Claude Code integration
117
+ runr init --pack solo --with-claude
87
118
 
88
- Most devs already have a coding agent open. Telling them:
89
- - "Drop this in your agent, and it'll drive Runr for you"
119
+ # Launch meta-agent with workflow context
120
+ runr meta
121
+ ```
90
122
 
91
- …has near-zero friction compared to:
92
- - "Learn these CLI commands, create config files, understand phase gates"
123
+ The agent will automatically:
124
+ - Follow workflow rules from `AGENTS.md`
125
+ - Use safety playbooks from `.claude/skills/runr-workflow`
126
+ - Have `/runr-bundle`, `/runr-submit`, `/runr-resume` slash commands available
93
127
 
94
- The agent becomes your operator. Runr stays the reliable execution layer.
128
+ Tip: start from a clean tree. `runr meta` blocks if you have uncommitted changes.
95
129
 
96
130
  ---
97
131
 
98
- ## Quick Start (Direct CLI)
132
+ ## Direct CLI Usage
133
+
134
+ Tip: start from a clean tree (commit or stash first).
99
135
 
100
136
  ```bash
101
137
  # Install
102
138
  npm install -g @weldr/runr
103
139
 
104
- # Initialize in your project
140
+ # Initialize
105
141
  cd /your/project
106
- runr init
142
+ runr init --pack solo
107
143
 
108
144
  # Run a task
109
145
  runr run --task .runr/tasks/example-feature.md --worktree
110
146
 
111
- # If it fails, resume from last checkpoint
112
- runr resume <run_id>
113
-
114
- # Get machine-readable diagnostics
115
- runr summarize <run_id>
116
- # Output: .runr/runs/<run_id>/handoffs/stop.json
147
+ # Submit verified checkpoint
148
+ runr submit <run_id> --to dev
117
149
  ```
118
150
 
119
- > Prefer source install? See [Development](#development).
151
+ ---
120
152
 
121
153
  ## Configuration
122
154
 
@@ -132,13 +164,15 @@ Create `.runr/runr.config.json`:
132
164
  },
133
165
  "verification": {
134
166
  "tier0": ["npm run typecheck"],
135
- "tier1": ["npm run build"],
136
- "tier2": ["npm test"]
167
+ "tier1": ["npm test"],
168
+ "tier2": ["npm run build"]
137
169
  }
138
170
  }
139
171
  ```
140
172
 
141
- ### Scope Presets
173
+ Tiers run from fast → slow. Keep `tier0` as a quick sanity check.
174
+
175
+ ### Scope presets
142
176
 
143
177
  Don't write patterns by hand:
144
178
 
@@ -152,30 +186,25 @@ Don't write patterns by hand:
152
186
 
153
187
  Available: `nextjs`, `react`, `drizzle`, `prisma`, `vitest`, `jest`, `playwright`, `typescript`, `tailwind`, `eslint`, `env`
154
188
 
189
+ ---
190
+
155
191
  ## CLI Reference
156
192
 
157
193
  | Command | What it does |
158
194
  |---------|--------------|
159
- | `runr init` | Initialize config (auto-detect verify commands) |
195
+ | `runr` | Show status and next actions |
160
196
  | `runr run --task <file>` | Start a task |
161
- | `runr resume <id>` | Continue from checkpoint |
162
- | `runr watch <id> --auto-resume` | Watch run + auto-resume on failure |
163
- | `runr status [id]` | Show run state |
164
- | `runr follow [id]` | Tail run progress |
165
- | `runr report <id>` | Generate run report (includes next_action) |
166
- | `runr gc` | Clean up old runs |
167
- | `runr doctor` | Check environment |
197
+ | `runr continue` | Do the next obvious thing |
198
+ | `runr report <id>` | View run receipt: diffs, logs, timeline |
199
+ | `runr resume <id>` | Resume from checkpoint |
200
+ | `runr intervene <id>` | Record manual work |
201
+ | `runr submit <id> --to <branch>` | Submit verified checkpoint |
202
+ | `runr meta` | Launch meta-agent with workflow context |
203
+ | `runr init` | Initialize Runr in a repo |
204
+ | `runr runs bundle <id>` | Generate evidence bundle |
205
+ | `runr tools doctor` | Check environment health |
168
206
 
169
- ### Aliases
170
-
171
- Same functionality, different vibe:
172
-
173
- ```bash
174
- runr summon --task task.md # run
175
- runr resurrect <id> # resume
176
- runr scry <id> # status
177
- runr banish # gc
178
- ```
207
+ ---
179
208
 
180
209
  ## Task Files
181
210
 
@@ -197,6 +226,8 @@ OAuth2 login with Google.
197
226
  - Session persists across refreshes
198
227
  ```
199
228
 
229
+ ---
230
+
200
231
  ## Stop Reasons
201
232
 
202
233
  When Runr stops, it tells you why:
@@ -209,7 +240,9 @@ When Runr stops, it tells you why:
209
240
  | `review_loop_detected` | Reviewer kept requesting same changes |
210
241
  | `time_budget_exceeded` | Ran out of time |
211
242
 
212
- Every stop produces `stop.json` + `stop.md` with diagnostics.
243
+ Every stop produces structured diagnostics with next actions.
244
+
245
+ ---
213
246
 
214
247
  ## Philosophy
215
248
 
@@ -221,15 +254,7 @@ This isn't a code generator. It orchestrates generators.
221
254
 
222
255
  Agents lie. Logs don't. If it can't prove it, it didn't do it.
223
256
 
224
- ## Migrating from agent-runner
225
-
226
- | Old | New |
227
- |-----|-----|
228
- | `agent` CLI | `runr` CLI |
229
- | `.agent/` directory | `.runr/` directory |
230
- | `agent.config.json` | `runr.config.json` |
231
- | `.agent-worktrees/` | `.runr-worktrees/` |
232
- Old paths still work for now, with deprecation warnings.
257
+ ---
233
258
 
234
259
  ## Development
235
260
 
@@ -239,18 +264,6 @@ npm test # run tests
239
264
  npm run dev -- run --task task.md # run from source
240
265
  ```
241
266
 
242
- ## Release History
243
-
244
- | Version | Date | Highlights |
245
- |---------|------|------------|
246
- | v0.3.0 | **Renamed to Runr**, new CLI, new directory structure |
247
- | v0.2.2 | Worktree location fix, guard diagnostics |
248
- | v0.2.1 | Scope presets, review digest |
249
- | v0.2.0 | Review loop detection |
250
- | v0.1.0 | Initial stable release |
251
-
252
- See [CHANGELOG.md](CHANGELOG.md) for details.
253
-
254
267
  ## Contributing
255
268
 
256
269
  See [CONTRIBUTING.md](CONTRIBUTING.md).
@@ -261,4 +274,4 @@ Apache 2.0 — See [LICENSE](LICENSE).
261
274
 
262
275
  ---
263
276
 
264
- <sub>Existence is pain, but shipping is relief.</sub>
277
+ <sub>Shipping beats rerunning the same milestone twice.</sub>