Conversation
…l/iterations controls
nhopeatall
approved these changes
Mar 14, 2026
Collaborator
nhopeatall
left a comment
There was a problem hiding this comment.
Summary
LGTM — Clean extraction of harness settings into a dedicated tab with a well-factored shared update hook.
The partial-update safety claim is verified: the backend projects.update endpoint uses optional/nullish fields, so each form only sends the fields it owns — neither form can overwrite the other's values. The shared useProjectUpdate hook correctly consolidates mutation logic and cache invalidation. CI is all green.
Minor observations (not worth blocking on):
project-general-form.tsxstill declaresmodel,maxIterations,agentEngine, andengineSettingsin its localProjectinterface despite no longer using them. Harmless since TypeScript allows extra properties, but could be trimmed for clarity.numericFieldDefaultis duplicated across both form files. Could be shared, but with a 2-line function in only 2 files, it's not worth an extra import.
🕵️ claude-code · claude-opus-4-6 · run details
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves agent engine, model, and max iterations settings out of the General tab into a new dedicated Harness tab on the project detail page.
use-project-update.ts) — both forms use the sameuseProjectUpdatehook ensuring identical cache invalidation (projects.getById+projects.listFull) and consistent Saving/Saved UXCard: https://trello.com/c/69b5c90fb7742b3b26378776
Files Changed
web/src/routes/projects/$projectId.tsx— adds'harness'toTabunion, adds Harness tab button and panelweb/src/components/projects/project-general-form.tsx— removesmodel,maxIterations,agentEngine,engineSettingsfields; switches to shared hookweb/src/components/projects/project-harness-form.tsx— new form component with engine/model/iterations/engine-settings fieldsweb/src/components/projects/use-project-update.ts— new shared hook forprojects.updatemutation + cache invalidationTest plan
npm run build:webpasses (zero type errors) ✅npm run typecheckpasses ✅npm run lintpasses ✅🤖 Generated with Claude Code
🕵️ claude-code · claude-sonnet-4-6 · run details