fix(config): parse gate tri-state modes case-insensitively in manifest - #2612
Conversation
Gate modes in .gittensory.yml were compared case-sensitively, so BLOCK or Advisory values were silently dropped unlike review.profile parsing. Co-authored-by: Cursor <cursoragent@cursor.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2612 +/- ##
=======================================
Coverage 96.02% 96.02%
=======================================
Files 233 233
Lines 26077 26079 +2
Branches 9474 9475 +1
=======================================
+ Hits 25041 25043 +2
Misses 425 425
Partials 611 611
🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-02 22:56:41 UTC
⏸️ Suggested Action - Manual Review Review summary Nits — 3 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
review.profileis parsed case-insensitively (ASSERTIVE→assertive), but gate tri-state modes (block/advisory/off) used exact string equality innormalizeOptionalGateMode.gate.linkedIssue: BLOCKorsettings.linkedIssueGateMode: Advisorywere silently dropped with a warning, breaking live gate and predicted-gate parity.trim().toLowerCase()before comparison, matching the profile parser pattern from fix(config): wire badgeEnabled into the .gittensory.yml manifest parser #2598-class config hardening.Scope
focus-manifest.tsplus unit tests.Validation
git diff --checknpx vitest run test/unit/focus-manifest.test.ts -t "gate tri-state"— passingSafety