You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nightly documentation reconciliation identified 1 gap and 1 minor omission between documentation and implementation. The overall documentation quality is high β most claims were verified as accurate.
Location:docs/ENVIRONMENT_VARIABLES.md, header line Problem: The file's title claims "Complete reference for MCP Gateway environment variables" and README.md describes it as "All env vars for production, development, Docker, and guard configuration" β but proxy mode (awmg proxy) environment variables are absent from the file entirely. Missing Variables:
GITHUB_API_URL β Explicit GitHub API endpoint for proxy upstream; read by internal/proxy/proxy.go:45
GITHUB_SERVER_URL β Auto-derive API endpoint from server URL for proxy mode; read by internal/proxy/proxy.go:49
GITHUB_TOKEN / GH_TOKEN β GitHub auth token used by proxy mode; read in internal/cmd/proxy.go
Actual Behavior: These variables ARE used by proxy mode code but are only documented in docs/PROXY_MODE.md, not in the canonical env vars reference. Impact: Users consulting docs/ENVIRONMENT_VARIABLES.md for proxy mode setup will not find these variables, causing confusion. Suggested Fix: Add a "Proxy Mode" section to docs/ENVIRONMENT_VARIABLES.md:
## Proxy Mode Variables
When running `awmg proxy`, these variables configure the upstream GitHub API:
| Variable | Description | Default ||----------|-------------|---------||`GITHUB_API_URL`| Explicit GitHub API endpoint (e.g., `(copilotapi.mycompany.ghe.com/redacted)`); used by proxy to set upstream target | (auto-derived) ||`GITHUB_SERVER_URL`| GitHub server URL; proxy auto-derives API endpoint: `*.ghe.com` β `copilot-api.*.ghe.com`, GHES β `<host>/api/v3`, `github.com` β `api.github.com`| (falls back to `api.github.com`) ||`GITHUB_TOKEN` / `GH_TOKEN`| GitHub auth token for the proxy to forward requests | (required) |
2. docs/GATEWAY_COMPATIBILITY_QUICK_REFERENCE.md Not Listed in README Further Reading
Location:README.md "Further Reading" table Problem: The file docs/GATEWAY_COMPATIBILITY_QUICK_REFERENCE.md exists in the repository but is not referenced in the README's Further Reading table. Impact: Users browsing docs from the README will not discover this reference document. Suggested Fix: Add a row to the Further Reading table in README.md:
|**Gateway Compatibility**|[docs/GATEWAY_COMPATIBILITY_QUICK_REFERENCE.md](docs/GATEWAY_COMPATIBILITY_QUICK_REFERENCE.md) β Quick reference for gateway compatibility |
CONTRIBUTING.md Make Targets β All targets (build, test, test-unit, test-integration, test-all, lint, coverage, install, format, clean) exist in Makefile with correct descriptions
Go Version Requirement β CONTRIBUTING.md states Go 1.25.0; go.mod confirms go 1.25.0
Binary Name β awmg matches BINARY_NAME in Makefile
Variable Expansion β Correctly documented: JSON stdin supports \$\{VAR} expansion, TOML does not
Docker Run Examples β MCP_GATEWAY_PORT, MCP_GATEWAY_DOMAIN, MCP_GATEWAY_API_KEY correctly documented as required by run_containerized.sh's check_required_env_vars()
--validate-env Flag β Exists and is implemented in internal/cmd/flags_core.go:41 and used in internal/cmd/root.go:170
All docs/ files referenced from README β Verified all 8 linked docs files exist: CONFIGURATION.md, ENVIRONMENT_VARIABLES.md, PROXY_MODE.md, GUARD_RESPONSE_LABELING.md, HTTP_BACKEND_SESSION_ID.md, MCP_SERVER_ARCHITECTURE_PATTERNS.md, aw-security.md, GATEWAY_COMPATIBILITY_QUICK_REFERENCE.md
CONTRIBUTING.md Architecture Notes β All 8 features listed verified as implemented in code
docs/ENVIRONMENT_VARIABLES.md env var values β All 20+ documented gateway env vars confirmed in code with correct defaults
TOML config field names β guard_policies, command, args, port, api_key etc. match TOML struct tags in internal/config/config_core.go
JSON stdin field names β mcpServers, apiKey, container, entrypoint, entrypointArgs, mounts, guard-policies all match StdinServerConfig JSON struct tags
Tested Commands
Make targets verified via --dry-run:
β make build β compiles awmg binary
β make test β alias for test-unit
β make test-unit β runs go test ./internal/...
β make test-integration β runs binary integration tests
β make test-all β runs both unit + integration tests
β make lint β runs go vet, gofmt check, golangci-lint
β make coverage β runs unit tests with coverage profile
β make install β installs Go toolchain + golangci-lint + go mod download
Summary
Nightly documentation reconciliation identified 1 gap and 1 minor omission between documentation and implementation. The overall documentation quality is high β most claims were verified as accurate.
Important Issues π‘
1.
docs/ENVIRONMENT_VARIABLES.mdMissing Proxy Mode VariablesLocation:
docs/ENVIRONMENT_VARIABLES.md, header lineProblem: The file's title claims "Complete reference for MCP Gateway environment variables" and README.md describes it as "All env vars for production, development, Docker, and guard configuration" β but proxy mode (
awmg proxy) environment variables are absent from the file entirely.Missing Variables:
GITHUB_API_URLβ Explicit GitHub API endpoint for proxy upstream; read byinternal/proxy/proxy.go:45GITHUB_SERVER_URLβ Auto-derive API endpoint from server URL for proxy mode; read byinternal/proxy/proxy.go:49GITHUB_TOKEN/GH_TOKENβ GitHub auth token used by proxy mode; read ininternal/cmd/proxy.goActual Behavior: These variables ARE used by proxy mode code but are only documented in
docs/PROXY_MODE.md, not in the canonical env vars reference.Impact: Users consulting
docs/ENVIRONMENT_VARIABLES.mdfor proxy mode setup will not find these variables, causing confusion.Suggested Fix: Add a "Proxy Mode" section to
docs/ENVIRONMENT_VARIABLES.md:Code References:
internal/proxy/proxy.go:38-56,internal/cmd/proxy.go:95Minor Issues π΅
2.
docs/GATEWAY_COMPATIBILITY_QUICK_REFERENCE.mdNot Listed in README Further ReadingLocation:
README.md"Further Reading" tableProblem: The file
docs/GATEWAY_COMPATIBILITY_QUICK_REFERENCE.mdexists in the repository but is not referenced in the README's Further Reading table.Impact: Users browsing docs from the README will not discover this reference document.
Suggested Fix: Add a row to the Further Reading table in
README.md:Accurate Sections β
The following were verified as accurate:
StdinConfig,StdinGatewayConfig,StdinServerConfigstruct definitions exactlybuild,test,test-unit,test-integration,test-all,lint,coverage,install,format,clean) exist in Makefile with correct descriptionsgo.modconfirmsgo 1.25.0awmgmatchesBINARY_NAMEin Makefile\$\{VAR}expansion, TOML does notMCP_GATEWAY_PORT,MCP_GATEWAY_DOMAIN,MCP_GATEWAY_API_KEYcorrectly documented as required byrun_containerized.sh'scheck_required_env_vars()--validate-envFlag β Exists and is implemented ininternal/cmd/flags_core.go:41and used ininternal/cmd/root.go:170CONFIGURATION.md,ENVIRONMENT_VARIABLES.md,PROXY_MODE.md,GUARD_RESPONSE_LABELING.md,HTTP_BACKEND_SESSION_ID.md,MCP_SERVER_ARCHITECTURE_PATTERNS.md,aw-security.md,GATEWAY_COMPATIBILITY_QUICK_REFERENCE.mddocs/ENVIRONMENT_VARIABLES.mdenv var values β All 20+ documented gateway env vars confirmed in code with correct defaultsguard_policies,command,args,port,api_keyetc. match TOML struct tags ininternal/config/config_core.gomcpServers,apiKey,container,entrypoint,entrypointArgs,mounts,guard-policiesall matchStdinServerConfigJSON struct tagsTested Commands
Make targets verified via
--dry-run:make buildβ compilesawmgbinarymake testβ alias fortest-unitmake test-unitβ runsgo test ./internal/...make test-integrationβ runs binary integration testsmake test-allβ runs both unit + integration testsmake lintβ runs go vet, gofmt check, golangci-lintmake coverageβ runs unit tests with coverage profilemake installβ installs Go toolchain + golangci-lint + go mod downloadCode References
internal/proxy/proxy.go:38-56internal/cmd/proxy.go:95internal/config/config_core.go,internal/config/config_stdin.gointernal/cmd/flags_logging.go,internal/cmd/flags_difc.gointernal/cmd/flags_core.go:41Warning
The following domain was blocked by the firewall during workflow execution:
proxy.golang.orgTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.