Skip to content

Add target editing through API and UI#17

Merged
nathanwhit merged 1 commit into
nathanwhit:mainfrom
nathanwhitbot:orcha/impl-13967347
Jun 15, 2026
Merged

Add target editing through API and UI#17
nathanwhit merged 1 commit into
nathanwhit:mainfrom
nathanwhitbot:orcha/impl-13967347

Conversation

@nathanwhitbot

Copy link
Copy Markdown
Contributor

Summary

  • Add backend support for editing existing targets via PATCH /api/targets/{id}
  • Persist mutable target fields and SSH metadata while preserving status/runtime state
  • Wire an edit modal into the Targets UI and refresh the list after updates
  • Add focused store/API coverage for target updates and capacity adjustment

Verification

  • Worker reported focused Go tests and UI build/test checks completed
  • git diff --check clean

@nathanwhit nathanwhit enabled auto-merge (squash) June 15, 2026 19:19
@nathanwhit nathanwhit disabled auto-merge June 15, 2026 19:19
@nathanwhitbot

Copy link
Copy Markdown
Contributor Author

Resolved the merge conflict by rebasing this branch onto the latest main.

The only conflict was in ui/src/api.ts: main (#16, project editing) added a put<T> helper at the same spot where this PR added a patch<T> helper. Both are needed, so I kept both functions side by side. The rest of the changes auto-merged cleanly.

Verification after rebase:

  • go build ./... — clean
  • go test ./internal/... — all packages pass
  • npm run build (tsc typecheck + vite) — clean
  • git diff --check — clean

Force-pushed the rebased branch (history rewrite).

nathanwhit added a commit that referenced this pull request Jun 15, 2026
A manager-spawned pr_followup (#17) hit 'store: not found' on update_pr and
its fix commit was stranded — three layered root causes, all fixed here.

RC1 (id mismatch): update_pr/comment_pr required the internal Orcha pr_id but
agents naturally pass the GitHub PR number they see everywhere. Add resolvePR:
accept either, resolving a bare number within the caller's objective, and on
miss return an error listing the objective's PRs and ids instead of a bare
'not found'.

RC2 (no workspace): a follow-up's PR-branch checkout + pr_id were only wired up
in the automatic ProcessFeedback path. A manager spawning pr_followup/ci_followup
via spawn_session got none of it, so the worker ran in a scratch dir and its
commit went to a stranded branch. Extract spawnPRFollowup as the single creation
path; add an address_pr_feedback manager tool; remove the follow-up roles from
spawn_session and reject them there so the wiring can't be bypassed.

RC3 (silent wrong push): UpdatePR fell back to the orchestrator's own cwd when
no workspace resolved, pushing the wrong branch (or nothing) silently. Resolve
the checkout from the PR's own branch workspace and refuse to push when none
exists.

Updates manager steering/guidance to point at address_pr_feedback. Adds tests
covering id resolution, the spawn_session guard, address_pr_feedback wiring, and
the no-checkout refusal.
@nathanwhit nathanwhit merged commit e1f53e7 into nathanwhit:main Jun 15, 2026
1 check passed
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.

2 participants