René's URL Explorer Experiment


Title: feat(runtime-core,cli,mcp): typed runtime failures, fail-fast shutdown, and real toolkit integration tests by jamesbhobbs · Pull Request #519 · deepnote/deepnote · GitHub

Open Graph Title: feat(runtime-core,cli,mcp): typed runtime failures, fail-fast shutdown, and real toolkit integration tests by jamesbhobbs · Pull Request #519 · deepnote/deepnote

X Title: feat(runtime-core,cli,mcp): typed runtime failures, fail-fast shutdown, and real toolkit integration tests by jamesbhobbs · Pull Request #519 · deepnote/deepnote

Description: Stacked on #518 (interpreter resolution for #288); merge that first. Part of #162: for headless execution to be a first-class feature, the runtime has to fail loudly, fail fast, and be tested against the real toolkit. Warm server pooling for the MCP is deliberately not in this PR. It lands as a follow-up stacked on this one (#520), with real concurrency and crash-recovery tests, so the reliability work here can be reviewed and merged on its own. Problems Read against the runtime as it stands on main: Nothing in CI starts the toolkit. The "CLI E2E" job runs --version and --help; every engine and kernel test mocks the Jupyter client. A toolkit release or a @jupyterlab/services bump can break deepnote run with all checks green. A dead server hangs the run. If the Jupyter server dies mid-run, the websocket drops and the Jupyter client retries with backoff for about two minutes without ever marking the kernel dead; the in-flight execution waits forever. The server starter only watches for process exit during startup. A failed start delays exit by two minutes. When python -m deepnote_toolkit server exits immediately (toolkit not installed), the startup race rejects at once, but the health-check loop is never cancelled and keeps polling until the 120 s startup timeout. The CLI has already printed its error and sits there. Measured at 2:00 before, 0.3 s after. Every start failure says "install deepnote-toolkit". The CLI appends that hint to any engine.start() error, including port conflicts, timeouts and bad --python paths. Machine output has no failure category, and exit code 1 covers infra failures and user code alike. Interpreter fallback ignores a project .venv. #518 adds the extension sidecar and DEEPNOTE_PYTHON; a .venv next to the notebook was still ignored in favour of bare python. Timeouts are constants (30 s kernel idle, 120 s server start) and server logs are dropped unless the process dies during startup. Stopping the server can leak Jupyter. stopServer SIGKILLs the toolkit supervisor two seconds after SIGTERM. The supervisor terminates each child and waits up to five seconds for it, so under load it is still shutting Jupyter down when it is killed, and the Jupyter server, language server and kernel are orphaned. Found while adding a leaked-process check to the integration tests; it reproduced twice in full runs and never in isolation. Changes Typed failures (@deepnote/runtime-core). New RuntimeError family with a closed category: server-launch, kernel-launch, kernel-died, server-exited, execution-timeout, plus in-block for the block's own code. Errors carry an optional hint. startServer names the real cause (toolkit missing for that interpreter, a missing server dependency, process exit with stderr tail, health-check timeout). BlockExecutionResult and ExecutionSummary gain failureCategory. No more hangs. ServerInfo.exited settles when the process ends; the engine fails the in-flight execution with ServerExitedError when that happens mid-run, through a removable process listener it detaches on stop. The kernel client fails in-flight executions with KernelDiedError on dead/autorestarting status (and translates the client's opaque "Canceled future" rejection), and runs a connection watchdog: a dropped websocket that is not back within 10 s is probed; a dead server or missing kernel fails immediately, a server that still answers gets exactly one more grace period. After a fatal error every later execute() rejects immediately, and a client can connect() again from a clean slate. Integration tests measure a dead kernel reported in ~8 s and a killed Jupyter server in ~14 s. Fast startup failure. The health-check loop is abortable and is aborted when startup fails, and every health request is bounded by the time left in the startup timeout, so a server that accepts the connection but never answers cannot stall past --startup-timeout. Kernel disposal detaches the kernel's Lumino listeners when the connection is down, because @jupyterlab/services awaits its post-restart reconnect() without handling rejection; disposing mid-reconnect otherwise surfaces an unhandled rejection. Adds @lumino/signaling as a direct dependency (already in the tree). No more orphaned servers. The toolkit supervisor starts Jupyter and the language server in their own sessions, so nothing but its explicit cleanup ever reaches them. startServer records those child pids once the server is ready, and stopServer waits up to 10 s for the supervisor to finish its own cleanup, kills the children before force-killing a supervisor that ignores SIGTERM (also on a failed startup), and afterwards terminates any recorded child that outlived the supervisor. Every integration test file checks after each test that no toolkit, Jupyter, language-server or kernel process from the interpreter's environment was left behind, and prints the toolkit server's log when one is. Configurable timeouts and logs. RuntimeConfig gains serverStartupTimeoutMs, kernelStartupTimeoutMs, blockTimeoutMs and onServerLog. A block that exceeds the block timeout is interrupted and the run fails with execution-timeout. CLI: --startup-timeout (applied to server and kernel) and --block-timeout ; deepnote --debug run streams the toolkit server log as [server stdout]/[server stderr]. CLI reporting. The blanket install hint is gone; Failed to start server: is followed by the runtime's hint (and the interpreter hint from #518 when only a bare python was available). -o json/-o toon add failureCategory on the run and on the failed block, and hint; a startup failure emits { success: false, error, failureCategory, hint }. Exit codes are unchanged. MCP reporting. deepnote_run responses now report success: false when a block failed (previously hardcoded true), plus failureCategory and hint; a runtime that cannot start returns a structured error with the same fields. Each call still starts and stops its own server; reuse is the follow-up PR. Interpreter resolution. resolveProjectPython gains a tier between the IDE sidecar and the system default: a .venv/venv found from the notebook's directory upward whose interpreter can import deepnote_toolkit. A venv without the toolkit is skipped with a warning, so an unrelated project venv never shadows a working system Python (source: venv). Integration tests in CI. *.integration.test.ts files are excluded from pnpm test and run by pnpm test:integration (vitest.integration.config.ts). New job "Runtime Integration (deepnote-toolkit)" installs Python 3.12 + deepnote-toolkit[server], builds, and runs them with DEEPNOTE_PYTHON set. Eleven tests against the real server: engine success/in-block/kernel-died/server-exited/block-timeout/missing-toolkit, the built CLI for success/in-block/--block-timeout/missing toolkit (asserting the fast exit), and the pre-existing local-runner test, which now runs instead of skipping. A leak guard keyed on the interpreter's sys.prefix flags any process a test left behind. Docs skills/deepnote/references/cli-run.md (new flags, failure-category table, venv tier, cloud-ignored flags), cli-analysis.md, SKILL.md, packages/cli/README.md, packages/mcp/README.md (failure fields, venv tier), AGENTS.md and CONTRIBUTING.md (pnpm test:integration). Tests Unit: the full suite passes; new coverage for the server starter (exit tracking, abort, cause detection, log forwarding, child cleanup), kernel client (typed failures, timeout + interrupt, watchdog with bounded retry, reconnect after failure, listener detachment), engine (categories, server exit, listener detachment), the venv tier, the CLI (hints, timeouts, debug logs, JSON fields) and the MCP (structured failures, engine lifecycle). Integration: 11 tests pass locally against deepnote-toolkit 2.6.0 (pnpm test:integration, ~65 s) and in the new CI job, with no leaked processes. pnpm typecheck, pnpm lintAndFormat, pnpm spell-check clean. Not in this PR: warm server pooling for the MCP (follow-up); --kernel / non-Python kernels (see #154, #162); .venv discovery does not consult pyproject.toml; and if the toolkit supervisor itself is SIGKILLed (for example by the OOM killer) its already-orphaned children are cleaned up only when stopServer runs, which is only fully fixable on the toolkit side (a process group or PR_SET_PDEATHSIG for its children). 🤖 Generated with Claude Code Summary by CodeRabbit New Features Added startup and per-block timeout options for local runs. Added virtual-environment discovery and improved interpreter selection. Added structured runtime failure categories, actionable hints, and machine-readable results. Added debug-mode server log forwarding. Bug Fixes Improved detection, reporting, and cleanup for kernel, server, startup, and timeout failures. Improved execution lifecycle handling and process cleanup. Documentation Expanded CLI and integration-testing guidance, including CI fail-fast examples. Tests Added integration coverage for successful runs, failures, timeouts, and process cleanup.

Open Graph Description: Stacked on #518 (interpreter resolution for #288); merge that first. Part of #162: for headless execution to be a first-class feature, the runtime has to fail loudly, fail fast, and be tested again...

X Description: Stacked on #518 (interpreter resolution for #288); merge that first. Part of #162: for headless execution to be a first-class feature, the runtime has to fail loudly, fail fast, and be tested again...

Opengraph URL: https://github.com/deepnote/deepnote/pull/519

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/:user_id/:repository/pull/:id/files/:range(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:9fa06fe9-f16d-e454-a900-d6a84f1f7695
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDC4C:188A29:9F2103:D91952:6AEDCE62
html-safe-nonce9e4468a92bbe751c183ce1e45f189384504eec7cc6ed32e4cde829593c303a82
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQzRDOjE4OEEyOTo5RjIxMDM6RDkxOTUyOjZBRURDRTYyIiwidmlzaXRvcl9pZCI6IjE0NjIwNjY4ODcyMjUzNjQwNjYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac5de4cf9fccf6acab1b28651e679e724e9ee8a75609d7f26e31b422d10787e938
hovercard-subject-tagpull_request:4485761092
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
twitter:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
og:image:altStacked on #518 (interpreter resolution for #288); merge that first. Part of #162: for headless execution to be a first-class feature, the runtime has to fail loudly, fail fast, and be tested again...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonef60373873bb1ef795e8511ea1f2a76997e9c649d72b02942aedf2def3423a0ce
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/deepnote/deepnote git https://github.com/deepnote/deepnote.git
octolytics-dimension-user_id45339858
octolytics-dimension-user_logindeepnote
octolytics-dimension-repository_id1066509034
octolytics-dimension-repository_nwodeepnote/deepnote
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1066509034
octolytics-dimension-repository_network_root_nwodeepnote/deepnote
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release0f55cfa61438c7dc93d1024a1e5e5182b36830e2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F519%2Ffiles%2F6fa4c0e4cc666c3dc74a8520e045957c200358e3
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F519%2Ffiles%2F6fa4c0e4cc666c3dc74a8520e045957c200358e3
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=deepnote%2Fdeepnote
Reloadhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
Reloadhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
Reloadhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
deepnotehttps://github.com/deepnote
deepnotehttps://github.com/deepnote/deepnote
Codehttps://github.com/deepnote/deepnote
Issues14 (14)https://github.com/deepnote/deepnote/issues
Pull requests24 (24)https://github.com/deepnote/deepnote/pulls
Discussionshttps://github.com/deepnote/deepnote/discussions
Actionshttps://github.com/deepnote/deepnote/actions
Security and qualityhttps://github.com/deepnote/deepnote/security
Insightshttps://github.com/deepnote/deepnote/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
jamesbhobbshttps://github.com/jamesbhobbs
mainhttps://github.com/deepnote/deepnote/tree/main
feat/runtime-hardeninghttps://github.com/deepnote/deepnote/tree/feat/runtime-hardening
Conversation 57 https://github.com/deepnote/deepnote/pull/519
Commits 34 https://github.com/deepnote/deepnote/pull/519/commits
Checks 21 https://github.com/deepnote/deepnote/pull/519/checks
Files changed https://github.com/deepnote/deepnote/pull/519/files
Please reload this pagehttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
feat(runtime-core,cli,mcp): typed runtime failures, fail-fast shutdown, and real toolkit integration tests https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#top
Show all changes 34 commits https://github.com/deepnote/deepnote/pull/519/files
c159ebc feat(runtime-core,cli,mcp): use the Deepnote extension's environment … jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/c159ebcf2909215e2a8904e03d1381930e271db3
df389aa fix(cli): report an explicit --python interpreter in human output jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/df389aad56173563a612ca88a98a209f8d85ad25
1717109 docs(skill): fix stale .agent/ folder and scope the lint python claim… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/17171099daa340ab5b743f229a80b5b6d567f873
d77732c feat(runtime-core,cli,mcp): typed runtime failures, fail-fast shutdow… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/d77732cb3e6e53b04d4c52205fd322f5ea88f360
1f201e4 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/1f201e4cfc5d6e3773b1b98441f252e5fb584efb
6fd96d2 fix(runtime-core): address review feedback on runtime hardening jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/6fd96d265637b992c21978aca0949c44f519b848
90ea0a4 refactor(runtime-core,mcp): move warm server pooling to a follow-up PR jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/90ea0a44158ea9c7d030f82ef2a4f525b0fad0c7
6fa4c0e fix(runtime-core): bound every startup health request by the remainin… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/6fa4c0e4cc666c3dc74a8520e045957c200358e3
85e7d6b fix(runtime-core): never return an exited server, stop waiting exactl… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/85e7d6b9f2d28295fc2a5384e44d111bb8b9494a
99637fa docs: note that integration suites must not run concurrently on one m… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/99637fafd592a7637960bd54076bc59899462d3b
88a1476 feat(runtime-core): accept interpreter-only Deepnote extension sidecars jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/88a14769534ad989e4a57fec5e3f28f61ab3e163
5bd95ca docs(cli): describe the extension tier as the selected interpreter in… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/5bd95ca419bcb25c7067dfa91a100f50524f11a3
387bda3 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/387bda3cc11a92f5f63d600f892614632a826215
7118d3b chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/7118d3b631c5bdcc1795becc6dc074b80b75d0f1
938cbc4 docs(skill): point the interpreter prerequisite at pythonInterpreter,… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/938cbc49523027a46c493bd9b16bb1003ac1714e
e4bb755 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/e4bb755d3e9a9327452c49fc0aa1db11fba44a44
da10623 fix(runtime-core): list every sidecar location in the bare-Python hint jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/da10623564f14f7c3fa27b2ef480f5aec4386ed3
d3cfaf9 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/d3cfaf97cb704b39fc35f4ab0083a56d34c53a34
b7f4954 fix(mcp): search the workspace root for the sidecar by default, and d… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/b7f495481d4506e7d414817051d59cb04261ecd2
bf976e5 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/bf976e53239cf651eae961a27514517fb0bccdcb
70ba6d3 docs(mcp): mention the .venv tier in the deepnote_run interpreter docs jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/70ba6d334a24aa4ce5fdecc13d1af7b7b1f1bb8b
4cb3b49 docs(mcp): say the venv search also starts from the workspace root jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/4cb3b496c8a7a591d36791107fc71072100d9d6c
4e038d1 feat(runtime-core,cli,mcp): use the Deepnote extension's environment … jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/4e038d1adec4c04e874ed3367aef2d4eb9884c0a
a5eb73f fix(cli): report an explicit --python interpreter in human output jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/a5eb73f072650e3814268baee83006e667de2610
27181f5 docs(skill): fix stale .agent/ folder and scope the lint python claim… jamesbhobbs Sep 9, 2026 https://github.com/deepnote/deepnote/pull/519/commits/27181f5c90e3470d71d69ee05e67510374331dc5
c0d220f feat(runtime-core): accept interpreter-only Deepnote extension sidecars jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/c0d220f6134f8283be395fe5f61415c30bfc72cd
c70381a docs(cli): describe the extension tier as the selected interpreter in… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/c70381aaca4695b7bd2aa871791e3c1119b695e8
6827457 docs(skill): point the interpreter prerequisite at pythonInterpreter,… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/6827457c5a3021f4109b1282fa174220d9b45458
760fc03 fix(runtime-core): list every sidecar location in the bare-Python hint jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/760fc0389ee69bdafeb402df0ab0bab6a36f6def
7de8b74 fix(mcp): search the workspace root for the sidecar by default, and d… jamesbhobbs Sep 10, 2026 https://github.com/deepnote/deepnote/pull/519/commits/7de8b746ec292ff9aa686548196a1104eff7c0d4
29983a7 chore(repo): merge feat/ide-python-resolution into feat/runtime-harde… jamesbhobbs Sep 14, 2026 https://github.com/deepnote/deepnote/pull/519/commits/29983a7b9e6255ce6307d7e287e9f015f021ca82
855ca21 Merge remote-tracking branch 'origin/main' into feat/runtime-hardening dinohamzic Sep 15, 2026 https://github.com/deepnote/deepnote/pull/519/commits/855ca21850cacfe45a8e88eac5c798ffaf99c30c
60dc951 fix(runtime-core): enforce agent block timeout jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/519/commits/60dc951c46d7f15519566c5d5639c7c3ac4708b3
6d2c570 fix(runtime-core): abort agents on generated code runtime failures jamesbhobbs Sep 16, 2026 https://github.com/deepnote/deepnote/pull/519/commits/6d2c57022b18f7f5955473a08d98d4c5ad2a1fcf
Clear filters https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
Please reload this pagehttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
Please reload this pagehttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
ci.yml https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
AGENTS.md https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
CONTRIBUTING.md https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
cspell.json https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
package.json https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
README.md https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
cli.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
analyze.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
dag.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
lint.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
run.integration.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-9e4a30f11138c4247a3bc741eeb214b0ff4f7c9eca6b6dfc9e8218d3bfc0dc4f
run.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-230f6aaa853030f701f82028ebd0815847e138377fb2aa3b9ca5f24e39a1b19d
run.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-5c08ad8f28c154fbb0d4328601c767bdffc4dcdf207b9e1ffcc72c73902e64b6
python-resolution.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-6936228c1b7c9b21234ef31f917f8a83aea66b7d7541b5df2e08f89deb7a4c5f
python-resolution.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-3e2d43c3b3f83efd66575d25e2ebe82117dbe0f0526887fb11c15d26ee5b086e
execution.integration.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-34c1902df7cf2507752ff3abf13afd109f26f9bcec5fc6a3944ca63abc05501d
README.md https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-ba5dea79fe8446f1a9461322ff9b3158efbf2e11e1bf709973a2c146fba55539
execution.runtime.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-1d82f617bbb5cbbd97a8d04350a6c4e59be649a44b2b430b045775ab7e82ed89
execution.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-eb2e045e73ca0205975635ed2cf13d01fbd1afbb2aedd034727d59f71a9059e5
execution.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-095624d6ede0941c52740c7ffd973262d526100b6f239941d06490ef592f9129
package.json https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-ccaf5472984ac18fc2fd4a75f0a60eae4322aea2c2de02514b939182cfe743a7
execution-engine.integration.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-b37b85f9e67e3169af51c47c1b29c96a3d528afe3e7f10d4e556d00639e7d669
execution-engine.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-0b627d37726333e896c042864adff1322f8bb6d41faa228b1a5f357d1ce805c0
execution-engine.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-a98a106038f750a12d33bc3ad1423bcbe1a622f45ebff6a7655e10ed0b4489ed
index.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-5ab5fe7b450649335062cee0ca4f1499ae23f78f1460b187873afbe21093ef0b
kernel-client.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-6c52bcb41b6bb040a4a6902ec9e5d5496809a5a8ba1df49b29fab100097acf30
kernel-client.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-bc955b70443b4cfac3e0eccef76cc96f00a7ad31164186a67862671cab78b3ea
project-python.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-5fc5e06f9b10006475795af0960391df06951af144538cf2023aaa4cde99edd1
project-python.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-0d81f6741284eff1a243cc8df800ef463e8a2db617b2d18ebcca6a02e3e9259e
runtime-errors.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-e2e23f82ff91f773d5eae471020151600a0e8bb5ae385fec1e837503a9777522
server-starter.test.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-8bad44bb2becc7130a07ed282d0d1ac66309c0619e1f44ff6a8e444435468e5d
server-starter.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-1916b0b5c3d4ffd0b4156fa20aeac3491322703268149691373b81ef2795cd2c
types.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-8f6d5de42978e1b8f5493444eaf19027139e581c794ce069031fb222adf21044
pnpm-lock.yaml https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-32824c984905bb02bc7ffcef96a77addd1f1602cff71a11fbbfdd7f53ee026bb
SKILL.md https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-fc910ff9af653863a4d56f42ab43df86a18730c7df959926af99800c102c21db
cli-analysis.md https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-39e3bed179469728b851fb34b2cb7b77b85f5b1c11e9e81c53c792882f5b05c5
cli-run.md https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-e8ab7c37c6af71ee31cb469e1f122f928fb434c0e7e4e30f43f8a389daf4fbc6
integration-python.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-6a517aa1f697a54525bea2ae4afa662122d92d4e08fdd474c804421c21730136
vitest.config.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-2ee894bf23aa44ff4ce12a3da8af19ab20180474ebf2176dbe5f2eea3f96dc92
vitest.integration.config.ts https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-3c8d49f04351b39c4c3cc793ee7c14a0abf725bb74155b3a617ca6b75162fa11
https://github.com/deepnote/deepnote/blob/main/.github/CODEOWNERS#L2
.github/workflows/ci.ymlhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/.github/workflows/ci.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
https://github.com/deepnote/deepnote/blob/main/.github/CODEOWNERS#L2
AGENTS.mdhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/AGENTS.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9
https://github.com/deepnote/deepnote/blob/main/.github/CODEOWNERS#L2
CONTRIBUTING.mdhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/CONTRIBUTING.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055
https://github.com/deepnote/deepnote/blob/main/.github/CODEOWNERS#L2
cspell.jsonhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/cspell.json
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-77519f787fe7e051a14c588f101d61e4d8f0d3b01bf8e16cb65d3838243d4e68
https://github.com/deepnote/deepnote/blob/main/.github/CODEOWNERS#L2
package.jsonhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/package.json
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
https://github.com/deepnote/deepnote/blob/main/.github/CODEOWNERS#L2
packages/cli/README.mdhttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/packages/cli/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-15986190ef9581ab59bcd5483b2c09e7fd0bd439d6f6cddbc94b0b1de094ee51
https://github.com/deepnote/deepnote/blob/main/.github/CODEOWNERS#L2
packages/cli/src/cli.tshttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/packages/cli/src/cli.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
dinohamzichttps://github.com/dinohamzic
Sep 16, 2026https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#r4024423323
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
jamesbhobbshttps://github.com/jamesbhobbs
Sep 16, 2026https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#r4025495796
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
60dc951https://github.com/deepnote/deepnote/commit/60dc951c46d7f15519566c5d5639c7c3ac4708b3
6d2c570https://github.com/deepnote/deepnote/commit/6d2c57022b18f7f5955473a08d98d4c5ad2a1fcf
Please reload this pagehttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-7a02f7d6513a60a87cae3086768db219f1908f2594dc77cd1a13a0107cbb24e3
packages/cli/src/commands/analyze.tshttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/packages/cli/src/commands/analyze.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-31e6e03923dac8d782c4c5cf045708d17c1fe68bc92449a49b7f5f819781ca2d
packages/cli/src/commands/dag.tshttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/packages/cli/src/commands/dag.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-4e2da12b74f9c74118f67e8cf7d0de331b7a061784be154e2be8e83f55dd3b3c
packages/cli/src/commands/lint.tshttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
View file https://github.com/deepnote/deepnote/blob/6fa4c0e4cc666c3dc74a8520e045957c200358e3/packages/cli/src/commands/lint.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/519/files/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
https://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3#diff-966ed90d020cffe70c22d110135ce19924a3a4450b4ab9df0893012519d4f3a9
Please reload this pagehttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
Please reload this pagehttps://github.com/deepnote/deepnote/pull/519/files/6fa4c0e4cc666c3dc74a8520e045957c200358e3
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.