Skip to content

Configurable autonomy, agents, and project delivery for Ripple#1

Open
adamaoc wants to merge 17 commits into
mainfrom
adamaoc/phased-updates
Open

Configurable autonomy, agents, and project delivery for Ripple#1
adamaoc wants to merge 17 commits into
mainfrom
adamaoc/phased-updates

Conversation

@adamaoc

@adamaoc adamaoc commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Summary

This PR turns Ripple from a single hardcoded delivery loop (Codex implement → Grok review → auto-merge) into a configurable, local-first delivery system with clear product rules:

  • Autonomy is per project — autonomous vs supervised
  • Agent tooling is global — Settings binds Implementer and Reviewer
  • Done always means merged — including supervised human merge and external GitHub merge sync

What’s included

Autonomy & supervised delivery

  • Per-project autonomyMode (autonomous | supervised)
  • New story status in_review (board, backlog, API restrictions)
  • Supervised pipeline stops after PR + agent review (no auto-fix / auto-merge)
  • Human actions on the story panel:
    • Act on review comments (no quality gate; loops back to in_review)
    • Merge pull request (quality gate required)
    • Sync PR status when the PR was already merged on GitHub
  • Queue continues while a story is waiting on a human
  • Run UI distinguishes merged vs “waiting on you”

Global agent settings

  • Provider registry + role binding in Settings → Agents
  • Default seed: Codex CLI (implementer), Grok CLI (reviewer)
  • CLI path overrides with precedence: env > settings path > auto-detect
  • Tool status probes (Codex / Grok / gh)
  • AgentRunner abstraction for implement/review paths
  • OpenAI-compatible HTTP API reviewers (keys stored locally, masked in UI, never in transcripts)
  • Implementer remains CLI-only in v1

Workspace onboarding

  • Project setup checklist (path, git, remote, clean tree warn, implementer/reviewer/gh auth)
  • Verify setup in project settings
  • Detect/use git repo root when path is a subdirectory
  • Clone from GitHub into ~/RippleWorkspaces (or chosen parent)
  • Create project from the dashboard UI (API create still available)

Per-project delivery settings

Every control has a real pipeline consumer:

Setting Effect
Default branch override Checkout when auto-detect is wrong
PR base branch gh pr create --base
Quality gate mode strict fail vs warn continue
Delete branch on merge Remote + local cleanup
Branch name template {id} / {slug} / {prefix}

Docs

  • README, About, bot-api, and OpenAPI updated for the new workflow
  • Temporary implementation plan removed

Test plan

  • go test ./...
  • go vet ./...
  • Smoke: create project in UI → set path / verify setup → queue a story
  • Autonomous project: run completes through merge → story done
  • Supervised project: run pauses at in_review → act on feedback → merge (or sync external merge)
  • Settings: CLI path overrides; bind API provider as Reviewer only
  • Delivery settings: branch template / quality gate warn / delete-on-merge off
  • Confirm API keys never appear in run transcripts or story events

adamaoc added 3 commits July 14, 2026 09:05
Add default branch override, PR base, quality gate mode, delete-on-merge,
and branch name templates with Workspace/Delivery/Advanced project UI.
Update README and About for supervised delivery, global agents, and
local trust model. Clarify bot-api statuses and delete the phase plan.
@adamaoc adamaoc changed the title working on agent and settings updates Configurable autonomy, agents, and project delivery for Ripple Jul 14, 2026
Comment thread static/styles.css Outdated
Comment thread docs/bot-api.md Outdated
Comment thread static/styles.css Outdated
adamaoc added 14 commits July 15, 2026 07:46
Use specificity instead of !important for checkbox labels and PR link rows, and replace personal workingDirectory examples with generic paths in docs and board placeholders.
Replace personal project examples (TXGarage, Real View, etc.) with generic Acme/Harbor samples and matching story IDs.
Replace the always-visible onboarding panel with a header button that opens a dialog for manual project creation.
Keep name/prefix inputs on one row and move helper text out of the label so side-by-side fields stay level.
Grok CLI reviewer now uses the installed default model instead of -m grok-build, which is no longer a valid model id.
Disable all in-review action buttons on submit, update the active button label, and surface a spinner status so merge/feedback/sync feel in progress.
Stories waiting on a human now show Act on feedback, Merge, and Sync controls on the run page next to the PR link, so supervised delivery can continue without opening the story modal.
gh pr view --json comments only returns conversation comments, so human line notes on the diff were dropped. Fetch /pulls/{n}/comments and prioritize those over agent review posts.
Flip the run-page awaiting header to Running while an agent action is in progress, and rename sync to I already merged on GitHub so its purpose is obvious.
Redirect form failures with a visible error banner instead of raw JSON, and disable every waiting-on-you action card when one is submitted so concurrent merges cannot race the agent lock.
Stop filtering each dropdown to a single CLI. Both CLI providers appear in both selects, the same agent may fill both roles, and API providers remain reviewer-only.
Refresh origin/main before creating feature branches, move uncommon supervised actions into a ⋯ menu, and add Fix merge conflicts as an implementer pass that merges the base branch and resolves markers.
Treat working-tree conflict markers as the source of truth after an agent pass, stage and commit resolved merges, and resume an in-progress merge on retry instead of failing checkout.
Default to PRs and comments as the signed-in user, Ripple-authored commits with Co-authored-by human, and optional bot token for PR author or agent review comments.
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