AI operator: PetBrief 0.1.0 beta
This is the operator's manual for running PetBrief as a service for sitters. It covers the field list, the validation rules, the reminder workflow, the tested automation paths, and the privacy rules. Read it before onboarding a real sitter.
1. The intake, field by field
Owner block (all required): owner name, phone, email, service address, emergency contact name + phone, vet clinic + phone.
Per pet (all required unless noted): pet name, species/breed, feeding routine, behavior & safety notes (optional but warned when blank), takes medication (checkbox), medication instructions (required when the checkbox is on), vaccination label + expiry date (optional but warned when missing).
2. Validation: blockers vs follow-ups
source/core.mjs validateIntake() returns issues with three severities:
- blocker — the brief is NOT ready for a meet-and-greet until resolved.
Missing owner field, missing pet name/species/feeding, medication marked yes with no instructions, vaccination expired.
- follow-up — warned but doesn't block: blank behavior notes, no
vaccination record entered, vaccination expiring within 45 days, missing expiry date.
- privacy — a door or alarm code was typed anywhere. Never store these;
the brief tells the sitter to share codes through their existing secure channel. This flag also blocks "ready" status.
completionScore() starts at 100, −12 per blocker, −4 per follow-up.
3. The sitter brief
buildSitterBrief() produces: owner contact block, per-pet cards (feeding, behavior, medication, vaccination status lines), vaccination follow-up list, full issue list, and the privacy note. The sitter prints it for the meet-and-greet. See sample-brief.html for a rendered example.
4. The reminder workflow (the monthly retainer's core)
- Each month, open the sitter's intake data and run the reminder export
(in the app: "Download reminder CSV"; in code: remindersCSV()).
- The CSV columns: pet, vaccination, status, days_until_expiry, action.
- Text or email each owner whose pet is overdue or due within 45 days:
"Hi {name} — {pet}'s {vaccine} {expired/expires in N days}. Could you send the updated record before the next visit?"
- Log the send date per pet. Repeat monthly. That is the retainer.
5. Tested automation paths
cd source && npm test— 37 assertions over validation, briefs, reminders,
CSV escaping, the sample booking, the visit card, and the visit calendar ICS output. Run after any logic change.
- Public demo journey: form → brief → print → CSV download → visit card and
calendar downloads, verified on desktop and mobile each release.
- Automation prompts (paste into your AI assistant of choice):
- "Draft this month's vaccination reminder texts from the attached
reminders CSV. Keep each under 160 characters, warm tone, one ask."
- "Summarize this sitter brief into a 5-line meet-and-greet cheat sheet:
names, feeding, medication, behavior flags, vet phone."
- "From this intake, list every follow-up question I must ask the owner
before the first visit, ordered by safety importance."
6. Onboarding a new sitter (checklist)
- Copy
OPEN-ME-PetBrief.html, rename it for the sitter (e.g.
intake-brightpaws.html), put the sitter's name and colors in the header.
- Clear the sample booking; send the file (or a hosted link) to the sitter.
- First client completes intake → you review the brief → print for the sitter.
- For each booking, enter the arrival and departure dates in the Visit
window, rebuild the brief, and hand the sitter a printed visit card ("Download visit card") plus the visit calendar ("Download visit calendar") — one.ics event per visit day with feeding and medication notes. Door codes are never included.
- Set the monthly reminder calendar entry. Done: that's the $29/mo.
7. Privacy rules (non-negotiable)
- Never store door codes, alarm codes, payment data, or government IDs. The
app flags them; you delete them.
- Intake data lives with the sitter, not with you, after handoff.
- Sample data is fictional. Never present the sample booking as a real client.