You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
List of incidents + any action items that haven't been scheduled yet
Team sprint planning
For your team sprint planning copy this template into a comment below for each team.
# Team ___
**Support hero:** ___
**Off during the sprint:** ___
## Quarter goals
1. Quarter goals, status (red/yellow/green) and action points if yellow/red
## Retro
### Tasks
<!-- Grab the high and low priority items from last time and add whether that item was completed or not -->
## Plan
### High priority
-
### Low priority / side quests
-
### Are any other teams impacted by this plan? If so, tag them here
-
🟢 Enriched OpenFeature results with evaluation reasons and explicit disabled-state reporting in Node and Elixir@marandaneto
🟢 Added hexadecimal OpenFeature numeric variants in Python and Elixir, plus Elixir array payloads through get_map_value with a map default. @marandaneto
Plan
High priority
Have a productive team offsite @PostHog/team-client-libraries
✅ Deployments - testing/bug fixing around analysis templates work @Z3r0Sum
✅ Deployments - when upgrading kargo - we can insure complete compat. across the stack: platformctl, kargo-mcp, and have proper e2e testing. Upgrade Eval was enhanced as part of this as well.
🟡 Deployments - implement easy/golden path for helm charts that wrap infra we have (non-posthog app) @Z3r0Sum
🟡 post-incident work from cilium/karpenter issues @MichaelKutsch-ph - high value follow ups done. what about the others?
🟡 smokescreen-sidecar canary w/ CDP @MichaelKutsch-ph - PoC PR is up, but I get distracted with other topics all the time (ml infra, managed proxy etc)
🧬 Cell-based architecture @rorylshanks
📦 JSON datatype in the app @rorylshanks
🔐 ClickHouse is up to date and secure @tpgilmore
🚚 ClickHouse migration system @orian
🗑️ Data lifecycle management @orian
🤖 Self-driving operations @bciaraldi
Retro
Details
Backfill all data, setup ingestion on test cluster for new schema @rorylshanks 🟢
@hpouillot - poc with jev 🟢 Done issue severity inference is done on self-hosted model @hpouillot - alerting follow ups 🟡 In progress
@ablaszkiewicz - releases on interpreted languages 🟢 implemented inside wizard and deployed on our services @ablaszkiewicz - better github context 🟡 In review
🟡 September 30 query-failure incident: postmortem and follow-ups are in progress; agree any handoff before leave.
Sandy
🟢 Query-scanner improvements: #101946 merged. 🟡 API/MCP inline scanning was explicitly parked when #101889 closed; do not count it as delivered or silently restart it.
🟣 Product Analytics handover / finishing work: prompt-context execution #91787 and saved query plans #91470 remain open. Keep Pulse built on the existing prompt-subscription chain, in the product handover; this is not a new Query Performance deliverable.
George — joining the team
🟣 Onboarding into Query Performance. His addition to the weekday on-call and Support Hero rotations merged in infra #10847; the support rotation follows Vasco's.
🟡 Proposed the HogQL optimizing-compiler objective #20594, stacked onto the team's Q4 goals. This is planning work; no compiler implementation or performance result is claimed here.
Mike
🟡 US/EU query-usage customer digests are updated and running
🟡 The retention RFC is still open, need to confirm whether we are pushing through a price decrease with it
Plan
High priority
Sandy
George
Mike
Any remaining data retention follow-throughs
Some sort of monthly review for query performance metrics
Vasco
Continue with the resiliency / spikey behaviour improvements (alongside Sandy's work on adding jitter everywhere) and look into capping the amount of concurrent CH queries dynamically.
Continue with cache warming / hogql alert improvements
Get the MCP tool observability improvements over the line
Ask the PA team for a review on the context backend work for subscriptions
Support hero work
Low priority / side quests
N/A
Are any other teams impacted by this plan? If so, tag them here
🟢 Ship shared filters and per-server visibility, validated with two MCP servers in one project (#73814). Shared filters now apply across the dashboard, tool quality, reports, sessions, and activity, plus an error filter on sessions.
🟢 Add the MCP protocol/client version breakdown requested by Resend. Calls by protocol version are on the dashboard, with the legacy share called out.
⚪ Remove remaining blank or unknown data from Sessions and failure views, then validate it against real customer data. SDKs now capture model and conversation by default, and $mcp_tools_list keeps only the response envelope. Validation against customer data is still open.
Also shipped:
Removed the mcp-analytics feature flag
Tool quality: share of calls and sessions, trending tools, error rate and p95 regression flags
Model column in the tool-call feed, hideable dashboard cards
Go SDK: one-line instrumentation for go-sdk servers, model/client/conversation capture, unknown-tool and input-required events, missing capabilities
MCP analytics capability spec in sdk-specs
Docs: one installation page per language, plus Go, and the Q4 goals
Support heroes: Oliver Brown (@oliverb123) and Alex Lebedev (@sortafreel) Off during the sprint: No one
Quarter goals
Team objectives. Quarter-level status to confirm; this update covers the sprint commitments and their progress.
Retro
Compared with the September 21–October 2 plan. Based on the async planning updates, with linked PR statuses refreshed on October 5. Merged code does not by itself mean rollout or outcome validation is complete.
Tasks
✅ Flex retries and ReviewHog handover: Flex retry work and the ReviewHog handover to DevEx are complete. @skoob13@sortafreel
🔵 Interactive-task budget handoff: Deprioritized in favor of the billing work. @skoob13
🟡 Evals: Online scout trials #105078 have now merged, advancing the previous sprint's comparison tooling; rollout remains gated by the follow-up identified in the PR. Offline environments #109809 and pipeline evals #104379 remain open. @sortafreel
✅ Scout foundations: PR follow-up scouts, canonical scout deprecation, and initial scout templates progressed to completion. Autoresearch implementation is complete and moves into dogfooding; model comparisons continue. @andrewm4894
🟡 Inbox ranking: Progressed beyond the previous sprint's shadow-evaluation work. Model sorting #110083 has merged behind flags; evaluating the resulting order remains work for this sprint. @andrewm4894
🟡 Follow-up verification: Expected-impact proposals #106264 and consolidation into follow-up checks #109433 have merged. The end-to-end outcome is still in progress: report monitoring #110486 and inconclusive-check presentation #108334 remain open. @mikaylathompson@andrewm4894
🟡 Pipeline and reviewer quality: Linear fixes and CODEOWNERS reviewer work are complete per the updates; source reliability work continues. Per-source research skills were deprioritized. Jev evaluation continues, without treating evaluation progress as a completed rollout. @sortafreel@mikaylathompson
🟡 Report UX: The previous grouping work became a personal action queue across backend, web/Desktop, and MCP. The stack remains open (#108848, #109466, #108851); it is a carryover, not a shipped improvement. PR diff retention #104639 merged. @dmarticus
🟡 Research and feedback: Survey/interview work progressed, but outreach activation and the measures for successful ongoing use still need follow-through. Desktop feedback routing #104072 remains open. @dmarticus
✅ / 🟡 Mobile: The native app #102367 merged; report, read-state, media, and other usability follow-ups continue. @dmarticus
The main carryover is finishing the user workflow: surface useful work, make the next action clear, and verify the result after implementation. Evals and ranking now have more infrastructure behind them, but the personal inbox and outcome verification still need end-to-end validation. The first-run overload and personal inbox issues give that validation a concrete scope.
Unconfirmed from the previous plan: Olly's update is pending, so task-cost mapping, signal-text grouping, task-summary exposure, scheduled-task MCP work, and the question artefact work are not marked complete here. The network allowlist, anomaly-detector follow-ups, support scout, and customer Slack MCP rollout also have no explicit completion update in this round.
Plan
High priority
Offsite: Team planning and collaboration.
Cost and billing: Continue inference-cost work and scope/implement the Self-driving free tier. @skoob13
Offline evals and source reliability: Finish reusable environments for long-running agent evals; continue pipeline/source fixes. @sortafreel
Personal inbox: Dogfood and land the shared selection/order across web, Desktop, and MCP; define success measures before rollout (#110438). @dmarticus
Report volume and activation: Test dismissal, bulk cleanup, and initial defaults (#110439); run the default scout-creation experiment (#110440); continue interviews and finish outreach setup. @dmarticus
Ranking and autoresearch: Evaluate model-based inbox ordering; dogfood autoresearch and improve background/rolling scoring (#110079, #110125). @andrewm4894
Scouts: Start a limited general-scout rollout with cost and quality monitoring; continue model comparisons. @andrewm4894
Close the loop: Finish report monitoring and inconclusive outcomes, then dogfood the complete measurement → implementation → monitoring → verified-result flow. Continue Jev evaluations before deciding on rollout. @mikaylathompson@andrewm4894
Desktop/mobile: Finish the remaining feedback and usability PRs. @dmarticus
Low priority / side quests
First round of scout improvements and additional interviews, if capacity permits. @sortafreel
Explore per-scout MCP tool grants (#108530) and write about skills. @andrewm4894
Pending: Olly's and Chris's sprint updates.
Are any other teams impacted by this plan? If so, tag them here
AI Gateway: inference cost and eval dependencies.
Data Warehouse: source reliability follow-ups.
Desktop and Conversations: feedback routing and email reply readiness.
🔬 Goal 1: Refine the core of Replay Vision
🌍 Goal 2: Replay Vision everywhere, but better
🔗 Goal 3: Vastly improve the integration between Session Replay and Replay Vision
🤝 Goal 4: Stay close to our customers
❤️ Goal 5: Show Session Replay some love
Retro ✅ 🔴 🟡 🚫
✅ @ksvat Get what-to-watch feed polished + released
✅ @ksvat Scanner overview polish
✅ @ksvat Usage view polish
✅ @fasyy612 Polish search UI and improve performance
✅ @fasyy612 Iterate on observation tab in Session Replay
✅ @arnohillen Wrap up RV testing work for handover
🟡 @fivestarspicy Follow up on compression-algorithm proposal
🟡 @fivestarspicy Cost-tagging crypto shredding
🟡 @fivestarspicy Follow up w/ event team wrt customer-meeting @ small team offsite in SF
🟡 @ksvat Make decision on goal-based-flow
✅ @arnohillen Go over old open PRs
High priority
@ksvat Finalize, release and test experiment-scanners
@fasyy612 Build and test what-to-watch prototype for Session Replay @fasyy612 Kill unused Session Replay features
@fivestarspicy Follow up on compression-algorithm proposal @fivestarspicy Cost-tagging crypto shredding @fivestarspicy Follow up w/ event team wrt customer-meeting @ small team offsite in SF @fivestarspicy Set up scout to look for interesting or novel scanners
@ksvat Follow up on Jev ranking the what-to-watch tab experiment @TueHaulund Follow up on labelled-data test suite once v3 recordings are labelled @TueHaulund Update scanner creation flow and rerun experiment
build a self improving loop (v1) - scout files suggestions, suggestions on the workflow page, PostHog's own reading beside each claim, outcome per published version, per-workflow opt-in. Behind the flag, testing on team 2
experiment for growth: separate out broadcasts as its own thing, ai first & great ux - own page, start from a description with PostHog AI, view list, goal results, message categories, launch/stop tracking, docs
Also: UTM tags on email links, polling removed for waits
Finish off all started stuff before going into the next quarter: fix for faulty regexes, filters removal, moving our things to the product analytics folder (at least stuff we had before the analytics platform re-merge), Paths V2, property usage tracking @thmsobrmlr
:large_green_circle: Add quality metrics / activation back to growth reviews @mjwarren3
Low priority / side quests
Monitoring MCP tool usage and potentially more skill tweaks @GeneralistDev
(Timebox: 1 day) Improving the eval sandbox harness to make working on evals easier going forward @GeneralistDev
Work with the platform UX team to get some alignment @GeneralistDev
User research: interview a bunch more people before Q planning @sampennington
Some tweaks to alerts in Slack to make them more usable (similar to Grafana alerts) @MattPua
Figure out how to increase adoption of anomaly alerts @MattPua
Writes: Added a closed write path for config version 2 flags (#102958), then opened it to pilot projects (#105889). Disable and soft delete use a different switch than create.
Evaluation: Added an evaluator for ordered boolean rules (#102982) with a 127-case shared test corpus (harness#60). Supported v2 flags now evaluate in /flags and /decide and are cached next to v1 (#105890).
Typed values: v2 flags can return strings, numbers and objects (#107733), with a 49-case corpus (harness#69). The flag values endpoint lists the string values of a v2 flag (#109417).
/flags?v=3: The Rust service can return the typed v3 response behind FLAGS_V3_RESPONSE_ENABLED, off by default (#107732). The harness schemas accept any variant key (harness#70).
v1-only readers: These now skip or reject v2 rows: the internal flags cache (#104427), local evaluation definitions (#104948), cross-team jobs (#105871) and the model config accessors (#106609).
Validation: The Python validator now matches the Rust parser (#109427). Writes reject invalid regex (#109444). Bulk delete bumps the row version of v2 flags (#109422).
Cohort and flag references: One function reads them in Python (#109446) and one in Rust (#109440). v2 rules that target cohorts or flags will then work with version bumps, delete protection and the cache.
Refactors and fixes
Legacy experiment migration: Added a deprecation banner behind a flag (#104368), migration through the API and PostHog AI (#104391, #104743) and a "Migrate with PostHog AI" button (#107208).
Shared and inline metrics: Metric UUIDs are unique (#106672), and a shared metric with a duplicate UUID can be detached (#106852). Removed the dedupe command after the fix (#107628). Shared metrics use the same validation as inline metrics (#108951), and link overrides apply everywhere (#108232).
Metric ordering: Metrics not in the ordering array now show (#107211). Writes no longer sync the ordering (#107213).
Recalculation: One place dispatches recalculation workflows (#109294) and one check decides metric maturity (#109410). Precompute job IDs are builder inputs (#109443). Daily discovery skips metrics it cannot schedule (#109299). Query snapshot tests run without ClickHouse (#109397).
Small fixes: Notifications compute relative change per metric kind (#109284). Run telemetry counts saved metrics (#109314). Corrected the description of stopped-experiment reloads (#109321) and the query runner comments (#107210).
Cleanup: Stopped exposing superseded experiment settings (#104928) and removed their columns from the Django model (#104929). Removed the A/A test gate on the list (#105870), legacy view tests and stories (#106858) and the apply_llm_metric command (#106617). Flags crate tests read database and Redis URLs from env vars (#109415).
Juraj
Prompt management & playground
Prompt references hardened: validated before a label activates a version (#105091), rejected inside JSON payloads (#105405), resolved in labeled list fetches (#104359) and internal reads (#107590), parent listing capped (#105660)
Fetch tracking and protection: fetch events emitted on labeled (#103955) and unlabeled (#103978) batch calls; dedicated rate limit for prompt fetches (#108384)
Playground: template variables (#109146), highlighted in editors (#109889), warnings when unfilled (#109798); full playground state saved and restored with prompts (#110078); variables panel polish (#110573, #110706)
Docs: reference resolution scope (#20416), stale prompt/playground details fixed (#20694), usage tab, conversations and refetch cooldown documented (#20695)
Recalculation scheduling & timeseries
Two daily recalculation times, end to end: config field (#106467), scheduler reads the times list (#107570), second time picker (#108325), picker cleanup (#109152), legacy single-time field retired (#110127)
Daily results publish per experiment as soon as its metrics finish, instead of after the whole run (#106496)
Retention metrics now computed in the daily timeseries run (#107604); publish-outcome counter for monitoring (#108324); metric config errors no longer retried (#105662)
Results correctness & noise
Fingerprint fixes: empty breakdowns ignored (#105021), saved metrics fingerprinted with their per-experiment breakdowns (#105887)
Precomputed funnel step_0 made date-independent (#110693); exposure numbers consistent across the results page (#108323); filterTestAccounts default unified across read paths (#108461)
Scalar values accepted in in/not_in property filters (#108469)
Error tracking noise cut: metric validation errors (#108404) and self-handled concurrency 409s (#108464) no longer reported
Marcel
Recordings tab
#100657 - feat: Let show-recordings button link to recordings tab + add dropdown to button for filters
#104143 - chore: use exact page filters in creating-experiments setup call
#104684 - chore: add a coverage probe for the setup context
#104683 - fix: read the setup context the endpoint actually returns
#105283 - fix: report truncation of target surface libs
Experiment fixes
#103185 - stop MCP dropping conversion window unit and funnel order
#103201 - use the team default minimum detectable effect on create
#103736 - read significance from variant results when an experiment ends
#104818 - check target project and flag access when copying
#106946 - stop inferring bucketing from the identity mix
Other
Evals: #106954 - fix(evals): summarize an offline eval run that skips a score
Desktop: #94552 - feat(desktop): Add "copy url" to PR dropdown
Travel day / PTO
Q4 planning
Customer support
Rodrigo
Metrics recalculation
Created a recalculation from daily timeseries results (#104152).
Added missing recalculation triggers (#107119) and heal recalculation gaps on page load (#108119).
Refactored the recalculation serializer types (#108704).
Experiment information bar
Modernized the information bar (#102723) and removed the old bar code (#103247).
UX Feedback and other changes: re-applied the collapse control for long conclusion texts (#106151), truncated long feature flag keys (#106190), pinned the bar actions while the facts wrap (#106186), decoupled the exposure loading indicator from the metric group (#106130), and added space between the meta bar and the tabs (#106195).
Scheduled recalculation
Shipped the full stack: selection logic (#108099), workflow and activities (#108100), and hourly scheduling (#108101).
Tuned the skip rules: skip paused experiments in a scheduled run (#111336), and require a recent data window before skipping one (#111679).
Time Series
Remove the timeseries recalculation publish pass (#111422).
Product folder migration
Migrated the staff scene (#108567), notebook components (#109688), and activity descriptions (#110135) to the product folder.
@arthurdedeus unalive vitally @arthurdedeus backfill whatever data we still have on vitally @arthurdedeus migrate all automations from onboarding team to customer analytics @arthurdedeus rollout new account details UI
🟢 @jabahamondes merge attribution explorer precomputation PRs
🟢 @jabahamondes add revenue, acquisition and engagement metrics to the new marketing dashboard
🟡 @jabahamondes integrate retention, conversion into the new dashboard (already existing)
🟢 @jabahamondes track dashboard and Setup usage, goal changes and source connections by entry point, and update the usage dashboard
🟢 @jabahamondes unalive onboarding in the new dashboard and show useful data immediately
🟢 @jabahamondes stretch -> include new-customer conversion goals in Acquisition
⚪ @jabahamondes stretch -> show suggested sources and conversion goals in the dashboard ideally cg would be automatically created
@jabahamondes integrate the search table with posthog conversion goals @jabahamondes onboarding update -> suggest paid ads sources that are already being user in events @jabahamondes suggest better conversions goals based on events
These are the Q3 goals. Q4 goals come next sprint.
Real-time cohorts 🟡
AI Native 🟡
Dedicated Persons Store 🟡
Improved Customer Visibility 🟡
Standardize on Infrastructure 🟢
Improved Experiments 🟡
Details
⚪ = Not Started
🟡 = In Progress
🟢 = Completed
🔴 = Won't complete
🔵 = Abandoned
Retro
Gustavo finished moving flags to the golden chart. All prod-us flags traffic now runs on it, the legacy releases, node pools, and IAM accounts are gone, and the PR canary runs on the new fleet. Phil moved flag call reads to the flag_evaluations table. The usage tab, activity page, projects tab, and last_called_at can now read from it behind a setting, a Dagster job backfills it from events, and orgs in flag-evaluations-only mode no longer write flag calls to events. Matheus deployed the realtime cohort pipeline to prod-eu, enabled it for team 1, and reduced the seeder's ClickHouse load. James shipped stale flag cleanup from the flag page, the MCP tools, and the cleanup skill, and the definitions cache now rebuilds an entry it served from S3. Patricio added flags evaluation charts to the public status page.
Activity
ioannisj commentedon Sep 29, 2026
Team Client Libraries
Support hero: 1st week @marandaneto + @ioannisj, then shared?
Next sprint planning @dustinbyrne
OOO:
Quarter goals
Q4 2026 objectives
@posthog/browserv2 GA@posthog/nextv1 GAposthog-kmpv1posthog-android-surveys-composev1Retro
Details
Q3 quarter goals
High priority
@posthog/browser@dustinbyrneposthog-pythonmanual tracingLow priority / side quests
@posthog/browser-common@dustinbyrne@posthog/browser@dustinbyrnePlan
High priority
@_spiclose()flushes queued events before stopping (every other SDK already does; Android fixed in RuntimeWarning: DateTimeField Event.timestamp received a naive datetime #709)onFeatureFlagslistener (645 fix adding dashboarditem with set dates #647)compliance/posthog-ios.md@posthog/browserSDK extension changes @dustinbyrne@posthog/browserclean up, deduplication @dustinbyrneLow priority / side quests
Are any other teams impacted by this plan? If so, tag them here
🟢 =finished 🟡=in progress 🔴=won't finish ⚪=not started
langesven commentedon Sep 30, 2026
Team Cloud Platform
Quarter Goals
Retro
Details
High Prio
Low Prio
Side Quests
✅=finished 🟡=in progress 🔴=won't finish ⚪=not started
Plan
High Prio
aurora_user_management/v3work, pgbouncer hubs (compute), cross-az reduction (traffic) @langesvenLow Prio
Side Quests
MichaelKutsch-ph commentedon Sep 30, 2026
Team Cloud Foundations
Quarter Goals
Mega issue: https://github.com/PostHog/posthog-cloud-infra/issues/10708
Retro
Details
High Prio
Low Prio
side quest
✅=finished 🟡=in progress 🔴=won't finish ⚪=not started
Plan
High Prio
Low Prio
side quest
rorylshanks commentedon Sep 30, 2026
Team ClickHouse
Quarter Goals
🧬 Cell-based architecture @rorylshanks
📦 JSON datatype in the app @rorylshanks
🔐 ClickHouse is up to date and secure @tpgilmore
🚚 ClickHouse migration system @orian
🗑️ Data lifecycle management @orian
🤖 Self-driving operations @bciaraldi
Retro
Details
High priority
Low priority / side quests]
🟢 =finished 🟡=in progress 🔴=won't finish ⚪=not started
hpouillot commentedon Sep 30, 2026
Team Error Tracking
Previous sprint: #101363 (comment)
Retro 🟢 🔴 🟡 🚫
@fivestarspicy - surveys on code health
@fivestarspicy - subs analysis
@hpouillot - poc with jev 🟢 Done issue severity inference is done on self-hosted model
@hpouillot - alerting follow ups 🟡 In progress
@ablaszkiewicz - releases on interpreted languages 🟢 implemented inside wizard and deployed on our services
@ablaszkiewicz - better github context 🟡 In review
Objectives for the quarter
Onboarding
Alerting
Fingerprint
Release Management
Integration
Team PRs
@ablaszkiewicz
@cat-ph
No PRs merged in PostHog/posthog during this sprint.
@fivestarspicy
@hpouillot
High priority
@ablaszkiewicz - cymbal path resolution service
@ablaszkiewicz - error tracking kill switch
@fivestarspicy - user interviews
@fivestarspicy - pricing / subs analysis
@hpouillot - alerting follow ups
vdekrijger commentedon Oct 1, 2026
Team Query Performance
Support hero: @vdekrijger
⚪ = Not Started · 🟡 = In Progress · 🟢 = Completed · 🔴 = Won't complete · 🔵 = Abandoned · 🟣 = Ongoing
Quarter goals
The Q4 goals and George's additional compiler objective are still open. These are the current proposals;
Retro
Notes: https://posthog.slack.com/docs/TSS5W8YQZ/F0B741LSUVA
Tasks
Andy
Sandy
Vasco
George — joining the team
Mike
Plan
High priority
Sandy
George
Mike
Vasco
Low priority / side quests
Are any other teams impacted by this plan? If so, tag them here
lucasheriques commentedon Oct 5, 2026
Team MCP Analytics
Support hero - @lucasheriques
OKRs
Details
See all goals in detail here
Retro
Details
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = Abandoned 🟣 = Ongoing@lucasheriques
$mcp_tools_listkeeps only the response envelope. Validation against customer data is still open.Also shipped:
mcp-analyticsfeature flag@gesh
@lucasheriques
@gesh
@mjwarren3
skoob13 commentedon Oct 5, 2026
Team Self-driving
Support heroes: Oliver Brown (@oliverb123) and Alex Lebedev (@sortafreel)
Off during the sprint: No one
Quarter goals
Team objectives. Quarter-level status to confirm; this update covers the sprint commitments and their progress.
Retro
Compared with the September 21–October 2 plan. Based on the async planning updates, with linked PR statuses refreshed on October 5. Merged code does not by itself mean rollout or outcome validation is complete.
Tasks
The main carryover is finishing the user workflow: surface useful work, make the next action clear, and verify the result after implementation. Evals and ranking now have more infrastructure behind them, but the personal inbox and outcome verification still need end-to-end validation. The first-run overload and personal inbox issues give that validation a concrete scope.
Unconfirmed from the previous plan: Olly's update is pending, so task-cost mapping, signal-text grouping, task-summary exposure, scheduled-task MCP work, and the question artefact work are not marked complete here. The network allowlist, anomaly-detector follow-ups, support scout, and customer Slack MCP rollout also have no explicit completion update in this round.
Plan
High priority
Low priority / side quests
Pending: Olly's and Chris's sprint updates.
Are any other teams impacted by this plan? If so, tag them here
✅ = complete · 🟡 = in progress / validation remains · 🔵 = deprioritized
TueHaulund commentedon Oct 5, 2026
Team Session Replay
Support hero:
@fasyy612
OKRs
🔬 Goal 1: Refine the core of Replay Vision
🌍 Goal 2: Replay Vision everywhere, but better
🔗 Goal 3: Vastly improve the integration between Session Replay and Replay Vision
🤝 Goal 4: Stay close to our customers
❤️ Goal 5: Show Session Replay some love
Retro ✅ 🔴 🟡 🚫
✅ @ksvat Get what-to-watch feed polished + released
✅ @ksvat Scanner overview polish
✅ @ksvat Usage view polish
✅ @fasyy612 Polish search UI and improve performance
✅ @fasyy612 Iterate on observation tab in Session Replay
✅ @arnohillen Wrap up RV testing work for handover
🟡 @fivestarspicy Follow up on compression-algorithm proposal
🟡 @fivestarspicy Cost-tagging crypto shredding
🟡 @fivestarspicy Follow up w/ event team wrt customer-meeting @ small team offsite in SF
🟡 @TueHaulund Implement highlight-reel generation
🟡 @ksvat Make decision on goal-based-flow
✅ @arnohillen Go over old open PRs
High priority
@ksvat Finalize, release and test experiment-scanners
@fasyy612 Build and test what-to-watch prototype for Session Replay
@fasyy612 Kill unused Session Replay features
@fivestarspicy Follow up on compression-algorithm proposal
@fivestarspicy Cost-tagging crypto shredding
@fivestarspicy Follow up w/ event team wrt customer-meeting @ small team offsite in SF
@fivestarspicy Set up scout to look for interesting or novel scanners
@TueHaulund Implement programmatically triggered observations
Side quest
@ksvat Follow up on Jev ranking the what-to-watch tab experiment
@TueHaulund Follow up on labelled-data test suite once v3 recordings are labelled
@TueHaulund Update scanner creation flow and rerun experiment
dmarchuk commentedon Oct 5, 2026
Team Workflows
Time Off
Quarter goals - Q4 2026 objectives
Details
✅=finished, 🟡=in progress, 🔴=won't finish, ⚪=not started
Retro
Details
@dmarchuk
@mayteio
AI tasks improvements
Lower priority
@meikelmosby
DLQ for cdp & workflows
realtime supported cohorts
Entity relationship feature (workflows & cdp with action, cohorts & integrations)
managed IP pools for email tiers
growth work
@abheek9
This Sprint
@dmarchuk
Low priority:
@mayteio
@meikelmosby
thmsobrmlr commentedon Oct 6, 2026
Team Product Analytics
Support hero: @sampennington (week 1), @MattPua (week 2)
Off during the sprint:
Retro
Details
High priority
Low priority / side quests
Plan
High priority
Low priority / side quests
Are any other teams impacted by this plan? If so, tag them here
jurajmajerik commentedon Oct 7, 2026
Team Experiments 🧪
Retro
Sprint #18, from Sep 20, 2026 to Oct 4, 2026
Anders
Flags V2 (main focus)
/flagsand/decideand are cached next to v1 (#105890)./flags?v=3: The Rust service can return the typed v3 response behindFLAGS_V3_RESPONSE_ENABLED, off by default (#107732). The harness schemas accept any variant key (harness#70).Refactors and fixes
apply_llm_metriccommand (#106617). Flags crate tests read database and Redis URLs from env vars (#109415).Juraj
Prompt management & playground
Recalculation scheduling & timeseries
Results correctness & noise
step_0made date-independent (#110693); exposure numbers consistent across the results page (#108323);filterTestAccountsdefault unified across read paths (#108461)in/not_inproperty filters (#108469)Marcel
Recordings tab
Replay general improvements
Setup context: Skill, staff UI and analysis
Experiment fixes
Other
Rodrigo
Metrics recalculation
Experiment information bar
Scheduled recalculation
Time Series
Product folder migration
Fixes
Other
Sprint Goals
Sprint #19, from Oct 5, 2026 to Oct 17, 2026
Anders
Internal pilot test of flags v2
Continue the refactor side quest
Share my way of working with AI
Juraj
Start on warehouse native
Bring prompt playground to feature parity
Marcel
Rodrigo
More product folder migration. 250 pending components!
Monitor the scheduled recalculation, roll out to more orgs.
Spam control manual refresh.
Work on the MCP apps.
jabahamondes commentedon Oct 7, 2026
Team Web Analytics
Legend
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete
Support hero
@jordanm-posthog
@arthurdedeus OOO next week
Retro:
Details
High priority
@arthurdedeus unalive vitally
@arthurdedeus backfill whatever data we still have on vitally
@arthurdedeus migrate all automations from onboarding team to customer analytics
@arthurdedeus rollout new account details UI
🟢 @jabahamondes merge attribution explorer precomputation PRs
🟢 @jabahamondes add revenue, acquisition and engagement metrics to the new marketing dashboard
🟡 @jabahamondes integrate retention, conversion into the new dashboard (already existing)
🟢 @jabahamondes track dashboard and Setup usage, goal changes and source connections by entry point, and update the usage dashboard
🟢 @jabahamondes unalive onboarding in the new dashboard and show useful data immediately
🟢 @jabahamondes stretch -> include new-customer conversion goals in Acquisition
⚪ @jabahamondes stretch -> show suggested sources and conversion goals in the dashboard ideally cg would be automatically created
High priority
@jordanm-posthog historical heatmaps variants
@jordanm-posthog launch AEO (alpha tag)
@arthurdedeus person group membership
@arthurdedeus account details pages' new widgets
@arthurdedeus tackle issues from the onboarding team
@arthurdedeus vitally will be cut off next Friday
@jabahamondes integrate the search table with posthog conversion goals
@jabahamondes onboarding update -> suggest paid ads sources that are already being user in events
@jabahamondes suggest better conversions goals based on events
@mjwarren3 marketing analytics pricing RFC
haacked commentedon Oct 7, 2026
Team Feature Flags
Support hero:
Off during the sprint: @JamesPatrickGill is leaving the team after 10/09.
Quarter goals
Link to goals
These are the Q3 goals. Q4 goals come next sprint.
Details
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = AbandonedRetro
Gustavo finished moving flags to the golden chart. All prod-us flags traffic now runs on it, the legacy releases, node pools, and IAM accounts are gone, and the PR canary runs on the new fleet. Phil moved flag call reads to the
flag_evaluationstable. The usage tab, activity page, projects tab, andlast_called_atcan now read from it behind a setting, a Dagster job backfills it from events, and orgs in flag-evaluations-only mode no longer write flag calls to events. Matheus deployed the realtime cohort pipeline to prod-eu, enabled it for team 1, and reduced the seeder's ClickHouse load. James shipped stale flag cleanup from the flag page, the MCP tools, and the cleanup skill, and the definitions cache now rebuilds an entry it served from S3. Patricio added flags evaluation charts to the public status page.Details
@haacked
flag_evaluations migration:
Flags service reliability:
Approvals:
API hardening:
Other:
@gustavohstrassburger
Golden chart cutover and legacy cleanup:
PR canary on the golden chart:
Local evaluation 304 billing:
Evaluation runtime on the SDK snapshot:
Release condition estimates:
Other:
@JamesPatrickGill
Stale flag cleanup:
Rollouts:
HyperCache and definitions cache:
@matheus-vb
Realtime cohorts rollout:
Cohort seeder performance:
Backfill and pipeline correctness:
Other:
@patricio-posthog
Status page flags charts:
Conversations secret API keys:
CDP:
Plan
Project Board
High priority
@haacked
flag_evaluationsrouting$feature_flag_calledin taxonomy, autocomplete, and product surfaces$feature_flag_calledevents to theflag_evaluationstable.@gustavohstrassburger
@JamesPatrickGill (week 1: merge the open PRs)
@matheus-vb
@patricio-posthog
Side quests