CommitteeSelectionRule enum

The EIGHT deterministic selection rules — the whole policy, as const values.

Rules are ADDITIVE: every rule of the stage is evaluated and every match unions its lanes. There is no precedence and no first-match-wins, because a change that is both a runtime change and a decision-sensitive one needs both answers.

Inheritance
Available extensions

Values

specIntent → const CommitteeSelectionRule

The bead states an intent, so COHERENCE has something to judge.

const CommitteeSelectionRule('spec-intent', CommitteeStage.specReview, ['coherence'])
specDecisions → const CommitteeSelectionRule

Recorded decisions govern the touched surfaces.

const CommitteeSelectionRule('spec-decisions', CommitteeStage.specReview, ['decision-alignment'])
specAcceptance → const CommitteeSelectionRule

The bead states acceptance criteria to test for testability.

const CommitteeSelectionRule('spec-acceptance', CommitteeStage.specReview, ['acceptance-testability'])
specSurface → const CommitteeSelectionRule

The bead names surfaces (path anchors or prior art), so the PLAN can be checked for completeness against them.

const CommitteeSelectionRule('spec-surface', CommitteeStage.specReview, ['plan-completeness'])
codeRuntime → const CommitteeSelectionRule

The diff touches runtime behaviour — the full semantic code committee.

const CommitteeSelectionRule('code-runtime', CommitteeStage.codeReview, ['spec-adherence', 'regression-risk', 'test-coverage'])
codeTests → const CommitteeSelectionRule

The diff touches test surfaces.

const CommitteeSelectionRule('code-tests', CommitteeStage.codeReview, ['spec-adherence', 'test-coverage'])
codeDocsMetadata → const CommitteeSelectionRule

EVERY changed path is prose or metadata — nothing to regress, nothing to cover, so only adherence remains.

const CommitteeSelectionRule('code-docs-metadata', CommitteeStage.codeReview, ['spec-adherence'])
codeDecisionSensitive → const CommitteeSelectionRule

Recorded decisions govern the touched surfaces — the blast radius is wider than the diff looks.

const CommitteeSelectionRule('code-decision-sensitive', CommitteeStage.codeReview, ['regression-risk'])

Properties

hashCode → int
The hash code for this object.
no setterinherited
id → String
This rule's stable id — persisted in every selection.
final
index → int
A numeric identifier for the enumerated value.
no setterinherited
name → String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
rubricIds → List<String>
The SEMANTIC lanes this rule selects when it matches.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
stage → CommitteeStage
The stage this rule belongs to; a rule never fires for the other stage.
final

Methods

matches(CommitteeSelectionEvidence evidence) → bool
Whether evidence matches this rule. Pure over the normalized facts.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

fromId(Object? id) → CommitteeSelectionRule?
The rule id names, or null when it names none.

Constants

values → const List<CommitteeSelectionRule>
A constant List of the values in this enum, in order of their declaration.