Phase 1 — Review output, noise & trust
Context
Every opened/synchronized PR currently enters the review path regardless of author or state, spending review budget and adding comment noise on drafts, bot PRs (e.g. dependency-bump bots), and work-in-progress. Eligibility is only partially controllable today (includeMaintainerAuthors, the contributor blacklist).
Goal
Add per-repo eligibility filters so operators skip reviews that aren't worth the cost or noise.
Requirements
- New
.gittensory.yml knobs under review.auto_review: skip_drafts (bool), ignore_authors (glob list, e.g. *[bot]), ignore_title_keywords (list, e.g. WIP/DRAFT), base_branches (glob list; default = default branch only), auto_pause_after_reviewed_commits (int, 0 = off).
- Wire via
FocusManifestReviewConfig (src/signals/focus-manifest.ts): field + parseReviewConfig + reviewConfigToJson + every EMPTY-config literal; evaluate at the PR review entry point (maybePublishPrPublicSurface).
- Deterministic; no AI. Default unset ⇒ byte-identical (all PRs reviewed as today).
Deliverables
- Config fields + parser + tests (unit + focus-manifest coverage).
- Eligibility evaluation at the review entry point; a skipped PR posts a quiet "review skipped (reason)" status, never a gate failure.
- Manifest reference docs.
Expected outcome
- Operators cut review runtime/neuron spend and comment noise on bots/drafts/WIP; measurable drop in reviews run on ineligible PRs.
Effort
S each — split into ~4 tiny PRs (one or two knobs per PR).
Phase 1 — Review output, noise & trust
Context
Every opened/synchronized PR currently enters the review path regardless of author or state, spending review budget and adding comment noise on drafts, bot PRs (e.g. dependency-bump bots), and work-in-progress. Eligibility is only partially controllable today (
includeMaintainerAuthors, the contributor blacklist).Goal
Add per-repo eligibility filters so operators skip reviews that aren't worth the cost or noise.
Requirements
.gittensory.ymlknobs underreview.auto_review:skip_drafts(bool),ignore_authors(glob list, e.g.*[bot]),ignore_title_keywords(list, e.g.WIP/DRAFT),base_branches(glob list; default = default branch only),auto_pause_after_reviewed_commits(int,0= off).FocusManifestReviewConfig(src/signals/focus-manifest.ts): field +parseReviewConfig+reviewConfigToJson+ every EMPTY-config literal; evaluate at the PR review entry point (maybePublishPrPublicSurface).Deliverables
Expected outcome
Effort
S each — split into ~4 tiny PRs (one or two knobs per PR).