Add Leonard GBP execution card — form-fill only, minimal reasoning
This commit is contained in:
@@ -0,0 +1,90 @@
|
|||||||
|
# Leonard Execution Card — GBP Snapshot Ingest
|
||||||
|
|
||||||
|
**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` 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 GMB row only
|
||||||
|
|
||||||
|
Open:
|
||||||
|
`docs/clients/<client>/data-inventory-v1.md`
|
||||||
|
|
||||||
|
Update **only** the Google Business Profile 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 |
|
||||||
|
| Star rating | Notes |
|
||||||
|
| Review count | Notes |
|
||||||
|
| Claimed / Own this business | Notes |
|
||||||
|
| Hours listed + hours text | Notes |
|
||||||
|
| Booking button present | Notes |
|
||||||
|
| Photos / posts / Q&A | Notes |
|
||||||
|
| Second related listing | 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 = No | Ensure a threat exists for missing public booking on GMB/website surfaces. If missing, add a Tier 2 Major threat with evidence from intake. If exists, update Data Recency + Evidence Snippet only. |
|
||||||
|
| R2 | Claimed / Own this business = No or Unknown AND rating/reviews thin or Not observed | Ensure a threat exists for weak/unclear GMB 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 R1–R3 fire. |
|
||||||
|
|
||||||
|
If no rule fires, leave Threat Register unchanged except optional recency note on existing GMB-related threats.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 3 — Output format
|
||||||
|
|
||||||
|
Return:
|
||||||
|
1. Updated GMB 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 R1–R3
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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.
|
||||||
Reference in New Issue
Block a user