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
1. Misleading json: tags on TOML-only fields in ServerConfig
Location:internal/config/config_core.go Problem:ServerConfig.RateLimitThreshold and ServerConfig.RateLimitCooldown carry json:"..." struct tags, yet code comments on both fields explicitly state they are "Supported in TOML config only." The JSON stdin path uses a separate StdinServerConfig struct that correctly omits these fields, so runtime behavior is correct β but the tags are misleading to developers reading the struct and could cause confusion if the JSON deserialization path changes. Actual Behavior: The fields are never populated from JSON stdin (correct), but the tags imply they would be. Impact: Developer confusion; latent risk if the unmarshalling path is ever refactored. Suggested Fix: Remove the json: struct tags from RateLimitThreshold and RateLimitCooldown, or add an explicit json:"-" tag with an explanatory comment. Code Reference:internal/config/config_core.go β ServerConfig struct, RateLimitThreshold and RateLimitCooldown fields.
Minor Issues π΅
2. TAVILY_API_KEY missing from AGENTS.md environment variables table
Location:AGENTS.md β Environment Variables section Problem:TAVILY_API_KEY is referenced in test/integration/tavily_test.go and documented in docs/ENVIRONMENT_VARIABLES.md, but is absent from the AGENTS.md env-vars table that agents use as their primary reference. Suggested Fix: Add an entry to the AGENTS.md env vars section:
- `TAVILY_API_KEY` β Tavily API key; when unset, integration tests that use it are automatically skipped.
3. Legacy JSON snake_case aliases undocumented
Location: README.md / AGENTS.md β JSON stdin configuration docs Problem:StdinServerConfig accepts two legacy snake_case aliases via assignLegacyIntAlias:
connect_timeout (legacy alias for connectTimeout)
tool_timeout (legacy alias for toolTimeout)
Neither alias is mentioned anywhere in the documentation. Users who pass these keys get silently-accepted values, which can be confusing if they expect an error. Suggested Fix: Add a note in the JSON stdin configuration section of README.md that these legacy aliases are accepted for backward compatibility.
Documentation Completeness
Accurate Sections β
Go version 1.25.0 in go.mod β matches CONTRIBUTING.md prerequisite
Binary name awmg β matches Makefile build target output
All Makefile targets listed in CONTRIBUTING.md (build, test, test-unit, test-integration, test-all, lint, coverage, install) β all exist verbatim in Makefile
GitHub token priority order (GITHUB_MCP_SERVER_TOKEN β GITHUB_TOKEN β GITHUB_PERSONAL_ACCESS_TOKEN β GH_TOKEN) β verified in code
All 35+ documented environment variables confirmed via os.Getenv/os.LookupEnv audit
All documented CLI flags (--config, --sequential-launch, --log-dir, --payload-dir, etc.) exist in source
JSON stdin struct fields (type, container, env, args, entrypoint, entrypointArgs, mounts) β all present in StdinServerConfig
command field correctly absent from StdinServerConfig (TOML-only) β accurately documented
Default dirs, ports, and size thresholds match constants in config_core.go
All internal package directories listed in CONTRIBUTING.md exist on disk
TOML configuration field names match TOML struct tags
Missing Documentation
TAVILY_API_KEY not listed in AGENTS.md env vars section
connect_timeout / tool_timeout legacy snake_case aliases not documented
Outdated Documentation
None found. β
Tested Commands
Command
Status
make build
β works as documented
make test
β exists and maps to unit tests
make test-unit
β works as documented
make test-integration
β works as documented
make test-all
β works as documented
make lint
β works as documented
make coverage
β works as documented
make install
β works as documented
./awmg --help
β all documented flags present
Recommendations
Nice to Have
Remove or replace json:"..." tags on RateLimitThreshold/RateLimitCooldown with json:"-" to make TOML-only intent explicit.
Add TAVILY_API_KEY to AGENTS.md env vars table.
Document connect_timeout and tool_timeout legacy aliases in README.md JSON stdin config section.
Summary
Found 3 discrepancies between documentation and implementation during nightly reconciliation check.
Critical Issues π΄
None found. β
Important Issues π‘
1. Misleading
json:tags on TOML-only fields inServerConfigLocation:
internal/config/config_core.goProblem:
ServerConfig.RateLimitThresholdandServerConfig.RateLimitCooldowncarryjson:"..."struct tags, yet code comments on both fields explicitly state they are "Supported in TOML config only." The JSON stdin path uses a separateStdinServerConfigstruct that correctly omits these fields, so runtime behavior is correct β but the tags are misleading to developers reading the struct and could cause confusion if the JSON deserialization path changes.Actual Behavior: The fields are never populated from JSON stdin (correct), but the tags imply they would be.
Impact: Developer confusion; latent risk if the unmarshalling path is ever refactored.
Suggested Fix: Remove the
json:struct tags fromRateLimitThresholdandRateLimitCooldown, or add an explicitjson:"-"tag with an explanatory comment.Code Reference:
internal/config/config_core.goβServerConfigstruct,RateLimitThresholdandRateLimitCooldownfields.Minor Issues π΅
2.
TAVILY_API_KEYmissing from AGENTS.md environment variables tableLocation:
AGENTS.mdβ Environment Variables sectionProblem:
TAVILY_API_KEYis referenced intest/integration/tavily_test.goand documented indocs/ENVIRONMENT_VARIABLES.md, but is absent from the AGENTS.md env-vars table that agents use as their primary reference.Suggested Fix: Add an entry to the AGENTS.md env vars section:
3. Legacy JSON snake_case aliases undocumented
Location: README.md / AGENTS.md β JSON stdin configuration docs
Problem:
StdinServerConfigaccepts two legacy snake_case aliases viaassignLegacyIntAlias:connect_timeout(legacy alias forconnectTimeout)tool_timeout(legacy alias fortoolTimeout)Neither alias is mentioned anywhere in the documentation. Users who pass these keys get silently-accepted values, which can be confusing if they expect an error.
Suggested Fix: Add a note in the JSON stdin configuration section of README.md that these legacy aliases are accepted for backward compatibility.
Documentation Completeness
Accurate Sections β
1.25.0ingo.modβ matches CONTRIBUTING.md prerequisiteawmgβ matches Makefilebuildtarget outputbuild,test,test-unit,test-integration,test-all,lint,coverage,install) β all exist verbatim in MakefileGITHUB_MCP_SERVER_TOKENβGITHUB_TOKENβGITHUB_PERSONAL_ACCESS_TOKENβGH_TOKEN) β verified in codeos.Getenv/os.LookupEnvaudit--config,--sequential-launch,--log-dir,--payload-dir, etc.) exist in sourcetype,container,env,args,entrypoint,entrypointArgs,mounts) β all present inStdinServerConfigcommandfield correctly absent fromStdinServerConfig(TOML-only) β accurately documentedconfig_core.goMissing Documentation
TAVILY_API_KEYnot listed in AGENTS.md env vars sectionconnect_timeout/tool_timeoutlegacy snake_case aliases not documentedOutdated Documentation
None found. β
Tested Commands
make buildmake testmake test-unitmake test-integrationmake test-allmake lintmake coveragemake install./awmg --helpRecommendations
Nice to Have
json:"..."tags onRateLimitThreshold/RateLimitCooldownwithjson:"-"to make TOML-only intent explicit.TAVILY_API_KEYto AGENTS.md env vars table.connect_timeoutandtool_timeoutlegacy aliases in README.md JSON stdin config section.Code References
internal/config/config_core.gointernal/config/config_stdin.gointernal/config/validation.gotest/integration/tavily_test.goWarning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
proxy.golang.orgSee Network Configuration for more information.