product-wiki growth (2026-07-26): recurrence question answered; superseded repo references corrected - #745
Conversation
…erences Weekly product-wiki growth pass (dispatch #739), web mode. Domain — worked the recurring/series open question and split it in two: - The sink was never the constraint: Google Calendar's render?action=TEMPLATE URL (what this extension emits) takes an optional `recur` parameter carrying an RFC-5545 rule verbatim (recur=RRULE:FREQ=DAILY). - The source side speaks a different vocabulary: schema.org models repeats as eventSchedule -> Schedule, minimum repeatFrequency as an ISO-8601 *duration* (P1W), plus byDay/scheduleTimezone/exceptDate. So a real Schedule->RRULE translation is where the cost sits, not the URL. Narrowed that open question to a pure product-behaviour choice and surfaced a new one (do target sites emit eventSchedule at all). Stale-citation spot-check (the Context's flagged product-wiki move): four wiki references pointed at dev/procedures/technicalGotchas.md, which no longer exists — its content was folded into the gcec pack's RULES.md "Codebase gotchas" section. Corrected in Domain/Market/Users with a note of why (never a silent deletion), along with derive-timezone.js's real path (extension/event-extractors/helpers/). The fifth reference lives in product-wiki/product-requirements/README.md, which this worker must not write — flagged in the PR body for a human instead. Market: cross-linked the JSON-LD-prevalence open question to the answer Domain already recorded on 2026-07-17, leaving only the per-target-host split open. Competitors: the install/review-count open question was attempted and blocked (Chrome Web Store and chrome-stats.com both 403 the growth worker's fetcher); recorded the negative result so the next pass tries a different route rather than re-burning budget. No competitor-landscape claims changed. Every new claim is cited in its page's ## Sources; one dated ## Growth log entry per touched page. World sweep: 0 blocking, 11 advisory (all pre-existing). Refs #692 Refs #739 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vj8NauGmfzq2cnzK2o5Gfq
…citation fixes Second half of the 2026-07-26 wiki-growth pass (dispatch #739), continuing on the branch the first half had pushed without opening a PR. Competitors — closed the one open question still answerable after the Chrome Web Store 403 wall: "does the Safari picture differ?" It does not, and leans further from structured extraction. Smart Calendars AI (the one event-capture extension spanning Chrome and Safari) describes itself as text and image recognition, never schema.org; Calendly's Safari extension is scheduling-only; the App Store's event tools (EventShot, Screenshots to Calendar) are screenshot-to-event apps, not extensions; and Apple's own date-to-Calendar path is Data Detectors, documented for Mac document apps rather than Safari page markup. So the per-site structured-extraction niche is open on Safari too. Surfaced a follow-up on the screenshot/OCR input axis as a positioning question, and recorded the 403 evidence caveat rather than overstating it. Verified the first half's own replacement citations and corrected two that pointed at the wrong place — a re-derivation this pass could do cheaply because the Context asked for a staleness spot-check: - The JSON-LD-over-DOM stance lives in the gcec pack RULES.md *architecture rules of the road*, not *Codebase gotchas* (only "supported host is not an event" is in Codebase gotchas). Fixed in Domain and Market. - The ctz unanimity rule is not in RULES.md at all — its home is the contract header of extension/event-extractors/helpers/derive-timezone.js. Fixed in Domain and Users, quoting the contract's actual terms (two independent hints must agree; a trailing Z is not a hint) so the claim is checkable. Market: qualified "machine-readable markup is increasingly common", true page-wide but overstated for event pages — cited the ~41%/~26%/<1M-domains figures here rather than leaving them only in Domain. Users: reading the ctz contract yielded a user-side implication — refusing to guess makes a *missing* timezone the expected complaint shape, not a wrong one — added as an open question for real feedback. Note for a human: product-wiki/product-requirements/README.md carries the same dead dev/procedures/technicalGotchas.md citation, and this worker must not write that folder — filed as a repo issue instead. Every new claim is cited in its page's ## Sources; one dated ## Growth log entry per touched page. World sweep: 0 blocking, 11 advisory (all pre-existing). Refs #692 Refs #739 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-07-26 — second half of the same pass added as A continuation of the same dispatch (#739) picked the branch up, extended it rather than opening a second PR, and did two things: 1. Answered the one open question still reachable behind the 403 wall — Competitors' "do Safari-native tools differ?" They do not, and they lean further from structured extraction. Three layers, none a per-site markup reader:
So the per-site structured-extraction niche is open on Safari too. Surfaced a follow-up on the screenshot/OCR input axis as a positioning question (the two approaches fail on opposite inputs), and recorded the evidence caveat honestly: the same 403 wall blocked direct fetches of these listings, so this rests on search-result summaries, noted in the page rather than glossed. 2. Verified this PR's own replacement citations, and corrected two. The first commit repointed the dead
Also: qualified Market's "machine-readable markup is increasingly common" — true page-wide, overstated for event pages — and cited the ~41% JSON-LD / ~26% Microdata /
The Generated by Claude Code |
|
2026-07-26 — Note from a second, concurrent executor of the same dispatch (#739), stopping rather than stacking. Why this comment existsTwo executor sessions ran dispatch #739 in the same window. My preflight search for an open Per the task's preflight rule ("do not stack a second round of unreviewed research on it"), I discarded my own edits unpushed and opened no PR. Nothing to reconcile. Flagging the race itself since a duplicate concurrent dispatch is worth a human's attention independent of this PR's content. Independent corroboration (converged on the same finding)Working from the same Context hint, I independently reproduced this PR's central staleness finding before discovering it existed. Confirms, not just agrees:
One verified correction worth folding in before mergeThe
Suggested fix: swap Codebase gotchas → Extractor pipeline in Domain and Market; in Users, cite the source file for the unanimity rule and drop the RULES.md section claim (or point at the locale read and name it as such). For the record, my own unpushed draft had made the mirror-image mistake (attributing the same stance to Architecture rules of the road); pinning the section boundaries is what caught both. On the Competitors 403Independently reproduced: No labels touched on #739; tracker #692 deliberately left alone (this window's Generated by Claude Code |
…estion The per-site structured-extraction lane was occupied once and vacated. The Google-encouraged "Google Calendar" Chrome extension detected hCalendar and derivative microformats on the page and one-click-added the event; it is archived and no longer installable, shut down over maintenance load at 5MM+ users rather than lack of demand. The generic "Microformats" extension (hCalendar to iCalendar) is likewise delisted. Today, JSON-LD awareness is commoditised but disjoint from calendars: JSON-LD Schema Extractor (Chrome+Firefox), LD+JSON Extractor, JSON-LD Checker and SEO Schema Visualizer are all SEO/dev inspection tools, none of which creates an event. So the answer is sharper than "none found" — nobody has wired the commodity parsing side to the calendar side. Retires the standing open question, opens two sharper ones (why the incumbent vacated, and whether a JSON-LD-era platform re-entry is a risk). Domain gains the same fact as tooling corroboration for its no-dedicated-microformats-reader conclusion. Same HTTP 403 caveat on store listings as this branch's earlier passes; the two GitHub sources were read end to end. Refs #692
|
2026-07-26 — a third growth pass has been added to this branch (commit What the third pass addsIt answers the long-standing Competitors open question — "is there a competitor doing per-site structured extraction (JSON-LD/microdata aware)?" — which previous passes could only record as "still none found". The lane was occupied once, at microformat scale, and then vacated. The "Google Calendar" Chrome extension — a hackathon project "encouraged by the Chrome and Calendar teams at Google", since open-sourced and archived — detected events on the page you were reading via the Structured-data awareness and calendar creation are disjoint categories today. JSON-LD-aware extensions are easy to find and effectively commoditised — JSON-LD Schema Extractor (Chrome and Firefox), LD+JSON Extractor, JSON-LD Checker, SEO Schema Visualizer — but every one is an SEO/developer inspection tool: extract, pretty-print, validate, or graph a page's structured data. None turns an
Open questions this raises (both recorded in the page)
Sourcing and caveatchimbori/google-calendar-crx (archived; shutdown notice, the "encouraged by" line, the 5MM+ figure) and thanhpd/google-calendar-crx (documents the hCalendar/hResume detection) were read end to end. The JSON-LD-extension claims rest on search-surfaced store-listing descriptions — the same HTTP 403 wall this PR already documents for
Generated by Claude Code |
Weekly product-wiki growth pass, dispatched by #739. Web mode (WebSearch/WebFetch available).
Human review gate — this task's outcome ceiling is
open-pr; the worker must never merge its own PR. Web-researched claims entering a committed knowledge base need a human eyeball, so please sanity-check the citations below.Questions researched
1. Domain — "Recurring/series pages: what's the right product behaviour?" (the run's main finding)
The question turned out to be two questions, and separating them changes where the cost sits:
render?action=TEMPLATElink — the exact URL this extension emits — takes an optionalrecurparameter whose value is an RFC-5545 recurrence rule verbatim:required: no,format: text (RFC-5545 specs),example: recur=RRULE:FREQ=DAILY. Fuller rules work in practice (recur=RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=2MO;UNTIL=20250609T000000Z). So "hand the user a repeating event" is already expressible in what we emit — nothing about the render URL forces the current one-instance behaviour.RRULEstring. A repeating event carrieseventSchedule→ aSchedule, whose minimum isrepeatFrequencyas an ISO-8601 duration (P1W,P1M,P1D— notFREQ=WEEKLY), alongsidebyDay/byMonth/byMonthDay(byDayas an array ofhttps://schema.org/Monday-style URLs),scheduleTimezone(IANA),startDate/endDate,startTime/endTime, andexceptDate. Emittingrecur=from page markup therefore needs a genuine translation step (P1W+byDay→FREQ=WEEKLY;BYDAY=…,exceptDate→EXDATE), not a pass-through.Net: the recurrence open question is narrowed to a pure product-behaviour choice plus a bounded mapping cost, and a new open question is surfaced — do this extension's target sites emit
eventScheduleat all? (the mapping is only worth paying for if the source signal exists; the fallback-coverage corpus can answer it).2. Competitors — "Pull actual review/install counts" — attempted and blocked, not answered. Both
chromewebstore.google.comlisting pages and the third-partychrome-stats.commirror return HTTP 403 to this worker's fetcher; web search surfaces star ratings but not install counts. Recorded as a negative result in the open question so the next pass tries a different route instead of re-burning budget on the same two hosts. No competitor-landscape claims were changed or invented.Staleness spot-check (the dispatch Context's flagged product-wiki move)
The Context flagged that the product-wiki tree moved in the window. The move itself (commit d0ea13b,
dev/routines/auto-fallback-coverage/→.claudinite/local/packs/gcec/tasks/fallback-extractor-improvements/) had already been swept correctly in Market and Users — those references verify clean.But the spot-check turned up a different, genuinely dead reference: four wiki citations point at
dev/procedures/technicalGotchas.md, which no longer exists. Per.claudinite/local/packs/gcec/README.md, the pack "replaced the always-@-importeddev/procedures/{workflow,github,testing,technicalGotchas}.mddocs" — the gotchas content now lives in the gcec pack'sRULES.md, section Codebase gotchas (the JSON-LD-over-DOM stance, the "supported host is necessary but not sufficient" rule, andderive-timezone.js's locale/unanimity read are all there). Corrected in Domain, Market, and Users with a note of why (never a silent deletion). Also correctedderive-timezone.js's path to its real location,extension/event-extractors/helpers/derive-timezone.js.What changed where
product-wiki/Domain/README.mdtechnicalGotchas.md→ gcecRULES.mdwith a superseded note;derive-timezone.jspath corrected; recurrence open question narrowed + one new open question added; 7 sources addedproduct-wiki/Market/README.mdtechnicalGotchas.mdreference corrected with a superseded note; JSON-LD-prevalence open question cross-linked to the answer Domain recorded 2026-07-17, leaving only the per-target-host split openproduct-wiki/Users/README.mdtechnicalGotchas.md+derive-timezone.jsreferences corrected with a superseded note. No new user-side research — the personas here still await real feedback signalproduct-wiki/Competitors/README.mdOne dated
## Growth logentry per touched page. No new wiki folders.product-wiki/product-requirements/andproduct-wiki/sample-data/untouched; nothing outsideproduct-wiki/**touched.Citations added (all in
Domain/README.md's## Sources)recur,ctz,dates) — add-event-to-calendar-docs — the verbatimrecurspecRRULE)&recur=RRULE:example — independent corroboration ofrecurin a real linkScheduletype examples — schemaorg/schemaorg Discussion #2948 — theP1W+byDay+exceptDateJSON-LD examplesSourcing note for the reviewer:
schema.org/*and the TeamDynamix KB were reachable via web search but returned 403 to direct fetch from this environment, so their content was read from search results rather than fetched pages; therecurspec and the RFC-5545 link were read directly from the raw add-event-to-calendar-docs source. Worth a spot-check if any single claim matters.Open questions left for the next run
Event-JSON-LD-vs-fallback split (needs the fallback-coverage corpus); the narrowed recurrence product-behaviour choice; new: do target sites emiteventSchedule/Scheduleat all?; the.ics-download-link-only question.ics-download-vs-render-URL friction tradeoff; the per-target-host JSON-LD splitVerification
node .claudinite/shared/engine/checks/check_the_world.mjs→ 0 blocking, 11 advisory (all pre-existing:file-placementon requirement cases,gha/scheduled-failure-escalationon the vendored scheduler).Refs #692
Refs #739
🤖 Generated with Claude Code
https://claude.ai/code/session_01Vj8NauGmfzq2cnzK2o5Gfq
Generated by Claude Code