Skip to content

Commit 6fd2d0e

Browse files
xrendanclaude
andcommitted
Remove partially_met status from criteria — criteria are now binary (met/not_met)
The partially_met status was ambiguous across all categories. Criteria should be either met or not met; incremental progress is tracked separately by progress criteria. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 6c463bd commit 6fd2d0e

6 files changed

Lines changed: 32 additions & 8 deletions

app/models/commitment.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,13 @@ def derive_status_from_criteria!
6565

6666
if success.all?(&:met?)
6767
update!(status: :implemented)
68-
elsif success.any? { |c| c.met? || c.partially_met? }
69-
if execution.any? { |c| c.met? || c.partially_met? }
68+
elsif success.any?(&:met?)
69+
if execution.any?(&:met?)
7070
update!(status: :partially_implemented)
7171
else
7272
update!(status: :in_progress)
7373
end
74-
elsif execution.any? { |c| c.met? || c.partially_met? }
74+
elsif execution.any?(&:met?)
7575
update!(status: :in_progress)
7676
end
7777
end

app/models/criterion.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ class Criterion < ApplicationRecord
1313
enum :status, {
1414
not_assessed: 0,
1515
met: 1,
16-
partially_met: 2,
1716
not_met: 3,
1817
no_longer_applicable: 4
1918
}

app/models/criterion_assessor.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class CriterionAssessor < Chat
1010
name "CriterionAssessor"
1111
description "Assesses a criterion against matched evidence"
1212
field :assessment, :object, properties: {
13-
"new_status" => { type: "string", enum: %w[not_assessed met partially_met not_met no_longer_applicable] },
13+
"new_status" => { type: "string", enum: %w[not_assessed met not_met no_longer_applicable] },
1414
"evidence_notes" => { type: "string", description: "Explanation referencing specific evidence" },
1515
"confidence" => { type: "number", description: "0.0 to 1.0" }
1616
}
@@ -41,11 +41,13 @@ def prompt(criterion, evidence_items)
4141
4242
ASSESSMENT RULES:
4343
- met: Clear evidence that this criterion is fully satisfied
44-
- partially_met: Some evidence of progress but not complete
45-
- not_met: Evidence exists but shows criterion is not satisfied, or contradictory evidence
44+
- not_met: Criterion is not satisfied, even if there is some progress toward it
4645
- not_assessed: Insufficient evidence to make any determination
4746
- no_longer_applicable: The commitment has been abandoned or the criterion is moot
4847
48+
There is NO "partially met" status. Criteria are binary: met or not_met.
49+
Progress toward meeting a criterion does not make it met — that is tracked separately by progress criteria.
50+
4951
Be CONSERVATIVE. Only mark as "met" if evidence clearly supports it.
5052
If current status is already "met" and no contradictory evidence, keep it "met".
5153
Reference specific evidence items in your evidence_notes.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class FixCompletionCriteriaPartiallyMet < ActiveRecord::Migration[8.0]
2+
def up
3+
Criterion.where(category: :completion, status: :partially_met).find_each do |criterion|
4+
criterion.update!(status: :not_met)
5+
end
6+
end
7+
8+
def down
9+
# Cannot determine which were originally partially_met
10+
end
11+
end
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class RemovePartiallyMetStatus < ActiveRecord::Migration[8.0]
2+
def up
3+
# Convert any remaining partially_met criteria (integer value 2) to not_met (integer value 3)
4+
execute <<~SQL
5+
UPDATE criteria SET status = 3 WHERE status = 2
6+
SQL
7+
end
8+
9+
def down
10+
# Cannot restore original partially_met statuses
11+
end
12+
end

db/schema.rb

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)