-
Notifications
You must be signed in to change notification settings - Fork 82
chore(mcp): enable model capture and conversation correlation by default #944
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
lucasheriques
wants to merge
7
commits into
main
Choose a base branch
from
codex/mcp-analytics-defaults
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
e526f6c
chore(mcp): enable model capture and conversation correlation by default
lucasheriques ec5b6de
test(mcp): reuse custom-dispatcher default coverage
lucasheriques 80a8dd2
fix(mcp): cache confirmed low-level model ownership
lucasheriques ea63cf1
fix(mcp): read llm_model on cold instances under the ADR-0011 rule
lucasheriques 4d426f1
fix(mcp): read standalone FastMCP ownership from the advertised schema
lucasheriques cf88562
fix(mcp): share standalone FastMCP ownership across SDK majors
lucasheriques 5f20b75
fix(mcp): strip every undeclared analytics key on standalone FastMCP …
lucasheriques File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| pypi/posthog: minor | ||
| --- | ||
|
|
||
| Enable MCP model capture and conversation correlation by default. Advertised tool schemas gain an `llm_model` argument (never enforced at dispatch) and eligible tool results gain a conversation handle; `MCPAnalyticsOptions(capture_model=False, enable_conversation_id=False)` restores the previous shape. Fresh low-level instances now read the self-reported model instead of staying silent. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note
🤖 Automated comment by QA Swarm — not written by a human
[convergent: router + paul] 🟠 HIGH
Two reviewers landed on this line independently: is
minorthe right tier?Verified empirically — with
capture_model=Trueby default, the advertisedinputSchemaof every tool on the official high-level FastMCP /MCPServeradapters now listsllm_modelinrequired(next to the already-defaultcontext). On a routinepip install --upgrade posthog, every existing deployment's wire-visible tool contract changes with zero code change by the user.enable_conversation_id=Trueadds a handle to eligible tool responses on top of that.The dispatch path does not enforce the
requiredflag — a call omittingcontextandllm_modelstill dispatches fine — so there is no server-side breakage. The risk is client-side: strict-schema MCP clients that validate before sending, and tooling that generates call templates from a cached schema.Paul's read: "i can talk myself into minor (
capture_modelonly landed in #927 six days ago, so the blast radius is genuinely small, andcontextalready set the precedent of injecting a required arg), and i'm not going to block on the tier. but the thing i'd actually want confirmed:references/public_api_snapshot.txtchanges on four lines here, and CONTRIBUTING.md now says that means 'this touches public API, agree the shape on the issue first'. i'm lazily asking rather than digging — was this one agreed somewhere?"There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keeping
minor:contextshipped the same required-argument precedent as a minor, and dispatch never enforcesrequired. On the CONTRIBUTING.md point: this repo has no "agree the shape on an issue first" rule; AGENTS.md only asks that the snapshot be regenerated (make public_api_snapshot), which it is. posthog-js does have that rule for new or changed option shapes, and this change alters no shape: same options, same types, different defaults. The decision and the rejected alternatives are now recorded in posthog-js ADR-0013, which both SDKs cite.