Repository navigation
feat(integrations): Add startup/checkin endpoints + tooling fixes - #2832
Draft
vikramlc-cognite wants to merge 1 commit into
Draft
vikramlc-cognite wants to merge 1 commit into
vikramlc-cognite wants to merge 1 commit into
Conversation
vikramlc-cognite
force-pushed
the
integrations-g6-startup-checkin
branch
from
September 16, 2026 05:50
0296eaf to
5176538
Compare
Adds the extractor self-registration/heartbeat protocol (startup, checkin) now that service-contracts PR #3378 removed their ifdef: internal marking, plus the retry-idempotency registration and codespell config needed to support the "checkin" identifier. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
vikramlc-cognite
force-pushed
the
integrations-g6-startup-checkin
branch
from
September 16, 2026 07:15
5176538 to
2956434
Compare
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Adds the extractor self-registration/heartbeat protocol (
startup,checkin) now thatcognitedata/service-contractsPR #3378 removed theirifdef: internalmarking, plus the retry-idempotency registration and codespell config needed to support the "checkin" identifier. Builds on the Actions sub-resource from #2831 — this is the final PR in the stack; once merged, theIntegrationsAPIsurface is complete.Type of change
What changed
cognite/client/data_classes/integrations/checkin.py:TaskUpdate,ErrorWithTask,StartupRequest,CheckinRequest,CheckinResponse.IntegrationsAPI.startup()andIntegrationsAPI.checkin()methods,POST-ing to/integrations/startupand/integrations/checkinrespectively with the same beta header as the rest of the module.integrations/checkinandintegrations/startupto the non-idempotent POST pattern list inutils/_url.py, with matching cases intest_api_client.py..pre-commit-config.yaml: added--ignore-words-list=checkinto thecodespellhook args, since "checkin" is the API's realoperationId/URL segment and can't be reworded to "check-in" without diverging from the actual wire contract. Passed as a hook arg rather thanpyproject.toml's[tool.codespell]because reading TOML config requirestomli/tomllib, which isn't guaranteed available in the hook's isolated environment on Python <3.11.test_startup/test_checkinintest_api/test_integrations/test_integrations.py, and round-trip tests for all 5 new data classes intest_data_classes/test_integrations.py.Why it changed
cognitedata/service-contractsPR #3378 (removed theifdef: internaltag from these two endpoints) — https://github.com/cognitedata/service-contracts/pull/3378#discussion_r3932420851What to focus on during review
startup()/checkin()are explicitly documented (Note:in the docstring) as normally only called by extractor implementations as part of the integrations protocol, not typical SDK consumers.pyproject.toml's[tool.codespell]worked locally but silently failed in CI (Python 3.10 in the hook's isolated venv couldn't parse the TOML withouttomli) — this PR's.pre-commit-config.yamlargs-based fix is the one that's CI-verified.Test evidence
pytest tests/tests_unit/ -q→ 6,708 passed, 8 failed (pre-existing, unrelated: missinggeopandas/sympyin the local dev environment — confirmed viagit stash/pop A-B testing that these fail identically onmaster), 6 skippedpython scripts/sync_client_codegen/main.py verify→ sync mirrors up to dateruff check/ruff format --check→ clean (550 files)mypy→ no issues (550 source files)git diffagainst it is empty)Risks and unknowns
startup/checkinare part of an extractor-facing heartbeat protocol rather than typical end-user SDK surface — low usage risk for most SDK consumers, but worth a sanity check from someone on the extractors side that the request/response shapes match what real extractors send.Rollout and rollback
FeaturePreviewWarninggating as the rest of the module. No migrations. Revert is a straight revert of this commit.Checklist