docs: expand Factory agents third-party harness setup (DOCFAC-1787856600) - #647
Conversation
Co-Authored-By: Warp <agent@warp.dev>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This PR was generated with Warp. Comment |
…600) Co-Authored-By: Warp <agent@warp.dev>
|
@warp-agent-staging[bot] I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR expands the Factory agents documentation with a third-party harness setup workflow and related harness authentication/model updates. The docs changes are mostly focused and no security findings surfaced, but the added validation checklist conflicts with the PR's reported verification.
Concerns
- The new required validation checklist says
trunk fmt,trunk check, and a computer-use pass must all pass before merge, but the PR description says those gates were not run.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /warp-agent-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: warp-factory.
|
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: warp-factory.
|
- Correct the worker-environment recovery sequence: switch hosts first, then select a compatible team-owned managed secret. - Add an expected outcome after Save changes so readers can verify the harness, auth, and model saved correctly. - Remove em dashes from procedural steps 1 and 3 per the style guide.
…OCFAC-1787856600) Items 9-10 required trunk fmt/check and a computer-use video, but neither ran: trunk isn't vendored in this sandbox and the change is pure prose in an existing procedure with no new UI surface. Revise both items to name the checks actually available and run, per the PR body's Verification section.
8541f16 to
9038e41
Compare
- Remove the internal spec file from the branch per requester request. - Update the Codex model list to the current model catalog (config/harness_models.go in warp-server) instead of stale examples. - Simplify the Warp-managed vs GitHub-backed factory settings explanation for clarity. - Trim the third-party harness configuration steps to what's required, cutting internal implementation detail not needed by readers. DOCFAC-1787856600
Co-authored-by: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com>
Co-authored-by: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com>
Co-authored-by: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com>
Co-authored-by: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com>
- Apply remaining suggested edits from rachaelrenk's review on PR #647: bulleted Warp-managed/GitHub-backed settings explanation, reworded dashboard nav step, reordered/oriented harness-config steps, simplified Model step, corrected Save button step, tightened auth-secret scoping note in authentication.mdx. - Add the cleaned-up, cropped screenshot from Rachael's comment to the Auth step of the third-party harness procedure. - Cross-link the Definitions as code agentDefaults.harness reference back to the dashboard procedure in factory-agents.mdx. - Encode the recurring editorial patterns from her review (orient before instructing within a step, bold only interactive elements vs quotes for static labels, move reference detail into a :::note, don't duplicate a caveat) into AGENTS.md's style guide and draft_procedural/SKILL.md.



Summary
Expands the Factory agents docs with a concrete, code-grounded setup workflow for running an agent on Claude Code or Codex instead of the Warp Agent harness.
factories/factory-agents.mdxgains a "Configuring a third-party harness" procedure: choose the harness, choose or create a compatible team-owned auth secret (or "From worker environment" on a self-hosted host), choose a model (with Codex's reasoning-level-paired options), and save. Gotchas (disabled/unentitled harness recovery, auth clearing on harness switch, no Codexdefaultmodel, dashboard vs. file-managed editing) are woven inline into the relevant step rather than collected in a separate section, and the paid-plan requirement links to Warp pricing.platform/harnesses/authentication.mdxclarifies that factory agents can only select team-scoped secrets (personal secrets apply to ad hoc cloud runs instead).platform/harnesses/codex.mdxremoves the incorrect claim that Codex has adefaultmodel option (the server's harness model catalog has no such entry; every Codex model pairs a specific reasoning level) and cross-links back to the Factory agents procedure.platform/harnesses/claude-code.mdxadds the same cross-link back to the Factory agents procedure.Grounded in
warp-serverat the reviewed commit:client/packages/factory/src/components/harness-config/HarnessConfigRows.tsx,harness-auth-secret/HarnessAuthPicker.tsx,harness-auth-secret/auth-secret-types.ts,model/types/enums/managed_secret_type.go,logic/agent_entitlements.go,logic/harness_availability.go, andconfig/harness_models.go.Rework changes
.agents/specs/DOCFAC-1787856600-third-party-harness-guidance.md:45-46): the checklist requiredtrunk fmt/trunk checkand a computer-use video, but neither ran. Revised both items to name the checks actually available (check_links.py,style_lint.py --changed,npm run build) and to explain whytrunk(not vendored in this sandbox) and computer use (pure prose change, no new UI surface) were skipped.Follow-up pass (direct requester review comments, tracker down):
.agents/specs/DOCFAC-1787856600-third-party-harness-guidance.mdis no longer shipped in this PR.platform/harnesses/codex.mdx:27): replaced the example models with the current Codex harness catalog, sourced fromconfig/harness_models.goin warp-server —gpt-5.6-sol/gpt-5.6-terra/gpt-5.6-luna(latest generation),gpt-5.5(prior generation),gpt-5.4/gpt-5.4-mini(fallback), andgpt-5.3-codex(older).factories/factory-agents.mdx:104): trimmed internal implementation detail — dropped the literal UI error-message quote, the self-hosted-worker "From worker environment" nuance, and the model-catalog-reset explanation — keeping only what a reader needs to complete the task.factories/factory-agents.mdx:80): reworded to lead with "a factory's settings live in one of two places" and describe each option in its own sentence instead of one dense contrasting sentence.Rework changes
Addressed rachaelrenk's direct GitHub review comments on
factories/factory-agents.mdxandplatform/harnesses/authentication.mdx:factories/factory-agents.mdx:66,:73): reworded the dashboard-navigation step to name the sidebar before the click, per her suggestion (the settings-page step already matched).:80): replaced the sentence with her two-bullet version plus the "where the definition lives" link.:106): reworded to "Change an agent's harness to Claude Code or Codex to run it with that provider's own coding tool instead of the Warp Agent.":108): rewrote as two self-contained, oriented steps ("From the factory dashboard sidebar..." / "In the 'Harness' dropdown, select...") and dropped the caveat that's already stated in the note above.:109): simplified to a single action and moved the accepted-credential-type list into a:::note. Added the screenshot from her comment (cropped to the agent settings pane and cleaned up per the screenshot sizing conventions) showing the Auth field's open dropdown.:117): simplified per her suggestion; on her question about the reasoning-level detail, decided to drop it rather than fold it into the note, since the Codex model catalog's reasoning-level pairing is already documented on the linked model-choice/harnesses pages referenced right above the procedure (replied on-thread with the reasoning).:118): now reads "In the top-right corner, click Save."platform/harnesses/authentication.mdx:13): split into two sentences per her suggestion.Also verified, no code change needed:
platform/harnesses/codex.mdx:27) still matches the current catalog inconfig/harness_models.goin warp-server.factories/factory-as-code.mdx'sagentDefaults.harnessreference already documents third-party-harness configuration via files (type,model,reasoningLevel,authsource); added a link back to the dashboard procedure so the two pages cross-link bidirectionally.Encoded the recurring editorial patterns from this review into the repo's own style guide (
AGENTS.md) and.agents/skills/draft_procedural/SKILL.md: orient the reader (name the field/location) before naming the action within a step, use quotation marks (not bold) for a non-interactive field label, move reference-detail lists out of an instruction into a:::note, and don't duplicate the same caveat in more than one place on a page.Rework changes
Verification
This is a content-only docs change with no application UI to exercise, so no computer-use pass was run (per this task's brief).
python3 .agents/skills/check_for_broken_links/check_links.py— 3935 internal links checked (including the new anchors), 0 broken.python3 .agents/skills/style_lint/style_lint.py --changed— 0 errors. Remaining warnings are pre-existing (unrelated lines in the touched files) or the same "bolded UI term not in glossary" pattern the linter already reports for existing bolded field labels (Harness, Model, API and SDK) elsewhere in these same pages — expected for literal UI control names, not a content issue.npm run build— completed successfully.trunkisn't vendored in this sandbox (per the repo's own note), sotrunk fmt/trunk checkweren't run locally.This is a pure data/copy change, so no regression test applies (testing-exempt: skill-doc-only analog for content pages).
Re-verified after this follow-up pass:
check_for_broken_links/check_links.py— 0 broken links.style_lint/style_lint.py --changed— 0 new issues on the touched lines.npm run build— completed successfully.gh pr checks 647— all 8 checks passing, includingverification/cla-signed.Re-verified after this rework pass:
check_for_broken_links/check_links.py— 3971 internal links checked, 0 broken.style_lint/style_lint.py --changed— 0 errors (only pre-existing warnings unrelated to the touched lines).npm run build— completed successfully.npm run dev) and visually confirmed the new screenshot, note, and numbered steps render correctly.Re-verified after refreshing the stale visual-proof artifact (no content changes in this pass):
check_for_broken_links/check_links.py— 0 broken links.style_lint/style_lint.py --changed— 0 errors.npm run build— completed successfully.Originating thread: https://warpdev.slack.com/archives/C09BVK0PL3Y/p1787856600202009
Computer-use video recordings
Configuring a third-party harness walkthrough: Scrolling through the Factory agents docs page showing the "Configuring a third-party harness" subsection: heading, intro, steps 1-5, embedded screenshot with note, and closing paragraph.
Computer-use screenshots (2)
The "Configuring a third-party harness" section showing the embedded screenshot in step 3 (Unleash Factory Implement Agent settings page with Auth dropdown open), its figcaption, and the Note callout listing Claude Code/Codex API key requirements with links.
The "Configuring a third-party harness" section heading with numbered steps 1-3 (dashboard navigation, Harness dropdown selection, Auth field configuration) and the start of the embedded screenshot of the Unleash Factory Implement Agent settings page for step 3.