{
  "schemaVersion": "eve-engineering-plan-quality.v1",
  "documentType": "rubric",
  "rubricVersion": "1.0.0",
  "lifecycleContract": "eve.governed-delivery.v1",
  "status": "frozen",
  "dimensions": [
    {
      "id": "requirements-and-scope",
      "weight": 20,
      "minimumScore": 3,
      "description": "Every material goal clause is included by a stable requirement or excluded by an accepted human decision; non-goals and path scope constrain the work.",
      "requiredChecks": [
        "goal-clause-totality",
        "stable-requirement-identities",
        "testable-acceptance-criteria",
        "non-goal-traceability",
        "work-item-requirement-ownership",
        "path-scope-containment"
      ]
    },
    {
      "id": "authoritative-source-discovery",
      "weight": 15,
      "minimumScore": 3,
      "description": "Each requirement cites an observed authoritative source, explains why it governs, and binds the observation to the current source digest.",
      "requiredChecks": [
        "authoritative-source-per-requirement",
        "authority-basis-recorded",
        "source-locator-current",
        "source-digest-current"
      ]
    },
    {
      "id": "dependency-rationale",
      "weight": 15,
      "minimumScore": 3,
      "description": "The work graph contains exact nodes, typed acyclic edges, individual reasons, explicit independent-node rationale, and no orphan references.",
      "requiredChecks": [
        "node-totality",
        "typed-edge-rationale",
        "acyclic-graph",
        "dependency-ref-correspondence",
        "independent-node-rationale"
      ]
    },
    {
      "id": "risk-analysis",
      "weight": 15,
      "minimumScore": 3,
      "description": "Every high or critical requirement has an explicit effect, trigger, mitigation, reversibility class, and human authorization for irreversible effects.",
      "requiredChecks": [
        "high-risk-coverage",
        "mitigation-and-trigger",
        "reversibility-classified",
        "irreversible-authority"
      ]
    },
    {
      "id": "verification-matrix",
      "weight": 20,
      "minimumScore": 3,
      "description": "Every requirement and work item is bound to direct proof at the required boundary, expected outcomes, negative controls for high risk, and honest limitations.",
      "requiredChecks": [
        "requirement-proof-totality",
        "work-item-proof-totality",
        "required-boundary-match",
        "direct-evidence",
        "negative-control-for-high-risk",
        "not-machine-checkable-stays-open"
      ]
    },
    {
      "id": "rollback-readiness",
      "weight": 10,
      "minimumScore": 3,
      "description": "Every work item has a trigger, concrete reversal or compensation steps, verification, and authorization for an irreversible boundary.",
      "requiredChecks": [
        "work-item-rollback-totality",
        "rollback-trigger",
        "rollback-steps",
        "rollback-verification",
        "irreversible-compensation-and-authority"
      ]
    },
    {
      "id": "clarification-threshold",
      "weight": 5,
      "minimumScore": 3,
      "description": "Low-impact ambiguity may use an attributed assumption; material ambiguity, authority gaps, conflicts, irreversible effects, scope uncertainty, and proof waivers stop for clarification.",
      "requiredChecks": [
        "material-ambiguity-stops",
        "conflicting-decisions-stop",
        "low-impact-assumptions-attributed",
        "threshold-condition-totality"
      ]
    }
  ],
  "thresholds": {
    "passingTotalScore": 85,
    "minimumDimensionScore": 3,
    "blockersAllowed": 0,
    "notMachineCheckableClosesRequirement": false
  },
  "blockerCodes": [
    "REQ-UNCOVERED",
    "SOURCE-NONAUTHORITATIVE",
    "SOURCE-STALE",
    "DEPENDENCY-CYCLE",
    "DEC-CONTRADICTORY",
    "SCOPE-WRONG",
    "RISK-UNASSESSED",
    "PROOF-WEAK",
    "ROLLBACK-MISSING",
    "CLARIFICATION-REQUIRED",
    "PLAN-STALE"
  ],
  "clarificationThreshold": {
    "mustClarifyAt": "material",
    "assumptionAllowedAt": "low",
    "mustClarifyWhen": [
      "conflicting-current-human-decisions",
      "missing-authority",
      "material-goal-or-non-goal-change",
      "requirement-removal-or-scope-reduction",
      "dependency-bypass",
      "verification-waiver",
      "irreversible-action",
      "cloud-spend-or-live-autonomy",
      "uncertain-destructive-target"
    ]
  },
  "proofStrength": {
    "directnessOrder": ["none", "indirect", "direct"],
    "notMachineCheckableOutcome": "open"
  },
  "performanceFloor": {
    "conformanceCases": 8,
    "requiredDetectionRate": 1,
    "iterations": 10000,
    "p95BatchMillisecondsMax": 25,
    "rssGrowthBytesMax": 67108864
  },
  "limitations": [
    "A passing grade proves that a submitted plan satisfies this static plan-quality contract; it does not prove that the plan was persisted, leased, executed, reviewed, shipped, or verified.",
    "Tasks 11.9 through 11.11 own immutable planning revisions, dependency and verification-plan persistence, authenticated service boundaries, and lifecycle enforcement under ADR-0076.",
    "The grader compares supplied authoritative context and source digests; Task 11.3 must bind that context to an isolated execution workspace, and Task 11.4 must provide independent review.",
    "Human decision authenticity and authorization must be established by the future authenticated lifecycle service; this rubric refuses agent-accepted decisions but cannot authenticate a JSON fixture."
  ]
}
