Files
veripath/docs/agents/leonard-gbp-execution-card.md
T

104 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Leonard Execution Card — GBP Snapshot Ingest v1.1
**Goal:** Map a filled GBP Snapshot Intake into client docs with minimal reasoning.
**Governing docs:**
- `docs/agents/agent-charter-v1.md`
- `docs/agents/audit-playbook-v1.md`
- `docs/templates/gbp-snapshot-intake.md`
---
## Input required
A completed `gbp-snapshot-intake.md` (or generated form output) for the client.
If any required metadata is missing (client name, snapshot date, source), stop and report `BLOCKED: incomplete intake`.
---
## Step 1 — Update Data Inventory GBP row only
Open:
`docs/clients/<client>/data-inventory-v1.md`
Update **only** the Google Business Profile (GBP) section using these mappings:
| Intake field | Inventory field |
|--------------|-----------------|
| Source | Access Status / Notes |
| Snapshot date | Snapshot Date |
| Business name shown | Notes |
| Address shown | Notes |
| Phone shown | Notes |
| Website shown | Notes |
| Primary category + Additional categories | Notes |
| Star rating | Notes |
| Review count | Notes |
| Review responses observed + detail | Notes |
| “Own this business?” prompt visible | Notes |
| Claimed status | Notes |
| Verified badge | Notes |
| Hours listed + hours text | Notes |
| Open now observed | Notes |
| Booking button present on the GBP | Notes |
| Booking button label | Notes |
| Messaging button present | Notes |
| Other action buttons | Notes |
| Photos present + approx count | Notes |
| Services listed | Notes |
| Updates / Posts status + most recent post date | Notes |
| Q&A status | Notes |
| Attributes / highlights | Notes |
| Second related listing + names + notes | Notes / Gaps |
| Raw notes | Notes / Gaps |
Rules:
- Write factual values only
- Blank intake field → `Not observed`
- Verification Tier:
- Owner dashboard / owner-confirmed → Tier 1
- Human Maps eye or Places API → Tier 2
- Do not rewrite other sources unless the intake explicitly names them
---
## Step 2 — Threat Trigger Rules (boolean only)
Apply **only** these rules. No new creative threats.
| Rule ID | Condition | Action |
|---------|-----------|--------|
| R1 | Booking button present on the GBP = No | Ensure a threat exists for missing public booking on GBP surfaces. If missing, add a Tier 2 Major threat with evidence from intake. If exists, update Data Recency + Evidence Snippet only. |
| R2 | Claimed status = No or Unknown AND (rating/reviews thin or Not observed) | Ensure a threat exists for weak/unclear GBP completeness. Update evidence/recency only if exists. |
| R3 | Second related listing nearby = Yes | Ensure a Minor Tier 2 threat exists for related/duplicate listing risk. Update evidence only. |
| R4 | Star rating and review count both observed | Do **not** create a new threat from rating alone. Only update inventory. |
| R5 | Any field Not observed | Do not invent a threat from absence of observation alone unless R1R3 fire. |
If no rule fires, leave Threat Register unchanged except optional recency note on existing GBP-related threats.
---
## Step 3 — Output format
Return:
1. Updated GBP inventory section (or full inventory if required by tooling)
2. Threat Register changes only if a rule fired
3. `Changes Made` list (bullet facts only)
4. `Rules Fired:` list (R1/R2/R3/none)
Forbidden:
- Severity upgrades beyond template defaults without human request
- Solution language
- Competitor claims
- New threats outside R1R3
---
## Pass criteria
- Every written value traces to the intake
- No extra narrative analysis
- Tier labels correct
- Only trigger rules created/updated threats
**If uncertain:** leave field as `Not observed` and do not fire a rule.