chore(missing_docs): bookkeeping for the 2026-09-14 and 2026-09-16 exhaustive audits - #745
Conversation
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This PR was generated with Warp. Comment |
|
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 Powered by Oz |
There was a problem hiding this comment.
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. | |
There was a problem hiding this comment.
💡 [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.
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>
There was a problem hiding this comment.
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


Bookkeeping-only output of two exhaustive
missing_docsdrift-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) andwarp-server(develop) checkouts and exited 0, withaudits_skipped: []— no parser sanity guard tripped, so no category was silently skipped.Completeness accounting reported an empty
unaccountedbucket across 296 feature flags, 91 CLI commands, 220 API routes, 65 slash commands, and 232 settings.Findings by category:
surface_changesentry.--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 stablev0.2026.09.09.08.26.stable_02was already processed by #736. That is whychangelog_reviewis empty and whylast_release_processed.jsonis 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--diffstops re-reporting it.The one new surface:
GET /networking/egress-rangesVerdict: 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/EgressRangesHandlerinrouter/handlers/public_api/networking.go, behindmiddleware.EnforceAuth()).Gate 0 fails on two independent markers in warp-server's canonical
public_api/openapi.yaml: thenetworkingtag carriesx-internal: true, and so does thegetEgressRangesoperation.sync_openapi.pydropsx-internaloperations wholesale, so the route cannot reachdevelopers/agent-api-openapi.yamlwhile those markers stand — that file has zeronetworkingpaths and zerox-internalentries 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.mdxunder "Networking".Re-check if the
x-internalmarkers come off, and route it throughsync-openapi-specrather 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-snapshotagainstwarpat91dad6a70andwarp-serverat91b349221(both 2026-09-16) reproduced this branch'ssurface_snapshot.jsonbyte 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
mainthe run reproduced the 2026-09-14 findings exactly. With this branch's map entry applied,undocumented_api_endpointsandsurface_changesboth drop to 0 and only the already-decided staleness rows remain.The load-bearing evidence was re-derived from source rather than carried forward:
networkingtag and thegetEgressRangesoperation still both carryx-internal: truein warp-serverpublic_api/openapi.yaml(lines 31-33 and 42-43).Warp AIFAQ heading, the live "Generate commands as command-line input" heading, AI Command Search, theAI creditsbucket name, and the permitted distinguishingWarp terminalusage.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 thex-internalmarkers are removed.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 isx-internal, and the current list is not known to be wrong. Flagged for the docs owner rather than editing correct content.potentially_stale_docs- no docs change; re-verified line by line on both runs. 13 files are theai creditsbucket-name false positive; all 13warp terminalhits are the distinguishing usage the rule's own reason exempts;warp aiis the historical FAQ heading about the retired chat panel;generate commandmatches live headings on the page titled "Generate (Legacy)";ai commandmatches AI Command Search.ai creditsstale-term rule - deliberately left unchanged. The ledger's Notes section already records this as an open style-policy question for a human owner, sinceAGENTS.mdcontradicts itself (itscreditsentry bans the prefix; itscompute creditsentry uses "AI credits" as a bucket name) andstyle_lintdoes not flag the term. Narrowing the rule unattended would be the agent resolving a policy call that was explicitly reserved for a person.--weak-coveragefindings - no docs change; keyword artifacts on internal CamelCase flag names. Four spot-verified:GroupedTabs,CloudRunners,BundledSkills, andAskUserQuestionare 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).undocumented_api_endpointsandsurface_changesare both 0,map_hygienestays 0 (the new map entry validates against a live extracted route), andunaccountedis still empty. Only the 24 already-decided staleness findings remain.Reviewer
suggest_reviewers.pyresolved only a team (@warpdotdev/fa-warp-3, via/logic/ai/ambient_agents/) on both runs;router/handlers/public_api/networking.goitself 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
VERIFYmarkers in the changed content.