Context
repository_settings.review_evasion_protection defaults to "off" at the DB/schema level (src/db/schema.ts:157), confirmed live via a read-only D1 query for all three gated repos. All three repos' public .gittensory.yml explicitly override this to "close", which correctly wins per resolveEffectiveSettings's plain-spread precedence for this field — so JSONbored's own three repos are covered, if the public file (not a private VPS mount) is what self-host actually reads (see the separate "verify VPS config" issue in this batch). Any other repo, on this project or any other self-host deployment, that hasn't discovered and explicitly set this field gets zero self-close/draft-dodge/repeated-cycling protection by default.
Requirements
- Do not change this until the VPS-config-verification issue in this batch is resolved — flipping the shared default without first confirming what edge-us-01 currently enforces risks a silent live-behavior change on a production gate.
- Once verified, evaluate flipping the DB default from
"off" to "close" so a repo is protected unless it explicitly opts out, rather than unprotected unless it explicitly opts in.
- If flipped, this is a behavior change for every self-hosted repo on any deployment that hasn't set the field explicitly — ship with a changelog callout, not silently.
Deliverables
- A written decision (comment on this issue) on whether to flip the default, informed by the VPS-verification issue's findings.
- If flipping: a migration changing the column default, plus a changelog entry.
Expected outcome
New or previously-unconfigured self-hosted repos get review-evasion protection by default, without any surprise behavior change for JSONbored's own three repos (which are already explicitly configured either way).
Context
repository_settings.review_evasion_protectiondefaults to"off"at the DB/schema level (src/db/schema.ts:157), confirmed live via a read-only D1 query for all three gated repos. All three repos' public.gittensory.ymlexplicitly override this to"close", which correctly wins perresolveEffectiveSettings's plain-spread precedence for this field — so JSONbored's own three repos are covered, if the public file (not a private VPS mount) is what self-host actually reads (see the separate "verify VPS config" issue in this batch). Any other repo, on this project or any other self-host deployment, that hasn't discovered and explicitly set this field gets zero self-close/draft-dodge/repeated-cycling protection by default.Requirements
"off"to"close"so a repo is protected unless it explicitly opts out, rather than unprotected unless it explicitly opts in.Deliverables
Expected outcome
New or previously-unconfigured self-hosted repos get review-evasion protection by default, without any surprise behavior change for JSONbored's own three repos (which are already explicitly configured either way).