Part of #983.
Context
The locked privacy model is "open-source engine + private runtime config": the real rubrics, trusted knowledge, guardrail globs, and gameable params (confidenceFloor/scopeCap/reputation) must load at RUNTIME and never be committed (the keep-internals-private constraint). gittensory today has NO runtime private-overlay seam — it resolves .gittensory.yml over DB over defaults into a flat RepositorySettings (resolveRepositorySettings, src/settings/repository-settings.ts). reviewbot's loadReviewConfig/applyReviewConfigOverlay (+ review-config.example.json) is the loader to map in. The home for the private config is decided in #1017 (KV hosted vs D1/.gittensory.yml). .gittensory.yml stays the PUBLIC surface; the rubric stays private. Land this BEFORE migrating any rubric, or the OSS flip leaks the tuning.
Deliverables
Acceptance criteria
- Private rubric/knowledge/guardrail-globs/gameable params load at runtime and are never committed;
.gittensory.yml remains the only public-facing config.
- A missing or unreachable private config fails safe to the committed placeholder with conservative defaults.
Notes
Part of #983.
Context
The locked privacy model is "open-source engine + private runtime config": the real rubrics, trusted knowledge, guardrail globs, and gameable params (
confidenceFloor/scopeCap/reputation) must load at RUNTIME and never be committed (the keep-internals-private constraint). gittensory today has NO runtime private-overlay seam — it resolves.gittensory.ymlover DB over defaults into a flatRepositorySettings(resolveRepositorySettings, src/settings/repository-settings.ts). reviewbot'sloadReviewConfig/applyReviewConfigOverlay(+review-config.example.json) is the loader to map in. The home for the private config is decided in #1017 (KV hosted vs D1/.gittensory.yml)..gittensory.ymlstays the PUBLIC surface; the rubric stays private. Land this BEFORE migrating any rubric, or the OSS flip leaks the tuning.Deliverables
REVIEW_CONFIG_JSON(self-host), one file per project, fail-safe to a committed placeholder.loadReviewConfig/applyReviewConfigOverlay+review-config.example.jsoninto gittensory'sresolveRepositorySettingsso.gittensory.ymlstays the public surface and the private rubric overlays at runtime..gittensory.ymlover DB over defaults); fail-safe to placeholder when the private config is absent.Acceptance criteria
.gittensory.ymlremains the only public-facing config.Notes