{
  "schema": "aibast-visual-checkpoints/1.0",
  "solution": "@aibast-agents-library/time-entry-billing",
  "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 deterministic anchor from the expected state and must not show a blocker or refusal.",
    "partial_rule": "An annotated screenshot is a learner-facing visual checkpoint, not a substitute for the full machine gate.",
    "reshoot_rule": "Reshoot when the target state is absent, the response is blocked or refusing, or no positive deterministic anchor is visible."
  },
  "summary": {
    "total_existing_captures": 41,
    "reusable": 41,
    "reshoot_required": 0
  },
  "captures": [
    {
      "id": "easy-review-build",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/01-review-build.jpg",
      "caption": "Copilot-assisted step 1 · Review the Copilot-assisted Draft configuration",
      "draft": true,
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/01-review-build.png",
      "status": "reusable",
      "visible_anchors": [
        "Time Entry and Billing Pilot",
        "Draft",
        "flagged-review",
        "budget-overruns",
        "month-end-close",
        "final-invoices",
        "approval-gated-invoice-support",
        "aibast_billing-synthetic-ledger.md",
        "aibast_billing-rules-and-disputes.md"
      ],
      "boxes": [
        {
          "x": 83,
          "y": 20,
          "width": 208,
          "height": 24,
          "label": "Time Entry and Billing Pilot"
        },
        {
          "x": 302,
          "y": 22,
          "width": 39,
          "height": 17,
          "label": "Draft"
        },
        {
          "x": 1057,
          "y": 197,
          "width": 103,
          "height": 22,
          "label": "flagged-review"
        },
        {
          "x": 1218,
          "y": 197,
          "width": 115,
          "height": 22,
          "label": "budget-overruns"
        },
        {
          "x": 1057,
          "y": 237,
          "width": 117,
          "height": 19,
          "label": "month-end-close"
        },
        {
          "x": 1232,
          "y": 237,
          "width": 92,
          "height": 19,
          "label": "final-invoices"
        },
        {
          "x": 1057,
          "y": 277,
          "width": 209,
          "height": 22,
          "label": "approval-gated-invoice-support"
        },
        {
          "x": 1057,
          "y": 445,
          "width": 220,
          "height": 22,
          "label": "aibast_billing-synthetic-ledger.md"
        },
        {
          "x": 1057,
          "y": 485,
          "width": 235,
          "height": 22,
          "label": "aibast_billing-rules-and-disputes.md"
        }
      ]
    },
    {
      "id": "easy-teb-01",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/02-teb-01.jpg",
      "caption": "TEB-01 · Billing Manager: What billable work is still blocked from this close, and what has to happen before it can move?",
      "case_id": "TEB-01",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/02-teb-01.png",
      "status": "reusable",
      "visible_anchors": [
        "Needs approval",
        "TE-9004 · TE-9011"
      ],
      "boxes": [
        {
          "x": 480,
          "y": 499,
          "width": 154,
          "height": 28,
          "label": "Needs approval"
        },
        {
          "x": 285,
          "y": 537,
          "width": 71,
          "height": 20,
          "label": "TE-9004 · TE-9011"
        }
      ]
    },
    {
      "id": "easy-teb-02",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/03-teb-02.jpg",
      "caption": "TEB-02 · Finance Vice President: Give me the month-end billing rollup by project and consultant without treating it as posted revenue.",
      "case_id": "TEB-02",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/03-teb-02.png",
      "status": "reusable",
      "visible_anchors": [
        "not posted revenue",
        "By Project",
        "By Consultant"
      ],
      "boxes": [
        {
          "x": 873,
          "y": 444,
          "width": 152,
          "height": 24,
          "label": "not posted revenue"
        },
        {
          "x": 286,
          "y": 500,
          "width": 102,
          "height": 27,
          "label": "By Project"
        },
        {
          "x": 286,
          "y": 3147,
          "width": 137,
          "height": 28,
          "label": "By Consultant"
        }
      ]
    },
    {
      "id": "easy-teb-03",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/04-teb-03.jpg",
      "caption": "TEB-03 · Billing Compliance Lead: Which time cards would fail our billing review because of narrative, hours, rate, or budget concerns?",
      "case_id": "TEB-03",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/04-teb-03.png",
      "status": "reusable",
      "visible_anchors": [
        "Missing description",
        "Budget Alert"
      ],
      "boxes": [
        {
          "x": 424,
          "y": 811,
          "width": 152,
          "height": 24,
          "label": "Missing description"
        },
        {
          "x": 306,
          "y": 1685,
          "width": 103,
          "height": 24,
          "label": "Budget Alert"
        }
      ],
      "full_case_not_visibly_proven": [
        "Exceeds 10-hour daily limit not legible in the frame; the deterministic machine gate remains authoritative."
      ]
    },
    {
      "id": "easy-teb-04",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/05-teb-04.jpg",
      "caption": "TEB-04 · Billing Manager: Prepare the invoice support that is actually ready, and keep anything without the right approval or milestone evidence out.",
      "case_id": "TEB-04",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/05-teb-04.png",
      "status": "reusable",
      "visible_anchors": [
        "Invoices Ready to Generate",
        "Fixed-fee hold",
        "no invoice was generated"
      ],
      "boxes": [
        {
          "x": 286,
          "y": 456,
          "width": 84,
          "height": 23,
          "label": "Invoices Ready to Generate"
        },
        {
          "x": 365,
          "y": 515,
          "width": 73,
          "height": 21,
          "label": "Fixed-fee hold"
        },
        {
          "x": 691,
          "y": 1492,
          "width": 86,
          "height": 20,
          "label": "no invoice was generated"
        }
      ]
    },
    {
      "id": "easy-teb-05",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/06-teb-05.jpg",
      "caption": "TEB-05 · Client Finance Partner: What evidence is missing on the disputed hours, and what is the safest resolution path before we go back to the clien",
      "case_id": "TEB-05",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/06-teb-05.png",
      "status": "reusable",
      "visible_anchors": [
        "DSP-301 · DSP-302",
        "authorized review"
      ],
      "boxes": [
        {
          "x": 286,
          "y": 500,
          "width": 84,
          "height": 23,
          "label": "DSP-301 · DSP-302"
        },
        {
          "x": 894,
          "y": 2180,
          "width": 136,
          "height": 20,
          "label": "authorized review"
        }
      ]
    },
    {
      "id": "easy-teb-06",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/07-teb-06.jpg",
      "caption": "TEB-06 · Finance Vice President: Month-end close is here. We have 15,000 hours logged across all projects that need to be reviewed, approved, and conv",
      "case_id": "TEB-06",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/07-teb-06.png",
      "status": "reusable",
      "visible_anchors": [
        "15,247",
        "$2,847,500",
        "267 hours"
      ],
      "boxes": [
        {
          "x": 590,
          "y": 516,
          "width": 57,
          "height": 22,
          "label": "15,247"
        },
        {
          "x": 518,
          "y": 828,
          "width": 90,
          "height": 23,
          "label": "$2,847,500"
        },
        {
          "x": 518,
          "y": 958,
          "width": 83,
          "height": 21,
          "label": "267 hours"
        }
      ]
    },
    {
      "id": "easy-teb-07",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/08-teb-07.jpg",
      "caption": "TEB-07 · Billing Manager: Break down the hours that were flagged for review before final approval.",
      "case_id": "TEB-07",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/08-teb-07.png",
      "status": "reusable",
      "visible_anchors": [
        "MegaCorp Systems",
        "$892K",
        "5 projects over 95% budget consumed"
      ],
      "boxes": [
        {
          "x": 445,
          "y": 1102,
          "width": 150,
          "height": 23,
          "label": "MegaCorp Systems"
        },
        {
          "x": 684,
          "y": 1596,
          "width": 77,
          "height": 23,
          "label": "$892K"
        },
        {
          "x": 451,
          "y": 2063,
          "width": 156,
          "height": 24,
          "label": "5 projects over 95% budget consumed"
        }
      ]
    },
    {
      "id": "easy-teb-08",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/09-teb-08.jpg",
      "caption": "TEB-08 · Finance Vice President: Show me the budget overruns and write-off exposure.",
      "case_id": "TEB-08",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/09-teb-08.png",
      "status": "reusable",
      "visible_anchors": [
        "FinanceHub",
        "$47K recoverable",
        "RetailCo"
      ],
      "boxes": [
        {
          "x": 286,
          "y": 964,
          "width": 97,
          "height": 21,
          "label": "FinanceHub"
        },
        {
          "x": 362,
          "y": 1065,
          "width": 168,
          "height": 23,
          "label": "$47K recoverable"
        },
        {
          "x": 286,
          "y": 1159,
          "width": 71,
          "height": 21,
          "label": "RetailCo"
        }
      ]
    },
    {
      "id": "easy-teb-09",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/10-teb-09.jpg",
      "caption": "TEB-09 · Billing Manager: Bill RetailCo $15K, approve everything else, and generate the final invoices and revenue report.",
      "case_id": "TEB-09",
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/10-teb-09.png",
      "status": "reusable",
      "visible_anchors": [
        "$157,800",
        "$2,839,300",
        "Deferred: $427,000"
      ],
      "boxes": [
        {
          "x": 665,
          "y": 729,
          "width": 74,
          "height": 24,
          "label": "$157,800"
        },
        {
          "x": 610,
          "y": 1092,
          "width": 89,
          "height": 23,
          "label": "$2,839,300"
        },
        {
          "x": 299,
          "y": 1136,
          "width": 400,
          "height": 23,
          "label": "Deferred: $427,000"
        }
      ]
    },
    {
      "id": "easy-confirm-draft",
      "mode": "easy",
      "source": "solutions/time-entry-billing/screenshots/assisted/11-confirm-draft.jpg",
      "caption": "Copilot-assisted step 11 · Confirm Draft and stop before publish",
      "draft": true,
      "annotated": "solutions/time-entry-billing/screenshots/assisted/annotated/11-confirm-draft.png",
      "status": "reusable",
      "visible_anchors": [
        "Time Entry and Billing Pilot"
      ],
      "boxes": [
        {
          "x": 139,
          "y": 154,
          "width": 205,
          "height": 24,
          "label": "Time Entry and Billing Pilot"
        }
      ]
    },
    {
      "id": "hard-step-01",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/01-create-blank-agent.jpg",
      "caption": "Manual step 1 · Create a blank Copilot Studio agent",
      "step": 1,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/01-create-blank-agent.png",
      "status": "reusable",
      "visible_anchors": [
        "Untitled Agent"
      ],
      "boxes": [
        {
          "x": 84,
          "y": 20,
          "width": 118,
          "height": 24,
          "label": "Untitled Agent"
        }
      ]
    },
    {
      "id": "hard-step-02",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/02-name-agent.jpg",
      "caption": "Manual step 2 · Name Time Entry and Billing Manual",
      "step": 2,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/02-name-agent.png",
      "status": "reusable",
      "visible_anchors": [
        "Time Entry and Billing Manual"
      ],
      "boxes": [
        {
          "x": 83,
          "y": 20,
          "width": 121,
          "height": 24,
          "label": "Time Entry and Billing Manual"
        }
      ]
    },
    {
      "id": "hard-step-03",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/03-enter-instructions.jpg",
      "caption": "Manual step 3 · Enter the reviewed global instructions",
      "step": 3,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/03-enter-instructions.png",
      "status": "reusable",
      "visible_anchors": [
        "Time Entry and Billing Agent — Global Instructio"
      ],
      "boxes": [
        {
          "x": 202,
          "y": 131,
          "width": 339,
          "height": 39,
          "label": "Time Entry and Billing Agent — Global Instructio"
        }
      ]
    },
    {
      "id": "hard-step-04",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/04-save-instructions.jpg",
      "caption": "Manual step 4 · Save the instruction policy",
      "step": 4,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/04-save-instructions.png",
      "status": "reusable",
      "visible_anchors": [
        "Draft"
      ],
      "boxes": [
        {
          "x": 323,
          "y": 66,
          "width": 39,
          "height": 17,
          "label": "Draft"
        }
      ]
    },
    {
      "id": "hard-step-05",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/05-remove-web-search.jpg",
      "caption": "Manual step 5 · Remove default web search",
      "step": 5,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/05-remove-web-search.png",
      "status": "reusable",
      "visible_anchors": [
        "Provide trusted context to guide decisions"
      ],
      "boxes": [
        {
          "x": 1023,
          "y": 287,
          "width": 234,
          "height": 20,
          "label": "Provide trusted context to guide decisions"
        }
      ]
    },
    {
      "id": "hard-step-06",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/06-add-aibast-billing-rules-and-disputes.jpg",
      "caption": "Manual step 6 · Add knowledge: aibast_billing-rules-and-disputes.md",
      "step": 6,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/06-add-aibast-billing-rules-and-disputes.png",
      "status": "reusable",
      "visible_anchors": [
        "aibast_billing-rules-and-disputes.md"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 321,
          "width": 235,
          "height": 22,
          "label": "aibast_billing-rules-and-disputes.md"
        }
      ]
    },
    {
      "id": "hard-step-07",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/07-add-aibast-billing-synthetic-ledger.jpg",
      "caption": "Manual step 7 · Add knowledge: aibast_billing-synthetic-ledger.md",
      "step": 7,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/07-add-aibast-billing-synthetic-ledger.png",
      "status": "reusable",
      "visible_anchors": [
        "aibast_billing-synthetic-ledger.md"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 321,
          "width": 220,
          "height": 22,
          "label": "aibast_billing-synthetic-ledger.md"
        }
      ]
    },
    {
      "id": "hard-step-08",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/08-add-aibast-billing-summary-02.jpg",
      "caption": "Manual step 8 · Add skill: aibast_billing-summary_02",
      "step": 8,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/08-add-aibast-billing-summary-02.png",
      "status": "reusable",
      "visible_anchors": [
        "billing-close-summary"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 148,
          "height": 22,
          "label": "billing-close-summary"
        }
      ]
    },
    {
      "id": "hard-step-09",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/09-add-aibast-budget-overruns-08.jpg",
      "caption": "Manual step 9 · Add skill: aibast_budget-overruns_08",
      "step": 9,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/09-add-aibast-budget-overruns-08.png",
      "status": "reusable",
      "visible_anchors": [
        "budget-overruns"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 115,
          "height": 22,
          "label": "budget-overruns"
        }
      ]
    },
    {
      "id": "hard-step-10",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/10-add-aibast-dispute-resolution-05.jpg",
      "caption": "Manual step 10 · Add skill: aibast_dispute-resolution_05",
      "step": 10,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/10-add-aibast-dispute-resolution-05.png",
      "status": "reusable",
      "visible_anchors": [
        "disputed-hours-evidence-brief"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 200,
          "height": 22,
          "label": "disputed-hours-evidence-brief"
        }
      ]
    },
    {
      "id": "hard-step-11",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/11-add-aibast-final-invoices-09.jpg",
      "caption": "Manual step 11 · Add skill: aibast_final-invoices_09",
      "step": 11,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/11-add-aibast-final-invoices-09.png",
      "status": "reusable",
      "visible_anchors": [
        "final-invoices"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 92,
          "height": 19,
          "label": "final-invoices"
        }
      ]
    },
    {
      "id": "hard-step-12",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/12-add-aibast-flagged-review-07.jpg",
      "caption": "Manual step 12 · Add skill: aibast_flagged-review_07",
      "step": 12,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/12-add-aibast-flagged-review-07.png",
      "status": "reusable",
      "visible_anchors": [
        "flagged-review"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 103,
          "height": 22,
          "label": "flagged-review"
        }
      ]
    },
    {
      "id": "hard-step-13",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/13-add-aibast-invoice-preparation-04.jpg",
      "caption": "Manual step 13 · Add skill: aibast_invoice-preparation_04",
      "step": 13,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/13-add-aibast-invoice-preparation-04.png",
      "status": "reusable",
      "visible_anchors": [
        "approval-gated-invoice-support"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 209,
          "height": 22,
          "label": "approval-gated-invoice-support"
        }
      ]
    },
    {
      "id": "hard-step-14",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/14-add-aibast-month-end-close-06.jpg",
      "caption": "Manual step 14 · Add skill: aibast_month-end-close_06",
      "step": 14,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/14-add-aibast-month-end-close-06.png",
      "status": "reusable",
      "visible_anchors": [
        "month-end-close"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 117,
          "height": 19,
          "label": "month-end-close"
        }
      ]
    },
    {
      "id": "hard-step-15",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/15-add-aibast-time-entry-audit-03.jpg",
      "caption": "Manual step 15 · Add skill: aibast_time-entry-audit_03",
      "step": 15,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/15-add-aibast-time-entry-audit-03.png",
      "status": "reusable",
      "visible_anchors": [
        "time-entry-audit"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 198,
          "width": 114,
          "height": 21,
          "label": "time-entry-audit"
        }
      ]
    },
    {
      "id": "hard-step-16",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/16-add-aibast-unbilled-report-01.jpg",
      "caption": "Manual step 16 · Add skill: aibast_unbilled-report_01",
      "step": 16,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/16-add-aibast-unbilled-report-01.png",
      "status": "reusable",
      "visible_anchors": [
        "month-end-billing-blockers"
      ],
      "boxes": [
        {
          "x": 1057,
          "y": 197,
          "width": 181,
          "height": 22,
          "label": "month-end-billing-blockers"
        }
      ]
    },
    {
      "id": "hard-step-17",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/17-review-inventory.jpg",
      "caption": "Manual step 17 · Review model, skills, knowledge, and safety boundaries",
      "step": 17,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/17-review-inventory.png",
      "status": "reusable",
      "visible_anchors": [
        "Claude Opus 5",
        "month-end-billing-blockers",
        "time-entry-audit",
        "month-end-close",
        "approval-gated-invoice-support",
        "flagged-review",
        "aibast_billing-synthetic-ledger.md",
        "aibast_billing-rules-and-disputes.md"
      ],
      "boxes": [
        {
          "x": 1251,
          "y": 96,
          "width": 102,
          "height": 22,
          "label": "Claude Opus 5"
        },
        {
          "x": 1057,
          "y": 197,
          "width": 181,
          "height": 22,
          "label": "month-end-billing-blockers"
        },
        {
          "x": 1057,
          "y": 238,
          "width": 114,
          "height": 21,
          "label": "time-entry-audit"
        },
        {
          "x": 1227,
          "y": 237,
          "width": 117,
          "height": 19,
          "label": "month-end-close"
        },
        {
          "x": 1057,
          "y": 277,
          "width": 209,
          "height": 22,
          "label": "approval-gated-invoice-support"
        },
        {
          "x": 1057,
          "y": 317,
          "width": 103,
          "height": 22,
          "label": "flagged-review"
        },
        {
          "x": 1057,
          "y": 485,
          "width": 220,
          "height": 22,
          "label": "aibast_billing-synthetic-ledger.md"
        },
        {
          "x": 1057,
          "y": 525,
          "width": 235,
          "height": 22,
          "label": "aibast_billing-rules-and-disputes.md"
        }
      ]
    },
    {
      "id": "hard-step-18",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/18-review-skills.jpg",
      "caption": "Manual step 18 · Review the skill list (9 skills)",
      "step": 18,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/18-review-skills.png",
      "status": "reusable",
      "visible_anchors": [
        "month-end-billing-blockers",
        "time-entry-audit",
        "approval-gated-invoice-support",
        "month-end-close"
      ],
      "boxes": [
        {
          "x": 1055,
          "y": 177,
          "width": 181,
          "height": 22,
          "label": "month-end-billing-blockers"
        },
        {
          "x": 1055,
          "y": 255,
          "width": 114,
          "height": 22,
          "label": "time-entry-audit"
        },
        {
          "x": 1200,
          "y": 278,
          "width": 57,
          "height": 20,
          "label": "approval-gated-invoice-support"
        },
        {
          "x": 1055,
          "y": 333,
          "width": 118,
          "height": 19,
          "label": "month-end-close"
        }
      ]
    },
    {
      "id": "hard-step-19",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/19-review-skills-more.jpg",
      "caption": "Manual step 19 · Review the rest of the skill list",
      "step": 19,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/19-review-skills-more.png",
      "status": "reusable",
      "visible_anchors": [
        "flagged-review",
        "approval-gated-invoice-support",
        "final-invoices",
        "disputed-hours-evidence-brief",
        "budget-overruns",
        "billing-close-summary"
      ],
      "boxes": [
        {
          "x": 1055,
          "y": 84,
          "width": 104,
          "height": 22,
          "label": "flagged-review"
        },
        {
          "x": 1156,
          "y": 147,
          "width": 57,
          "height": 20,
          "label": "approval-gated-invoice-support"
        },
        {
          "x": 1055,
          "y": 182,
          "width": 93,
          "height": 19,
          "label": "final-invoices"
        },
        {
          "x": 1055,
          "y": 279,
          "width": 201,
          "height": 23,
          "label": "disputed-hours-evidence-brief"
        },
        {
          "x": 1055,
          "y": 358,
          "width": 115,
          "height": 22,
          "label": "budget-overruns"
        },
        {
          "x": 1055,
          "y": 456,
          "width": 148,
          "height": 22,
          "label": "billing-close-summary"
        }
      ]
    },
    {
      "id": "hard-step-20",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/20-open-preview.jpg",
      "caption": "Manual step 20 · Open a fresh Preview conversation",
      "step": 20,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/20-open-preview.png",
      "status": "reusable",
      "visible_anchors": [
        "Time Entry and Billing Manual"
      ],
      "boxes": [
        {
          "x": 83,
          "y": 20,
          "width": 229,
          "height": 24,
          "label": "Time Entry and Billing Manual"
        }
      ]
    },
    {
      "id": "hard-teb-01",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/21-teb-01.jpg",
      "caption": "TEB-01 · Billing Manager: What billable work is still blocked from this close, and what has to happen before it can move?",
      "step": 21,
      "case_id": "TEB-01",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/21-teb-01.png",
      "status": "reusable",
      "visible_anchors": [
        "Needs approval",
        "TE-9004 · TE-9011"
      ],
      "boxes": [
        {
          "x": 821,
          "y": 488,
          "width": 123,
          "height": 24,
          "label": "Needs approval"
        },
        {
          "x": 298,
          "y": 597,
          "width": 69,
          "height": 20,
          "label": "TE-9004 · TE-9011"
        }
      ]
    },
    {
      "id": "hard-teb-02",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/22-teb-02.jpg",
      "caption": "TEB-02 · Finance Vice President: Give me the month-end billing rollup by project and consultant without treating it as posted revenue.",
      "step": 22,
      "case_id": "TEB-02",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/22-teb-02.png",
      "status": "reusable",
      "visible_anchors": [
        "not posted revenue",
        "By Project",
        "By Consultant"
      ],
      "boxes": [
        {
          "x": 574,
          "y": 533,
          "width": 89,
          "height": 24,
          "label": "not posted revenue"
        },
        {
          "x": 286,
          "y": 667,
          "width": 84,
          "height": 24,
          "label": "By Project"
        },
        {
          "x": 286,
          "y": 1115,
          "width": 112,
          "height": 24,
          "label": "By Consultant"
        }
      ]
    },
    {
      "id": "hard-teb-03",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/23-teb-03.jpg",
      "caption": "TEB-03 · Billing Compliance Lead: Which time cards would fail our billing review because of narrative, hours, rate, or budget concerns?",
      "step": 23,
      "case_id": "TEB-03",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/23-teb-03.png",
      "status": "reusable",
      "visible_anchors": [
        "Missing description",
        "Exceeds 10-hour daily limit",
        "Budget Alert"
      ],
      "boxes": [
        {
          "x": 1100,
          "y": 673,
          "width": 131,
          "height": 23,
          "label": "Missing description"
        },
        {
          "x": 1102,
          "y": 718,
          "width": 131,
          "height": 20,
          "label": "Exceeds 10-hour daily limit"
        },
        {
          "x": 286,
          "y": 1263,
          "width": 126,
          "height": 28,
          "label": "Budget Alert"
        }
      ]
    },
    {
      "id": "hard-teb-04",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/24-teb-04.jpg",
      "caption": "TEB-04 · Billing Manager: Prepare the invoice support that is actually ready, and keep anything without the right approval or milestone evidence out.",
      "step": 24,
      "case_id": "TEB-04",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/24-teb-04.png",
      "status": "reusable",
      "visible_anchors": [
        "Invoices Ready to Generate",
        "Fixed-fee hold",
        "no invoice was generated"
      ],
      "boxes": [
        {
          "x": 286,
          "y": 536,
          "width": 257,
          "height": 28,
          "label": "Invoices Ready to Generate"
        },
        {
          "x": 286,
          "y": 953,
          "width": 139,
          "height": 24,
          "label": "Fixed-fee hold"
        },
        {
          "x": 468,
          "y": 1545,
          "width": 196,
          "height": 24,
          "label": "no invoice was generated"
        }
      ]
    },
    {
      "id": "hard-teb-05",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/25-teb-05.jpg",
      "caption": "TEB-05 · Client Finance Partner: What evidence is missing on the disputed hours, and what is the safest resolution path before we go back to the clien",
      "step": 25,
      "case_id": "TEB-05",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/25-teb-05.png",
      "status": "reusable",
      "visible_anchors": [
        "DSP-301 · DSP-302",
        "authorized review"
      ],
      "boxes": [
        {
          "x": 286,
          "y": 634,
          "width": 70,
          "height": 20,
          "label": "DSP-301 · DSP-302"
        },
        {
          "x": 1129,
          "y": 1278,
          "width": 86,
          "height": 20,
          "label": "authorized review"
        }
      ]
    },
    {
      "id": "hard-teb-06",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/26-teb-06.jpg",
      "caption": "TEB-06 · Finance Vice President: Month-end close is here. We have 15,000 hours logged across all projects that need to be reviewed, approved, and conv",
      "step": 26,
      "case_id": "TEB-06",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/26-teb-06.png",
      "status": "reusable",
      "visible_anchors": [
        "15,247",
        "$2,847,500",
        "267 hours"
      ],
      "boxes": [
        {
          "x": 591,
          "y": 665,
          "width": 58,
          "height": 22,
          "label": "15,247"
        },
        {
          "x": 592,
          "y": 794,
          "width": 90,
          "height": 23,
          "label": "$2,847,500"
        },
        {
          "x": 464,
          "y": 1228,
          "width": 100,
          "height": 24,
          "label": "267 hours"
        }
      ]
    },
    {
      "id": "hard-teb-07",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/27-teb-07.jpg",
      "caption": "TEB-07 · Billing Manager: Break down the hours that were flagged for review before final approval.",
      "step": 27,
      "case_id": "TEB-07",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/27-teb-07.png",
      "status": "reusable",
      "visible_anchors": [
        "MegaCorp Systems",
        "$892K",
        "5 projects over 95% budget consumed"
      ],
      "boxes": [
        {
          "x": 623,
          "y": 685,
          "width": 154,
          "height": 23,
          "label": "MegaCorp Systems"
        },
        {
          "x": 985,
          "y": 727,
          "width": 77,
          "height": 23,
          "label": "$892K"
        },
        {
          "x": 456,
          "y": 1105,
          "width": 359,
          "height": 28,
          "label": "5 projects over 95% budget consumed"
        }
      ]
    },
    {
      "id": "hard-teb-08",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/28-teb-08.jpg",
      "caption": "TEB-08 · Finance Vice President: Show me the budget overruns and write-off exposure.",
      "step": 28,
      "case_id": "TEB-08",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/28-teb-08.png",
      "status": "reusable",
      "visible_anchors": [
        "$47K recoverable",
        "FinanceHub",
        "RetailCo"
      ],
      "boxes": [
        {
          "x": 811,
          "y": 506,
          "width": 157,
          "height": 23,
          "label": "$47K recoverable"
        },
        {
          "x": 299,
          "y": 771,
          "width": 94,
          "height": 20,
          "label": "FinanceHub"
        },
        {
          "x": 299,
          "y": 814,
          "width": 69,
          "height": 20,
          "label": "RetailCo"
        }
      ]
    },
    {
      "id": "hard-teb-09",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/29-teb-09.jpg",
      "caption": "TEB-09 · Billing Manager: Bill RetailCo $15K, approve everything else, and generate the final invoices and revenue report.",
      "step": 29,
      "case_id": "TEB-09",
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/29-teb-09.png",
      "status": "reusable",
      "visible_anchors": [
        "$157,800",
        "$2,839,300",
        "Deferred: $427,000"
      ],
      "boxes": [
        {
          "x": 614,
          "y": 662,
          "width": 75,
          "height": 23,
          "label": "$157,800"
        },
        {
          "x": 399,
          "y": 1164,
          "width": 90,
          "height": 23,
          "label": "$2,839,300"
        },
        {
          "x": 310,
          "y": 1195,
          "width": 149,
          "height": 23,
          "label": "Deferred: $427,000"
        }
      ]
    },
    {
      "id": "hard-step-30",
      "mode": "hard",
      "source": "solutions/time-entry-billing/screenshots/manual/30-confirm-draft.jpg",
      "caption": "Manual step 30 · Confirm Draft and stop before publish",
      "step": 30,
      "draft": true,
      "annotated": "solutions/time-entry-billing/screenshots/manual/annotated/30-confirm-draft.png",
      "status": "reusable",
      "visible_anchors": [
        "Time Entry and Billing Manual"
      ],
      "boxes": [
        {
          "x": 139,
          "y": 154,
          "width": 225,
          "height": 24,
          "label": "Time Entry and Billing Manual"
        }
      ]
    }
  ],
  "reshoot_plan": {
    "replacement_captures": [],
    "new_learn_step_captures": []
  },
  "release_review": {
    "status": "approved",
    "reviewer": "claude:workshop-reshoot",
    "reviewed_at": "2026-10-08T11:52:52.355274+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."
  }
}
