Skip to content

📚 Documentation Reconciliation Report - 2026-03-30 #2820

@github-actions

Description

@github-actions

Summary

Found 1 discrepancy between documentation and implementation during nightly reconciliation check.


Minor Issues 🔵

1. GITHUB_PERSONAL_ACCESS_TOKEN missing from proxy mode env var docs

Location: docs/ENVIRONMENT_VARIABLES.md, Proxy Mode Variables table

Problem: The documentation only lists GITHUB_TOKEN / GH_TOKEN as the supported auth token variables for proxy mode. However, the code also accepts GITHUB_PERSONAL_ACCESS_TOKEN as a third fallback, checked in priority order.

Actual Behavior (code): internal/cmd/proxy.go:143–149

token = os.Getenv("GH_TOKEN")          // checked first
token = os.Getenv("GITHUB_TOKEN")       // checked second
token = os.Getenv("GITHUB_PERSONAL_ACCESS_TOKEN")  // checked third (undocumented)
```

**Current documentation** (`docs/ENVIRONMENT_VARIABLES.md`, Proxy Mode Variables section):
```
| `GITHUB_TOKEN` / `GH_TOKEN` | GitHub auth token for the proxy to forward requests | (required) |

Impact: Users who set only GITHUB_PERSONAL_ACCESS_TOKEN (a common GitHub token env var) may not realize it works as a fallback for proxy mode. The proxy will work, but users following the docs may not realize this is a valid option.

Suggested Fix: Update the Proxy Mode Variables table in docs/ENVIRONMENT_VARIABLES.md to include the third fallback:

| `GH_TOKEN` / `GITHUB_TOKEN` / `GITHUB_PERSONAL_ACCESS_TOKEN` | GitHub auth token for the proxy to forward requests (checked in priority order) | (required for upstream auth) |

Code Reference: internal/cmd/proxy.go:139–153


Accurate Sections ✅

All other documentation was verified accurate against the implementation:

  • Quick Start config format"apiKey" JSON field matches StdinGatewayConfig.APIKey (json:"apiKey") ✅
  • JSON stdin server fieldscontainer, entrypoint, entrypointArgs, mounts, env, type all present in StdinServerConfig
  • Go version — CONTRIBUTING.md specifies Go 1.25.0, matches go.mod
  • Make targetsbuild, test, test-unit, test-integration, test-all, lint, coverage, install, format, test-ci, clean all exist in Makefile ✅
  • Binary nameawmg matches Makefile build target output ✅
  • Feature list — TOML/JSON config, \$\{VAR} expansion (JSON only), routed/unified modes, Docker support, WASM guards all implemented ✅
  • --config-stdin flag — exists in internal/cmd/flags_core.go:36
  • run.sh default — starts on `(0.0.0.0/redacted) in routed mode, as documented in CONTRIBUTING.md ✅
  • Environment variables (MCP_GATEWAY_PORT, MCP_GATEWAY_DOMAIN, MCP_GATEWAY_API_KEY) — all validated in code ✅
  • docs/CONFIGURATION.md, docs/ENVIRONMENT_VARIABLES.md — both files exist and are linked correctly from README ✅

Tested Commands

  • make --dry-run build — confirms build target exists and calls go build -o awmg
  • make --dry-run test / make --dry-run test-unit — confirmed as aliases
  • make --dry-run test-integration — auto-builds binary if needed, as documented
  • make --dry-run test-all — runs both unit and integration tests
  • make --dry-run lint — runs go vet, gofmt, golangci-lint
  • make --dry-run coverage — runs unit tests with coverage profile
  • make --dry-run install — verifies Go version, installs golangci-lint, downloads deps
  • ⚠️ make build — fails in sandboxed CI (Go 1.25.0 toolchain download blocked at proxy.golang.org); expected to work in environments with internet access

Code References

  • Configuration structs: internal/config/config_core.go, internal/config/config_stdin.go
  • Proxy token fallback: internal/cmd/proxy.go:139–153
  • Environment variable env var list: docs/ENVIRONMENT_VARIABLES.md

Generated by Nightly Documentation Reconciler ·

  • expires on Apr 2, 2026, 3:56 AM UTC

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions