Skip to content

Investigate + design config-as-code for the GITTENSORY_REVIEW_DRAFT public draft-submission flow #4107

Description

@JSONbored

Part of #4092.

Problem — this is a design question, not a known gap

GITTENSORY_REVIEW_DRAFT (src/services/draft.ts, src/api/routes.ts) gates a PUBLIC OAuth draft-submission API surface, ported from reviewbot — a fundamentally different shape from the other flags in this epic (it controls whether an API ENDPOINT exists/responds at all, not a per-PR review behavior). Whether "per-repo config-as-code" is even the right model here needs its own decision.

Requirements

  • Characterize exactly what GITTENSORY_REVIEW_DRAFT currently controls (read src/services/draft.ts + the api/routes.ts call sites in full) — is it a single global on/off for the whole instance's public API surface, or does it already have any per-repo dimension?
  • Decide whether this belongs in the "config-as-code, per-repo" bucket (e.g. "which repos accept public draft submissions" could plausibly be a real per-repo config) or the "bare necessity, env-var-only" bucket (e.g. if enabling this exposes an unauthenticated public endpoint, an operator may legitimately want that gated by something more deliberate than a per-repo YAML file on the same box)
  • Write up the reasoning either way

Deliverables

  • Written investigation + decision
  • If per-repo config makes sense: implement using the shared resolver + tests
  • If not: explicit sign-off with reasoning recorded

Expected outcome

A definitive, reasoned answer for whether/how config-as-code applies to the public draft-submission flow.

Effort

S (investigation) to M (implementation, only if warranted).

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions