Skip to content

πŸ“š Documentation Reconciliation Report - 2026-07-05Β #8743

Description

@github-actions

Documentation is largely in sync with implementation. Nightly reconciliation found 1 minor issue β€” a stale file reference in the agent workflow prompt itself.


Minor Issues πŸ”΅

1. Agent Prompt References Non-Existent config.go

Location: .github/agentics/nightly-docs-reconciler.md, lines 27, 41, 46, 155, 260

Problem: The reconciler agent prompt references internal/config/config.go as the canonical source for config struct definitions and validation logic. This file does not exist.

Actual Behavior: The internal/config/ package was refactored into multiple files:

  • config_core.go β€” Core Config, GatewayConfig, ServerConfig types
  • config_stdin.go β€” JSON stdin structs and conversion
  • config_env.go β€” Environment variable helpers
  • config_feature.go β€” Feature-specific config
  • config_tracing.go β€” Tracing config
  • validation_server.go / validation_gateway.go / validation_rules.go β€” Validation logic

Impact: Future reconciliation runs will fail to find the file when trying to read it, which may cause incomplete or inaccurate reports. Does not affect end users.

Suggested Fix:

  • Replace internal/config/config.go with internal/config/config_core.go (for core types) and internal/config/config_stdin.go (for JSON stdin types)
  • Replace internal/config/validation.go references with internal/config/validation_rules.go, validation_server.go, validation_gateway.go

Code Reference: internal/config/ directory


Accurate Sections βœ…

All user-facing documentation verified correct via static analysis:

  • README.md Docker Quick Start β€” docker run command, port flags, volume mounts, and env var names all verified correct
  • README.md Configuration JSON β€” All fields (type, container, env, gateway.agentId) match StdinServerConfig and StdinGatewayConfig structs
  • README.md Gateway Configuration table β€” agent_id/agentId, api_key/apiKey (deprecated), port, payload_dir/payloadDir, trusted_bots/trustedBots all confirmed in GatewayConfig struct
  • README.md Default listen address β€” (127.0.0.1/redacted) matches DefaultListenIPv4 = "127.0.0.1"andDefaultListenPort = "3000"ininternal/cmd/root.go`
  • README.md JSON stdin command field β€” Correctly states command is NOT supported in JSON stdin; StdinServerConfig has no Command field, only Container
  • README.md Auth token priority β€” GITHUB_MCP_SERVER_TOKEN β†’ GITHUB_TOKEN β†’ GITHUB_PERSONAL_ACCESS_TOKEN β†’ GH_TOKEN matches LookupGitHubToken() in internal/envutil/github.go
  • README.md Tracing defaults β€” Default service name mcp-gateway and sample rate 1.0 match DefaultTracingServiceName and DefaultTracingSampleRate constants in config_tracing.go
  • CONTRIBUTING.md Go version β€” Go 1.25.0 or later matches go.mod (go 1.25.0) and Makefile (GO_VERSION=1.25.0)
  • CONTRIBUTING.md golangci-lint version β€” v2.8.0 matches GOLANGCI_LINT_VERSION=v2.8.0 in Makefile
  • CONTRIBUTING.md Make targets β€” All 17 documented targets (build, test, test-unit, test-integration, test-all, test-race, test-rust, test-serena, test-serena-gateway, test-container-proxy, lint, coverage, test-ci, format, clean, install, agent-finished) confirmed present in Makefile
  • CONTRIBUTING.md Binary name β€” awmg matches BINARY_NAME=awmg in Makefile
  • Environment variables β€” All env vars used in non-test code (MCP_GATEWAY_TOOL_TIMEOUT, MCP_GATEWAY_SESSION_TIMEOUT, MCP_GATEWAY_SHUTDOWN_TIMEOUT, MCP_GATEWAY_WASM_GUARDS_DIR, MCP_GATEWAY_ALLOWONLY_*, MCP_GATEWAY_API_KEY (deprecated), etc.) are documented in docs/ENVIRONMENT_VARIABLES.md
  • config.example.toml β€” Matches documented TOML format; command = "docker" requirement, rate_limit_threshold/rate_limit_cooldown TOML-only fields confirmed in ServerConfig struct
  • Variable expansion scope β€” CONTRIBUTING and config.example.toml correctly state \$\{VAR} expansion is supported in JSON stdin and TOML [gateway.opentelemetry] section only; not in TOML server args/env fields. Confirmed by expandTracingVariables() and ExpandRawJSONVariables() in internal/config/expand.go

Tested Commands

  • βœ… make --dry-run build β€” matches go mod tidy && go build -o awmg .
  • βœ… make --dry-run test β€” confirmed alias for test-unit
  • βœ… make --dry-run test-unit β€” runs go test -v ./internal/...
  • βœ… make --dry-run test-integration β€” auto-builds binary, runs go test -v ./test/integration/...
  • βœ… make --dry-run test-all β€” builds first, then go test -v ./...
  • βœ… make --dry-run lint β€” runs go vet, gofmt check, golangci-lint
  • βœ… make --dry-run coverage β€” runs go test -coverprofile
  • βœ… make --dry-run install β€” checks Go version, installs golangci-lint, downloads modules

Note: make build was not executed (network restrictions prevent module proxy access in reconciliation sandbox). All verification was performed via static code analysis.

Code References

  • Core config types: internal/config/config_core.go
  • JSON stdin types: internal/config/config_stdin.go
  • Validation: internal/config/validation_server.go, validation_gateway.go, validation_rules.go
  • CLI flag definitions: internal/cmd/flags_core.go, flags_logging.go, flags_difc.go, flags_tls.go, flags_serve.go
  • GitHub token priority: internal/envutil/github.go
  • Env variable helpers: internal/config/config_env.go

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • awmgmcpg
  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"
    - "proxy.golang.org"

See Network Configuration for more information.

Generated by Nightly Documentation Reconciler Β· 275.3 AIC Β· ⊞ 4.4K Β· β—·

  • expires on Jul 8, 2026, 11:15 PM UTC

Metadata

Metadata

Assignees

Type

No type

Fields

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