Skip to content

[demo] missing_docs drift-watch: CLI backlog burn-down sample#278

Merged
hongyi-chen merged 1 commit into
oz/missing-docs-skill-overhaulfrom
oz/missing-docs-cli-drift-demo
Jun 30, 2026
Merged

[demo] missing_docs drift-watch: CLI backlog burn-down sample#278
hongyi-chen merged 1 commit into
oz/missing-docs-skill-overhaulfrom
oz/missing-docs-cli-drift-demo

Conversation

@hongyi-chen

Copy link
Copy Markdown
Collaborator

What this is

A sample PR generated by running the missing_docs drift-watch skill over the standing CLI backlog, so we can evaluate the skill's efficacy. Not intended to merge as-is — it's stacked on #201 (the skill itself) and meant for inspection.

What one pass produced

Triaging the 31 undocumented oz CLI commands, the skill split them into two resolution types:

Draft (genuinely undocumented):

  • Documented oz api-key list, oz api-key create, and oz api-key expire in reference/cli/api-keys.mdx — command syntax, every flag, and examples, all extracted from crates/warp_cli/src/api_key.rs (--sort-by, --sort-order, --jq, --agent, the required expiration group, --force).

Map, don't duplicate (already documented elsewhere):

  • oz schedule * (7 subcommands) → platform/triggers/scheduled-agents.mdx
  • oz secret * (4 subcommands) → platform/secrets.mdx

These are fully documented in their feature pages, so the skill adds surface-map entries pointing there instead of re-drafting (avoids junk-drawer duplication).

Reviewer routing

suggest_reviewers.py resolved the owning engineers from crates/warp_cli ownership: @bnavetta, @ianhodge. (Not actually requested here since this is a throwaway demo PR.)

Result

  • Undocumented CLI commands: 31 → 17 in one pass.
  • Audit exits 0, unaccounted: none, drafted doc passes style_lint.

What it does NOT cover (good signal on limits)

  • The remaining 17 are newer/uncertain-rollout groups (oz run message/conversation, oz agent CRUD, oz memory* [research preview], oz provider* [dogfood]) — these need a human rollout/readiness call before documenting, which is exactly the kind of judgment the skill defers rather than guesses.

Conversation: https://staging.warp.dev/conversation/c5ce6a1a-81a4-4a04-92d9-8d587693be12
Run: https://oz.staging.warp.dev/runs/019f19e2-f981-725b-b383-bc7ea01adb6a

This PR was generated with Oz.

…secret)

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>
@cla-bot cla-bot Bot added the cla-signed label Jun 30, 2026
@vercel

vercel Bot commented Jun 30, 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 9:54pm

Request Review

@hongyi-chen hongyi-chen marked this pull request as ready for review June 30, 2026 21:55
@hongyi-chen hongyi-chen merged commit 94fa141 into oz/missing-docs-skill-overhaul Jun 30, 2026
4 checks passed
@hongyi-chen hongyi-chen deleted the oz/missing-docs-cli-drift-demo branch June 30, 2026 21: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 feature surface map for existing schedule and secret CLI coverage, and adds an API-key CLI management section to reference/cli/api-keys.mdx. The direction is reasonable, but the API-key reference is still incomplete for one supported expire flag and the examples should avoid normalizing non-expiring credentials. No approved spec context was provided, so no implementation/spec drift was assessed.

Concerns

  • oz api-key expire supports the shared --jq <FILTER> output filter, but the new expire section only documents --force.
  • The create example uses --no-expiration for an agent key even though the same page recommends setting appropriate expirations; prefer an expiring example and leave no-expiration as a documented option.
  • Clarify that oz api-key list prints metadata for active API keys, not recoverable secret values.

Security

  • The primary create example currently demonstrates a non-expiring agent key; use an expiring example to avoid encouraging long-lived credentials.

Verdict

Found: 0 critical, 1 important, 2 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


### List keys

`oz api-key list` prints your active API keys.

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.

💡 [SUGGESTION] This wording can imply the command prints recoverable secret values. Say it prints metadata for active API keys to keep the CLI behavior aligned with the page's one-time-secret guidance.

oz api-key create "ci-pipeline" --expires-in 30d

# An agent key scoped to a cloud agent, with no expiration
oz api-key create "nightly-triage" --agent AGENT_UID --no-expiration

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.

💡 [SUGGESTION] [SECURITY] The primary agent-key example normalizes a non-expiring credential. Use --expires-in in the example and keep --no-expiration only in the option list.

`oz api-key expire <NAME_OR_UID>` immediately invalidates a key (also available as `oz api-key delete`). Expired keys can't be recovered.

* `<NAME_OR_UID>` — The name or UID of the key to expire (required).
* `--force` — Skip the confirmation prompt.

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.

⚠️ [IMPORTANT] oz api-key expire also flattens the shared JSON output options, so this section is missing the supported --jq <FILTER> flag. Add it here so the reference covers every flag for the command.

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