Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .agents/skills/missing_docs/references/changelog_decisions.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,34 @@ Newest first. One row per PR number — usually a `warpdotdev/warp` changelog it

| PR | Decided | Verdict | Gate / disqualifier | Reason and outcome |
|---|---|---|---|---|
| GET /factory/{uid}/setup-progress, POST /factory/{uid}/setup-progress/dismiss | 2026-09-12 | deferred | Gate 0 | Both marked `x-internal: true` in warp-server `public_api/openapi.yaml` (`getFactorySetupProgress`, dismiss counterpart) inside the unreleased `/factory` namespace. Released `developers/agent-api-openapi.yaml` has zero `/factory` paths. Missed in the 2026-09-11 map pass that covered sibling factory routes; mapped both `-> internal` on this bookkeeping extension. Re-check when the factory API is published. |
| appearance.window.backdrop (map residual) | 2026-09-12 | yes | Gate 1 (map only) | Setting already verdicted yes on 2026-09-11 with feature PR docs#733, but the surface-map entry was never added so coverage kept flagging it. Mapped `appearance.window.backdrop -> terminal/settings/all-settings.mdx` on this extension. |
| n/a (third residual sweep of v0.2026.09.09.08.26.stable_02, 2026-09-12) | 2026-09-12 | n/a | Not a verdict | Drift-watch re-entry after the release gate on `main` still reported this stable as new (bookkeeping PR #736 unmerged). Checked out and extended #736 rather than opening a second bookkeeping PR. Independently re-verified Gate 0 for the two remaining unmapped factory routes above; re-confirmed #15913 docker-registry flags still deferred (Gate 0, not in any stable); re-confirmed the 15 changelog/`oz_updates` bullets and three flag promotions already carry ledger verdicts; `potentially_stale_docs` (24) still style_lint-owned. Feature PRs docs#733, docs#734, docs#735 remain open with reviewer `dannyneira`. Regenerated `surface_snapshot.json` so setup-progress leaves the `--diff` added bucket; #15913 flags enter the baseline and rely on the deferred ledger row plus the next stable changelog for re-surface. No new feature PR. |
| [#15913](https://github.com/warpdotdev/warp/pull/15913) — `oz secret create docker-registry` (`--host`, `--username`, `--password`, `--password-file`) | 2026-09-11 | deferred | Gate 0 | New `docker-registry` provider subcommand on `oz secret create` that stores a container registry credential (`CreateProvider::DockerRegistry` / `DockerRegistryCreateArgs`, `crates/warp_cli/src/secret.rs:72-74` and `190-217`). The four flags are real Gate 1 knobs, and `--password` declares `conflicts_with = "password_file"` with help text recommending `--password-file` for scripted use because a password on the command line leaks through shell history and `ps` — that would also carry Gate 2. Gate 0 stops both: the commit landed on warp `master` at `7bfa9da6b`, 2026-09-11 16:47 UTC, two days after the `v0.2026.09.09.08.26.stable_02` cut (2026-09-09 08:26 UTC), so it is in no stable release and absent from the 2026.09.09 changelog. `surface_snapshot.json` was deliberately **not** regenerated on this branch, so the four flags stay out of the baseline and `--diff` re-fires them on the first run after they ship. Re-check when a stable release contains #15913; target pages are `platform/secrets.mdx` and the `oz secret create` entry in `reference/cli/index.mdx`. |
| n/a (second exhaustive sweep of v0.2026.09.09.08.26.stable_02, 2026-09-11 17:00Z) | 2026-09-11 | n/a | Not a verdict | A second drift-watch pass over the same release, an hour after the 16:08Z pass that produced this PR and feature PRs docs#733, docs#734, and docs#735. Both audit modes exited 0 with no `audits_skipped` and an empty `unaccounted` bucket (296 flags, 91 CLI commands, 217 API routes, 65 slash commands, 232 settings). Independently re-verified the load-bearing Gate 0 evidence for all eight `undocumented_api_endpoints`: every one carries `x-internal: true` in `warp-server/public_api/openapi.yaml`, and `developers/agent-api-openapi.yaml` still has zero `/factory` or `/factory-inbox` paths. Re-confirmed zero findings in `undocumented_features`, `undocumented_cli_commands`, `undocumented_slash_commands`, `map_hygiene`, `stale_doc_references`, and `unlisted_pages`. The only item without a verdict was #15913 above, which the earlier pass could not see because its checkout predated the commit. `npm run build` passes on `main` with docs#733, docs#734, and docs#735 cherry-picked together (385 Markdown docs, 387 HTML files). No new feature PR. |
| appearance.window.backdrop | 2026-09-11 | yes | Gate 1 | Always-on Windows setting `appearance.window.backdrop` (`WindowBackdrop` in `app/src/window_settings.rs:19-28`, default `None`, options `none`/`mica`/`acrylic`/`mica_alt`; UI **Window backdrop** on **Settings** > **Appearance** > **Window**). Replaces the deprecated binary `override_blur_texture` Acrylic toggle. Documented in `all-settings.mdx` and updated `size-opacity-blurring.mdx` (feature PR). |
| NativeShellCompletions (flag preview→ga) | 2026-09-11 | yes | Gate 1 (factual correction) | Flag now a default cargo feature (`app/Cargo.toml` default features include `native_shell_completions`) and no longer in `PREVIEW_FLAGS`. Documentable knobs remain `terminal.input.warp_completions_enabled` and `terminal.input.native_shell_completions_enabled` already in `all-settings.mdx`; removed the stale "Native shell completions Preview" availability gate from both rows (feature PR). Flag stays on the ignore list as a sub-feature toggle. |
| ShellWidgetHandoff (flag preview→ga) | 2026-09-11 | yes | Gate 3 | Flag now a default cargo feature. When the shell reports an external Ctrl+R history plugin (fzf, atuin, fzf.fish) or Ctrl+T file plugin (fzf), `maybe_trigger_external_ctrl_r_history_search` / `maybe_trigger_external_ctrl_t_file_search` in `app/src/terminal/view.rs:9290-9380` hand the keypress to the shell widget instead of Warp Command Search — so the documented "Press Ctrl+R to open Command Search" path is wrong for those installs. Updated `command-search.mdx` and mapped `ShellWidgetHandoff -> command-search.mdx` (feature PR). |
| HistorySearchRankingV2 (flag preview→ga) | 2026-09-11 | no | Disqualified: no user-observable change requiring action | Default cargo feature. Changes Ctrl+R / Command Search history ranking weights and whitespace tokenization (`history_data_source.rs:70`); no setting, CLI flag, or workflow change. Page already says results are ranked by relevance. Left on ignore list. |
| POST /agent/conversations/{conversation_id}/followups, interrupt; GET history; POST /agent/runs/{runId}/interrupt; GET trace | 2026-09-11 | deferred | Gate 0 | All five marked `x-internal: true` in warp-server `public_api/openapi.yaml` (steering, history, interrupt, trace). Publish filter strips them from `developers/agent-api-openapi.yaml`. Mapped each `-> internal`. Re-check if markers drop. |
| GET /factory-inbox/notifications/{uid}, GET /factory/{uid}/integrations/linear/issues/filter, GET /factory/{uid}/self-improvement/costs | 2026-09-11 | deferred | Gate 0 | All three marked `x-internal: true` and inside the unreleased `/factory` / `/factory-inbox` namespaces. Mapped `-> internal`. Re-check when the factory API is published. |
| [#14228](https://github.com/warpdotdev/warp/pull/14228) | 2026-09-11 | yes | Gate 1 | First-class Grok Build (`CLIAgent::Grok`, command prefix `grok`, display name "Grok Build" in `app/src/terminal/cli_agent.rs`). Supported-agents lists on `cli-agents/overview.mdx` and `interactive-code-review.mdx` omitted it; added Grok Build to both lists and the non-notification feature paragraph (feature PR). No dedicated agent page — same pattern as Goose/Hermes/Mistral Vibe. |
| [#15771](https://github.com/warpdotdev/warp/pull/15771) | 2026-09-11 | no | Disqualified: pure UI affordance / small and intuitive | Create New Window became an editable keybinding. Keyboard shortcuts page already covers remapping; product surfaces the action in the keybinding UI. No new knob docs need. |
| [#15769](https://github.com/warpdotdev/warp/pull/15769) | 2026-09-11 | no | Disqualified: small and intuitive | Added completions for `git merge-base`. Completions already document Tab-driven git completions; one more subcommand is not a docs gap. |
| [#15762](https://github.com/warpdotdev/warp/pull/15762) | 2026-09-11 | no | Disqualified: pure UI affordance | Attach file is a Command Palette action with an unbound-by-default keybinding. Discoverable in-product; no settings-file key. |
| [#15744](https://github.com/warpdotdev/warp/pull/15744) | 2026-09-11 | no | Already covered (ShellWidgetHandoff) | Fish Ctrl+R hands off to PatrickF1/fzf.fish. Covered by the ShellWidgetHandoff Gate 3 update on command-search.mdx. |
| [#15513](https://github.com/warpdotdev/warp/pull/15513) | 2026-09-11 | no | Already covered (ShellWidgetHandoff) | Extended shell widget handoff to fzf Ctrl+T file search. Same command-search.mdx paragraph. |
| [#15850](https://github.com/warpdotdev/warp/pull/15850) | 2026-09-11 | no | Disqualified: small and intuitive / product already surfaces it | Environment pickers show personal environments plus the selected window team. UI filter behavior; team selection already documented via `/team` and CLI team context. |
| [#15811](https://github.com/warpdotdev/warp/pull/15811) | 2026-09-11 | no | Already covered | Team selection on `oz run list` follows active CLI team (`/team`). CLI team switching already documented. |
| [#15809](https://github.com/warpdotdev/warp/pull/15809) | 2026-09-11 | no | Already covered | Team selection on runner listing/name-based updates. Same active-team scope as other `oz` commands. |
| [#15806](https://github.com/warpdotdev/warp/pull/15806) | 2026-09-11 | no | Already covered | API key list/create/expire respect selected Oz CLI team. Team scope already documented. |
| [#15807](https://github.com/warpdotdev/warp/pull/15807) | 2026-09-11 | no | Already covered | Agent catalogs follow active team selection. |
| [#15805](https://github.com/warpdotdev/warp/pull/15805) | 2026-09-11 | no | Already covered | Environment lists and interactive pickers follow selected team. |
| [#15804](https://github.com/warpdotdev/warp/pull/15804) | 2026-09-11 | no | Already covered | Team selection on `oz model list`. |
| [#15840](https://github.com/warpdotdev/warp/pull/15840) | 2026-09-11 | no | Disqualified: bug fix restoring intended behavior | Agents can use refreshed Entra credentials to write to Azure DevOps. Restores expected git write access after token refresh; Azure DevOps integration docs already cover the connection. |
| [#15827](https://github.com/warpdotdev/warp/pull/15827) | 2026-09-11 | no | Disqualified: no user-observable change requiring action / already documented | Claude Code and Codex runs get Factory MCP automatically. Automatic attachment; Factory MCP and third-party harness MCP are already documented. No new knob. |
| n/a (24 potentially_stale_docs, 2026-09-11 run) | 2026-09-11 | no | Disqualified: not a docs gap / owned by style_lint | Same class as 2026-09-09: `ai credits` bucket-name false positives, permitted "Warp terminal" distinguishing usage, historical Warp AI FAQ heading, live Generate / AI Command Search headings. No missing content. |
| n/a (release v0.2026.09.09.08.26.stable_02) | 2026-09-11 | n/a | Not a verdict | Drift-watch processed stable `v0.2026.09.09.08.26.stable_02` (released 2026-09-09). Feature PRs for backdrop+native completions, shell widget handoff, and Grok Build; bookkeeping PR carries map, ledger, release marker, and snapshot. |
| n/a (release gate no-op, 2026-09-09) | 2026-09-09 | n/a | Not a verdict | `check_new_release.py` exited 10: current stable is still `v0.2026.09.02.08.27.stable_01`, already recorded in `last_release_processed.json`. No new changelog entries and no new `oz_updates` bullets, which is why `changelog_review` is empty this run. `last_release_processed.json` deliberately left unchanged. The rest of the run is the exhaustive standing-coverage and snapshot-diff sweep requested on top of the gate. |
| RestorePromptOnInlineModelSelectorSearch (flag dogfood→ga) | 2026-09-09 | no | Disqualified: pure UI affordance / small and intuitive | Opening the inline model selector from the model chip now parks text already in the input so the input can filter the model list, restoring it when the selector closes (`open_model_selector_and_snapshot_prompt`, `app/src/terminal/input.rs:5666`; cargo bridge `restore_prompt_on_inline_model_selector_search` in `app/src/features.rs:448`). No setting, CLI flag, or API field, so Gate 1 does not fire; nothing fails and the prompt returns on its own, so Gates 2 and 3 do not; the model chip and `/model` already surface the selector, so Gate 4's second condition fails. Model selection itself is documented at `agents/inference/model-choice/`. Mapped ignore. |
| PeriodicHandoffCheckpoints (flag dogfood→preview) | 2026-09-09 | deferred | Gate 0 | Uploads workspace handoff snapshots periodically during a cloud agent run instead of only at end-of-run (`PREVIEW_FLAGS` in `crates/warp_features/src/lib.rs:970`). Requires `OzHandoff`, and is a no-op for local runs and when `--no-snapshot` is set. Preview, not GA, so not documentable. Added to the surface-map ignore list beside the other preview toggles; the snapshot diff re-flags it on promotion or removal. Re-check when the flag reaches `RELEASE_FLAGS` or the default feature set, at which point it belongs on `platform/handoff/`. |
Expand Down Expand Up @@ -140,6 +168,14 @@ The `warpdotdev/warp` rows come from the `v0.2026.07.29.09.05.stable_02` changel

The two `warpdotdev/docs` rows were the regression cases used to validate the gate when it was introduced: docs#581 must fail Gate 0 because it documents an unreleased setting, and docs#582 must pass, because a gate that rejects everything is as broken as one that accepts everything.

### Audit blind spot: provider subcommands under `oz secret create`

Surfaced by the 2026-09-11 17:00Z sweep while triaging #15913, and recorded here because fixing it is a skill-script change rather than a content change.

The CLI extractor walks `Subcommand` enums reachable from the command tree, but `oz secret create` takes its provider as an `Option<CreateProvider>` field inside `CreateSecretArgs`, an `Args` struct. The extractor does not descend into `Args` structs, so `claude`, `codex`, and the new `docker-registry` never appear in `surface_snapshot.json`'s 91 `cli_commands` — only `oz secret create` does. The three provider subcommands were caught only through their flags, which the per-module `cli_flags` tracking does see.

The practical effect is narrow but real: a provider subcommand added with no new flags would be invisible to both the coverage audit and `--diff`. This is the CLI-side analogue of the generated-handler API blind spot recorded on 2026-09-07. No map entries were added for the three provider subcommands, for the same reason as that row: map hygiene validates entries against extracted commands, so an entry for a command the extractor cannot see would register as dead every run.

### Open question for the docs owner: the `ai credits` stale term

Raised by the 2026-08-26 run, not decided by it, because it is a style-policy call rather than a docs gap.
Expand Down
Loading
Loading