Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
75b1a49
fix(cdp): check the template of an unsaved function on test runs
dmarchuk Oct 21, 2026
ab2f699
fix(cdp): cap the response body a function fetch reads
dmarchuk Oct 22, 2026
75baea0
fix(logs): filter renamed custom column cells on the attribute they read
christiaan-ph Oct 22, 2026
fb0ad97
feat(aeo): run the full prompt set daily with parallel checks
lricoy Oct 22, 2026
73d1c80
chore(aeo): drop a comment that restates its setting
lricoy Oct 22, 2026
08320fe
refactor(aeo): pull the per-prompt write out of the run loop
lricoy Oct 22, 2026
7990c72
refactor(aeo): move the per-prompt check to module level
lricoy Oct 22, 2026
d6432e6
feat(aeo): add a prompts tab to content autopilot
lricoy Oct 23, 2026
24b7939
chore(visual): update storybook baselines
posthog[bot] Oct 23, 2026
afcf2cf
feat(aeo): toggle prompts and expose them to MCP
lricoy Oct 23, 2026
59a79ec
feat(aeo): add a prompt detail view
lricoy Oct 23, 2026
d490027
feat(aeo): version prompt edits and archive prompts
lricoy Oct 23, 2026
10234a4
refactor(aeo): return a dataclass from the per-prompt check
lricoy Oct 23, 2026
249cc9a
chore: update OpenAPI generated types
tests-posthog[bot] Oct 23, 2026
da10eab
chore: update OpenAPI generated types
tests-posthog[bot] Oct 23, 2026
f56caf3
chore: update OpenAPI generated types
tests-posthog[bot] Oct 23, 2026
fdd8f25
feat(workflows): audit email sending tier changes in the activity log
luke-belton Sep 15, 2026
ac2a7de
feat(workflows): name staff-set tiers in the tier audit row
luke-belton Oct 23, 2026
39c3b71
refactor(workflows): move tier audit logging into its own module
luke-belton Oct 23, 2026
9c51298
chore(workflows): document tier audit rows and test the describer
luke-belton Oct 23, 2026
5246754
chore(workflows): retrigger review
luke-belton Oct 23, 2026
115a665
fix(aeo): retry throttled gateway calls and cancel queued checks on i…
lricoy Oct 23, 2026
b1d93ba
chore(visual): update storybook baselines
posthog[bot] Oct 23, 2026
1f26501
fix(aeo): give prompt versions uuid7 ids
lricoy Oct 23, 2026
dd4b260
chore(aeo): drop the prompts tab story while the ui settles
lricoy Oct 23, 2026
f2f0e39
Merge branch 'lricoy/aeo-prompts-tab' into lricoy/aeo-prompt-detail
lricoy Oct 23, 2026
fce9077
Merge branch 'lricoy/aeo-prompt-detail' into lricoy/aeo-prompt-versions
lricoy Oct 23, 2026
a0bebc7
test(aeo): type the gateway retry test's session mock
lricoy Oct 23, 2026
b559da7
fix(aeo): cover prompt versions in the idor rule
lricoy Oct 23, 2026
5cfdaf7
chore: update OpenAPI generated types
tests-posthog[bot] Oct 23, 2026
3155fc0
chore: update OpenAPI generated types
tests-posthog[bot] Oct 23, 2026
c108800
Merge remote-tracking branch 'origin/master' into lricoy/aeo-prompts-tab
lricoy Oct 23, 2026
2ff6bb6
chore(aeo): make the runner interruption test deterministic
lricoy Oct 23, 2026
fb92463
fix(aeo): share gateway backoff across workers and make the interrupt…
lricoy Oct 23, 2026
942617b
chore(aeo): merge the deterministic interrupt test with the shared ba…
lricoy Oct 23, 2026
2123ba6
Merge commit 'c108800' into lricoy/aeo-prompt-detail
lricoy Oct 23, 2026
51e8632
Merge remote-tracking branch 'origin/master' into lricoy/aeo-prompt-d…
lricoy Oct 23, 2026
e14b531
Merge branch 'lricoy/aeo-prompt-detail' into lricoy/aeo-prompt-versions
lricoy Oct 23, 2026
baca669
fix(aeo): bound check pages and ignore stale prompt detail responses
lricoy Oct 23, 2026
eda93da
Merge branch 'lricoy/aeo-prompt-detail' into lricoy/aeo-prompt-versions
lricoy Oct 23, 2026
127f457
fix(aeo): keep gap keys stable across prompt edits and count legacy c…
lricoy Oct 23, 2026
26261d0
chore: update OpenAPI generated types
tests-posthog[bot] Oct 23, 2026
c6ebe3d
chore: update OpenAPI generated types
tests-posthog[bot] Oct 23, 2026
8f7cb91
Merge remote-tracking branch 'origin/lricoy/aeo-prompt-detail' into l…
lricoy Oct 23, 2026
8fd0780
fix(aeo): keep gap keys unique when an edited prompt's old text is re…
lricoy Oct 23, 2026
e2bf717
fix(workflows): hide staff-only activity rows from the team activity …
dmarchuk Oct 24, 2026
4901ccf
feat(aeo): add brand mentions, engine consensus and sentiment to prom…
lricoy Oct 24, 2026
59838bc
feat(aeo): turn the prompt detail into a report of sources, engines a…
lricoy Oct 24, 2026
1e854ed
feat(aeo): chart answer sentiment per engine
lricoy Oct 24, 2026
568c86b
chore: update OpenAPI generated types
tests-posthog[bot] Oct 24, 2026
462ab6e
fix(aeo): say when brand mentions are unscored and score the recent b…
lricoy Oct 24, 2026
cf9bd4f
fix(aeo): recheck the shared backoff deadline after each sleep
lricoy Oct 25, 2026
24dc5f9
Merge remote-tracking branch 'origin/master' into lricoy/aeo-full-dai…
lricoy Oct 25, 2026
3a3ab55
Merge remote-tracking branch 'origin/master' into lricoy/aeo-prompt-r…
lricoy Oct 25, 2026
9f37556
feat(error-tracking): add issue age and severity to the read event
JamesPatrickGill Oct 26, 2026
422b8e5
chore(ci): use depot fast clone in django shards
rnegron Oct 26, 2026
0dc115d
chore(ci): run the full matrix
rnegron Oct 26, 2026
9730a79
chore(error-tracking): set issue created_at apart from the frozen clo…
JamesPatrickGill Oct 26, 2026
4d598ee
refactor(error-tracking): build the issue read properties in one helper
JamesPatrickGill Oct 26, 2026
bc4ffcd
perf(docker): install frontend deps from manifests
rnegron Oct 26, 2026
7dd4b5e
chore(docker): shorten manifests stage comment
rnegron Oct 26, 2026
d1da408
refactor(ci): drop duplicate fast clone note
rnegron Oct 26, 2026
bad8b70
fix(alerts): show threshold lines in chart exports
MattPua Oct 26, 2026
5a2b9b0
chore: sync alert changes with master
MattPua Oct 26, 2026
242e7d9
fix(alerts): render limits for all supported chart queries
MattPua Oct 26, 2026
ff65ac2
test(backend): update query snapshots
tests-posthog[bot] Oct 26, 2026
df6b3b1
fix(aeo): only count brand-bearing answers toward the sentiment backl…
lricoy Oct 26, 2026
d875526
Merge remote-tracking branch 'origin/master' into lricoy/aeo-prompt-r…
lricoy Oct 26, 2026
61345ea
feat(error-tracking): time each stage of issue summary generation
JamesPatrickGill Oct 27, 2026
daf1793
feat: remove business-knowledge-github-repos ff
veryayskiy Oct 27, 2026
0403a56
fix(email): retry transactional emails after a lost database connection
mayteio Oct 27, 2026
1eb1f6e
chore(visual): update storybook baselines
posthog[bot] Oct 27, 2026
b985af1
fix(signals): retry research after a transient sandbox failure
tatoalo Oct 27, 2026
380d66c
chore(logs): drop the docstring on customColumnFilterTarget
christiaan-ph Oct 27, 2026
91c1e79
feat(review-hog): run standard sessions on per-pr model arm sets
webjunkie Oct 27, 2026
6fa708e
fix(aio): report per-item models in the offline eval harness
Radu-Raicea Oct 27, 2026
9dfe4b1
fix(insights): remove file system entries when bulk deleting insights
MattPua Oct 27, 2026
207acae
chore(visual): update storybook baselines
posthog[bot] Oct 27, 2026
9525941
fix(signals): link self-driving pull requests from support tickets
pauldambra Oct 27, 2026
9160d1d
fix(signals): reply in source Slack threads when a PR opens
pauldambra Oct 27, 2026
954ccb3
fix(signals): keep PR updates inside internal Slack threads
pauldambra Oct 27, 2026
5a0a484
fix(conversations): allowlist channels for automated PR replies
pauldambra Oct 27, 2026
1a014d2
refactor(conversations): use DRF fields for Slack channel validation
pauldambra Oct 27, 2026
db63f78
fix(signals): retry failed support ticket PR updates
pauldambra Oct 27, 2026
638cc7c
fix(conversations): retry transient Slack channel checks
pauldambra Oct 27, 2026
516ecc9
fix(signals): keep automated PR updates out of reply flows
pauldambra Oct 27, 2026
7ff1bed
fix(review-hog): scope arm fallbacks to their turn and hide terra fro…
webjunkie Oct 27, 2026
5585122
Merge remote-tracking branch 'origin/master' into feat/review-hog-ter…
webjunkie Oct 27, 2026
ab0a5a0
fix(batch-exports): export decimal columns to snowflake
rossgray Oct 27, 2026
2e75e2b
chore(batch-exports): add precision and scale to fake snowflake metadata
rossgray Oct 27, 2026
19bb8da
fix(conversations): exclude automated updates from AI feedback
pauldambra Oct 27, 2026
caa9f7e
refactor(insights): reuse file system sync when bulk restoring insights
MattPua Oct 27, 2026
d9cb9f9
fix(email): hand inline database failures to a worker and pin accepte…
mayteio Oct 27, 2026
178cfa1
chore(insights): drop backfill migration for deleted insight file sys…
MattPua Oct 27, 2026
a1fbee8
Merge branch 'master' into posthog-code/logs-renamed-column-filter
christiaan-ph Oct 27, 2026
be9e108
Merge branch 'master' into posthog/support-ticket-pr-writeback
pauldambra Oct 27, 2026
98b8d0f
fix(cdp): keep retries and bom stripping when a response is over the cap
dmarchuk Oct 27, 2026
e0f1282
test(product-analytics): wait for sample mode before asserting query …
pauldambra Oct 27, 2026
a658117
fix(insights): remove stale file system rows for deleted insights
MattPua Oct 27, 2026
7211b14
Merge remote-tracking branch 'origin/master' into dmarchuk/cdp-fetch-…
dmarchuk Oct 27, 2026
1bfe4ea
fix(insights): bound the stale file system cleanup migration with tim…
MattPua Oct 27, 2026
f095ce8
Merge branch 'master' into posthog/alert-chart-threshold-lines
MattPua Oct 27, 2026
84ea0a2
fix(insights): retry and chunk the stale file system cleanup migration
MattPua Oct 27, 2026
8baca52
fix(aio): show the author name in the evaluations overview table
Radu-Raicea Oct 27, 2026
445b0a1
Merge remote-tracking branch 'origin/master' into feat/error-tracking…
JamesPatrickGill Oct 27, 2026
d70e577
fix(insights): batch file system cleanup in bulk delete
MattPua Oct 27, 2026
c369e99
Merge branch 'master' into dmarchuk/cdp-fetch-response-cap
dmarchuk Oct 27, 2026
69f38d6
fix(insights): skip restored insights in the stale file system cleanu…
MattPua Oct 27, 2026
3330faf
fix(notebooks): let people delete a table from a notebook
kyleswank Oct 27, 2026
e83ab9d
fix(notebooks): keep header text clear of the delete table control
kyleswank Oct 27, 2026
7da11a8
fix(cdp): accept a null response when reading fetch response text
dmarchuk Oct 27, 2026
21fc073
Merge remote-tracking branch 'origin/dmarchuk/cdp-fetch-response-cap'…
dmarchuk Oct 27, 2026
6f87086
fix(alerts): hide threshold labels on alert chart limit lines
MattPua Oct 27, 2026
297e0ce
revert: keep home tab test fix in its dedicated PR
pauldambra Oct 27, 2026
c22fc27
fix(insights): scope bulk restore file system sync to the project
MattPua Oct 27, 2026
51ad3ef
chore(visual): update storybook baselines
posthog[bot] Oct 27, 2026
08570c3
feat(warehouse-suggestions): suggest materializing views that refresh…
thiagosalvatore Oct 27, 2026
455e4ec
fix(warehouse-suggestions): price recomputed views from consumer refr…
thiagosalvatore Oct 27, 2026
cb2853c
fix(warehouse-suggestions): stop re-requesting views that cannot be m…
thiagosalvatore Oct 27, 2026
a3dae20
feat(experiments): show what the experiment can detect in the running…
mp-hog Oct 26, 2026
e629107
fix(experiments): place the running time target on the week marks' pr…
mp-hog Oct 27, 2026
c8104bf
fix(experiments): say what the running time estimate is missing
mp-hog Oct 27, 2026
9c0ffa6
chore(experiments): mock the feature flag in the running time stories
mp-hog Oct 27, 2026
a67fbe5
chore(visual): update storybook baselines
posthog[bot] Oct 27, 2026
42e5e7a
feat(experiments): show exposures in the running time table
mp-hog Oct 27, 2026
74b7ded
chore(visual): update storybook baselines
posthog[bot] Oct 27, 2026
f98c4ba
fix(data-warehouse): list a paused schema in one failure digest only
Gilbert09 Oct 27, 2026
5b1c20f
refactor(dashboards): move dashboard event tracking into dashboardEve…
pauldambra Oct 26, 2026
031eb87
fix(dashboards): guard dashboard event reports against unmounted logic
pauldambra Oct 26, 2026
3971f54
refactor(dashboards): report dashboard events from plain functions
pauldambra Oct 27, 2026
0a9d896
Merge branch 'master' into feat/review-hog-terra-arm-devex
webjunkie Oct 27, 2026
fb6c233
fix(data-imports): replace invalid utf-8 in postgres text columns
Gilbert09 Oct 27, 2026
26fae1d
Merge branch 'master' into posthog-code/logs-renamed-column-filter
christiaan-ph Oct 27, 2026
08ec55f
fix(messaging): keep customer.io suppression dates and bounce diagnos…
mayteio Oct 27, 2026
96090bd
chore(messaging): use customer.io's real suppression status format in…
mayteio Oct 27, 2026
26318bf
test(exports): use a non-runner query kind in threshold snapshot test
MattPua Oct 27, 2026
fc9e798
fix(posthog-ai): use quill skeleton for run log loading state
puemos Oct 27, 2026
e8c6981
feat(warehouse): add opsgenie timeline, on-call, rotation and team me…
Gilbert09 Oct 27, 2026
32184eb
fix(posthog-ai): match run log skeleton to the real quill thread layout
puemos Oct 27, 2026
3908084
fix(posthog-ai): build run log skeleton from quill thread parts
puemos Oct 27, 2026
8df2a03
fix(posthog-ai): anchor run log skeleton to the bottom like the thread
puemos Oct 27, 2026
da7caec
fix(posthog-ai): delay the run log skeleton and fade the thread in
puemos Oct 27, 2026
5153957
fix(posthog-ai): show one skeleton turn instead of a full page
puemos Oct 27, 2026
b869a1a
fix(posthog-ai): show the skeleton turn at the top of the thread
puemos Oct 27, 2026
442eed6
chore(visual): update storybook baselines
puemos Oct 27, 2026
6d66054
fix(posthog-ai): rename run log skeleton keyframes to match stylelint
puemos Oct 27, 2026
e921524
chore(visual): update storybook baselines
puemos Oct 27, 2026
3707505
feat(today): mix recent and frequent jump back items
puemos Oct 27, 2026
689fc54
fix(today): preserve the existing recent-item query
puemos Oct 27, 2026
9473b4c
chore(today): narrow file references in the access test
puemos Oct 27, 2026
d818109
fix(today): use consistent item types in jump back
puemos Oct 27, 2026
7c36db3
feat(today): show the last visit time in jump back
puemos Oct 27, 2026
885f02d
feat(today): prepare a simple jump back ranking experiment
puemos Oct 27, 2026
b0dc268
fix(today): reload frequent items after leaving sample mode
puemos Oct 27, 2026
5c587a6
fix(vwo): surface VWO error messages when the data envelope is missing
Gilbert09 Oct 27, 2026
3e0cbe1
fix(data-imports): decode lenient text with the negotiated encoding
Gilbert09 Oct 27, 2026
c22daed
Merge branch 'master' into posthog/support-ticket-pr-writeback
pauldambra Oct 27, 2026
02ae4bc
chore(email): annotate the failed-save list in the workflows pin test
mayteio Oct 27, 2026
34a4f10
fix(signals): hide PR action for scout self-improvement reports
dmarticus Oct 27, 2026
2c7273d
fix(signals): keep PR action for routed scout improvements
dmarticus Oct 27, 2026
328d62d
test(signals): give the self-improvement report fixture an id
dmarticus Oct 27, 2026
436b885
fix: temporal bk
veryayskiy Oct 27, 2026
0187aac
fix(data-warehouse): fix langfuse score types and orphan job failures
Gilbert09 Oct 27, 2026
74cf2af
Merging 6fa708edc5d123352eef02e30403acb0b5525a40 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
19d68aa
Merging 21fc0737fb4d0b62f513a78c44e847c0e5f61101 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
104a7a5
Merging b985af1680ad5bd7618f7fe0e5c11417930cc55d into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
a21d381
Merging 2e75e2bfaaefc7e1cc773782fc87fe4722228f08 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
3f653ac
Merging a21d381c3ff7034fb684101251bb36de134d41eb into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
89bb4eb
Merging 51ad3ef0d4219c19f1e9ca9bb3c98525ded226d1 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
dfd89a8
Merging 1eb1f6e2ad388fd2c54389e165f7aa3b9e24e9d2 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
b27ee37
Merging 61345eaf7a0438a18c93bda412ee08796976ec10 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
a66591a
Merging c22fc273ea8c5a674501e0a2843a213c9ec80a0d into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
74a31f1
Merging a66591a2b47db061048f33b1d615a25350fc89a4 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
94979ab
Merging 19d68aad54e787eadf3ecb89cd8afa37684e4a63 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
6ae299e
Merging f98c4baf0edadbeb7d41a008e34f444221c34ce6 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
7787c14
Merging 445b0a1858a79e0bc10a5362155d95561ebfa734 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
43801e2
Merging 75b1a49967cf69ffcab553244fec21a5e8720f57 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
a9a14e4
Merging 7dd4b5ee4ff788ed0e685cdb8c4efd4df1ebf0ae into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
512814b
Merging a9a14e4ffb64875e79fc6adf369c18807628ff14 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
e3dc8f3
Merging 96090bd29d93fd693f46eea0415e886557051e24 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
736295e
Merging d87552613ca3adb0426c0f7dca77575e8d12a03a into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
d03c2dd
Merging 3971f54b08fea70455707566710015e0f2046441 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
ba54a93
Merging 5c587a685cc56cb0e12fc2e602597a7d6ab9cebb into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
bfb164c
Merging ba54a93f1b004a608a1b90e27c88434701d97607 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
de5f0a8
Merging 74b7ded0289b8fc48933fc53e147385e73a8a4ad into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
d9aab0e
Merging cb2853c43a36f90ea3502ec468dfb32eaa7775fd into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
6071d0e
Merging 0a9d8967b171920fd5aa4f50d882ddf8a17b775a into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
8c8b9dd
Merging 26fae1dc57fc18ae0b1d277094a4feab31cb23de into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
f8d80c2
Merging 8c8b9dd9399a47b9b25d1b333470e6d8f9c0a463 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
fc3d19c
Merging 3e0cbe18f28effb71ad14cc7db57466a62e5c299 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
529fc40
Merging 8c8b9dd9399a47b9b25d1b333470e6d8f9c0a463 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
c45d1c7
Merging d1da4088e482708ce676a86ae25eeb62da1e7ef7 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
ad75a9d
Merging 02ae4bc5d9a09afaf28fa48f03915171acac03b4 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
5775c14
Merging e83ab9d8451ccc150ca13233bc55c7b9fbfe89a5 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
0f44307
Merging e8c698184c13d94e12280f0628d2dc9c6b4c3a50 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
f5653ca
Merging e921524c9a77b4d9fd0e0cafc396f4aefa11c13b into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
ca3b1c0
Merging 0f443079d89fdbeb0d62778bccba46e046e450c4 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
95c78c9
Merging f5653ca110b216400c410100a3520a8f0ae29a90 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
043ee3b
Merging 24dc5f9181add88216f670831431b0d221d81e3a into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
037b804
Merging 436b885a12ab58327c6eae7fc3836658bf77d637 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
a7b31d8
Merging 0187aacaf7405053815365d41b5f31f075402a7d into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
3b5173a
Merging b0dc268ea5c6eb30e1104c38621b65a9ec1d1ff1 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
0a5b06b
Merging 3b5173a18e3b958b54ad3c0c89c2b9a181b7a86f into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
73d3bb2
Merging e2bf7175db60c5abddcc42bb5ee952b4c5ca7c61 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
74c9c63
Merging c22daedf63729c46db56cd75483769e87c18e385 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
fdd503c
Merging 26318bfae38d04a6b8de03a946f3e63b066df5d5 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
a97e700
Merging 328d62d5df4dafb90d4769da7a6d9963ebefbf23 into trunk-temp/pr-1…
trunk-io[bot] Oct 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .depot/workflows/ci-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3085,10 +3085,6 @@ jobs:
# The default ref, which is the PR merge commit. turbo-discover selects the test files
# from this tree, so a checkout of any other ref can lack a file that the selection lists.
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 1
lfs: true
clean: false
- name: Install signal-fanout
shell: bash
run: sudo install -m 0755 .github/scripts/signal-fanout /usr/local/bin/signal-fanout
Expand Down
13 changes: 12 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
# The stages are used to:
#
# - node-base: shared Node.js base with pnpm already provisioned
# - product-manifests: collect the package.json of each products/* workspace package
# - frontend-build: build the frontend (static assets)
# - sourcemap-upload: upload sourcemaps to PostHog (isolated, no artifacts)
# - node-scripts-build: build plugin transpiler and other Node.js build artifacts
Expand Down Expand Up @@ -39,6 +40,15 @@
ENV COREPACK_ENABLE_NETWORK=0


#
# ---------------------------------------------------------
#
# Only the package.json files, so a product source change does not rerun the frontend pnpm install.
FROM node:24.22.1-bookworm-slim@sha256:55fb5f5a527ea2c5c4a95f963e48ef90aa38c7b346054fdc8ee9957a2b55d205 AS product-manifests
COPY products/ /tmp/products/
RUN cd /tmp/products && for manifest in */package.json; do install -D -m 644 "$manifest" "/manifests/products/$manifest"; done

Check warning on line 49 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Use WORKDIR to switch to a directory


#
# ---------------------------------------------------------
#
Expand All @@ -56,11 +66,12 @@
COPY packages/quill/ packages/quill/
COPY packages/llm-normalizer/ packages/llm-normalizer/
COPY packages/agent/packages/agent-contracts/src/ packages/agent/packages/agent-contracts/src/
COPY products/ products/
COPY --from=product-manifests /manifests/products/ products/
COPY docs/onboarding/ docs/onboarding/
RUN --mount=type=cache,id=pnpm,target=/tmp/pnpm-store-v24 \
CI=1 pnpm --filter=@posthog/frontend... install --frozen-lockfile --store-dir /tmp/pnpm-store-v24

COPY products/ products/
COPY frontend/ frontend/
RUN bin/turbo --filter=@posthog/frontend build

Expand Down Expand Up @@ -113,7 +124,7 @@
GITHUB_REF_NAME=$GITHUB_REF_NAME \
GITHUB_REPOSITORY=$GITHUB_REPOSITORY \
GITHUB_SERVER_URL=$GITHUB_SERVER_URL
RUN --mount=type=secret,id=posthog_upload_sourcemaps_cli_api_key \

Check warning on line 127 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Pin versions in apt get install. Instead of `apt-get install <package>` use `apt-get install <package>=<version>`
if ( \
[ -f /run/secrets/posthog_upload_sourcemaps_cli_api_key ] && \
apt-get update && \
Expand Down Expand Up @@ -171,7 +182,7 @@
# self-contained 24MB package with no deps). Materialize it as real files inside the transpiler's
# own node_modules, replacing the pnpm symlink that pointed into the root node_modules. The final
# image then carries just this package instead of the entire ~469MB root /code/node_modules.
RUN cd /code/common/plugin_transpiler && \

Check warning on line 185 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Use WORKDIR to switch to a directory
BABEL_REAL=$(node -e "process.stdout.write(require('path').dirname(require.resolve('@babel/standalone/package.json')))") && \
rm -rf node_modules/@babel/standalone && \
mkdir -p node_modules/@babel && \
Expand All @@ -195,7 +206,7 @@
ENV UV_PROJECT_ENVIRONMENT=/python-runtime

# Install build dependencies
RUN apt-get update && \

Check warning on line 209 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Pin versions in apt get install. Instead of `apt-get install <package>` use `apt-get install <package>=<version>`
apt-get install -y --no-install-recommends \
"build-essential" \
"git" \
Expand Down Expand Up @@ -253,7 +264,7 @@

# Render the wizard tool catalog from the warehouse source declarations. Web workers serve this file,
# so they never import every source module, and a source module that fails to import fails the build.
RUN SKIP_SERVICE_VERSION_REQUIREMENTS=1 STATIC_COLLECTION=1 DATABASE_URL='postgres:///' REDIS_URL='redis:///' python manage.py render_wizard_tool_catalog

Check notice on line 267 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Multiple consecutive `RUN` instructions. Consider consolidation.

# Strip JS sourcemaps (~2.8GB) from the artifacts that ship in the final image — but ONLY when the
# isolated sourcemap-upload stage confirmed a real upload to error tracking (status "uploaded"). If the
Expand All @@ -277,7 +288,7 @@
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]

# Fetch the GeoLite2-City database that will be used for IP geolocation within Django.
RUN apt-get update && \

Check warning on line 291 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Pin versions in apt get install. Instead of `apt-get install <package>` use `apt-get install <package>=<version>`
apt-get install -y --no-install-recommends \
"ca-certificates" \
"curl" \
Expand Down Expand Up @@ -307,7 +318,7 @@
# Runtime-only shared libs: lxml/xmlsec are compiled --no-binary in the build stage (which keeps
# its own -dev headers), so the final image needs the runtime .so, not the -dev headers/static libs.
# libxmlsec1-openssl provides the OpenSSL crypto backend that libxmlsec1-dev used to pull in.
RUN apt-get update && \

Check warning on line 321 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Pin versions in apt get install. Instead of `apt-get install <package>` use `apt-get install <package>=<version>`
apt-get install -y --no-install-recommends --allow-downgrades \
# Upgrades the CA bundle that the pinned base image freezes.
"ca-certificates" \
Expand Down Expand Up @@ -418,8 +429,8 @@

# Validate the Playwright client library (used to drive the remote browserless service over CDP —
# no browser binary ships in this image).
RUN /python-runtime/bin/python -c "import playwright; print('Playwright package imported successfully')"

Check notice on line 432 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Multiple consecutive `RUN` instructions. Consider consolidation.
RUN /python-runtime/bin/python -c "from playwright.sync_api import sync_playwright; print('Playwright sync API available')"

Check notice on line 433 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Multiple consecutive `RUN` instructions. Consider consolidation.

# Setup ENV.
ENV NODE_ENV=production
Expand All @@ -444,5 +455,5 @@

# Root is needed only so bin/docker-server can drop the app to nobody with setpriv.
# nosemgrep: dockerfile.security.last-user-is-root.last-user-is-root
USER root

Check warning on line 458 in Dockerfile

View workflow job for this annotation

GitHub Actions / Lint changed Dockerfiles

Last USER should not be root
CMD ["./bin/docker"]
3 changes: 3 additions & 0 deletions docs/internal/ai-offline-evaluation-reporting.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,9 @@ Numeric scores can use the domain of their configured scorer version. The API va

`OfflineEvalSuite.experiment_options` accepts the SDK's `ExperimentOptions` for external dataset identifiers, `prompt_version`, model/application versions, and `run_source`.
The harness owns the experiment ID, start time, suite key, and expected counts.
Each case's `output["model"]` becomes the item's `model_version`, so one-shot suites can report the model they actually used and compare different models within one experiment.
Cases without a model, or with `model=None`, inherit the experiment's model version.
Invalid model identifiers are omitted and recorded in the item's `omitted_fields`; the case's scores still upload.
For external datasets, case metadata can supply `dataset_item_identifier` and `dataset_item_version_identifier`.
The harness publisher does not support hosted datasets. A non-null `dataset_revision_id` stops preparation with a local error before any upload request.

Expand Down
1 change: 1 addition & 0 deletions docs/internal/conversations-reliability.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ That is provider acceptance, not customer delivery.
Timeouts after a possible accept retry with the same `client_msg_id`.
Honor `Retry-After` on 429s, cap at one hour, and treat 5xx plus Slack timeout codes as transient.
Permanent Slack application errors (revoked token, missing channel, invalid blocks) fail the part.
Automated PR replies check the approved channel list and current channel type before posting. A failed channel lookup retries; a known external channel fails the part.
Keep `post_reply_to_slack` registered for in-flight Celery messages.
New work uses `process_slack_delivery_part`.

Expand Down
1 change: 1 addition & 0 deletions docs/internal/workflows-email-sending-tiers.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Only workflows that send email are subject to the tiers; SMS, push, and webhook
- Batch audience cap: `get_hogflow_batch_trigger_limit` in `products/workflows/backend/utils/batch_trigger_limit.py`, applied at batch dispatch and shown in the blast radius preview.
- Send-time caps: two Valkey token buckets per team in the CDP email worker (`claimTeamSendingBudget` in `nodejs/src/cdp/services/messaging/email.service.ts`).
- Staff controls: the team's Django admin page (view state, set/pin a tier, recompute now).
- Audit trail: every tier or pin change writes an `email_sending_tier_changed` row to the team's activity log, with the before and after values and the decision reason (`staff_set` for a tier staff set by hand). Staff rows name the acting user. Sweep and backfill rows carry a trigger with the job type and a per-run id. The rows are staff-only in the activity log (`products/workflows/backend/services/email_sending_tier_audit.py`).
- Customer surface: the Reputation tab's sending allowance card, shown only while the team is enforced.

## Configuration
Expand Down
Loading
Loading