docs: fix accuracy findings in deployment, usage, auth-flow (v0.9.0 audit) - #247
Merged
Conversation
…udit) deployment.md: .env examples use literal values (Compose does not evaluate $(...)), keys standardized on hex 32; chmod 777 -> 755 + chown guidance for the container user; Caddyfile header_up moved inside reverse_proxy block; systemd example uses EnvironmentFile for secrets and includes TITEN_ENCRYPTION_KEY; health checks use /api/health (compose deployments go through the web proxy on :3000); container refs match docker-compose.yml (titen-api); backup/restore aligned with the ./data bind mount; local media storage clarified (S3 optional, not required). usage.md: stray curl VIDEO example removed from the CLI section (CLI has no video flags; API section already covers it); TITEN_URL annotated (CLI API base URL, distinct from APP_URL); MCP tools table rebuilt from crates/titen-mcp/src/main.rs: 29 tools verified, stale names fixed. auth-flow.md: authorize URL documents all 8 requested scopes (matches settings.rs authorize_url construction). architecture.md: MCP tool count 14 -> 29 (verified against tools_list()).
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-code · BYOK · MIT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Second chunk of the v0.9.0 docs accuracy audit (first chunk: #243).
docs/deployment.md
.envexamples:$(openssl rand -hex ...)replaced with literal placeholders + generate instructions (Compose does not evaluate command substitution); both keys standardized on hex 32chmod 777 data→chmod 755+ chown guidance for the container'stitenuser (UID from Dockerfile)header_upsub-directives moved inside thereverse_proxyblock (they were invalid outside it)EnvironmentFile=(unit files are world-readable);TITEN_ENCRYPTION_KEYadded (checklist marks it mandatory)/api/health; compose deployments verify via the web proxy on:3000(API is not host-exposed), native/systemd on:7845titen→titen-api)./databind mount (was targeting a named volumetiten_titen-datathat compose does not create)/data/media); S3 is optionaldocs/usage.md
TITEN_URLannotated: it is the CLI's API base URL (titen-coreconfigENV_URL), distinct fromAPP_URL(public site URL) — the scan's "inconsistency" is actually two different varscrates/titen-mcp/src/main.rstools_list(): 29 tools (was: heading said 14, table listed 13, several names stale —get_account,get_post_analyticsdo not exist)docs/auth-flow.md
settings.rsauthorize_urlconstruction)docs/architecture.md
Why
Completes the documentation accuracy findings from the v0.9.0 cora scan. Deployment docs that reference a volume compose never creates, invalid Caddyfile syntax, and world-readable secrets in systemd units would actively mislead self-hosters.
Testing
awk 'NR>=138' crates/titen-mcp/src/main.rs | grep -cE '"name": "[a-z_]+"'→ 29grep -n "scope=" crates/titen-api/src/routes/settings.rs→ 8-scope authorize URLgrep -n "container_name\|expose:" docker-compose.yml→titen-web/titen-api, APIexpose: 7845(not host-published)grep -n "TITEN_LOCAL_STORAGE_DIR" crates/titen-core/src/storage.rs→ LocalStorage is a full backend;USER titenin Dockerfile → chmod/chown guidancegrep -n "ENV_URL" crates/titen-core/src/config.rs→TITEN_URLis the CLI vargrep -rn "video" crates/titen-cli/src/commands/post.rs→ no video support in CLI