Repository navigation
docs: pass dynamic setup choices through run metadata - #967
Merged
Merged
Conversation
Add a configured-agent recipe and environment/orchestration cross-links. Distinguish per-run setup from pre-warmed task-time initialization, and document bounded string inputs and namespace safety. Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Author
|
This PR was generated with Warp. Comment |
Contributor
Author
There was a problem hiding this comment.
Overview
Adds a dynamic setup recipe and discovery links. Publishing needs engineering confirmation of production availability.
Verdict
Checks: build pass, tests pass, CI green, visual proof present
Found: 0 critical, 1 important, 0 suggestions, 0 nits
Responding as Docs Factory (V2): Open session · View in factory
Use backend and frontend setup profiles in the metadata recipe while preserving configured-agent dispatch, validation, and setup timing guidance. Co-Authored-By: Oz <oz-agent@warp.dev>
Replace framing and bold taxonomy with direct instructions while retaining metadata limits, precedence, security boundaries, and setup timing. Co-Authored-By: Oz <oz-agent@warp.dev>
Add a Requirements subheading above the existing metadata bullets. Co-Authored-By: Oz <oz-agent@warp.dev>
Rename the H4 to Metadata limits and behavior without changing its contents. Co-Authored-By: Oz <oz-agent@warp.dev>
Rewrite the full recipe, foreman example, and both discovery links with short active sentences and dictionary-checked ordinary vocabulary. Preserve setup timing, metadata rules, and the executable examples. Co-Authored-By: Oz <oz-agent@warp.dev>
Keep the metadata access and credential guidance without implying that the run details UI renders arbitrary metadata. Co-Authored-By: Oz <oz-agent@warp.dev>
Define string inputs and the foreman's role, explain environment-variable delivery and script consumption, and separate metadata from the operations scripts perform. Keep the recipe and reference unchanged. Co-Authored-By: Oz <oz-agent@warp.dev>
dmichelin
marked this pull request as ready for review
October 29, 2026 22:47
dmichelin
approved these changes
Oct 29, 2026
Contributor
Author
|
@dmichelin, your GitHub account is not connected to Warp. Connect your GitHub account. |
This branch was successfully deployed
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.



What this feature does
Run metadata lets a foreman pass task-specific initialization choices to an existing implementation agent without duplicating its execution configuration. The recipe selects a backend or frontend setup profile through your own script, with separate instructions for per-run setup and pre-warmed task-time initialization. No production deployment date or minimum client version is asserted.
Summary
Adds Select a setup profile for each task below Dispatch a configured agent, plus discovery links from environment setup and orchestration. Documents string-only metadata, batch defaults, per-child overrides, inherited keys, normalization collisions, and credential boundaries. No new page, factory YAML field, runner, or environment is introduced.
Content design plan
Verification
npm run typecheck— passed, 0 errors.npm run test:heading-vars— passed, 5 tests.npm run build— passed, 401 pages.npm run test:heading-tocs— passed, 3,393 TOC entries across 401 pages.npm run test:homepage-json-ld— passed.python3 .agents/skills/style_lint/style_lint.py --changed --output /tmp/dynamic-setup-ste-style.json— scanned all 3 changed files; one unchanged warning for bold “Runs” in the orchestration page; no new warnings.python3 .agents/skills/check_for_broken_links/check_links.py --internal-only— passed, 4,497 internal links, 0 broken.python3 .agents/skills/doc_quality_policy/check_compression_contract.py PATH --content-type feature-doc— passed separately for all 3 changed pages.bash -npassed; both allowed profiles were forwarded exactly once; unset, empty, unknown, shell-injection-shaped, and space-containing inputs failed without invoking the installer; installer exit 23 propagated. Parsed the JSON and checkedremote: {}, configured-agent UID selection, and string metadata without execution overrides.git diff --check— passed. Full-diff and deletion-only editorial passes completed; no comment lines added.trunk checkandtrunk fmt— unavailable (trunk: command not found).STE validation
Reviewed the complete added narrative against ASD-STE100 Issue 9 (2025-01-15), including the official dictionary.
Scope: both headings, the full recipe and metadata reference, the natural-language foreman instructions, and both discovery paragraphs. Bash and JSON examples are byte-for-byte unchanged.
Sentence and paragraph audit: 57 sentences; maximum 16 words under rules 8.4, 8.6, and 8.7; maximum four sentences per paragraph. This is below both the 20-word procedural limit and 25-word descriptive limit. Instructions use imperatives, one instruction per sentence, and conditions before commands. Checked active voice, permitted verb forms, articles, contractions, noun groups, and consistent terminology.
Vocabulary: manually checked ordinary words for approved meaning, part of speech, and form. Removed unapproved ordinary uses such as “another,” “anyone,” “instead of,” and “actions.” Retained specific computer-science technical nouns under rule 1.5, category 19: agents, runs, setup profiles, build targets, metadata and string fields, scripts, sandboxes, execution configuration, credentials, and environment variables. The technical verbs
runandinstalland participial adjectives fromconfigure,host, andpre-warmuse rule 1.12, category 2, and rule 1.13.Limits: this is a manual rules-and-dictionary review, not ASD approval or an independently certified conformance result. Technical terms, identifiers, and the unchanged Bash/JSON literals remain technical content; existing adjacent page prose is outside this revision's scope.
For the full STE rewrite, ran the complete repository test sequence and checks above, plus
python3 /tmp/check-setup-ste.pyandpython3 /tmp/check-generic-setup-example.py. Both verification-only scripts passed and are not committed. Reviewed the full diff and completed the deletion-only editorial pass; no comment lines added.UI-claim correction: deleted only “The run details show the metadata.” The Metadata panel enumerates selected fields, not arbitrary
setup_profilemetadata (RunMetadataPanel.tsx:471–580;RunDetailSidePane.tsx:192–200). Kept the three access/security sentences unchanged. Re-rannpm run build(401 pages),npm run test:heading-tocs(3,393 entries),npm run test:homepage-json-ld, changed-file style lint, affected-page compression, the STE audit, and whitespace checks; passed with only the unchanged “Runs” style warning. Linux Chromium verified and captured the corrected paragraph. Other checks from the full rewrite carry forward; Bash/JSON remain unchanged.Introduction expansion: replaced only the opening paragraph with three conceptual paragraphs (107 words, eight sentences). Defined the per-run string inputs, foreman/child relationship, reuse of execution configuration,
WARP_METADATA_*delivery before ordinary setup, script-owned test/build choices, and the non-automatic installation boundary; then introduced backend/frontend as the setup example. A byte comparison confirms the procedure, precise limits, timing/pre-warming/security guidance, and Bash/JSON are unchanged. Manually checked new vocabulary against Issue 9:input,set,group,test, andexampleuse approved noun meanings;build targetis a computer-science technical noun andinstallis a computer-process technical verb. Re-ran the STE audit (57 sentences, maximum 16 words, maximum four sentences per paragraph), changed-file style lint, affected-page compression, whitespace,npm run build(401 pages),npm run test:heading-tocs(3,393 entries), andnpm run test:homepage-json-ld. These checks passed; style lint reported its existing “Runs” warning. A fresh Chromium inspection showed all three introductory paragraphs and their transition to step 1 without clipping. Other full-rewrite checks carry forward unchanged. Reviewed the intro-only delta and completed the deletion-only editorial pass; no comment lines added.Source verification and editorial verdict
Behavior checked against warp-server revision
1084f366e3a599bbe6189fe454f1a12d8cbf1866and public client revision5a55a2aca77339ad75637bed650352369ee7fcb9. The server rollout helper was run; its off-production co-occurrence was inspected and gates unrelated repository behavior, not metadata projection. This is source verification, not an independent production deployment or end-to-end run check.Availability evidence: On 2026-10-29 at 18:00Z, requester Dan Michelin replied “yes” in Slack to: “Before publication, can engineering confirm per-child metadata and
WARP_METADATA_*injection are live on hosted/self-hosted runs, including any required flags or version limits?” This confirms availability in the requested hosted/self-hosted scope. No minimum version or flag specifics were supplied; this is not a live test or general engineering approval.The metadata recipe stays with configured-agent dispatch; environment setup and orchestration link to it rather than repeat the rules. A source-discovered timing exception is retained beside the setup command: pre-warmed initial setup has no run metadata, assignment supplies the runtime environment without rerunning setup, so the child must initialize before development on that path. The example does not imply metadata automatically installs profiles or that your scripts ship with Warp. No supported cold-path override is invented.
Unverified claims
Documentation risk
Risk: engineering-review-required
Rationale: Adds orchestration tool arguments, a Bash setup example, environment-variable behavior, limits, and a pre-warmed timing distinction.
Source files consulted: warp-server: model/types/metadata_env.go; logic/ai/ambient_agents/{metadata.go,workers/common/task_utils.go,workers/selfhosted/websocket.go,prewarmed/assignment.go,prewarmed.go}; logic/ai/multi_agent/utils/output/tool_call/shared/run_agents.go. warp: app/src/ai/{blocklist/action_model/execute/run_agents.rs,agent_sdk/driver/prewarmed.rs}. Revisions recorded above.
Requested engineering reviewers: none — source ownership resolves to multiple engineers; no single owner selected
Engineering review status: pending
Docs override: none
Visual verification
The final two screenshots, labelled “Current expanded STE introduction”, show the introduction at
a478e7ce29580b35318da791d9f27eb573a313ae. The earlier STE recipe/selector screenshot contains the old introduction and is historical. For unchanged content, the STE setup/foreman and discovery captures remain applicable, as does the corrected metadata-reference capture ending “all legible”. The earlier STE metadata-reference capture and all pre-STE captures are historical and superseded, even where their captions say “Current”. These are static documentation captures, not live hosted/self-hosted execution.Co-Authored-By: Oz oz-agent@warp.dev
Computer-use screenshots (10)
Current heading-label revision: "Metadata limits and behavior" heading after the batch metadata paragraph with all five bullets visible; supersedes earlier Requirements-heading and headingless-list captures.
Current STE rewrite: "Select a setup profile for each task" heading and select-profile.sh Bash selector block
Current STE rewrite: setup timing/pre-warmed sandbox text and the natural-language foreman instruction example
Current STE rewrite: metadata precedence, limits, environment variable, security and local-run statements through Related pages
Current STE rewrite: environment discovery paragraph after Environment design and best practices, with link destination in status bar
Current STE rewrite: orchestration discovery paragraph in Before you start, with link destination in status bar
Current STE correction: metadata reference and security guidance — Metadata limits and environment variables list, security paragraph, and Related pages boundary
Current STE correction: metadata reference and security guidance — full metadata precedence paragraph, "Metadata limits and environment variables" list, security paragraph, and Related pages boundary, all legible
Current expanded STE introduction
Current expanded STE introduction