docs: add documentation site content#25
Conversation
Add structured documentation matching moat/keep's four-section taxonomy (Getting Started, Concepts, Guides, Reference) with 25 content pages, a style guide, and README. Getting Started: introduction, installation, quick start Concepts: TLS interception, credential injection, credential sources, network policy, MCP relay, observability, host gateway Guides: CA setup, env/AWS/GCP/GitHub App/token-exchange credentials, network lockdown, OpenTelemetry, Go library usage, WebSocket support Reference: CLI, config file schema, credential sources, environment variables, LLM policy Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
📦 Previous Review (superseded by newer review)Claude finished @dpup's task in 10m 26s —— View job PR Review: docs: add documentation site contentTasks
SummaryThe docs are comprehensive and broadly accurate. Cross-referencing all 25 pages against the source code ( Issues1. Misleading refresh description for The introductory paragraph says all "Refresh: Yes" sources "implement background credential refresh" with goroutine re-fetch at 75% of TTL. That's only true for 2. Unexported type in public API snippet — The 3. Error suppression in Go example — certPEM, _ := os.ReadFile("ca.crt")
keyPEM, _ := os.ReadFile("ca.key")Silently swallows I/O errors. If the file doesn't exist, 4.
Verified Correct
|
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
📦 Previous Review (superseded by newer review)Claude finished @dpup's task in 5m 21s —— View job PR Review: docs: add documentation site contentTasks
SummaryThe two commits pushed in this sync ( Fixed
Still Outstanding (inline comments posted)1. Duplicate paragraph — The fix appended the new text after the old text instead of replacing it. Lines 22 and 23 are now consecutive and contradictory: line 22 still says all "Refresh: Yes" sources use background goroutine refresh; line 23 (the correct replacement) says otherwise. The old line needs to go. 2. Error suppression — certPEM, _ := os.ReadFile("ca.crt")
keyPEM, _ := os.ReadFile("ca.key")Not fixed. When a file is missing, 3. AllowedHosts: run.AllowedHosts,Not fixed.
|
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
📦 Previous Review (superseded by newer review)Claude finished @dpup's task in 3m 19s —— View job Tasks
Re-review: docs: add documentation site contentThe three fix commits ( Issues1. The suggestion was applied by appending rather than replacing, so both the old (wrong) paragraph and the new (correct) one now appear on consecutive lines with no separator. Line 22 still claims all Refresh: Yes sources use a background goroutine. The old line needs to be removed. 2. The
3.
Verified CorrectThe fix to All other content verified correct in the previous review remains accurate. |
📦 Previous Review (superseded by newer review)Claude finished @dpup's task in 2m 41s —— View job PR Review: docs: add documentation site contentTasks
SummaryThree of the four issues from the previous review were addressed in commits Regressions introduced by the fixes1. Commit certPEM, err := os.ReadFile("ca.crt")
if err != nil {
log.Fatal(err)
}
keyPEM, err := os.ReadFile("ca.key")
if err != nil {
log.Fatal(err)
}
if err != nil { // ← orphaned: checks keyPEM error already checked above
log.Fatal(err)
}
// ...
p.SetCA(ca) // ← ca is undefined — won't compileThe fix should add back the dropped line: ca, err := proxy.LoadCA(certPEM, keyPEM)
if err != nil {
log.Fatal(err)
}2. Old paragraph not removed — Commit Line 22 (the old, inaccurate text describing both sources as using background goroutine refresh) should be deleted, leaving only line 23. Still unaddressed from previous review3.
AllowedHosts: run.AllowedHosts,If AllowedHosts: func() []proxy.HostPattern {
out := make([]proxy.HostPattern, len(run.AllowedHosts))
for i, h := range run.AllowedHosts { out[i] = proxy.ParseHostPattern(h) }
return out
}(),At minimum, add a comment noting that Fixed correctly
|
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
|
Claude finished @dpup's task in 1m 45s —— View job 📦 Previous Review (superseded by newer review)Tasks
Review: docs: add documentation site contentAll issues from the prior two review rounds are now resolved. Here's the final status: Fixed in this pass (
Already fixed in prior commits
All 25 pages verified correct (CA key format handling, token scheme auto-detection, OTel metric names, GCP Secret Manager resource name format, network policy 407 behaviour, constant-time auth token comparison, etc.) — no further issues found. |
Restore the missing proxy.LoadCA call that was dropped in a prior edit, remove the orphaned error check, and add a comment clarifying that AllowedHosts requires []proxy.HostPattern built via proxy.ParseHostPattern.
Demonstrate building AllowedHosts from string slices via proxy.ParseHostPattern so the example compiles as-shown.
📦 Previous Review (superseded by newer review)Claude finished @dpup's task in 3m 33s —— View job Tasks
PR Review: docs: add documentation site contentAll issues from the previous review rounds are resolved. One new inaccuracy found in the observability concepts page. Previously Flagged — Now Fixed
New Issue
The last sentence says: "When no
Verified Correct
|
Gatekeeper always creates OTLP HTTP exporters; there is no no-op fallback. With no OTEL_EXPORTER_OTLP_ENDPOINT set, exporters default to localhost:4318. Align with reference/04-environment.md.
|
Claude finished @dpup's task in 4m 0s —— View job Tasks
PR Review: docs: add documentation site contentAll issues from the previous review rounds are resolved. One new bug found and fixed. Previously Flagged — All Resolved
Fixed in This Pass (
|
Add structured documentation matching moat/keep's four-section taxonomy (Getting Started, Concepts, Guides, Reference) with 25 content pages, a style guide, and README.
Getting Started: introduction, installation, quick start Concepts: TLS interception, credential injection, credential sources,
network policy, MCP relay, observability, host gateway
Guides: CA setup, env/AWS/GCP/GitHub App/token-exchange credentials,
network lockdown, OpenTelemetry, Go library usage, WebSocket support
Reference: CLI, config file schema, credential sources, environment
variables, LLM policy