From b7b4e3fe19e2e5a3401cca05add5b407e5694551 Mon Sep 17 00:00:00 2001
From: Aaron Turon <aturon@mozilla.com>
Date: Fri, 16 Feb 2018 08:53:57 -0800
Subject: [PATCH 1/2] Loosen FCP restrictions

Allows an item to enter FCP when a majority of team members has approved
and *no* team member has objected. This retains the consensus process,
but makes it so that FCP isn't blocked *by default*. Rather, members who
object to the proposal need to register a concern to block it.
---
 src/github/nag.rs | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/github/nag.rs b/src/github/nag.rs
index 07fec81c..50a24acb 100644
--- a/src/github/nag.rs
+++ b/src/github/nag.rs
@@ -223,7 +223,8 @@ fn evaluate_nags() -> DashResult<()> {
             }
         };
 
-        let num_active_reviews = reviews.iter().filter(|&&(_, ref r)| !r.reviewed).count();
+        let num_outstanding_reviews = reviews.iter().filter(|&&(_, ref r)| !r.reviewed).count();
+        let num_complete_reviews = reviews.len() - num_outstanding_reviews;
         let num_active_concerns = concerns
             .iter()
             .filter(|&&(_, ref c)| c.fk_resolved_comment.is_none())
@@ -255,7 +256,9 @@ fn evaluate_nags() -> DashResult<()> {
             };
         }
 
-        if num_active_reviews == 0 && num_active_concerns == 0 {
+        let majority_complete = num_outstanding_reviews < num_complete_reviews;
+
+        if num_active_concerns == 0 && majority_complete && num_outstanding_reviews < 3 {
             // TODO only record the fcp as started if we know that we successfully commented
             // i.e. either the comment claims to have posted, or we get a comment back to reconcile
 

From ed8b781bb843ef86f01c9b6939107320710ab9c8 Mon Sep 17 00:00:00 2001
From: Aaron Turon <aturon@mozilla.com>
Date: Fri, 16 Feb 2018 12:45:46 -0800
Subject: [PATCH 2/2] Tweak fcp message

---
 src/github/nag.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/github/nag.rs b/src/github/nag.rs
index 50a24acb..e1d5ea58 100644
--- a/src/github/nag.rs
+++ b/src/github/nag.rs
@@ -908,7 +908,7 @@ impl<'a> RfcBotComment<'a> {
                     }
                 }
 
-                msg.push_str("\nOnce these reviewers reach consensus, this will enter its final ");
+                msg.push_str("\nOnce a majority of reviewers approve (and none object), this will enter its final ");
                 msg.push_str("comment period. If you spot a major issue that hasn't been raised ");
                 msg.push_str("at any point in this process, please speak up!\n");