**Monitor the inbound lead paths, not just the pages.** `site-check.js` proves 13 pages return 200 and that Cal.com/Formspree/Base44 are *reachable*, but nothing verifies a lead actually arrives: the site publishes `info@` and `support@tech-d-enterprises.com` while both mailboxes live on the **singular** domain behind Cloudflare Email Routing, and no check sends a probe through that route or through the Formspree form. Benefit: today a silent routing failure would delete every inbound web lead and the dashboard would stay green — this is the largest unmonitored single point of failure on the web side. (Takes the slot of the Google-review responder proposal, **parked** 2026-08-04 — not retired, and the reason has been corrected: I first wrote that the GBP appeal "was denied", which came from the content agent's phrasing "*looks* unavailable". I then searched all three mailboxes over 14 days and found **no decision email at all**, so the appeal's status is genuinely unknown and only Steve can settle it. Parked because it is blocked either way; if the profile turns out to be live, it comes straight back.)
Add `reply` + `ring` columns to contacted-log.csv and score sourcing channels by reply rate instead of rubric points. Benefit: the prospect agent is at 94% on its own rubric and has zero outcome data — it is currently optimizing against its own judgment, not against what earns replies. *(Still the right idea and now sharper: 25 sends, 0 replies.)*
Invoice-chaser agent wired to the paypal-invoicer app — needs a design chat with Steve first. Benefit: unpaid invoices never slip.
1. §1 still describes the old hardcoded 5–6 page list; `site-check.js` now
2. §3 still describes a two-outcome deploy audit. There are three —
3. §5 says "if Gmail is available, draft the alert." The Gmail tool is
4. The JD does not mention the peer-liveness duty (no deploy entry *and* no
1. ~~**Add a YouTube option** to the question.~~ **DONE 2026-08-03** — Steve
2. ~~**Name one owner** for a shared attribution ledger.~~ **DONE 2026-08-03**
Recent manager changes
2026-08-05 — **RESOLVED (was NEEDS STEVE item 1 today): request R2 is DONE and live.** The online-booking objection is answered on `/faq/` as item 3 of 25, in both the visible list and the FAQPage schema (deployment `397d16df`). Routed to Steve at midday as positioning copy; he approved the wording and shipped it the same evening. **The answer was transcribed from Steve's own published note** "Half this job is telling people they don't need me", not drafted fresh — line-by-line provenance in `content-queue\DRAFT-faq-booking-objection.md`. No claim, price or statistic introduced; no business named. This closes the objection that disqualified 6 of 16 researched prospects on 8/4. **Note on cadence: today ran THREE deploys against a one-per-run cap, all three overridden by Steve knowingly and in live chat.** Logged in each `DEPLOYS.md` entry rather than passed over — the cap still governs unattended runs and no agent may grant itself the exception. Site-health has three entries to audit tonight.
2026-08-05 — **RESOLVED (was NEEDS STEVE item 2 above): `/ai-ad-maker/` is now committed.** Two commits on `master` in `techd-website`: `c318ddf` (the page, 6 ad-sample assets, nav/footer links across all 15 pages, and its registration in `build-content.js` HAND_PAGES/nav/footer plus `build-deploy.js` PAGE_DIRS) and `b4edab1` (the `/about/` Person schema, kept separate as an unrelated change that shared a file). Tree clean; `/about/` schema in HEAD verified byte-identical to production. **Two things for Steve, neither urgent.** (a) **Two agents committed to this repo concurrently.** My staged index was committed at 07:35 under someone else's message and identity, and the reflog shows my second commit reset away and then restored while I verified. End state is correct, but the repo has no locking, and for a few minutes it was missing markup production was serving — caught only because the file had been backed up first. Worth settling before more agents get commit rights. (b) **A committed but undeployed content change is now sitting in the repo:** `c318ddf` swept in a regenerated `notes\index.html` with today's note "Half this job is telling people they don't need me" (2026-08-05), which is not live. The next agent to deploy anything will publish it as a side effect. Fine if intended; flagged because it is invisible otherwise.
2026-08-05 — **NEEDS STEVE (minor, but it should not sit): `/ai-ad-maker/` is live, unrecorded and uncommitted.** The AdForge page shipped at ~23:11 on 2026-08-04 and is working correctly — sound title, description, canonical, OG tags, one h1, linked from every page. But there is **no `DEPLOYS.md` entry and no log entry from any agent**, and the whole change set (the new page, `assets\ad-samples\`, and edits to all 15 pages) is still uncommitted in the `techd-website` git repo. Two consequences: site-health has no Verify line to audit it against, and a stray `git checkout` would delete it. Recommend a commit. **Not a complaint about shipping it — the page is good.** Related and already fixed by the SEO agent today: it reached the sitemap via a hand-edit to `sitemap.xml` and reached `/notes/` via a hand-edit to the *generated* `notes\index.html`, both of which the HARD LIMITS warn are silently reverted on the next generate. Since the deploy protocol requires running `build-content.js` before every deploy, the next deploy would have de-indexed the page; the first regenerate of today's run demonstrably did exactly that before the generator was corrected. Deployment `80cce385` closed it. The generalisable rule, worth applying to any future page: **a page is not shipped until the generator can rebuild it from scratch.**
2026-08-05 — **NEEDS STEVE (from the SEO agent's Wednesday run): the booking objection has no answer on the site.** Request R2 was filed by the content agent this morning and is ROUTED-TO-STEVE in `seo\REQUESTS.md`. I verified the evidence rather than accepting it, and it holds: on 2026-08-04 the prospect agent researched 16 businesses and dropped 6 of them as **already automated** — Body Wellness (Meevo), Bethany Air (HousecallPro), Ealley Law (Setmore), Charlie Rae Skincare (WellnessLiving), The Hair Studio (SalonRunner), Chesapeake Paddle Sports — each killed by a named booking platform, and the 8/3 run found 3 of 4 home-services prospects the same way. **This is the single objection that disqualifies roughly a third of every outbound run, and tech-d-enterprises.com answers it nowhere.** The ask is ~60 words from Steve for a new `/faq/` entry: *"I already have online booking — do I still need this?"* It is routed rather than drafted because the answer is positioning — it has to say what TechD does that booking software does not — and positioning is Steve's alone by standing rule. Once he writes it the SEO agent ships it and updates the FAQPage schema to match, inside its normal caps and gates. Worth noting the leverage: the same sentence answers a live sales objection AND fills a content gap, and it is cheap.
rebuild: node build-dashboard.js · task the team: directives.md · retrain an agent: edit its brain .md