Agent spend, last 30 days: $14.66
scout
Interest profile (data/agents/scout/profile.md — hand-editable)
Scout — interest profile
Last updated: 2026-06-13 by hand (added cartographer-directory monitoring)
The scout reads this before every run and updates it from your feed feedback. You can edit it by hand at any time; keep it under ~150 lines.
Interests
- Live music, jazz, and small-venue concerts (Camden Opera House, etc.)
- Art gallery openings and First Friday Art Walk events (Rockland, Camden)
- Library and community center events
- Trail, park, and waterfront recreation news
- New restaurant/shop/inn openings and closings in the mid-coast
- Local government decisions affecting housing, parks, and infrastructure
- Grants and civic investments in Knox and Lincoln County communities
- Student and school-connected community events
Anti-interests
- MLM or "business opportunity" events
- Big-box chain promotions and national retail news
- National news with only a token local angle
- Tourism-only listicles with no specific upcoming event
Learned preferences
(The scout appends dated bullets here, each citing the feedback that drove it.)
Standing instructions
- Prefer primary sources (venue, organizer, government pages) over aggregators.
- Save items with honest dates — never invent URLs or dates.
- Diversify across topics between runs; check notes/ for recent coverage.
- Cover the full region: Rockland, Camden, Rockport, Thomaston, Warren, Cushing, Friendship, Waldoboro, and nearby islands.
- The cartographer's business directory (list_businesses) is a monitoring list: prioritize Tier 1-2 categories, skip national/regional chains (brand tag), and prefer businesses with a website. Check whether they have current news, events, sales, or an opening/closing worth a find.
| started | status | time | turns | added/upd | cost |
|---|---|---|---|---|---|
| 6/15/2026, 8:35:04 PM | success | 406s | 37 | +12 / ~0 | $0.900 |
| 6/15/2026, 6:44:47 PM | success⚠ 1 | 304s | 34 | +8 / ~0 | $0.828 |
| 6/14/2026, 3:23:31 PM | success | 271s | 37 | +7 / ~0 | $0.814 |
| 6/13/2026, 9:39:21 AM | success | 306s | 39 | +6 / ~0 | $0.804 |
| 6/13/2026, 12:23:39 AM | success | 256s | 36 | +6 / ~0 | $0.720 |
source-keeper
Interest profile (data/agents/source-keeper/profile.md — hand-editable)
Source-keeper — source quality profile
Last updated: 2026-06-15 (run 4) by agent — re-verified 5 stalest sources (PenBay Pilot/Camden Opera House/Strand Theatre/CMCA all confirmed active, Farnsworth still 403/paused); Strand Theatre July–Sep lineup fully documented; CMCA Art Party July 8 no longer listed; Camden Opera House Summer Sounds confirmed at Camden Snow Bowl (outdoor); registered 2 new: Merryspring Nature Center (active 0.80), Rockland Public Library Programs (active 0.80)
The source-keeper reads this before every run and updates it from feedback. You can edit it by hand at any time; keep it under ~150 lines.
Coverage area
Rockland, Maine and nearby Mid-Coast Knox and Lincoln County towns and islands: Camden, Rockport, Thomaston, Warren, Cushing, Friendship, Waldoboro. Portland and Bangor news only when it directly affects coastal communities.
What makes a good source here
- Posts actual dates, times, and locations — not just social-media teasers
- Updates at least weekly (or event calendar is maintained year-round)
- Covers this specific region, not the whole state of Maine
- Includes community events, local business news, arts/culture, municipal news
- Accessible without a login wall (or has a public-facing calendar/news section)
- Clearly dated content so we can tell what's new
Sources to avoid
- Content-farm "things to do in Maine" aggregators that recycle old listings
- Statewide press that only mentions Mid-Coast incidentally
- Social media pages without a stable public URL structure
- Sites with heavy paywalls that block event/news content
Learned preferences
(Dated bullets appended by the agent, citing which sources produced loved/hated finds.)
Source registry summary (2026-06-15)
| Source | Status | Score | Notes |
|---|---|---|---|
| Midcoast Villager | active | 0.95 | Primary — daily Knox County news + calendar |
| PenBay Pilot | active | 0.95 | Primary — daily Knox/Waldo County news + calendar |
| Camden Opera House | active | 0.90 | Live events; calendar runs 3+ months forward |
| Strand Theatre Rockland | active | 0.90 | Films, concerts, MET Opera, comedy |
| The Waldo Theatre (Waldoboro) | active | 0.85 | NEW 2026-06-15 — Waldoboro venue; touring artists + film + theatre |
| CMCA (Center for Maine Contemporary Art) | active | 0.80 | Exhibitions + events, Rockland |
| Maine Public Community Calendar | active | 0.75 | Supplementary — statewide, filter to Knox County |
| City of Rockland — Official Calendar | active | 0.70 | Civic/library/rec programs; not a daily news source |
| Rockport Public Library | active | 0.75 | NEW run 3 — weekly+ programs, art exhibitions, nature events; /calendar/ |
| Triangle Gallery Rockland | active | 0.65 | NEW run 3 — First Friday ArtWalk openings, monthly exhibition rotations |
| Owls Head Transportation Museum | paused | 0.40 | NEW run 3 — HTTP 403 entire domain; air shows/fly-ins valuable when accessible |
| Farnsworth Art Museum | paused | 0.30 | Blocks automated fetches (HTTP 403); use secondary sources |
| Merryspring Nature Center | active | 0.80 | NEW run 4 — Camden; 35+ events/month, Tuesday Talks, ecology walks, workshops |
| Rockland Public Library | active | 0.80 | NEW run 4 — Thursday night series (concerts/authors/films), 7 monthly recurring programs |
Standing instructions
- Keep one note per site in notes/sites/<host>.md: where the events/news pages live, fetch quirks, and an honest quality judgment.
- Mark sources dead rather than deleting them; note why.
- The cartographer's business directory (list_businesses) is a candidate-source pool: businesses with a website that post events — venues, theaters, breweries, galleries — are worth evaluating and registering as sources.
| started | status | time | turns | added/upd | cost |
|---|---|---|---|---|---|
| 6/15/2026, 8:12:00 PM | success⚠ 1 | 385s | 40 | +2 / ~5 | $0.765 |
| 6/15/2026, 7:50:29 PM | success | 238s | 42 | +0 / ~8 | $0.553 |
| 6/15/2026, 7:31:48 PM | success | 219s | 36 | +0 / ~4 | $0.522 |
| 6/15/2026, 6:55:33 PM | success⚠ 1 | 272s | 46 | +0 / ~5 | $0.617 |
| 6/14/2026, 3:28:01 PM | success | 269s | 53 | +0 / ~7 | $0.661 |
| 6/13/2026, 9:44:27 AM | success | 154s | 34 | +0 / ~6 | $0.393 |
| 6/13/2026, 12:27:55 AM | success | 146s | 23 | +0 / ~4 | $0.320 |
cartographer
Interest profile (data/agents/cartographer/profile.md — hand-editable)
Cartographer — business directory profile
Last updated: 2026-06-13 by hand (aligned with categories.json tier ranking)
The cartographer reads this before every run. Keep under ~150 lines.
What counts as a business here
- A business is anything OSM tags as amenity / shop / tourism / office / craft / leisure that has a name — but WHAT to scan and in WHICH ORDER is governed by the tier ranking in data/config/categories.json (hand-editable, read each run).
- Tiers: 1 = scan first (civic / culture / parks), 2 = next, 3 = next (eats, lodging, services). Tier 4 is NOT businesses (parking, benches, pitches, toilets…) — NEVER scan it; it only wastes budget.
- Chains (OSM brand tag) are still captured, but forced to lowest priority and hidden in the directory — don't go out of your way to scan them.
- Skip unnamed elements (no name tag = skip upsert).
Towns and tiers to prioritize
Coverage region: ALL of Knox County, Maine (county seat Rockland) plus nearby Lincoln County towns. Communities in priority order (densest / most businesses first; islands last):
- Rockland — county seat, most dense; primary target
- Camden — tourist hub, many shops/restaurants
- Thomaston — Rt 1 village
- Rockport — between Rockland and Camden
- Waldoboro — Rt 1 corridor, Lincoln County (nearby, in scope)
- Warren — inland Knox, Rt 1/Rt 90
- Union — inland, village center + Common
- St. George — peninsula (Tenants Harbor, Port Clyde)
- Owls Head — small coastal town south of Rockland
- South Thomaston — Rt 73 / Spruce Head
- Friendship — small coastal village
- Cushing — small coastal town
- Hope — small inland town
- Appleton — small inland town
- Washington — small inland town (Knox County, not Washington County)
- Vinalhaven — island town (ferry from Rockland)
- North Haven — island town (ferry from Rockland)
- Isle au Haut — remote island town (mostly seasonal)
- Matinicus Isle — remote island plantation (tiny year-round community)
Skip the unorganized Criehaven and Muscle Ridge townships — no businesses there.
Scan order within a town: Tier 1 categories first, then Tier 2, then Tier 3 — never Tier 4. Target a specific tier-1/2 category directly (e.g. nwr"tourism"="museum";) or scan a whole key (amenity / shop / tourism / office / craft / leisure) and keep only the tiers you want. Query ONE business key per overpass_query call.
Admin-area notes:
- "Rockland" admin_level=8 works in Overpass (verified 2026-06-13)
- Names like "Washington" / "Union" collide with other places — always pin to Maine, and prefer the bbox form when an admin query is ambiguous.
- Per-community bounding boxes (south,west,north,east) for bbox queries live in data/config/towns.json — read it instead of guessing coordinates.
- Smaller/island towns may need the bbox form; see notes/towns/<town>.md if created.
Coverage (standing instructions)
- notes/coverage.md is the cursor: one line per (town × category) cell with the date scanned and the count. Each run, pick never-scanned or stalest cells, in tier-priority order (Tier 1 before Tier 2 before Tier 3).
- If truncated:true, narrow with smaller bbox or more specific tag, re-query.
- A missing business ≠ closed. Only mark closed/unknown in a fully-scanned cell.
| started | status | time | turns | added/upd | cost |
|---|---|---|---|---|---|
| 6/15/2026, 1:41:53 PM | success⚠ 1 | 755s | 39 | +107 / ~12 | $0.749 |
| 6/15/2026, 1:23:55 PM | success⚠ 1 | 733s | 41 | +93 / ~0 | $0.760 |
| 6/15/2026, 1:14:56 PM | success⚠ 1 | 448s | 35 | +89 / ~3 | $0.660 |
| 6/15/2026, 12:52:28 AM | success⚠ 1 | 385s | 17 | +157 / ~4 | $0.696 |
| 6/15/2026, 12:34:09 AM | success⚠ 1 | 281s | 16 | +96 / ~0 | $0.540 |
| 6/14/2026, 10:53:13 PM | error (error_max_budget_usd)⚠ 2 | 507s | 35 | +27 / ~1 | $1.032 |
| 6/14/2026, 3:32:30 PM | error (error_max_budget_usd) | 443s | 56 | +44 / ~4 | $1.187 |
| 6/13/2026, 5:13:18 PM | success | 256s | 54 | +40 / ~0 | $0.457 |
| 6/13/2026, 11:25:55 AM | success | 113s | 12 | +3 / ~0 | $0.222 |
curator
Interest profile (data/agents/curator/profile.md — hand-editable)
Curator — taste profile
Last updated: 2026-06-12 by curator (first real curation run)
What belongs in the feed
- Upcoming events in the region within the next 30 days (music, arts, festivals, community gatherings).
- Openings and closings of local independent businesses (restaurants, inns, shops, galleries).
- Civic and municipal news with direct local impact (votes, grants, zoning, infrastructure).
- Parks, trails, waterfront, and outdoor/recreation news.
- Cultural institutions: Farnsworth, Camden Opera House, local galleries, libraries.
- Community organisations and school events serving Knox and Lincoln County.
What gets hidden
- Exact or near-duplicates (same event, different URL — explain in notes/).
- Events whose start date has already passed and the item is framed as a one-time event (opening night, single-day festival, etc.). Exhibition runs are kept until their end date.
- Items outside the coverage area (Portland/Bangor news unless it directly affects Mid-Coast communities).
- Seed/smoke-test placeholders once real finds are present.
Expiry rules (backfill)
- One-time events: expires_at = day after event_start.
- Multi-day events/festivals: expires_at = day after event_end.
- Ongoing exhibitions with a known end: expires_at = day after exhibition end.
- Business openings / civic announcements / grants: expires_at = ~30 days after published_at or discovered_at (whichever is available).
Learned taste notes
(No user feedback received yet as of 2026-06-12. Notes will be added here as feedback arrives, each bullet citing the feedback item IDs.)
Standing instructions
- Every hide gets a one-line rationale in notes/decisions/<date>.md.
- Backfill expires_at from event dates so stale items age out of the feed.
- Keep all profiles honest: if feedback contradicts an old note, revise it — don't average it away.
- Be conservative: when unsure whether the user would want an item, leave it visible — feedback will teach you.
| started | status | time | turns | added/upd | cost |
|---|---|---|---|---|---|
| 6/14/2026, 3:39:53 PM | success | 111s | 7 | +0 / ~1 | $0.167 |
| 6/13/2026, 9:47:01 AM | success | 64s | 8 | +0 / ~1 | $0.133 |
| 6/13/2026, 12:30:22 AM | success | 131s | 18 | +0 / ~8 | $0.162 |