[CLI Flag Review] Weekly CLI Flag Consistency Report #8850
Replies: 1 comment
|
🔮 The ancient spirits stir. The smoke test agent was here, and the omens read clear. Warning Firewall blocked 8 domainsThe following domains were blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "msfeed25.pkgs.visualstudio.com"
- "update.googleapis.com"
- "www.google.com"
- "www.gstatic.com"See Network Configuration for more information.
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
📊 Summary
src/cli-options.ts(top-levelawfcommand): 84 (plus 5 subcommand-scopedlogs/predownloadoptions)docs-site/.../cli-reference.md's Options Summary table: 21+ (see table below)--enable-api-proxy— see Issue Improve links in readme to AW project #1)--vertex-api-target,--vertex-api-base-path,--openai-api-auth-header,--anthropic-api-auth-header,--max-model-multiplier,--max-model-multiplier-cap,--max-permission-denied,--max-cache-misses,--reflect,--enable-token-steeringheader text, and all 19--cloud-hypervisor-*flags are missing fromusage.md.✅ Flags Status (selected — full 84-flag matrix available on request)
Legend: ✅ documented, ❌ not found, ➖ intentionally out of scope (advanced/internal)
--allow-domains--enable-api-proxy--pids-limit--network-isolation--no-network-isolation--legacy-security--container-runtime--network-subnet--topology-attach--verify-sbx-egress--security-mode--no-enable-api-proxy--cloud-hypervisor-*(19 flags)docs/cloud-hypervisor-foundation.md, not inusage.md/cli-reference.md--vertex-api-target/--vertex-api-base-path--openai-api-auth-header/--anthropic-api-auth-header--max-model-multiplier(-cap)--max-permission-denied--max-cache-misses--reflect--enable-token-steering--anthropic-auto-cache/--anthropic-cache-tail-ttl1.
--enable-api-proxydocumentation contradicts actual (deprecated/no-op) behavior — High severitydocs/usage.md(Command-Line Options block, and "API Proxy Sidecar" section ~line 569),docs-site/src/content/docs/reference/cli-reference.md(Options Summary table line 59, and### --enable-api-proxysection ~line 727),CLAUDE.mdlines 23/26/168src/cli-options.ts(lines 359–370) marks--enable-api-proxy[DEPRECATED] The API proxy is always enabled. This flag is ignored.and--no-enable-api-proxyas[REMOVED](passing it is now an error). Both options arehideHelp()'d. Yetusage.mdandcli-reference.mdstill present--enable-api-proxyas a live, opt-in flag with defaultfalse, complete with "Requires:--enable-api-proxy" call-outs on ~6 other API-target flag sections, and runnable examples showingsudo -E awf --enable-api-proxy ....CLAUDE.md(an agent-instruction file) states the sidecar is "optional" and "Enabled via--enable-api-proxy; not started otherwise" — directly wrong per the module docstring inCLAUDE.mditself, which elsewhere correctly says "Squid, the primary agent, and the general API proxy are the baseline services."--enable-api-proxy/--no-enable-api-proxyare deprecated/removed no-ops, not prerequisites for the other--*-api-target,--rate-limit-*,--anthropic-auto-cache, etc. flags.usage.mdandcli-reference.mdinstruct users to pass--enable-api-proxy;CLAUDE.mdcalls the whole component "optional" and conditionally started.cli-reference.md's Options Summary row and its dedicated### --enable-api-proxy/### --no-enable-api-proxysections to reflect deprecation, strip--enable-api-proxyfrom all example commands and the "Requires:" call-outs on downstream flags, and correctCLAUDE.md's "API Proxy Sidecar (optional)" language (both occurrences) to match the "always enabled" framing already used in the "Core and Optional Container Components" heading.2.
docs-site/.../cli-reference.mdOptions Summary table omits ~21 implemented flags — Medium severitydocs-site/src/content/docs/reference/cli-reference.md, "Options Summary" table (lines ~20–71)--pids-limit,--network-isolation,--no-network-isolation,--network-subnet,--legacy-security,--container-runtime,--topology-attach,--verify-sbx-egress, all 19--cloud-hypervisor-*flags,--vertex-api-target,--vertex-api-base-path,--openai-api-auth-header,--anthropic-api-auth-header,--max-model-multiplier,--max-model-multiplier-cap,--max-permission-denied,--max-cache-misses,--anthropic-auto-cache,--anthropic-cache-tail-ttl,--reflect. Some of these (network-isolation, container-runtime, cloud-hypervisor preview) are core security/runtime features described at length inusage.mdandCLAUDE.md, so their absence from the canonical CLI reference is a real gap, not an intentional omission of internal-only flags.usage.mdalready documents (e.g.,--network-isolation,--container-runtime,--pids-limit), reversing the expected coverage order.usage.md, and add a dedicated "Cloud Hypervisor Preview" reference section (or a clear cross-link todocs/cloud-hypervisor-foundation.md).3.
usage.mdmissing ~13 API-proxy/vertex/reflect flags — Medium prioritydocs/usage.md, "Command-Line Options" block (lines 3–187) and "API Proxy Sidecar" section (~line 569)--vertex-api-target,--vertex-api-base-path,--openai-api-auth-header,--anthropic-api-auth-header,--max-model-multiplier,--max-model-multiplier-cap,--max-permission-denied,--max-cache-misses,--reflect, and--enable-token-steeringare absent from the options block even though sibling flags (e.g.--rate-limit-rpm,--anthropic-auto-cache) are documented right next to them incli-options.ts.usage.md's options block otherwise closely mirrorscli-options.tsgrouping order, these flags should appear inline with their neighbors.--helpoutput.4.
docs/cloud-hypervisor-foundation.mdis the sole home for 19--cloud-hypervisor-*flags — Low/Medium prioritysrc/cli-options.tslines 196–218 define--cloud-hypervisor-previewplus 18 related flags (binary paths, sha256 digests, vcpus, memory, timeouts, mount-policy, development-only unattested-artifacts escape hatch).usage.mdorcli-reference.md's Options Summary; they're preview/experimental (GitHub-hosted Ubuntu x86_64 KVM only) so a separate deep-dive doc is reasonable, but neither of the two primary CLI docs even cross-links todocs/cloud-hypervisor-foundation.mdfrom the Options table itself (README.md does link it under "Explore the docs").cli-reference.mdpointing to the dedicated doc, consistent with how README.md already cross-links it.📋 Recommendations
--enable-api-proxydeprecation inconsistency (Issue Improve links in readme to AW project #1) — this is user-facing and could cause confusion/errors since users followingcli-reference.md's examples would pass a no-op flag while believing it's required, andCLAUDE.md(read by coding agents working on this repo) actively misdescribes the architecture.cli-reference.md's Options Summary table with the ~21 missing flags (Issue Secret proxying #2), prioritizing--network-isolation/--container-runtime/--legacy-securitysince these are core security-mode flags, not obscure edge cases.usage.mdwith the ~10 missing flags (Issue feat: add integration test for rostbuness #3), especially--reflect(already advertised in README.md's Quick Start) and the--max-*budget-guard flags (cost-control features users would want to discover).cli-reference.mdfor Cloud Hypervisor flags pointing at the dedicated doc (Issue fix: add missing Docker image pulls to robustness test workflow #4).📁 Files Analyzed
src/cli.ts(thin entry point — delegates tosrc/cli-options.ts+src/commands/subcommands.ts)src/cli-options.ts(source of truth — 84 top-level flags)src/commands/subcommands.ts(source of truth —predownload,logs,logs stats,logs summary,logs auditsubcommand flags; all subcommand options were found consistently documented inusage.md's Commands block)docs/usage.mddocs-site/src/content/docs/reference/cli-reference.mdREADME.mdAGENTS.md(symlink toCLAUDE.md— identical content, reviewed once)CLAUDE.mdAll reactions