docs(credentials): operator config scaffolding for push/Stripe/SMTP/local-LLM tiers#11
Draft
milos85vasic wants to merge 1 commit into
Draft
docs(credentials): operator config scaffolding for push/Stripe/SMTP/local-LLM tiers#11milos85vasic wants to merge 1 commit into
milos85vasic wants to merge 1 commit into
Conversation
…ocal-LLM tiers
Adds docs/credentials/FEATURE_TIER_SETUP.md — a per-tier operator
checklist (env var, secret file/path, activation signal cited from real
code, honest default when unset) for the four feature tiers main already
implements: FCM/APNs push (notification-service), Stripe payments
(billing-service), SMTP email (notification-service), and the local LLM
client (ai-service). Every variable is verified against the real
os.Getenv call that reads it (file:line cited) — no re-implementation,
no stubs, docs/config only.
Also: appends REDACTED placeholder slots grouped by tier to
infrastructure/docker/compose/.env.example; broadens .gitignore to
`.env.*` (with `!.env.example` negation), `*.p8`/`*.p12` (APNs auth
keys), and a new `scripts/testing/secrets/` scaffold (tracked README +
.gitkeep, real secrets ignored) — verified via `git check-ignore
--stdin` against every tracked file (no collisions) and `git ls-files`
(.env.example stays tracked).
Honest finding (Constitution §11.4.6 no-guessing): ai-service's
cloud-LLM tier (OpenAI/Anthropic) is NOT implemented — main.go and
llmclient.go say so explicitly ("OPERATOR-BLOCKED and deliberately not
wired"), confirmed by a repo-wide grep for OPENAI_API_KEY /
ANTHROPIC_API_KEY finding no matches. No variable is invented for it;
the doc states this plainly instead.
Classification: project-specific (§11.4.17) — references this repo's
concrete service layout, env var names, and file paths.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015JCrM28hes4SXfJ1cSubJL
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.
Summary
docs/credentials/FEATURE_TIER_SETUP.md— a per-tier operator checklist (exact env var, secret file/path, activation signal cited from real code, honest default when unset) for the feature tiersmainalready implements: FCM/APNs push (notification-service), Stripe payments (billing-service), SMTP email (notification-service), and the local LLM client (ai-service).infrastructure/docker/compose/.env.example..gitignore:.env→.env+.env.*with!.env.examplenegation, adds*.p8/*.p12(APNs auth key formats), and a newscripts/testing/secrets/scaffold (trackedREADME.md+.gitkeep, real secrets ignored).Honest finding
ai-service's cloud-LLM tier (OpenAI/Anthropic) is not implemented —main.goandllmclient.gosay so explicitly ("OPERATOR-BLOCKED and deliberately not wired"), and a repo-wide grep forOPENAI_API_KEY/ANTHROPIC_API_KEYfound no matches. No env var was invented for it; the doc states this plainly instead of fabricating config for code that doesn't exist.Verification performed
os.Getenvcall (file:line cited in the doc).git check-ignore --stdinrun against all 1938 tracked files — zero collisions with the new ignore patterns.git ls-files infrastructure/docker/compose/.env.exampleconfirms it stays tracked.bash tests/verify_constitution_inheritance.sh— PASS (all 5 invariants).Test plan
file:linematches the realos.Getenvcall inmain.git diff main...docs/feature-tier-credential-setup -- '*.go'is empty).🤖 Generated with Claude Code
https://claude.ai/code/session_015JCrM28hes4SXfJ1cSubJL