{
  "schema": "aibast-visual-checkpoints/1.0",
  "solution": "@aibast-agents-library/grid-asset-maintenance",
  "policy": {
    "machine_gate": "The full locked case passes only when the deterministic validator confirms every must_include and must_not_include marker against the final response.",
    "visual_gate": "A reusable screenshot must show at least one positive target-state anchor in the visible product UI and must not show a blocker or refusal that defeats the checkpoint.",
    "partial_rule": "An annotated screenshot is a learner-facing visual checkpoint, not a substitute for the full machine gate. Labels, filenames, reasoning text, and expected behavior are not visual proof.",
    "reshoot_rule": "Reshoot when the target state is absent, the response is blocked or refusing, the visible state defeats the checkpoint, or no positive target-state anchor is visible."
  },
  "summary": {
    "total_existing_captures": 24,
    "reusable": 24,
    "reshoot_required": 0
  },
  "captures": [
    {
      "id": "easy-review-build",
      "mode": "easy",
      "source": "solutions/grid-asset-maintenance/screenshots/assisted/01-review-build.jpg",
      "caption": "Copilot-assisted step 1 · Review the Copilot-assisted Draft configuration",
      "draft": true,
      "annotated": "solutions/grid-asset-maintenance/screenshots/assisted/annotated/01-review-build.png",
      "status": "reusable",
      "visible_anchors": [
        "Predictive Asset Maintenance",
        "replacement-plan",
        "register-update",
        "work-order-draft",
        "risk-ranking",
        "aibast_grid-asset-maintenance-synthetic-records.",
        "aibast_grid-asset-maintenance-rules-and-guardrai"
      ],
      "boxes": [
        {
          "x": 276,
          "y": 20,
          "width": 224,
          "height": 20,
          "label": "Predictive Asset Maintenance"
        },
        {
          "x": 1058,
          "y": 260,
          "width": 119,
          "height": 21,
          "label": "replacement-plan"
        },
        {
          "x": 1235,
          "y": 260,
          "width": 107,
          "height": 21,
          "label": "register-update"
        },
        {
          "x": 1057,
          "y": 299,
          "width": 116,
          "height": 19,
          "label": "work-order-draft"
        },
        {
          "x": 1230,
          "y": 300,
          "width": 84,
          "height": 21,
          "label": "risk-ranking"
        },
        {
          "x": 1057,
          "y": 467,
          "width": 299,
          "height": 22,
          "label": "aibast_grid-asset-maintenance-synthetic-records."
        },
        {
          "x": 1057,
          "y": 507,
          "width": 316,
          "height": 22,
          "label": "aibast_grid-asset-maintenance-rules-and-guardrai"
        }
      ]
    },
    {
      "id": "easy-gam-01",
      "mode": "easy",
      "source": "solutions/grid-asset-maintenance/screenshots/assisted/02-gam-01.jpg",
      "caption": "GAM-01 · Reliability Engineer: Which of our grid assets are most likely to fail in the next 90 days, and what's driving it?",
      "case_id": "GAM-01",
      "annotated": "solutions/grid-asset-maintenance/screenshots/assisted/annotated/02-gam-01.png",
      "status": "reusable",
      "visible_anchors": [
        "Grid Asset Risk Ranking",
        "TX-0417",
        "SG-1123"
      ],
      "boxes": [
        {
          "x": 451,
          "y": 556,
          "width": 224,
          "height": 28,
          "label": "Grid Asset Risk Ranking"
        },
        {
          "x": 582,
          "y": 698,
          "width": 68,
          "height": 20,
          "label": "TX-0417"
        },
        {
          "x": 583,
          "y": 741,
          "width": 66,
          "height": 20,
          "label": "SG-1123"
        }
      ]
    },
    {
      "id": "easy-gam-02",
      "mode": "easy",
      "source": "solutions/grid-asset-maintenance/screenshots/assisted/03-gam-02.jpg",
      "caption": "GAM-02 · Maintenance Planner: Get a preventive work order ready for the Millbrook transformer, with the parts and crew we need. Don't raise it yet.",
      "case_id": "GAM-02",
      "annotated": "solutions/grid-asset-maintenance/screenshots/assisted/annotated/03-gam-02.png",
      "status": "reusable",
      "visible_anchors": [
        "Preventive Work Order Draft",
        "Substation Crew B",
        "Tap changer contact kit"
      ],
      "boxes": [
        {
          "x": 451,
          "y": 529,
          "width": 106,
          "height": 23,
          "label": "Preventive Work Order Draft"
        },
        {
          "x": 924,
          "y": 562,
          "width": 86,
          "height": 21,
          "label": "Substation Crew B"
        },
        {
          "x": 722,
          "y": 1310,
          "width": 96,
          "height": 24,
          "label": "Tap changer contact kit"
        }
      ]
    },
    {
      "id": "easy-gam-03",
      "mode": "easy",
      "source": "solutions/grid-asset-maintenance/screenshots/assisted/04-gam-03.jpg",
      "caption": "GAM-03 · Reliability Engineer: The Mill Lane cable joint job closed yesterday. Is the field record complete enough to update the asset register?",
      "case_id": "GAM-03",
      "annotated": "solutions/grid-asset-maintenance/screenshots/assisted/annotated/04-gam-03.png",
      "status": "reusable",
      "visible_anchors": [
        "Asset Register Update Check",
        "WO-55097",
        "Insulation resistance"
      ],
      "boxes": [
        {
          "x": 450,
          "y": 484,
          "width": 272,
          "height": 28,
          "label": "Asset Register Update Check"
        },
        {
          "x": 741,
          "y": 485,
          "width": 109,
          "height": 23,
          "label": "WO-55097"
        },
        {
          "x": 464,
          "y": 704,
          "width": 154,
          "height": 20,
          "label": "Insulation resistance"
        }
      ]
    },
    {
      "id": "easy-gam-04",
      "mode": "easy",
      "source": "solutions/grid-asset-maintenance/screenshots/assisted/05-gam-04.jpg",
      "caption": "GAM-04 · Director of Asset Management: For the investment committee, how healthy is the fleet and what replacements and capital do we need over the ne",
      "case_id": "GAM-04",
      "annotated": "solutions/grid-asset-maintenance/screenshots/assisted/annotated/05-gam-04.png",
      "status": "reusable",
      "visible_anchors": [
        "Fleet Health and Replacement Plan",
        "$11,340,000",
        "TX-0417"
      ],
      "boxes": [
        {
          "x": 531,
          "y": 472,
          "width": 263,
          "height": 24,
          "label": "Fleet Health and Replacement Plan"
        },
        {
          "x": 612,
          "y": 589,
          "width": 94,
          "height": 23,
          "label": "$11,340,000"
        },
        {
          "x": 910,
          "y": 990,
          "width": 68,
          "height": 20,
          "label": "TX-0417"
        }
      ]
    },
    {
      "id": "easy-confirm-draft",
      "mode": "easy",
      "source": "solutions/grid-asset-maintenance/screenshots/assisted/06-confirm-draft.jpg",
      "caption": "Copilot-assisted step 6 · Confirm Draft and stop before publish",
      "draft": true,
      "annotated": "solutions/grid-asset-maintenance/screenshots/assisted/annotated/06-confirm-draft.png",
      "status": "reusable",
      "visible_anchors": [
        "Predictive Asset Maintenance"
      ],
      "boxes": [
        {
          "x": 332,
          "y": 156,
          "width": 226,
          "height": 21,
          "label": "Predictive Asset Maintenance"
        }
      ]
    },
    {
      "id": "hard-step-01",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/01-create-blank-agent.jpg",
      "caption": "Manual step 1 · Create a blank Copilot Studio agent",
      "step": 1,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/01-create-blank-agent.png",
      "status": "reusable",
      "visible_anchors": [
        "Untitled Agent"
      ],
      "boxes": [
        {
          "x": 276,
          "y": 20,
          "width": 118,
          "height": 24,
          "label": "Untitled Agent"
        }
      ]
    },
    {
      "id": "hard-step-02",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/02-name-agent.jpg",
      "caption": "Manual step 2 · Name Predictive Asset Manual",
      "step": 2,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/02-name-agent.png",
      "status": "reusable",
      "visible_anchors": [
        "Predictive Asset Manual"
      ],
      "boxes": [
        {
          "x": 276,
          "y": 20,
          "width": 184,
          "height": 20,
          "label": "Predictive Asset Manual"
        }
      ]
    },
    {
      "id": "hard-step-03",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/03-enter-instructions.jpg",
      "caption": "Manual step 3 · Enter the reviewed global instructions",
      "step": 3,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/03-enter-instructions.png",
      "status": "reusable",
      "visible_anchors": [
        "Predictive Asset Maintenance Intelligence — Manual Global Instructions"
      ],
      "boxes": [
        {
          "x": 276,
          "y": 278,
          "width": 654,
          "height": 32,
          "label": "Predictive Asset Maintenance Intelligence — Manual Global Instructions"
        }
      ]
    },
    {
      "id": "hard-step-04",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/04-save-instructions.jpg",
      "caption": "Manual step 4 · Save the instruction policy",
      "step": 4,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/04-save-instructions.png",
      "status": "reusable",
      "visible_anchors": [
        "Your agent has been saved",
        "Draft"
      ],
      "boxes": [
        {
          "x": 288,
          "y": 17,
          "width": 183,
          "height": 22,
          "label": "Your agent has been saved"
        },
        {
          "x": 489,
          "y": 66,
          "width": 35,
          "height": 17,
          "label": "Draft"
        }
      ]
    },
    {
      "id": "hard-step-05",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/05-remove-web-search.jpg",
      "caption": "Manual step 5 · Remove default web search",
      "step": 5,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/05-remove-web-search.png",
      "status": "reusable",
      "visible_anchors": [
        "Provide trusted context to guide decisions"
      ],
      "boxes": [
        {
          "x": 1024,
          "y": 393,
          "width": 234,
          "height": 20,
          "label": "Provide trusted context to guide decisions"
        }
      ]
    },
    {
      "id": "hard-step-06",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/06-add-aibast-grid-asset-maintenance-rules-and-guardrails.jpg",
      "caption": "Manual step 6 · Add knowledge: aibast_grid-asset-maintenance-rules-and-guardrails.md",
      "step": 6,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/06-add-aibast-grid-asset-maintenance-rules-and-guardrails.png",
      "status": "reusable",
      "visible_anchors": [
        "aibast_grid-asset-maintenance-rules-and-guardrails.md"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 427,
          "width": 316,
          "height": 22,
          "label": "aibast_grid-asset-maintenance-rules-and-guardrails.md"
        }
      ]
    },
    {
      "id": "hard-step-07",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/07-add-aibast-grid-asset-maintenance-synthetic-records.jpg",
      "caption": "Manual step 7 · Add knowledge: aibast_grid-asset-maintenance-synthetic-records.md",
      "step": 7,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/07-add-aibast-grid-asset-maintenance-synthetic-records.png",
      "status": "reusable",
      "visible_anchors": [
        "aibast_grid-asset-maintenance-synthetic-records.md"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 427,
          "width": 308,
          "height": 22,
          "label": "aibast_grid-asset-maintenance-synthetic-records.md"
        }
      ]
    },
    {
      "id": "hard-step-08",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/08-add-aibast-register-update-03.jpg",
      "caption": "Manual step 8 · Add skill: aibast_register-update_03",
      "step": 8,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/08-add-aibast-register-update-03.png",
      "status": "reusable",
      "visible_anchors": [
        "register-update"
      ],
      "boxes": [
        {
          "x": 1061,
          "y": 260,
          "width": 101,
          "height": 21,
          "label": "register-update"
        }
      ]
    },
    {
      "id": "hard-step-09",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/09-add-aibast-replacement-plan-04.jpg",
      "caption": "Manual step 9 · Add skill: aibast_replacement-plan_04",
      "step": 9,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/09-add-aibast-replacement-plan-04.png",
      "status": "reusable",
      "visible_anchors": [
        "replacement-plan"
      ],
      "boxes": [
        {
          "x": 1058,
          "y": 260,
          "width": 116,
          "height": 21,
          "label": "replacement-plan"
        }
      ]
    },
    {
      "id": "hard-step-10",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/10-add-aibast-risk-ranking-01.jpg",
      "caption": "Manual step 10 · Add skill: aibast_risk-ranking_01",
      "step": 10,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/10-add-aibast-risk-ranking-01.png",
      "status": "reusable",
      "visible_anchors": [
        "risk-ranking"
      ],
      "boxes": [
        {
          "x": 1060,
          "y": 260,
          "width": 78,
          "height": 21,
          "label": "risk-ranking"
        }
      ]
    },
    {
      "id": "hard-step-11",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/11-add-aibast-work-order-draft-02.jpg",
      "caption": "Manual step 11 · Add skill: aibast_work-order-draft_02",
      "step": 11,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/11-add-aibast-work-order-draft-02.png",
      "status": "reusable",
      "visible_anchors": [
        "work-order-draft"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 259,
          "width": 113,
          "height": 19,
          "label": "work-order-draft"
        }
      ]
    },
    {
      "id": "hard-step-12",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/12-review-inventory.jpg",
      "caption": "Manual step 12 · Review model, skills, knowledge, and safety boundaries",
      "step": 12,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/12-review-inventory.png",
      "status": "reusable",
      "visible_anchors": [
        "Model\nClaude Opus 5.5",
        "work-order-draft",
        "risk-ranking",
        "replacement-plan",
        "register-update",
        "aibast_grid-asset-maintenance-synthetic-records.md",
        "aibast_grid-asset-maintenance-rules-and-guardrails.md"
      ],
      "boxes": [
        {
          "x": 1023,
          "y": 96,
          "width": 344,
          "height": 21,
          "label": "Model\nClaude Opus 5.5"
        },
        {
          "x": 1057,
          "y": 259,
          "width": 113,
          "height": 19,
          "label": "work-order-draft"
        },
        {
          "x": 1230,
          "y": 260,
          "width": 81,
          "height": 21,
          "label": "risk-ranking"
        },
        {
          "x": 1058,
          "y": 300,
          "width": 116,
          "height": 21,
          "label": "replacement-plan"
        },
        {
          "x": 1235,
          "y": 300,
          "width": 104,
          "height": 21,
          "label": "register-update"
        },
        {
          "x": 1058,
          "y": 511,
          "width": 298,
          "height": 22,
          "label": "aibast_grid-asset-maintenance-synthetic-records.md"
        },
        {
          "x": 1058,
          "y": 551,
          "width": 315,
          "height": 22,
          "label": "aibast_grid-asset-maintenance-rules-and-guardrails.md"
        }
      ]
    },
    {
      "id": "hard-step-13",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/13-open-preview.jpg",
      "caption": "Manual step 13 · Open a fresh Preview conversation",
      "step": 13,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/13-open-preview.png",
      "status": "reusable",
      "visible_anchors": [
        "Predictive Asset Manual",
        "New chat"
      ],
      "boxes": [
        {
          "x": 276,
          "y": 20,
          "width": 183,
          "height": 20,
          "label": "Predictive Asset Manual"
        },
        {
          "x": 996,
          "y": 101,
          "width": 70,
          "height": 19,
          "label": "New chat"
        }
      ]
    },
    {
      "id": "hard-gam-01",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/14-gam-01.jpg",
      "caption": "GAM-01 · Reliability Engineer: Which of our grid assets are most likely to fail in the next 90 days, and what's driving it?",
      "step": 14,
      "case_id": "GAM-01",
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/14-gam-01.png",
      "status": "reusable",
      "visible_anchors": [
        "Grid Asset Risk Ranking",
        "TX-0417",
        "SG-1123"
      ],
      "boxes": [
        {
          "x": 450,
          "y": 472,
          "width": 183,
          "height": 24,
          "label": "Grid Asset Risk Ranking"
        },
        {
          "x": 582,
          "y": 741,
          "width": 68,
          "height": 20,
          "label": "TX-0417"
        },
        {
          "x": 583,
          "y": 784,
          "width": 66,
          "height": 20,
          "label": "SG-1123"
        }
      ]
    },
    {
      "id": "hard-gam-02",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/15-gam-02.jpg",
      "caption": "GAM-02 · Maintenance Planner: Get a preventive work order ready for the Millbrook transformer, with the parts and crew we need. Don't raise it yet.",
      "step": 15,
      "case_id": "GAM-02",
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/15-gam-02.png",
      "status": "reusable",
      "visible_anchors": [
        "Preventive Work Order Draft",
        "Substation Crew B",
        "Tap changer contact kit"
      ],
      "boxes": [
        {
          "x": 451,
          "y": 472,
          "width": 217,
          "height": 21,
          "label": "Preventive Work Order Draft"
        },
        {
          "x": 702,
          "y": 699,
          "width": 132,
          "height": 20,
          "label": "Substation Crew B"
        },
        {
          "x": 463,
          "y": 1010,
          "width": 176,
          "height": 24,
          "label": "Tap changer contact kit"
        }
      ]
    },
    {
      "id": "hard-gam-03",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/16-gam-03.jpg",
      "caption": "GAM-03 · Reliability Engineer: The Mill Lane cable joint job closed yesterday. Is the field record complete enough to update the asset register?",
      "step": 16,
      "case_id": "GAM-03",
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/16-gam-03.png",
      "status": "reusable",
      "visible_anchors": [
        "WO-55097",
        "Asset Register Update Check",
        "Insulation resistance"
      ],
      "boxes": [
        {
          "x": 723,
          "y": 473,
          "width": 81,
          "height": 20,
          "label": "WO-55097"
        },
        {
          "x": 450,
          "y": 539,
          "width": 220,
          "height": 24,
          "label": "Asset Register Update Check"
        },
        {
          "x": 464,
          "y": 802,
          "width": 154,
          "height": 21,
          "label": "Insulation resistance"
        }
      ]
    },
    {
      "id": "hard-gam-04",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/17-gam-04.jpg",
      "caption": "GAM-04 · Director of Asset Management: For the investment committee, how healthy is the fleet and what replacements and capital do we need over the ne",
      "step": 17,
      "case_id": "GAM-04",
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/17-gam-04.png",
      "status": "reusable",
      "visible_anchors": [
        "Fleet Health and Replacement Plan",
        "$11,340,000",
        "TX-0417"
      ],
      "boxes": [
        {
          "x": 451,
          "y": 472,
          "width": 262,
          "height": 24,
          "label": "Fleet Health and Replacement Plan"
        },
        {
          "x": 568,
          "y": 511,
          "width": 86,
          "height": 23,
          "label": "$11,340,000"
        },
        {
          "x": 582,
          "y": 1141,
          "width": 68,
          "height": 20,
          "label": "TX-0417"
        }
      ]
    },
    {
      "id": "hard-step-18",
      "mode": "hard",
      "source": "solutions/grid-asset-maintenance/screenshots/manual/18-confirm-draft.jpg",
      "caption": "Manual step 18 · Confirm Draft and stop before publish",
      "step": 18,
      "draft": true,
      "annotated": "solutions/grid-asset-maintenance/screenshots/manual/annotated/18-confirm-draft.png",
      "status": "reusable",
      "visible_anchors": [
        "Predictive Asset Manual"
      ],
      "boxes": [
        {
          "x": 334,
          "y": 156,
          "width": 183,
          "height": 21,
          "label": "Predictive Asset Manual"
        }
      ]
    }
  ],
  "reshoot_plan": {
    "replacement_captures": [],
    "new_learn_step_captures": []
  },
  "release_review": {
    "status": "approved",
    "reviewer": "claude:workshop-reshoot",
    "reviewed_at": "2026-10-29T22:40:25.575610+00:00",
    "method": "Workshop re-shot end to end in the real Copilot Studio UI (kodyv8) after the agent was aligned with its demo video and one-pager; every frame inspected (vision review) and every locked case checked against its machine gate; boxes placed from the frame image.",
    "notes": "Draft only; nothing published."
  }
}
