Repository navigation
chore(release): pin fidelity and UPSTREAM_PARITY to chat@4.41.1, prepare 0.4.41 (#203) - #309
Conversation
…are 0.4.41 (#203) Move scripts/upstream_pin.json pin to chat@4.41.1 (f690af3c), set UPSTREAM_PARITY = "4.41.1" and the package version to 0.4.41, and promote the eight 4.34-4.41 test files at 0 missing into the strict MAPPING (922/922 at the pin; cards/modals/emoji/message stay report-only, #78). Record skipped upstream changes and demand-gated platforms (#189) as Known Non-Parity rows, re-verify the adapter catalog row at 4.41.1, and promote the CHANGELOG wave section to 0.4.41 with a consumer digest and the pending live checks. No runtime change. Closes #203 Part of #184
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 20 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (14)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
… rows, fuller migration checklist (#203) Address review: Gmail catalog listing is chat@4.41.1 and X/XChat entries are 4.33/4.36; split 0.4.31.1 and 0.4.31.3 version rows; record the #972/#964 test-prune and shared test-contract commits; soften the completeness claim; cite #230 for the Discord Components V2 deferral; add WhatsApp BSUID, Discord thread-id, Postgres reclaim and Teams lookup latency to the migration checklist. New test keeps both version-mapping tables in step.
|
Merge gate: CI green (Lint & Type Check, test (3.12), test (3.13), CodeQL / Analyze (python, actions)); local Codex review (gpt-6-astra, xhigh, --base origin/main) on ba33b37: "No actionable regressions found. All 187 focused tests passed, strict fidelity verified 922/922 matches, and documentation consistency, lint, and formatting checks passed."; 2 astra rounds (round 1 P2 sdist FileNotFoundError fixed in ba33b37); HEAD already contains main @ f93c3d0, no merge needed; CodeRabbit rate-limited with no findings, no other bot comments. Merging with --admin (Protect Main requires a code-owner approval). |
Summary
Closing PR of the 4.41 wave. It prepares the 0.4.41 release commit and changes no runtime code.
scripts/upstream_pin.jsonpinmoves tochat@4.41.1@f690af3c26a3bd7649387cccad12d215463ed22c, the same astarget.lint.ymlreads the tag and SHA from that file withjq, so CI's strict step now cloneschat@4.41.1and checks the SHA; the workflow itself needs no edit.--check-docspasses for CLAUDE.md anddocs/UPSTREAM_SYNC.md.UPSTREAM_PARITY = "4.41.1". It names the pin tag exactly, as"4.31.0"↔chat@4.31.0did; the mapping tables say "not4.41.0".pyproject.tomlversion is0.4.41. Also updated: the README status line and a0.4.41 → 4.41.1row in both version-mapping tables (CLAUDE.md,docs/UPSTREAM_SYNC.md; the latter also gets the missing0.4.31/0.4.31.3rows).uv.lockis not tracked, so there is nothing to bump there.TARGET_MAPPINGtoMAPPING:history/{user,thread,channel,to-prompt}agent-session,app-context,installation-eventsadapter-shared/downloadcards,modals,emojiandmessagestay inTARGET_MAPPINGand are documented as issue Extend verify_test_fidelity.py MAPPING to cover all packages/chat/src/*.test.ts #78 work.fidelity_baseline.jsonis regenerated forts_parity: chat@4.41.1. It is still empty, withtotal_ts_tests: 922.docs/UPSTREAM_SYNC.md). Two new tables plus fixes to existing rows:requestApproval, the workflow serialization entrypoint, Vercel Connect,create-chat-sdk, the catalog entries, a grouped docs/community-adapter/chore row, the Discord import sort and the Telegram test timeout.chat/adapterscatalog row is re-verified at chat@4.41.1: 34 entries (20 official, 14 vendor-official), with 10 slugs added since 4.31.0 and none removed.Pending live checks before publishing
This PR does not tag, create a GitHub release or publish to PyPI. The maintainer cuts the release after these checks:
edit_messageanddelete_messageonmicrosoft-teams-apps2.1.x@namebecomes a real<@U…>ping on the native streamagent_viewStop button ([4.41/SL10] Slack Agent Sessions lifecycle + native stop #215)Upstream commits mapped
These commits get skip or non-parity rows only; none is ported:
2d0d3bf3TanStack AI,6714efc3AI SDK v7,4cb7e5d5WorkflowrequestApproval,bdeb2bf1serialization entrypoint,ab0e1806/ba687cb1/1136c967Vercel Connect,ba375ce1/927d0dbdcreate-chat-sdk.0c761f1b,3abdc691,24a04d56,d034b8b5,06af3e12,f034cd27.f691ad58,a8867a0a,eb466e52,ef3f0f63.86b2fa4b,1dff4515,b3123815,99c59850,efa96108,64b66864,0642ce33.21962572,57fa85ca.2a2b2c55,0ec6a736,06b04ac4,ef2542c5,4bca64f0,b6749238,caa63253,fe4ed11e,043386b5,75cadbf9,7a1150ce,4115c943,961cf454,a0cba028,6750d59e,0fdb9029.Tests
No new tests are ported, and strict fidelity found no gap at 4.41.1. Test changes:
tests/test_verify_test_fidelity.py: the committed-pin assertion now expectschat@4.41.1. The CLI tests that need a mid-wave pin (pin ≠ target) now write their own pin file and parity value, so they no longer depend on the committed pin.tests/test_callback_url.py:test_handles_legacy_string_formatis renamed totest_legacy_string_record_never_resolves_and_is_not_deleted. Its comment said it was kept only until this pin move; it still asserts behavior the upstream test does not cover (the record is never resolved and never deleted).tests/test_history_user.py: docstring update only.Fidelity
Strict tier:
chat@4.31.0(before)chat@4.41.1(after)At
chat@4.41.1the original 13 files account for 836 tests and the 8 promoted files for 86. Every.eachtemplate counts as one test (21 templates across mapped and target files).The target report (
--report-target,chat@4.41.1) shows 964 of 1064 matched (889 exact, 75 fuzzy) and 100 missing. All 100 are in the report-only rows: cards 20, modals 28, emoji 41, message 11.fidelity_target.jsonchanges only thetierfield of the eight promoted rows.Divergences
There are no new behavior divergences. The new rows record upstream changes that are skipped or deferred.
Consumer impact
There is no runtime change. This PR marks the release that carries every behavior change in the wave; the CHANGELOG digest is the consumer's migration checklist. It covers lock heartbeat, mention tri-state, Slack/Teams/Telegram streaming, callback tokens, AI-tool scoping, download caps, webhook auth, and thread/channel ids.
Validation
All of these pass:
uv run ruff checkuv run ruff format --checkaudit_test_quality.py: 0 hard failuresverify_test_fidelity.py --check-docsTS_ROOT=<chat@4.41.1 checkout> verify_test_fidelity.py --strict: 922/922uv run pytest tests/: 7971 passed, 24 skippeduv run pyrefly check: 0 errorsCloses #203
Part of #184
Merge gate
Final HEAD:
ba33b37(up to date withmain@f93c3d0).Review findings (two reviewers, six items), docs-only fixes in
d70385c:ef2542c5(chat@4.33.0), XChatcaa63253(4.36.0), Instagram2a2b2c55and Notion0ec6a736(4.37.0), and the Gmail listingf034cd27(chat@4.41.1, not 4.41.0). The Gmail deferred row cites the package commitbfee00af#939 (4.41.0) separately from the catalog commit.0.4.31.1is Slack Slack: empty DM thread_ts hits conversations.replies(ts='') in fetch paths — add conversations.history fallback #138/Slack: chat.startStream fails with team_not_found on Enterprise Grid workspaces #95.0.4.31.3is Teams Graph SSRF hardening fix(teams): close mixed-case-scheme bypass in graph SSRF/token-leak guard #178 and NOTICE docs: add NOTICE with Vercel Chat's MIT attribution #179, the same content as the unpublished0.4.31.2. Newtests/test_version_mapping_docs.pykeeps the CLAUDE.md and UPSTREAM_SYNC version tables in step and ties thepyprojectversion toUPSTREAM_PARITY. It fails on the previous table.636da193#972 and208a5ec2#964. The 8test_thread_faithful.pytests for removedschedule()titles are noted as Python-only extras. The table also records the shared adapter test contractsa7fb1bcf/840c0d16/ac5a54ee/e7a396ae, which are [4.41/X1] Shared adapter test contracts (thread-id + self-message) — optional #188, and the CI/example commits776a849aand8021c3ea. The completeness sentence now says "runtime change" and says that release/deps/CI/docs-site/example/governance commits are not listed one by one.6750d59e) is listed in [4.41/DEF1] Deferred upstream 4.32–4.41 features (demand-gated backlog) #189's body under "Vercel Connect hooks", so that row stays.gpt-6-astra: 2 rounds.
FileNotFoundErrorin the sdist becauseCLAUDE.mdis not in the sdist allowlist. Fixed inba33b37with a moduleskipif; checked by building the sdist and running the test there (2 skipped).ba33b37: "No actionable regressions found."Bots: CodeRabbit was rate-limited with no findings. There are no other bot comments.
CI on
ba33b37: all green (Lint & Type Check, test 3.12/3.13, CodeQL).Local validation on
ba33b37: ruff check/format, audit (0 hard failures),--check-docs, strict fidelity at chat@4.41.1 (all TS tests matched), pytest 7973 passed / 24 skipped, pyrefly 0 errors.--report-targetdelta:missing 100 -> 100 (+0).