Skip to content

feat: verbose/quiet toggle, PR revision support, demo screenshots, plans#20

Merged
abrichr merged 5 commits intomainfrom
feat/bot-verbose-quiet
Mar 4, 2026
Merged

feat: verbose/quiet toggle, PR revision support, demo screenshots, plans#20
abrichr merged 5 commits intomainfrom
feat/bot-verbose-quiet

Conversation

@abrichr
Copy link
Member

@abrichr abrichr commented Mar 3, 2026

Summary

Notification Toggle

  • /verbose (default) — all event notifications
  • /quiet — suppress noisy events (edits, test runs, cloned); deliver non-loud events silently

PR Revision Support (3 methods)

  • Reply-based: reply to any job message with feedback → revision job on same branch
  • /revise <job_id> <feedback>: explicit revision command
  • /task <pr_url> <feedback>: detects PR URLs, looks up branch, creates revision job
  • Worker supports checking out existing remote branches for revisions
  • New DB columns: feature_branch, parent_job_id

Claude-Generated PR Titles

  • System prompt instructs Claude to write a .wright-pr-title file
  • Falls back to task text if no title file found

Demo Screenshots

Desktop (Telegram + GitHub):

Desktop demo

Mobile (Telegram + GitHub):

Mobile demo

Planning Docs

  • docs/plans/cli-tool.md — Wright CLI tool design
  • docs/plans/blog-platform.md — blog.openadapt.ai platform evaluation
  • docs/guides/macos-desktop-restore.md — restore ~/Desktop from iCloud

Other

  • Bot fly.toml fix for monorepo build context
  • Supabase migration for revision columns

Test plan

  • Bot builds
  • Worker builds
  • 53/53 worker tests passing
  • Bot deployed to Fly.io (v4)
  • Worker deployed to Fly.io (v13)
  • Supabase migration applied
  • Test /revise command end-to-end
  • Test reply-based revision end-to-end
  • Test /task with PR URL end-to-end

🤖 Generated with Claude Code

abrichr and others added 4 commits March 3, 2026 14:42
Adds per-chat notification mode so users can switch between verbose
(all events) and quiet (milestones only) modes. In quiet mode, noisy
events like edits, test runs, and clones are suppressed entirely, while
non-loud events are delivered silently.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 10 screenshots (4 desktop, 6 mobile) showing the full Wright
pipeline: task submission via Telegram, progress events, job completion
with approve/reject buttons, and the resulting GitHub PR.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Generate labeled 2x2 desktop and 3x2 mobile composite images via
ImageMagick montage, replacing verbose markdown tables with single
images for a cleaner README.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR revision support (3 methods):
- Reply to any job message with feedback to revise its PR
- /revise <job_id> <feedback> for explicit revision
- /task <pr_url> <feedback> detects PR URLs and creates revision jobs

Worker changes:
- checkoutExistingBranch() for revision jobs (push to existing PR)
- Claude generates PR titles via .wright-pr-title file
- Skip PR creation for revision jobs (PR already exists)

Shared types: add feature_branch and parent_job_id to Job
Migration: add feature_branch and parent_job_id columns to job_queue

Also includes:
- macOS Desktop restore guide (docs/guides/)
- Blog platform and CLI tool plans (docs/plans/)
- Bot fly.toml fix for monorepo build context

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@abrichr abrichr changed the title feat: add /verbose and /quiet notification toggle feat: verbose/quiet toggle, PR revision support, demo screenshots, plans Mar 4, 2026
…runner

- Add getJobByPrefix() to bot supabase.ts for 8-char short ID lookup
  (reply-based revision was broken — getJob() requires exact UUID)
- /revise and reply handler now fall back to prefix match
- /task <pr_url> now looks up the original job to set parentJobId,
  so the worker can find the existing PR URL for revision jobs
- test-runner.ts: add SAFE_ENV_KEYS allowlist to execSync calls in
  installDependencies() and runTests() — prevents leaking secrets
  (SUPABASE_SERVICE_ROLE_KEY, ANTHROPIC_API_KEY, BOT_TOKEN) to cloned repos
- Remove dead getPrBranch() from github-ops.ts
- Move child_process import to top-level in bot index.ts
- Fix let -> const for originalJob in reply handler

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@abrichr abrichr merged commit 7ef67d8 into main Mar 4, 2026
1 check passed
@abrichr abrichr deleted the feat/bot-verbose-quiet branch March 4, 2026 01:18
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