{"generatedAt":"2026-05-09T07:26:00.308Z","windowDays":90,"totalRevsAllTime":181,"totalRevsInWindow":181,"activeDaysInWindow":11,"avgRevsPerActiveDay":16.45,"peakDay":{"date":"2026-05-02","count":27},"peakWeek":{"weekStart":"2026-04-27","weekEnd":"2026-05-03","count":104},"peakWeekRevs":[{"rev":"rev 115","date":"2026-05-03","title":"Markdown toolbar across every typed-input composer + word-count/reading-time chip + auto-save drafts on the artifact body editor"},{"rev":"rev 114","date":"2026-05-03","title":"Live markdown preview on signal detail + artifact body editor + memory teach-the-desk + memory edit — closes the rev-113 typed-input rendering quintet"},{"rev":"rev 113","date":"2026-05-03","title":"Live markdown preview across task creation form + operator notes + renew notes + comment composer + unified .ld-md-live-preview surface"},{"rev":"rev 112","date":"2026-05-03","title":"Optional renew note feeds AI as direction + persistent template markdown preview + workspace-shared template usage counts + cumulative renew-button polish"},{"rev":"rev 111","date":"2026-05-02","title":"Markdown rendering on operator notes + task comments + regenerate notes feed AI as direction + dashboard accessibility polish"},{"rev":"rev 110","date":"2026-05-02","title":"One-tap task duplicate + memory entries render as markdown + outputs panel keyword search + dashboard panel polish"},{"rev":"rev 109","date":"2026-05-02","title":"Per-tag RSS feed + '/' keyboard shortcut on /changelog + sitemap RSS entries + archive surface a11y polish"},{"rev":"rev 108","date":"2026-05-02","title":"Per-tag HTML archive page + 'More in this category' callout on post detail + archive summary stats + v1 tag endpoints"},{"rev":"rev 107","date":"2026-05-02","title":"Markdown-driven author profile overrides + chronological prev/next nav + per-category HTML archive page + v1 neighbours endpoint"},{"rev":"rev 106","date":"2026-05-02","title":"Per-author profiles (bio + avatar) + table of contents on long posts + sitemap author/category pages + v1 related-posts endpoint"},{"rev":"rev 105","date":"2026-05-02","title":"Per-author drill-down + per-category RSS feeds + v1 byline endpoints"},{"rev":"rev 104","date":"2026-05-02","title":"Reading progress bar + scroll-to-top FAB + print-friendly /blog + GET /api/v1/blog/categories"},{"rev":"rev 103","date":"2026-05-02","title":"Blog tag filter chips + JSON-LD Article markup + GET /api/v1/blog/{slug} + '/' keyboard shortcut"},{"rev":"rev 102","date":"2026-05-02","title":"Per-blog-post share affordance + per-heading anchor permalinks + blog index keyword search + GET /api/v1/blog"},{"rev":"rev 101","date":"2026-05-02","title":"Roadmap 'Copy link' chip + /changelog per-rev permalinks + /changelog keyword search + /api/v1/changelog sinceRev"},{"rev":"rev 100","date":"2026-05-02","title":"Roadmap URL-shareable filter + Recently shipped + v1 changelog endpoint + milestone polish"},{"rev":"rev 99","date":"2026-05-02","title":"Roadmap hot-strip sparkline + Trending now (7d momentum) section + status filter chips + v1 mostTrending"},{"rev":"rev 98","date":"2026-05-02","title":"Public roadmap on the v1 surface — votes + items + 14-day trend + OpenAPI typed schema"},{"rev":"rev 97","date":"2026-05-02","title":"Public roadmap upvoting + /blog/rss.xml feed + dashboard source health + latest-release pill"},{"rev":"rev 96","date":"2026-05-02","title":"Bulk source rename + sources CSV export + workspace search reaches sources + dashboard polish"},{"rev":"rev 95","date":"2026-05-02","title":"Per-task share-page input transparency + email-share wrapper + source rename + v1 + OpenAPI"},{"rev":"rev 94","date":"2026-05-02","title":"Per-task work-log share daily-views sparkline + per-task timeline share permalink + v1 + OpenAPI parity"},{"rev":"rev 93","date":"2026-05-02","title":"Per-task work log shareable permalink + workspace-shared saved searches + outbound subscription bulk actions"},{"rev":"rev 92","date":"2026-05-02","title":"Digest configuration audit endpoint + 'n' keyboard shortcut + print-friendly /share/[token] + integrations panel polish"},{"rev":"rev 91","date":"2026-05-02","title":"digest.gating_changed multi-channel push (Slack + email) + members-panel gating pill + visual polish"},{"rev":"rev 90","date":"2026-05-02","title":"digest.gating_changed closure receipt + v1 digest-config aggregate + activity-log glyph + state-pulse polish"},{"rev":"rev 89","date":"2026-05-02","title":"Inline gating banner + multi-recipient gating endpoint + dashboard simulated-date input"},{"rev":"rev 88","date":"2026-05-02","title":"Simulated-date digest preview + dashboard render-only button + OpenAPI gating block"},{"rev":"rev 87","date":"2026-05-01","title":"Bulk chronic-ack endpoints + v1 digest-preview dry-run"},{"rev":"rev 86","date":"2026-05-01","title":"OpenAPI bulk-action coverage, v1 digest preview, activity log glyph expansion"},{"rev":"rev 85","date":"2026-05-01","title":"Dashboard reset chip, per-recipient Slack quiet hours, OpenAPI v1 surface expansion"},{"rev":"rev 84","date":"2026-05-01","title":"Per-row cost-panel column visibility, dashboard-prefs reset, OpenAPI integration observability"},{"rev":"rev 83","date":"2026-05-01","title":"Panel order UI affordance, default Active Work sort, per-subscription outbound test, outbound Zod fix"},{"rev":"rev 82","date":"2026-05-02","title":"v1 desk-state control (loop + pause-until), workspace-config OpenAPI coverage, panel order forward-compat"},{"rev":"rev 81","date":"2026-05-02","title":"v1 members + invites + outbound subscriptions, per-recipient digest quiet-hours, OpenAPI invites/members coverage"},{"rev":"rev 80","date":"2026-05-02","title":"Per-recipient weekend mute, workspace reactions summary, OpenAPI discussion + reactions + focus surface coverage"},{"rev":"rev 79","date":"2026-05-01","title":"v1 dashboard-prefs mirror + per-recipient digest opt-out + activity-log bucket collapse + OpenAPI cost-axis coverage"},{"rev":"rev 78","date":"2026-05-01","title":"Personal inbox in daily digest, multi-device sync for panel collapse, OpenAPI 3.1 spec, and time-bucketed activity log"},{"rev":"rev 77","date":"2026-05-01","title":"Personal action inbox status-bar pill, per-panel collapse persistence, and v1 mirrors for whats-new + personal-inbox"},{"rev":"rev 76","date":"2026-05-01","title":"Personal chronic warnings in digest, v1 operator-notes mirror, and 'what's new since you were last here' badge"},{"rev":"rev 75","date":"2026-05-01","title":"Chronic-warning digest sections close the email parity gap + at-a-glance chronic summary on TodayPanel"},{"rev":"rev 74","date":"2026-05-01","title":"Per-source chronic warning + chronic-resumed closure receipt complete the per-source chronic loop"},{"rev":"rev 73","date":"2026-05-01","title":"Closure-receipt outbound events + chronic-ack listing endpoint close the chronic-ack loop"},{"rev":"rev 72","date":"2026-05-01","title":"Per-source + per-assignee chronic-warning ack closes the chronic-ack symmetry on every cost axis"},{"rev":"rev 71","date":"2026-05-01","title":"Per-tag chronic-warning ack + per-source/per-assignee chronic v1 mirrors close the chronic axis on every cost dimension"},{"rev":"rev 70","date":"2026-05-01","title":"Per-tag chronic-spike counter + warning closes the chronic axis on the per-tag cost story"},{"rev":"rev 69","date":"2026-05-01","title":"Per-tag cost-spike auto-pause closes the descriptive→defensive loop on the per-tag cost story"},{"rev":"rev 68","date":"2026-05-01","title":"Per-tag cost-spike acknowledgment + bulk-ack + digest section + closure receipt"},{"rev":"rev 67","date":"2026-05-01","title":"Per-tag cost trajectory + spike alarm, fifth alarm-cluster axis closes, v1 parity"},{"rev":"rev 66","date":"2026-05-01","title":"Persistent task templates, per-tag cost attribution, save-detected-pattern, v1 parity"},{"rev":"rev 65","date":"2026-05-01","title":"Recent template tracking, AI-suggested template from history, scoped activity CSV, source-coverage health line"},{"rev":"rev 64","date":"2026-05-01","title":"Task quick-start templates, per-assignee chronic warning, activity heatmap, cumulative UI polish"},{"rev":"rev 63","date":"2026-04-30","title":"Per-assignee cost-spike ack + bulk-ack + digest section + closure receipt"},{"rev":"rev 62","date":"2026-04-30","title":"Per-source chronic-spike auto-pause, per-assignee cost-spike alarm, cost CSV v1"},{"rev":"rev 61","date":"2026-04-30","title":"Per-assignee cost trajectory, persistent-spike recommendation, cost-spike-acked closure receipts"},{"rev":"rev 60","date":"2026-04-30","title":"Per-source cost spike digest section, bulk ack, trajectory sparkline, cost CSV export"},{"rev":"rev 59","date":"2026-04-30","title":"Per-source cost-spike auto-pause + ack: RSS poller filter, inline ack button, config UI, v1 endpoints"},{"rev":"rev 58","date":"2026-04-30","title":"Per-source cost spike: detector, daily Slack push, /api/v1/sources/cost-spikes, inline ⚡ pill"},{"rev":"rev 57","date":"2026-04-30","title":"Per-source cost attribution, end-of-day spend forecast, bulk cost-spike ack, cost panel polish"},{"rev":"rev 56","date":"2026-04-30","title":"Per-task cost spike auto-pause + acknowledgment, v1 cost-spike-config + ack endpoints, inline ack button, integrations panel section"},{"rev":"rev 55","date":"2026-04-30","title":"Per-task cost spike: detector, daily Slack push, /api/v1/tasks/cost-spikes, inline pill, digest section"},{"rev":"rev 54","date":"2026-04-30","title":"Per-task cost trajectory: pulse plumbing, dashboard sparkline, v1 endpoint, top-cost panel mini-chart"},{"rev":"rev 53","date":"2026-04-30","title":"Per-recipient cost in digest, /api/v1/cost/today, dashboard self-cost highlight, 7-day cost sparkline"},{"rev":"rev 52","date":"2026-04-30","title":"Per-assignee cost breakdown: dashboard panel, cost-spike scoping, v1 endpoint, MCP-cost story closes"},{"rev":"rev 51","date":"2026-04-30","title":"Per-task cost attribution: cumulative tokens on every task, dashboard pill, top-cost panel, v1 endpoints"},{"rev":"rev 50","date":"2026-04-30","title":"Pre-archive warning to assignee, stale-tasks CSV, /api/v1/tasks/auto-archived audit, one-tap renew"},{"rev":"rev 49","date":"2026-04-30","title":"Stale-task auto-archive lifecycle close, per-recipient digest scoping, v1 + dashboard config, countdown pill"},{"rev":"rev 48","date":"2026-04-30","title":"Stale-task push across digest + Slack + outbound, v1 mirror, in-line staleness pill"},{"rev":"rev 47","date":"2026-04-30","title":"Share-page status filter, decisions CSV export, stale-task detector, dashboard hover polish"},{"rev":"rev 46","date":"2026-04-30","title":"Share-page kind filter, /api/v1/decisions, outbound deliveries + retry on v1, activity keyword search on v1"},{"rev":"rev 45","date":"2026-04-30","title":"Share-page tag drill-down, v1 workspace export + today snapshot, source health on v1"},{"rev":"rev 44","date":"2026-04-30","title":"Per-task memory transparency, full share-page revision lineage, v1 artifact versions, task source-evidence in JSON export"},{"rev":"rev 43","date":"2026-04-30","title":"Per-task input transparency, memory copy, JSON-export source evidence, v1 workspace summary"},{"rev":"rev 42","date":"2026-04-30","title":"Share-page input transparency, markdown copy on artifacts, search entity scoping, workspace at-a-glance"},{"rev":"rev 41","date":"2026-04-30","title":"AI cycle input transparency, v1 timeline + import + sources mirrors, per-source sparkline"},{"rev":"rev 40","date":"2026-04-30","title":"v1 tag drill-down + rename mirror, per-task timeline, workspace JSON import, source preview v1"},{"rev":"rev 39","date":"2026-04-29","title":"Per-output revision diff, cross-entity tag drill-down, tag rename/merge, dashboard density toggle"},{"rev":"rev 38","date":"2026-04-29","title":"Dependency graph view, public roadmap page, source URL preview, activity search"},{"rev":"rev 37","date":"2026-04-29","title":"Task unblocked push, v1 blockers endpoint, public RSS, 'now ready' task cue"},{"rev":"rev 36","date":"2026-04-29","title":"Task dependencies, source bulk ops, digest preview, v1 task badges, task-card colour accents"},{"rev":"rev 35","date":"2026-04-29","title":"v1 bulk endpoints, mention-ack push, comment count badges, 7-day baseline, activity glyphs"},{"rev":"rev 34","date":"2026-04-29","title":"Memory bulk ops, signal reactions, mention read-receipts, today/yesterday delta"},{"rev":"rev 33","date":"2026-04-29","title":"Reactions on outputs + memory, Today snapshot, signal bulk ops, panel polish"},{"rev":"rev 32","date":"2026-04-29","title":"Memory promotion → Slack, pinned outputs, cost spike alert, inline mention reply"},{"rev":"rev 31","date":"2026-04-29","title":"Mentions in digest, focus drift timeline, comment permalinks, ad-hoc Slack push"},{"rev":"rev 30","date":"2026-04-29","title":"Focus-aware memory retrieval, mentions inbox, focus history diff, v1 reaction + focus endpoints"},{"rev":"rev 29","date":"2026-04-29","title":"Comment reactions, team focus goals, activity in search, focus-aware AI"},{"rev":"rev 28","date":"2026-04-29","title":"Threaded discussion + comment edit, search reaches comments, tag insights"},{"rev":"rev 27","date":"2026-04-29","title":"Comment @-mentions, @desk → AI bridge, ⌘K command palette, richer empty states"},{"rev":"rev 26","date":"2026-04-29","title":"Task comments, output → memory promotion, source keyword filter, bulk task actions"},{"rev":"rev 25","date":"2026-04-29","title":"Task filters + saved views, tag autocomplete, MCP-foundation completeness, personalised digest"},{"rev":"rev 24","date":"2026-04-29","title":"Manual task creation, task tags, due-task email reminders, focus polish"},{"rev":"rev 23","date":"2026-04-29","title":"Task due reminders, inline artifact edit, pinned tasks, keyboard shortcuts"},{"rev":"rev 22","date":"2026-04-29","title":"Task due dates, pinned signals, memory bulk import, outputs CSV export, lint fix"},{"rev":"rev 21","date":"2026-04-29","title":"Manual task priority, scheduled pause, activity log filter, cost cap warnings, memory tags"},{"rev":"rev 20","date":"2026-04-29","title":"Daily cost cap, workspace timezone, version history, /api/v1/activity, search keyboard nav"},{"rev":"rev 19","date":"2026-04-29","title":"Per-event outbound subscriptions, delivery log, onboarding templates, public health badge"},{"rev":"rev 18","date":"2026-04-29","title":"Outbound event expansion, share feedback, /api/v1/stats, saved searches"},{"rev":"rev 17","date":"2026-04-29","title":"Outbound webhooks, workspace search, stuck-loop detection, assignee pings"},{"rev":"rev 14","date":"2026-04-28","title":"Operator steering, cycle latency, and a public changelog"},{"rev":"rev 13","date":"2026-04-28","title":"Governance hardening + a single trust number"},{"rev":"rev 12","date":"2026-04-28","title":"Programmatic API, output filter, heartbeat, work log"},{"rev":"rev 11","date":"2026-04-28","title":"Stakeholder share links + approval-loop closure"},{"rev":"rev 10","date":"2026-04-28","title":"Governance-first positioning + markdown outputs"}],"topWeeks":[{"weekStart":"2026-04-27","weekEnd":"2026-05-03","revCount":104}],"cadence":[{"date":"2026-02-09","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-10","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-11","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-12","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-13","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-14","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-15","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-16","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-17","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-18","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-19","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-20","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-21","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-22","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-23","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-24","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-25","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-26","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-27","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-02-28","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-01","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-02","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-03","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-04","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-05","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-06","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-07","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-08","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-09","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-10","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-11","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-12","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-13","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-14","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-15","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-16","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-17","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-18","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-19","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-20","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-21","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-22","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-23","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-24","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-25","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-26","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-27","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-28","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-29","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-30","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-03-31","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-01","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-02","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-03","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-04","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-05","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-06","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-07","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-08","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-09","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-10","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-11","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-12","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-13","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-14","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-15","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-16","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-17","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-18","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-19","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-20","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-21","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-22","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-23","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-24","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-25","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-26","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-27","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-04-28","revCount":5,"sampleRevs":[{"rev":"rev 14","title":"Operator steering, cycle latency, and a public changelog"},{"rev":"rev 13","title":"Governance hardening + a single trust number"},{"rev":"rev 12","title":"Programmatic API, output filter, heartbeat, work log"},{"rev":"rev 11","title":"Stakeholder share links + approval-loop closure"},{"rev":"rev 10","title":"Governance-first positioning + markdown outputs"}],"historicalTrajectory":{"label":"Accelerating","latest":5,"prior":0,"delta":5,"hasActivity":true}},{"date":"2026-04-29","revCount":23,"sampleRevs":[{"rev":"rev 39","title":"Per-output revision diff, cross-entity tag drill-down, tag rename/merge, dashboard density toggle"},{"rev":"rev 38","title":"Dependency graph view, public roadmap page, source URL preview, activity search"},{"rev":"rev 37","title":"Task unblocked push, v1 blockers endpoint, public RSS, 'now ready' task cue"},{"rev":"rev 36","title":"Task dependencies, source bulk ops, digest preview, v1 task badges, task-card colour accents"},{"rev":"rev 35","title":"v1 bulk endpoints, mention-ack push, comment count badges, 7-day baseline, activity glyphs"}],"historicalTrajectory":{"label":"Accelerating","latest":28,"prior":0,"delta":28,"hasActivity":true}},{"date":"2026-04-30","revCount":24,"sampleRevs":[{"rev":"rev 63","title":"Per-assignee cost-spike ack + bulk-ack + digest section + closure receipt"},{"rev":"rev 62","title":"Per-source chronic-spike auto-pause, per-assignee cost-spike alarm, cost CSV v1"},{"rev":"rev 61","title":"Per-assignee cost trajectory, persistent-spike recommendation, cost-spike-acked closure receipts"},{"rev":"rev 60","title":"Per-source cost spike digest section, bulk ack, trajectory sparkline, cost CSV export"},{"rev":"rev 59","title":"Per-source cost-spike auto-pause + ack: RSS poller filter, inline ack button, config UI, v1 endpoints"}],"historicalTrajectory":{"label":"Accelerating","latest":52,"prior":0,"delta":52,"hasActivity":true}},{"date":"2026-05-01","revCount":21,"sampleRevs":[{"rev":"rev 87","title":"Bulk chronic-ack endpoints + v1 digest-preview dry-run"},{"rev":"rev 86","title":"OpenAPI bulk-action coverage, v1 digest preview, activity log glyph expansion"},{"rev":"rev 85","title":"Dashboard reset chip, per-recipient Slack quiet hours, OpenAPI v1 surface expansion"},{"rev":"rev 84","title":"Per-row cost-panel column visibility, dashboard-prefs reset, OpenAPI integration observability"},{"rev":"rev 83","title":"Panel order UI affordance, default Active Work sort, per-subscription outbound test, outbound Zod fix"}],"historicalTrajectory":{"label":"Accelerating","latest":73,"prior":0,"delta":73,"hasActivity":true}},{"date":"2026-05-02","revCount":27,"sampleRevs":[{"rev":"rev 111","title":"Markdown rendering on operator notes + task comments + regenerate notes feed AI as direction + dashboard accessibility polish"},{"rev":"rev 110","title":"One-tap task duplicate + memory entries render as markdown + outputs panel keyword search + dashboard panel polish"},{"rev":"rev 109","title":"Per-tag RSS feed + '/' keyboard shortcut on /changelog + sitemap RSS entries + archive surface a11y polish"},{"rev":"rev 108","title":"Per-tag HTML archive page + 'More in this category' callout on post detail + archive summary stats + v1 tag endpoints"},{"rev":"rev 107","title":"Markdown-driven author profile overrides + chronological prev/next nav + per-category HTML archive page + v1 neighbours endpoint"}],"historicalTrajectory":{"label":"Accelerating","latest":100,"prior":0,"delta":100,"hasActivity":true}},{"date":"2026-05-03","revCount":4,"sampleRevs":[{"rev":"rev 115","title":"Markdown toolbar across every typed-input composer + word-count/reading-time chip + auto-save drafts on the artifact body editor"},{"rev":"rev 114","title":"Live markdown preview on signal detail + artifact body editor + memory teach-the-desk + memory edit — closes the rev-113 typed-input rendering quintet"},{"rev":"rev 113","title":"Live markdown preview across task creation form + operator notes + renew notes + comment composer + unified .ld-md-live-preview surface"},{"rev":"rev 112","title":"Optional renew note feeds AI as direction + persistent template markdown preview + workspace-shared template usage counts + cumulative renew-button polish"}],"historicalTrajectory":{"label":"Accelerating","latest":104,"prior":0,"delta":104,"hasActivity":true}},{"date":"2026-05-04","revCount":0,"sampleRevs":[],"historicalTrajectory":null},{"date":"2026-05-05","revCount":6,"sampleRevs":[{"rev":"rev 121","title":"JSON variant on every procurement-evidence v1 export endpoint (activity / outputs / decisions / stale-tasks / sources / cost) + one-tap 'Caught up' affordanc…"},{"rev":"rev 120","title":"Procurement-evidence CSV v1 mirrors (activity / outputs / decisions / stale-tasks) + activity log expand-all/collapse-all + per-bucket 'N new since visit' pill"},{"rev":"rev 119","title":"Cmd/Ctrl+Enter submits any composer + ⌘B/⌘I/⌘⇧K markdown shortcuts + Esc-to-cancel symmetry across all nine typed-input surfaces"},{"rev":"rev 118","title":"Auto-save drafts on memory bulk import + markdown toolbar + row-by-row staged preview + 'N staged' chip on closed trigger"},{"rev":"rev 117","title":"Auto-save drafts on signal-add + memory teach + task creation + visible 'Draft saved' chip across all eight composers"}],"historicalTrajectory":{"label":"Accelerating","latest":105,"prior":5,"delta":100,"hasActivity":true}},{"date":"2026-05-06","revCount":25,"sampleRevs":[{"rev":"rev 146","title":"Per-source quietness daily-digest section + bulk-ack endpoint closes the named rev-145 next-sprint candidate at the email channel + the bulk-action axis (bui…"},{"rev":"rev 145","title":"Per-source quietness alarm cluster closes the named rev-144 next-sprint candidate (acknowledgeSourceQuietness helper + POST /api/sources/{id}/quietness-ack +…"},{"rev":"rev 144","title":"Per-source quietness/staleness surface closes the named rev-143 next-sprint candidate (computeSourceQuietness + getSourceQuietnessOverview helpers + dashboar…"},{"rev":"rev 143","title":"Bulk per-source poll-cadence override closes the named rev-142 next-sprint candidate at the cadence axis (POST /api/sources/bulk-cadence + v1 mirror in locks…"},{"rev":"rev 142","title":"Per-source next-poll visibility closes the named rev-141 next-sprint candidate at the protocol surface (GET /api/v1/sources/cadence-overview + dashboard inli…"}],"historicalTrajectory":{"label":"Accelerating","latest":107,"prior":28,"delta":79,"hasActivity":true}},{"date":"2026-05-07","revCount":23,"sampleRevs":[{"rev":"rev 169","title":"Two more industry onboarding templates (Accounting / compliance + Fitness / wellness studios) + per-template detail pages at /templates/[key] with their own …"},{"rev":"rev 168","title":"Two more industry onboarding templates (Property management + Nonprofit / membership) + per-author OG images on /blog/author/[slug] + per-post OG images on /…"},{"rev":"rev 167","title":"Three more industry onboarding templates (Field services + Restaurant/hospitality + Education) + dynamic per-page OG images via next/og — closes the named re…"},{"rev":"rev 166","title":"Two more industry onboarding templates (Real estate + Legal) + public /templates marketing page + clickable activation checklist step rows + rich social-shar…"},{"rev":"rev 165","title":"Strategic diversification — Healthcare/Wellness onboarding template + public /integrations marketing page + activation checklist v2 (6 steps with refreshed c…"}],"historicalTrajectory":{"label":"Accelerating","latest":106,"prior":52,"delta":54,"hasActivity":true}},{"date":"2026-05-08","revCount":19,"sampleRevs":[{"rev":"rev 188","title":"Deliberate diversification away from the 12-rev cadence/changelog cluster (rev 178-187 each shipped a cadence-axis primitive) onto the operator-stickiness te…"},{"rev":"rev 187","title":"Closes the named rev-186 next-sprint candidate (per-week trend mini-sparkline beside the rev-186 peak-week stat card on /changelog/cadence) so a procurement …"},{"rev":"rev 186","title":"Closes the named rev-185 next-sprint candidate (per-rev-shipping-week stat card on the rev-179 /changelog/cadence stats grid) at three coordinated surfaces (…"},{"rev":"rev 185","title":"Closes the named rev-184 next-sprint candidate (per-rev historical trajectory chip on the rev-178 /changelog/cadence stats rollup) at three coordinated surfa…"},{"rev":"rev 184","title":"Closes the named rev-183 next-sprint candidate (trajectory verb on the rev-180 ShippingCadencePill tooltip) at the load-bearing in-app axis — the rev-181 4-w…"}],"historicalTrajectory":{"label":"Accelerating","latest":104,"prior":73,"delta":31,"hasActivity":true}},{"date":"2026-05-09","revCount":4,"sampleRevs":[{"rev":"rev 192","title":"Closes the named rev-191 next-sprint candidate (per-category OG cards on the new /templates/by-category/{category} pages) at the social-share polish axis + o…"},{"rev":"rev 191","title":"Closes the missing human-readable axis on the rev-190 v1 templates by-category endpoint by shipping per-category HTML archive pages at /templates/by-category…"},{"rev":"rev 190","title":"Groups the rev-189 fifty-three named verticals into ten industry categories (retail/professional services/healthcare/trades/hospitality/creative/property/fin…"},{"rev":"rev 189","title":"Closes the entire rev-188 named radar (independent gym / martial-arts studios + small independent bookstores + named independent dance studios + named auto-r…"}],"historicalTrajectory":{"label":"Cooling","latest":81,"prior":100,"delta":-19,"hasActivity":true}}],"weeklyCadence":[{"weekStart":"2026-02-09","weekEnd":"2026-02-15","revCount":0},{"weekStart":"2026-02-16","weekEnd":"2026-02-22","revCount":0},{"weekStart":"2026-02-23","weekEnd":"2026-03-01","revCount":0},{"weekStart":"2026-03-02","weekEnd":"2026-03-08","revCount":0},{"weekStart":"2026-03-09","weekEnd":"2026-03-15","revCount":0},{"weekStart":"2026-03-16","weekEnd":"2026-03-22","revCount":0},{"weekStart":"2026-03-23","weekEnd":"2026-03-29","revCount":0},{"weekStart":"2026-03-30","weekEnd":"2026-04-05","revCount":0},{"weekStart":"2026-04-06","weekEnd":"2026-04-12","revCount":0},{"weekStart":"2026-04-13","weekEnd":"2026-04-19","revCount":0},{"weekStart":"2026-04-20","weekEnd":"2026-04-26","revCount":0},{"weekStart":"2026-04-27","weekEnd":"2026-05-03","revCount":104}]}