Skip to content

chore(missing_docs): bookkeeping for the 2026-09-14 and 2026-09-16 exhaustive audits - #745

Merged
hongyi-chen merged 4 commits into
mainfrom
missing-docs/bookkeeping-2026-09-14
Sep 18, 2026
Merged

hongyi-chen merged 4 commits into
mainfrom
missing-docs/bookkeeping-2026-09-14

Conversation

@hongyi-chen

@hongyi-chen hongyi-chen commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

Bookkeeping-only output of two exhaustive missing_docs drift-watch runs, 2026-09-14 and 2026-09-16, over the same stable release. No public doc pages change. No feature PRs accompany this one — every candidate either failed the worthiness gate or already carried a recorded verdict.

What these runs audited

Both audit modes ran against fresh warp (master) and warp-server (develop) checkouts and exited 0, with audits_skipped: [] — no parser sanity guard tripped, so no category was silently skipped.

Completeness accounting reported an empty unaccounted bucket across 296 feature flags, 91 CLI commands, 220 API routes, 65 slash commands, and 232 settings.

Findings by category:

  • Feature flags, CLI commands, slash commands, settings, unlisted pages (structure), stale doc references, surface-map hygiene - 0 findings each.
  • API endpoints - 1 (medium), also the only surface_changes entry.
  • Docs staleness - 24 (low), all already decided.
  • --weak-coverage - 82 (low), run for exhaustiveness even though it is off by default.

The release gate (check_new_release.py) exited 10 on both runs: the current stable v0.2026.09.09.08.26.stable_02 was already processed by #736. That is why changelog_review is empty and why last_release_processed.json is untouched here. The standing coverage and snapshot-diff sweep ran anyway, as requested.

What changed

  • feature_surface_map.md - one new entry, GET /networking/egress-ranges -> internal.
  • changelog_decisions.md - seven rows recording both runs' verdicts, including the re-verifications and the not-a-verdict bookkeeping rows.
  • surface_snapshot.json - regenerated on 2026-09-14. The delta is exactly one line: the new route enters the baseline so --diff stops re-reporting it.

The one new surface: GET /networking/egress-ranges

Verdict: deferred (Gate 0). Mapped -> internal. Not hand-documented.

The route returns the canonical outbound IP ranges for Warp-hosted agents, scoped to the authenticated principal's active team (RegisterNetworkingRoutes / EgressRangesHandler in router/handlers/public_api/networking.go, behind middleware.EnforceAuth()).

Gate 0 fails on two independent markers in warp-server's canonical public_api/openapi.yaml: the networking tag carries x-internal: true, and so does the getEgressRanges operation. sync_openapi.py drops x-internal operations wholesale, so the route cannot reach developers/agent-api-openapi.yaml while those markers stand — that file has zero networking paths and zero x-internal entries today. The endpoint backs the Admin Panel's hosted-agent egress CIDR list, not the released public Agent API.

It is not a content gap either: the egress ranges themselves are already published on platform/warp-hosting.mdx under "Networking".

Re-check if the x-internal markers come off, and route it through sync-openapi-spec rather than hand-drafting it.

The 2026-09-16 re-verification

A second exhaustive sweep two days later found nothing new, and verified that rather than assuming it.

Running --update-snapshot against warp at 91dad6a70 and warp-server at 91b349221 (both 2026-09-16) reproduced this branch's surface_snapshot.json byte for byte — across flags, CLI commands and per-module flags, API routes, slash commands, settings, Oz web app routes, server-side agent tools, and bundled skills. No tracked surface moved in the interval, which is why the snapshot is unchanged by the second run and only the ledger gains a row.

Against main the run reproduced the 2026-09-14 findings exactly. With this branch's map entry applied, undocumented_api_endpoints and surface_changes both drop to 0 and only the already-decided staleness rows remain.

The load-bearing evidence was re-derived from source rather than carried forward:

  • The networking tag and the getEgressRanges operation still both carry x-internal: true in warp-server public_api/openapi.yaml (lines 31-33 and 42-43).
  • All five staleness term classes were re-checked at their source lines — the historical Warp AI FAQ heading, the live "Generate commands as command-line input" heading, AI Command Search, the AI credits bucket name, and the permitted distinguishing Warp terminal usage.
  • The skill's three test suites pass (19 reviewer-resolution tests, 18 audit tests, and the release-gate contract tests), so no extractor has silently rotted.

Deferred and rejected findings

Nothing was silently dropped. Each item below has a full row in changelog_decisions.md.

  • GET /networking/egress-ranges - deferred, Gate 0, as above. Re-surfaces if the x-internal markers are removed.
  • Hardcoded egress CIDR list on platform/warp-hosting.mdx - noted, no change available. The page publishes the ranges as a hardcoded list while warp-server now computes the same set server-side, so the two can drift with nothing to catch it. The page cannot link the endpoint because it is x-internal, and the current list is not known to be wrong. Flagged for the docs owner rather than editing correct content.
  • 24 potentially_stale_docs - no docs change; re-verified line by line on both runs. 13 files are the ai credits bucket-name false positive; all 13 warp terminal hits are the distinguishing usage the rule's own reason exempts; warp ai is the historical FAQ heading about the retired chat panel; generate command matches live headings on the page titled "Generate (Legacy)"; ai command matches AI Command Search.
  • ai credits stale-term rule - deliberately left unchanged. The ledger's Notes section already records this as an open style-policy question for a human owner, since AGENTS.md contradicts itself (its credits entry bans the prefix; its compute credits entry uses "AI credits" as a bucket name) and style_lint does not flag the term. Narrowing the rule unattended would be the agent resolving a policy call that was explicitly reserved for a person.
  • 82 --weak-coverage findings - no docs change; keyword artifacts on internal CamelCase flag names. Four spot-verified: GroupedTabs, CloudRunners, BundledSkills, and AskUserQuestion are all genuinely documented.

Content design plan

Not applicable. Per .agents/references/content-design-plan.md, bookkeeping and snapshot refreshes are in the skip list, and no page was drafted or updated.

Validation

  • npm ci && npm run build - passes on both runs (386 Markdown docs, 388 HTML files as of 2026-09-16).
  • Re-ran the audit after the changes: undocumented_api_endpoints and surface_changes are both 0, map_hygiene stays 0 (the new map entry validates against a live extracted route), and unaccounted is still empty. Only the 24 already-decided staleness findings remain.

Reviewer

suggest_reviewers.py resolved only a team (@warpdotdev/fa-warp-3, via /logic/ai/ambient_agents/) on both runs; router/handlers/public_api/networking.go itself has no owner entry in warp-server's ownership files. Per the reviewer policy, teams are never requested and there is no fallback, so this PR has no requested reviewer and names the owning team here instead.

Documentation risk

Risk: low
Rationale: Bookkeeping only: surface-map entry, decision-ledger rows, and a regenerated surface snapshot under .agents/. No public doc page changes, no product claims, no command, API, setting, or integration behavior changes.
Source files consulted: warp-server/router/handlers/public_api/networking.go@91b349221, warp-server/public_api/openapi.yaml@91b349221, warp/crates/warp_features/src/lib.rs@91dad6a70
Engineering review status: not-applicable
Docs override: none

Unverified claims

None. No VERIFY markers in the changed content.

Exhaustive drift-watch sweep across every audit category. Both audit modes
exited 0 with no skipped audits and an empty `unaccounted` bucket.

One new surface this run: GET /networking/egress-ranges. It fails Gate 0 —
both the `networking` tag and the `getEgressRanges` operation carry
`x-internal: true` in warp-server's canonical spec, so the publish filter
keeps it out of the released Agent API spec. Mapped `-> internal`.

Everything else was already decided or is a known heuristic false positive,
re-verified rather than carried forward. No feature PRs.

Co-Authored-By: Warp <agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Sep 14, 2026
@vercel

vercel Bot commented Sep 14, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
docs Ready Ready Preview Sep 16, 2026 5:10pm UTC

Request Review

@hongyi-chen hongyi-chen added the warpy-factory Opened by the Warp factory agents label Sep 14, 2026 — with Warp Agent Staging

Copy link
Copy Markdown
Collaborator Author

This PR was generated with Warp.

Comment @warp-agent on this PR to send it follow-up work.

@hongyi-chen
hongyi-chen enabled auto-merge (squash) September 16, 2026 00:50
@warp-for-oss

warp-for-oss Bot commented Sep 16, 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 /warp-agent-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@warp-for-oss warp-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 records missing-docs bookkeeping for the 2026-09-14 audit: it adds decision-ledger rows, maps GET /networking/egress-ranges as internal, and refreshes the generated surface snapshot. No public documentation pages or executable code change.

Concerns

  • One new ledger row records audits_skipped: null, which should be clarified because the audit report represents skipped audits as an array and the PR body says no audits were skipped.
  • No security concerns found in the changed bookkeeping files.
  • No spec drift found; no approved or repository spec context was provided.

Verdict

Found: 0 critical, 0 important, 1 suggestions

Approve with nits

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

Powered by Oz

| n/a (hardcoded egress CIDR list on platform/warp-hosting.mdx) | 2026-09-14 | no | Not a docs gap / noted for the owner | Surfaced while triaging the route above, recorded so it is not silently dropped. `platform/warp-hosting.mdx` publishes the hosted-agent egress ranges as a hardcoded bullet list, and warp-server now computes the same set server-side (`logic/ai/ambient_agents/networking/egress_ranges.go`). The page can therefore drift from the canonical source with nothing to catch it. No docs change is available: the endpoint is `x-internal`, so the page cannot point readers at it, and the current list is not known to be wrong. Flagging the durability question for the docs owner rather than editing correct content. |
| n/a (24 potentially_stale_docs, 2026-09-14 run) | 2026-09-14 | no | Already decided (2026-09-11) / owned by style_lint | Identical file set and term set to the 2026-09-11 row; re-verified rather than carried forward. 13 files are the `ai credits` bucket-name false positive (still the unresolved style-policy question in the Notes below — deliberately left for a human owner, so `stale_terms.md` was not narrowed unattended). All 13 `warp terminal` hits are the distinguishing usage the rule's own reason exempts: client vs. backend in `enterprise/`, the product-list entry in `enterprise/index.mdx`, and local terminal vs. cloud harness across `platform/harnesses/` and `guides/`. `warp ai` is the historical FAQ heading "What happened to the old Warp AI chat panel?" (`agents/getting-started/faqs.mdx:18`). `generate command` matches the live headings on `agents/local-agents/generate.mdx`, a page titled "Generate (Legacy)". `ai command` matches AI Command Search (`terminal/entry/index.mdx:11`). No missing content. |
| n/a (82 --weak-coverage feature findings, 2026-09-14 run) | 2026-09-14 | no | Disqualified: not a docs gap / heuristic false positive | Ran `--weak-coverage` for exhaustiveness. 82, up one from the 81 on 2026-09-09, entirely because `ShellWidgetHandoff` moved off the ignore list onto `command-search.mdx` on 2026-09-11 and so re-entered the mapped pool the check scores. Every hit is a mapped page that lacks a phrase derived from an internal CamelCase flag name. Spot-verified four this run: `GroupedTabs` → `terminal/windows/tabs.mdx` has a full "## Tab groups" section; `CloudRunners` → `platform/runners.mdx` documents runner CRUD end to end; `BundledSkills` → covered by "## Pre-built skills" on `agents/capabilities/skills.mdx` plus the `~/.warp/skills/` paths on `terminal/settings/file-locations.mdx`; `AskUserQuestion` → `agents/local-agents/interacting-with-agents/agent-questions.mdx` plus the `ask_user_question` profile key. Keyword artifacts, which is why the flag is off by default. |
| n/a (zero findings in seven categories, 2026-09-14) | 2026-09-14 | n/a | Not a verdict | Recording the clean categories so a later run can tell "checked and empty" from "not checked": `undocumented_features`, `undocumented_cli_commands`, `undocumented_slash_commands`, `undocumented_settings`, `stale_doc_references`, `unlisted_pages`, and `map_hygiene` all returned zero. Both audit modes exited 0 with `audits_skipped: null`, and the completeness accounting reported an empty `unaccounted` bucket across 296 flags, 91 CLI commands, 220 API routes, 65 slash commands, and 232 settings. |

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] Use audits_skipped: [] or no audits_skipped instead of audits_skipped: null; the audit report stores skipped audits as an array, so null makes this row look like the field was absent rather than empty.

@github-actions github-actions 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.

Review summary

The independent agent completed its review for this commit.

Findings

  • No findings.

Verdict

Approve

hongyi-chen and others added 2 commits September 16, 2026 17:02
Second exhaustive drift-watch pass over v0.2026.09.09.08.26.stable_02.
No tracked surface changed since this PR regenerated the snapshot:
--update-snapshot against the current warp/warp-server checkouts
reproduces surface_snapshot.json byte for byte, so the file is
unchanged here and only the ledger gains a row.

Co-Authored-By: Warp <agent@warp.dev>
@hongyi-chen hongyi-chen changed the title chore(missing_docs): bookkeeping for the 2026-09-14 exhaustive audit chore(missing_docs): bookkeeping for the 2026-09-14 and 2026-09-16 exhaustive audits Sep 16, 2026

@github-actions github-actions 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.

Review summary

The independent agent completed its review for this commit.

Findings

  • No findings.

Verdict

Approve

@warp-agent-staging warp-agent-staging 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.

Reviewed current head c28c01fa2204b3a534e5a7446d717c404f33b156. The audit bookkeeping is internally consistent, its cited source revisions check out, and all required checks pass. The existing audits_skipped ledger suggestion is nonblocking.

Responding as Docs Factory (V2): Open session

@hongyi-chen
hongyi-chen merged commit 9ddae50 into main Sep 18, 2026
16 checks passed
@warp-agent-staging warp-agent-staging Bot added the factory:docs-factory Label associated to the "docs-factory" factory label Sep 18, 2026
@hongyi-chen
hongyi-chen deleted the missing-docs/bookkeeping-2026-09-14 branch September 18, 2026 04:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed factory:docs-factory Label associated to the "docs-factory" factory warpy-factory Opened by the Warp factory agents

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant