Skip to content

fix(lifecycle): align SDK validation and hook coverage - #1605

Merged
Pangjiping merged 4 commits into
opensandbox-group:mainfrom
jianpingpei:fix/lifecycle-hooks-followups
Aug 24, 2026
Merged

fix(lifecycle): align SDK validation and hook coverage#1605
Pangjiping merged 4 commits into
opensandbox-group:mainfrom
jianpingpei:fix/lifecycle-hooks-followups

Conversation

@jianpingpei

Copy link
Copy Markdown
Contributor

Summary

  • Add a real execd-as-init container regression that holds preStart at a host-controlled barrier and verifies /ping availability, PID 1, entrypoint and periodic ordering, repeated periodic execution, and lifecycle transport isolation.
  • Keep the 1–300 second hook timeout range authoritative in the Server by removing duplicate client-side range enforcement from the stable Python and Kotlin models.
  • Add a lifecycle hook guide with an editable timing diagram and creation examples for the C#, Go, JavaScript, Kotlin, and Python SDKs.

Related to #1542. This follows #1587, #1588, and #1589. Docker provider support, PATCH, additional hooks, and runtime protocol changes remain out of scope.

Testing

  • Not run (explain why)
  • Unit tests
  • Integration tests
  • e2e / manual verification

Validated:

  • cd sdks/sandbox/python && uv run ruff check && uv run pyright && uv run pytest tests/ -q (519 passed)
  • cd sdks/sandbox/kotlin && ./gradlew spotlessCheck :sandbox:test --rerun-tasks
  • cd docs && pnpm@9.15.0 run docs:build
  • bash -n components/execd/tests/init_container.sh
  • Current-source init-mode container regression: all four cases passed using the current execd, bootstrap.sh, and launcher; the unrelated eBPF image stage was excluded from the local test image
  • DrawIO source validation and visual inspection at full and 50% scale
  • git diff --check

Breaking Changes

  • None
  • Yes (describe impact and migration path)

Checklist

  • Linked Issue or clearly described motivation
  • Added/updated docs (if needed)
  • Added/updated tests (if needed)
  • Security impact considered
  • Backward compatibility considered

@github-actions github-actions Bot added component/execd documentation Improvements or additions to documentation sdk/java sdk/python sdks size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Aug 24, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d98d29a3e3

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread docs/guides/lifecycle-hooks.md Outdated
Comment thread docs/guides/lifecycle-hooks.md Outdated
Comment thread components/execd/tests/init_container.sh Outdated
@Pangjiping
Pangjiping merged commit ebf8919 into opensandbox-group:main Aug 24, 2026
57 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/execd documentation Improvements or additions to documentation sdk/java sdk/python sdks size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants