Skip to content

First drift-watch burn-down: settings, keybindings, slash commands, SuperGrok docs#203

Merged
hongyi-chen merged 6 commits into
oz/missing-docs-skill-overhaulfrom
oz/missing-docs-first-driftwatch
Jun 30, 2026
Merged

First drift-watch burn-down: settings, keybindings, slash commands, SuperGrok docs#203
hongyi-chen merged 6 commits into
oz/missing-docs-skill-overhaulfrom
oz/missing-docs-first-driftwatch

Conversation

@hongyi-chen

@hongyi-chen hongyi-chen commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Why

First real run of the missing_docs drift-watch workflow (stacked on #201, which adds the audit machinery). This burns down the high-confidence findings backlog the new audit surfaced — every fix derived from and verified against warp-internal/warp-server source.

What changed

terminal/settings/all-settings.mdx — 17 missing settings documented + 1 rename fixed

  • New bullets (types/defaults/options extracted from the define_setting! registry): default_prompt_submission_mode, orchestration_message_display_mode, auto_handoff_on_sleep_enabled, agent_attribution_enabled, should_force_disable_cloud_handoff, should_force_disable_ampersand_handoff (agents.warp_agent.other); rule_suggestions_enabled (active_ai); submit_on_ctrl_enter (third_party); osc52_clipboard_access (terminal); directory_tab_colors, hide_title_bar_search_bar, show_panel_in_restored_windows (appearance); show_hidden_files (code.editor); preserve_input_focus_on_block_selection (general); force_x11 (system); code_editor_line_number_mode (text_editing); new ## Experimental section with async_find_enabled.
  • Moved git_operations_autogen_enabled into [agents.warp_agent.active_ai] and removed the stale [agents.oz.active_ai] remnant section — the audit's reverse check caught that docs still referenced the pre-rename path.

getting-started/keyboard-shortcuts.mdx — all 14 dead action names fixed

  • 10 renames verified against current code: workspace:open_new_tabworkspace:new_tab, workspace:reopen_closed_tabapp:reopen_closed_session, workspace:show_settings_modalworkspace:show_settings, terminal:toggle_warp_driveworkspace:toggle_warp_drive, terminal:open_share_modalterminal:open_share_block_modal, terminal:page_up/downterminal:scroll_up/down_one_page, terminal:trigger_subshell_bootstrapterminal:warpify_subshell, editor:select_righteditor_view:select_right, editor_view:cmd_ieditor_view:inspect_command.
  • 4 actions that no longer exist as named bindings (editor:undo, editor:redo, terminal:home, terminal:end) had their action cells blanked (shortcuts still work as standard behavior; matches the existing empty-cell precedent).

agent-platform/capabilities/slash-commands.mdx — added /environment, /harness, /host (cloud agent session selectors, GA via CloudModeInputV2) and /rename-conversation (new this week, caught by the snapshot diff).

agent-platform/inference/bring-your-own-api-key.mdx — documented connecting a SuperGrok subscription instead of an xAI API key (SuperGrok flag promoted dogfood→GA this week, caught by the snapshot diff) + surface map entry.

Surface map

  • Allowlisted guides/agent-workflows/warp-vs-claude-code as intentionally unlisted (its frontmatter says "pending team feedback" — the structure audit flagged it; allowlisting, not sidebar-adding, is the correct fix).
  • Re-applied the 15 GA-flag reclassifications + FullScreenZenMode surfacing from the previous session: they had been silently lost when a git checkout during integrity testing reverted the then-uncommitted map before commit. The completeness accounting's bucket counts (mapped 109 vs expected 124) exposed the loss this run.

Update — second drift-watch pass

A follow-up drift-watch run against current warp-internal/warp-server surfaces caught new drift that accumulated since the first pass and burned it down (undocumented features 5→0, undocumented settings 6→0, map hygiene 2→0). Each decision was verified against source.

terminal/settings/all-settings.mdx — 5 new settings documented + 1 mapped internal

  • appearance.icon.show_dock_icon (macOS Dock / Cmd-Tab visibility), agents.warp_agent.other.long_running_command_submission_mode, code.editor.format_on_save, cloud_platform.third_party_api_keys.gemini_enterprise_credentials_enabled, warpify.ssh.reuse_existing_control_master.
  • Mapped warpify.ssh.ssh_tmux_deprecation_notice_pending -> internal (one-time deprecation-banner migration state, not a user-configurable setting).

agent-platform/inference/model-choice.mdx — added a "Custom routers" section; mapped the GA CustomModelRouters flag here.

Surface map

  • Mapped CodexPlugin -> cli-agents/codex.md; mapped FullScreenZenMode and AsyncFind -> all-settings.mdx (their only user-facing surface is a documented setting). This resolves the two prior visible feature findings.
  • Ignore GroupedTabs (macOS-only Preview; docs pending GA promotion, which the snapshot diff will re-flag).
  • Pruned stale ignore-list flags FreeUserNoAi and WelcomeTab (no longer present in code).

Audit state after this PR

  • 0 stale doc references, 0 undocumented settings, 0 undocumented features, 0 undocumented slash commands, 0 unlisted pages, 0 map hygiene issues; unaccounted: none.
  • Deliberately remaining backlog (unchanged scope, owned by other skills): 31 CLI subcommand docs (drafting job for reference/cli), 29 API routes missing from the OpenAPI spec (owned by warp-server update-open-api-spec / docs sync-openapi-spec), and 29 stale-terminology pages (owned by style_lint).

Validation

  • npm run build passes (338 pages).
  • Full audit reports 0 in-scope findings (features, settings, slash commands, surface changes, map hygiene), unaccounted: none.

Stacked on #201 — merge that first.

Conversation: https://staging.warp.dev/conversation/a706b73b-186b-456c-ad18-28390e36cb89
Run: https://oz.staging.warp.dev/runs/019eb51e-4d35-7d62-a494-331f39efbd67
Second pass conversation: https://staging.warp.dev/conversation/c5ce6a1a-81a4-4a04-92d9-8d587693be12
Second pass run: https://oz.staging.warp.dev/runs/019f19e2-f981-725b-b383-bc7ea01adb6a
Plans:

This PR was generated with Oz.

…uperGrok

Dogfoods the missing_docs drift-watch workflow on the standing findings
backlog (41 findings resolved):

- all-settings.mdx: documented 17 missing settings (prompt submission mode,
  orchestration message display, auto handoff on sleep, agent attribution,
  handoff kill-switches, OSC 52 clipboard access, async find, directory tab
  colors, vertical-tabs panel options, hidden files in project explorer,
  line number mode, force X11, Ctrl+Enter submit for CLI agents, input
  focus on block selection) with types/defaults/options extracted from the
  settings registry; moved git_operations_autogen_enabled into
  [agents.warp_agent.active_ai] reflecting the agents.oz -> agents.warp_agent
  rename and removed the stale remnant section; added an Experimental section
- keyboard-shortcuts.mdx: fixed all 14 dead action names (10 renames like
  workspace:open_new_tab -> workspace:new_tab, editor_view:cmd_i ->
  editor_view:inspect_command, terminal:trigger_subshell_bootstrap ->
  terminal:warpify_subshell; 4 removed actions blanked)
- slash-commands.mdx: added /environment, /harness, /host (cloud agent
  session selectors) and /rename-conversation
- bring-your-own-api-key.mdx: documented connecting a SuperGrok subscription
  instead of an xAI API key (newly GA SuperGrok flag) + map entry
- Surface map: allowlisted guides/agent-workflows/warp-vs-claude-code as
  intentionally unlisted (per its frontmatter note)
- Re-applied the GA-flag reclassification from the previous session (15
  mappings + FullScreenZenMode surfaced) which had been silently reverted
  by a 'git checkout' during integrity testing before it was committed \u2014
  caught by comparing accounting bucket counts run-over-run
- Snapshot re-baselined; audit now reports 0 stale doc references, 0
  undocumented settings/slash commands/unlisted pages; remaining backlog:
  29 CLI subcommand docs, 24 OpenAPI spec gaps (update-open-api-spec),
  29 terminology pages (style_lint), FullScreenZenMode + GroupedTabs

Co-Authored-By: Oz <oz-agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Jun 11, 2026
@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jun 30, 2026 7:16pm

Request Review

Co-Authored-By: Oz <oz-agent@warp.dev>
…ch branch

Co-Authored-By: Oz <oz-agent@warp.dev>
@hongyi-chen hongyi-chen marked this pull request as ready for review June 30, 2026 18:55
@oz-for-oss

oz-for-oss Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

@hongyi-chen

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 /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR updates the missing_docs surface map and several docs pages to burn down drift-watch findings for settings, keybindings, slash commands, and SuperGrok BYOK coverage. The docs changes are generally scoped to the described cleanup, and the added internal links resolve, but the surface map adds two paths that do not exist in the docs tree.

Concerns

  • Two new feature-surface mappings point at .md files, while the actual docs pages are .mdx; this leaves the audit metadata with stale/nonexistent targets.

Verdict

Found: 0 critical, 1 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread .agents/skills/missing_docs/references/feature_surface_map.md Outdated
Re-ran the missing_docs drift-watch audit against current code surfaces and
burned down the newly-found in-scope drift (features 5→0, settings 6→0,
map hygiene 2→0).

Settings (all-settings.mdx):
- Document appearance.icon.show_dock_icon (macOS Dock / Cmd-Tab visibility)
- Document agents.warp_agent.other.long_running_command_submission_mode
- Document code.editor.format_on_save
- Document cloud_platform.third_party_api_keys.gemini_enterprise_credentials_enabled
- Document warpify.ssh.reuse_existing_control_master
- Map warpify.ssh.ssh_tmux_deprecation_notice_pending -> internal (one-time
  migration banner state, not user-configurable)

Feature flags (feature_surface_map.md):
- Map CodexPlugin -> cli-agents/codex.md
- Map FullScreenZenMode, AsyncFind -> all-settings.mdx (surfaces are documented settings)
- Map CustomModelRouters -> inference/model-choice.mdx (new "Custom routers" section)
- Ignore GroupedTabs (macOS-only Preview; docs pending GA promotion)

Map hygiene:
- Prune stale ignore-list flags FreeUserNoAi and WelcomeTab (no longer in code)

Co-Authored-By: Oz <oz-agent@warp.dev>
Add a "Resolution patterns" subsection capturing the per-type decision rules
applied during the second drift-watch pass, so recurring runs resolve findings
consistently:
- user-facing setting -> document in all-settings
- internal/state-only setting -> map `section.key -> internal`
- feature flag with a dedicated page -> map to it
- feature flag whose only surface is a documented setting -> map to that page
- preview/pre-launch feature with no docs -> ignore-list with a comment
- stale map entry/doc reference -> prune after confirming removal in code

Co-Authored-By: Oz <oz-agent@warp.dev>
Co-authored-by: oz-for-oss[bot] <277970191+oz-for-oss[bot]@users.noreply.github.com>
@hongyi-chen hongyi-chen merged commit 3a3b3fe into oz/missing-docs-skill-overhaul Jun 30, 2026
2 of 3 checks passed
@hongyi-chen hongyi-chen deleted the oz/missing-docs-first-driftwatch branch June 30, 2026 19:14
hongyi-chen added a commit that referenced this pull request Jul 2, 2026
…e detection (#201)

* Overhaul missing_docs skill: fix audit blind spots, add change detection

- audit_docs.py: fail loud (exit 2 + audits_skipped) when repos are missing;
  fix repo auto-detection to siblings of the docs repo root
- GA detection via the app/src/features.rs cargo-feature bridge plus
  RELEASE_FLAGS/PREVIEW_FLAGS/DOGFOOD_FLAGS instead of snake_case guessing
- New audits: public API routes (router/handlers/public_api gin groups vs
  OpenAPI spec), CLI subcommands (clap enum tree, hidden skipped), slash
  commands (static registry), surface-map hygiene (dead entries)
- Staleness: strip code spans, word-boundary matching, skip historical
  changelog pages (73 -> 29 findings; 'oz agent' CLI noise eliminated)
- Change detection: references/surface_snapshot.json + --diff mode reporting
  added/removed/promoted surfaces and changelog items since last run;
  --update-snapshot regenerates the baseline
- Seed feature_surface_map.md: map handoff/orchestration/queueing/BYOK/
  billing/etc. flags, prune 45+ dead entries, add slash-command section and
  API internal sentinels
- SKILL.md: document the exit-code contract, diff workflow, drift-watch mode
  for the recurring agent (with copyable scheduled-agent prompt), and make
  surface-map + snapshot updates explicit drafting steps

Co-Authored-By: Oz <oz-agent@warp.dev>

* Expand missing_docs audit: settings, web app, tools, skills, structure, stale refs

- Settings audit: parse the define_setting! toml_path registry (~200 settings,
  flag-status aware, object-typed settings handled) and check coverage in the
  all-settings reference; reverse check catches documented settings that were
  renamed/removed in code (e.g. agents.oz.* -> agents.warp_agent.*)
- Stale doc references: validate documented keybinding actions (scope:action)
  still exist anywhere in warp-internal source
- Docs structure audit: flag pages missing from src/sidebar.ts (with an
  allowlist section in the surface map)
- CLI: recursive subcommand parsing (oz run message send, oz environment
  image list, ...) plus per-module --flag tracking in the snapshot
- API: positional RouterGroup argument resolution at Register* call sites
  (fixes oauth route prefixes) and param-name-insensitive OpenAPI matching
- Snapshot v2: settings, web app routes (AgentsApp.tsx), server-side agent
  tools (ToolName consts + Create*NativeTool registrations), bundled +
  channel-gated skills, CLI flags; graceful one-time note when diffing
  against a v1 snapshot
- Changelog cross-check now also tracks 'Oz updates' bullets
- Extraction sanity guards: implausibly low parse counts (broken parser after
  a code-layout change) skip dependent audits and exit 2 instead of silently
  under-reporting; map hygiene and reverse checks gated on healthy extraction
- Feature flag enum parsing is brace-safe (survives future struct variants)
- SKILL.md documents the 9 coverage audits, snapshot-only surfaces, and
  adjacent-skill ownership (validate_ui_refs, sync-error-docs, style_lint,
  weekly-404-monitor)

Co-Authored-By: Oz <oz-agent@warp.dev>

* Add completeness accounting and map integrity checks; reclassify GA flags

Triple-check that every feature is encapsulated in the mapping:

- Built-in completeness accounting on every full run: partitions every
  extracted surface item (277 flags, 74 CLI commands, 71 API routes, 47
  slash commands, 201 settings) into exactly one accountability bucket
  (mapped / ignored / doc-covered / visible finding / snapshot-tracked) and
  exits 2 with integrity:accounting if anything escapes — an unaccounted
  item can only mean the audit logic regressed
- Map integrity checks in hygiene: entries in both the mapping and the
  ignore list (ignore silently wins) and duplicate keys within a section
  are now medium findings
- Ignore-list review against computed statuses found ~20 flags filed under
  'Non-GA' that have since GA'd: reclassified 15 user-facing ones to real
  mappings (session sharing trio, AgentHarness, SshRemoteServer,
  ArtifactCommand, OzIdentityFederation, image-context pair,
  OzPlatformSkills, WorkflowAliases, ShellSelector, KittyImages,
  UndoClosedPanes, RevertDiffHunk), surfaced FullScreenZenMode as a visible
  undocumented-feature finding, and retitled the section so placement no
  longer asserts rollout status
- Re-baselined the snapshot after live drift the diff caught on today's
  checkouts (SuperGrok dogfood->ga, new /rename-conversation slash command
  — both now standing coverage findings)
- SKILL.md: documented the accounting contract and the end-to-end
  'how every change path is caught' chain (new/promoted/removed surfaces,
  no-code-change launches via changelog net, parser rot via extraction
  guards, map rot via hygiene)

Co-Authored-By: Oz <oz-agent@warp.dev>

* Target the public warp repo instead of warp-internal

Warp's client code is open source at warpdotdev/warp — the audit now treats
the public repo as the primary source:

- Repo auto-detection prefers a sibling checkout named 'warp' and falls back
  to 'warp-internal' for transitional environments
- New --warp flag is the primary CLI option; --warp-internal remains as a
  deprecated alias (same destination) so existing invocations keep working
- All docstrings, stderr messages, skip reasons, section headers, and
  SKILL.md guidance (requirements, audit descriptions, drift-watch command,
  scheduled-agent prompt) now reference the public warp client repo

Validated: auto-detect fallback, preferred 'warp' sibling resolution,
explicit --warp, and the deprecated alias all run the full audit with clean
completeness accounting.

Co-Authored-By: Oz <oz-agent@warp.dev>

* First drift-watch burn-down: settings, keybindings, slash commands, SuperGrok docs (#203)

* First drift-watch burn-down: settings, keybindings, slash commands, SuperGrok

Dogfoods the missing_docs drift-watch workflow on the standing findings
backlog (41 findings resolved):

- all-settings.mdx: documented 17 missing settings (prompt submission mode,
  orchestration message display, auto handoff on sleep, agent attribution,
  handoff kill-switches, OSC 52 clipboard access, async find, directory tab
  colors, vertical-tabs panel options, hidden files in project explorer,
  line number mode, force X11, Ctrl+Enter submit for CLI agents, input
  focus on block selection) with types/defaults/options extracted from the
  settings registry; moved git_operations_autogen_enabled into
  [agents.warp_agent.active_ai] reflecting the agents.oz -> agents.warp_agent
  rename and removed the stale remnant section; added an Experimental section
- keyboard-shortcuts.mdx: fixed all 14 dead action names (10 renames like
  workspace:open_new_tab -> workspace:new_tab, editor_view:cmd_i ->
  editor_view:inspect_command, terminal:trigger_subshell_bootstrap ->
  terminal:warpify_subshell; 4 removed actions blanked)
- slash-commands.mdx: added /environment, /harness, /host (cloud agent
  session selectors) and /rename-conversation
- bring-your-own-api-key.mdx: documented connecting a SuperGrok subscription
  instead of an xAI API key (newly GA SuperGrok flag) + map entry
- Surface map: allowlisted guides/agent-workflows/warp-vs-claude-code as
  intentionally unlisted (per its frontmatter note)
- Re-applied the GA-flag reclassification from the previous session (15
  mappings + FullScreenZenMode surfaced) which had been silently reverted
  by a 'git checkout' during integrity testing before it was committed \u2014
  caught by comparing accounting bucket counts run-over-run
- Snapshot re-baselined; audit now reports 0 stale doc references, 0
  undocumented settings/slash commands/unlisted pages; remaining backlog:
  29 CLI subcommand docs, 24 OpenAPI spec gaps (update-open-api-spec),
  29 terminology pages (style_lint), FullScreenZenMode + GroupedTabs

Co-Authored-By: Oz <oz-agent@warp.dev>

* docs: second drift-watch pass — settings, feature flags, map hygiene

Re-ran the missing_docs drift-watch audit against current code surfaces and
burned down the newly-found in-scope drift (features 5→0, settings 6→0,
map hygiene 2→0).

Settings (all-settings.mdx):
- Document appearance.icon.show_dock_icon (macOS Dock / Cmd-Tab visibility)
- Document agents.warp_agent.other.long_running_command_submission_mode
- Document code.editor.format_on_save
- Document cloud_platform.third_party_api_keys.gemini_enterprise_credentials_enabled
- Document warpify.ssh.reuse_existing_control_master
- Map warpify.ssh.ssh_tmux_deprecation_notice_pending -> internal (one-time
  migration banner state, not user-configurable)

Feature flags (feature_surface_map.md):
- Map CodexPlugin -> cli-agents/codex.md
- Map FullScreenZenMode, AsyncFind -> all-settings.mdx (surfaces are documented settings)
- Map CustomModelRouters -> inference/model-choice.mdx (new "Custom routers" section)
- Ignore GroupedTabs (macOS-only Preview; docs pending GA promotion)

Map hygiene:
- Prune stale ignore-list flags FreeUserNoAi and WelcomeTab (no longer in code)

Co-Authored-By: Oz <oz-agent@warp.dev>

* docs(missing_docs): codify finding-resolution patterns in SKILL.md

Add a "Resolution patterns" subsection capturing the per-type decision rules
applied during the second drift-watch pass, so recurring runs resolve findings
consistently:
- user-facing setting -> document in all-settings
- internal/state-only setting -> map `section.key -> internal`
- feature flag with a dedicated page -> map to it
- feature flag whose only surface is a documented setting -> map to that page
- preview/pre-launch feature with no docs -> ignore-list with a comment
- stale map entry/doc reference -> prune after confirming removal in code

Co-Authored-By: Oz <oz-agent@warp.dev>

* Update .agents/skills/missing_docs/references/feature_surface_map.md

Co-authored-by: oz-for-oss[bot] <277970191+oz-for-oss[bot]@users.noreply.github.com>

---------

Co-authored-by: Oz <oz-agent@warp.dev>
Co-authored-by: oz-for-oss[bot] <277970191+oz-for-oss[bot]@users.noreply.github.com>

* docs(missing_docs): add reviewer routing from code ownership

Add scripts/suggest_reviewers.py, which maps the source surface behind each
drift-watch finding to its owning engineer using the CODEOWNERS-format ownership
files already maintained in the code repos:
- warp client: .github/STAKEHOLDERS
- warp-server: .github/STAKEHOLDERS (advisory) + .github/CODEOWNERS (enforced)

It resolves with standard last-match-wins precedence, dedupes owners into
users/teams, and prints a ready-to-run `gh pr edit --add-reviewer` command.
Unresolved paths are non-fatal so a scheduled run is never blocked.

Wire it into SKILL.md: a new "Reviewer routing" section (per-category source-file
hints), a drift-watch "Route reviewers" step before opening the PR, an updated
scheduled-agent prompt, and a References entry. Ownership stays sourced from
STAKEHOLDERS/CODEOWNERS (kept fresh by sync-stakeholders) — never hardcoded.

Co-Authored-By: Oz <oz-agent@warp.dev>

* docs(missing_docs): address review comments

- SKILL.md: Phase 3 step 7 now points to src/sidebar.ts (the real sidebar
  source the structure audit checks); astro.config.mjs only for a new top-level topic.
- all-settings.mdx: correct code.editor.show_hidden_files default to `true`
  (matches the client setting definition).
- surface_snapshot.json: regenerate so it includes the newly documented settings
  (code.editor.format_on_save, appearance.icon.show_dock_icon,
  agents.warp_agent.other.long_running_command_submission_mode,
  warpify.ssh.reuse_existing_control_master,
  cloud_platform.third_party_api_keys.gemini_enterprise_credentials_enabled) and
  current flag/CLI/API state.

Audit: exit 0, audits_skipped none, unaccounted none.

Co-Authored-By: Oz <oz-agent@warp.dev>

* demo(missing_docs): CLI drift burn-down sample (api-key / schedule / secret) (#278)

Sample output of one missing_docs drift-watch pass over the CLI backlog, to
evaluate the skill's efficacy. Resolves 14 of 31 undocumented CLI commands:

- Draft: document the `oz api-key list/create/expire` subcommands in the CLI
  reference (reference/cli/api-keys.mdx), with flags/args extracted from
  crates/warp_cli/src/api_key.rs.
- Map (no duplication): `oz schedule *` and `oz secret *` subcommands are already
  documented in their feature pages, so add surface-map entries pointing there
  instead of re-drafting.

Reviewer routing (suggest_reviewers.py): crates/warp_cli ownership -> @bnavetta,
@ianhodge.

Audit after: CLI findings 31 -> 17, exit 0, unaccounted none.

Co-authored-by: Oz <oz-agent@warp.dev>

* test(missing_docs): add stdlib test suite for the skill scripts

- test_suggest_reviewers.py: 15 unit tests for reviewer resolution (CODEOWNERS
  matching incl. anchored dir-prefix / exact-file / glob / default rule,
  last-match-wins precedence, user vs team split, dedup, unresolved paths,
  warp-internal alias, stdin) — all via temp ownership files.
- test_audit_docs.py: 6 behavioral integration tests that run audit_docs.py
  against the sibling code repos — clean exit + completeness accounting
  (unaccounted empty), --category scoping, --severity filtering, fail-loud
  (exit 2) on a missing repo, committed-snapshot currency, and that
  --update-snapshot honors --snapshot without mutating the committed snapshot.
  Skips gracefully when the code repos aren't checked out.

Both suites use only the Python stdlib (unittest) — no third-party deps. 21/21
pass. Documented under a new "## Tests" section in SKILL.md.

Co-Authored-By: Oz <oz-agent@warp.dev>

* docs(missing_docs): encode public vs. private surface boundary

Make explicit that the skill must only document publicly released surfaces:
- New "Public vs. private surfaces" section in SKILL.md: the OSS warp client repo
  is public; warp-server is a PRIVATE repo whose only public surface is the
  released Oz Agent API already in the OpenAPI spec. Two gates (source/exposure +
  GA rollout); never document private or unreleased surfaces.
- Woven into the API audit description, Phase 3 API-gap research, and Resolution
  patterns: warp-server endpoints not in the released spec are not auto-
  documentable — route released ones via sync-openapi-spec, else `-> internal`/defer.

Apply the rule to detected drift: Agent Memory is research preview, so its
`oz memory*` / `oz memory-store*` CLI and `/memory_stores/*` REST API are mapped
`-> internal` with comments. Added a public/private POLICY note to the surface
map's API section.

Audit after: CLI 17->15, API 29->18, audits_skipped none, unaccounted none.

Co-Authored-By: Oz <oz-agent@warp.dev>

* test(missing_docs): cover public/private boundary + run skill tests in CI

- test_audit_docs.py: add test_research_preview_surfaces_are_deferred, a
  regression guard asserting Agent Memory's CLI (`oz memory*`) and REST API
  (`/memory_stores/*`) are never flagged for documentation (public/private
  boundary). 22 tests total, all green.
- ci.yml: run the skill's stdlib test suites on every PR. The reviewer-resolver
  unit tests run fully; the audit integration tests skip gracefully since the
  warp/warp-server code repos aren't checked out in docs CI.
- SKILL.md: note the new boundary test in the Tests section.

Co-Authored-By: Oz <oz-agent@warp.dev>

* feat(missing_docs): rollout-gate CLI/API surfaces via gated:<Flag>

Fixes the limitation that the CLI and API audits flagged commands/routes
regardless of whether their feature had shipped (so non-GA surfaces like Agent
Memory needed a permanent `-> internal`).

audit_docs.py:
- New `gated:<Flag>` surface-map target for CLI commands and API routes. The
  audit resolves the gating flag's rollout status (the same machinery used for
  feature flags + settings):
  * non-GA (preview/dogfood/other) -> deferred (new `gated_non_ga` accounting
    bucket), not a finding;
  * GA -> falls through to normal coverage so it auto-surfaces as a finding;
  * unknown flag -> conservative (still a finding) + map-hygiene error so the
    annotation can't silently rot.
- audit_cli / audit_api now take flag_statuses; main computes it for API runs.
- Completeness accounting keeps totality (gated_non_ga counted; unaccounted none).

feature_surface_map.md: migrate Agent Memory's `oz memory*` / `oz memory-store*`
CLI and `/memory_stores/*` API from `-> internal` to `-> gated:AIMemories`, so
they auto-surface for docs when AIMemories goes GA. Documented the `gated:`
sentinel in the header.

SKILL.md: document `gated:<Flag>` in Public vs. private surfaces + Resolution
patterns.

tests: add TestGatedLogic (helper, non-GA deferral, GA auto-surface, unknown-flag
conservatism, map-hygiene validation). 27 tests pass; audit exit 0, unaccounted
none.

Co-Authored-By: Oz <oz-agent@warp.dev>

* docs(missing_docs): sync SKILL.md accounting buckets with gated_non_ga

The gated:<Flag> work added a `gated_non_ga` bucket to the CLI and API
completeness accounting, but SKILL.md's bucket list still omitted it.
Document `gated_non_ga` for CLI commands and API routes, and note the
`gated:<Flag>` sentinel alongside `internal` in the References section so
the documented accounting matches what the audit actually emits.

Co-Authored-By: Oz <oz-agent@warp.dev>

* docs(cli): resolve missing_docs CLI drift (oz agent, oz run messaging, oz provider) (#279)

Demonstrates the missing_docs drift-watch loop end to end on real drift.
The audit flagged 15 undocumented `oz` subcommands; this resolves all of
them according to each command's GA rollout status:

- GA (NamedAgents): document the `oz agent` named-agent management group
  (list/get/create/update/delete + `oz agent skills`) and fix the existing
  `oz agent list` entry, which incorrectly described skill listing.
- GA (ConversationApi): document `oz run conversation get` and the
  `oz run message` inbox commands (list/read/watch/send/mark-delivered).
- Non-GA (ProviderCommand = dogfood): defer the whole `oz provider` group
  via `gated:ProviderCommand` so it auto-surfaces for docs when it goes GA.

All command flags drafted from crates/warp_cli source (agent.rs, task.rs,
provider.rs). CLI audit now reports 0 gaps; cli_commands gated_non_ga = 14.

Co-authored-by: Oz <oz-agent@warp.dev>

* docs(cli): cross-link run-cloud --agent to named-agent management

The new "Managing named agents" section says agents are run with
`oz agent run-cloud --agent <UID>`, but that flag was absent from the
run-cloud key-flags list. Document `--agent <UID>` (from RunCloudArgs in
crates/warp_cli/src/agent.rs) and cross-link the two sections so readers
can get from creating a named agent to running one.

Co-Authored-By: Oz <oz-agent@warp.dev>

---------

Co-authored-by: Oz <oz-agent@warp.dev>
Co-authored-by: oz-for-oss[bot] <277970191+oz-for-oss[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant