Skip to content

fix(services): reject orphaned process health checks - #339

Merged
codeforester merged 3 commits into
mainfrom
bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con
Oct 6, 2026
Merged

codeforester merged 3 commits into
mainfrom
bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con

Conversation

@codeforester

Copy link
Copy Markdown
Collaborator

Summary

Reject process health checks that lack a matching process lifecycle contract, and keep the runtime helper fail-closed if it is called directly with an orphaned process check.

Fixes #331

Validation

  • bats tests/services_test.bats --filter 'process checks without|catalog validator'
  • python3 -m compileall -q bin tests
  • git diff --check

The focused tests cover the public status command and the direct catalog-validation API. The complete service suite remains subject to the repository's known local /bin/ps sandbox limitation; hosted validation is required for the full lifecycle matrix.

@codeforester
codeforester force-pushed the ci/327-20261005-add-workspace-update-scenarios branch from 327182e to f627c13 Compare October 6, 2026 02:38
@codeforester
codeforester force-pushed the bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con branch from 189715c to 3a91c63 Compare October 6, 2026 02:38
@codeforester
codeforester force-pushed the ci/327-20261005-add-workspace-update-scenarios branch from f627c13 to 0633a34 Compare October 6, 2026 12:54
@codeforester
codeforester force-pushed the bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con branch from 3a91c63 to 71f288f Compare October 6, 2026 12:54

@codeforester codeforester left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Reviewed head 71f288f against #331 (stacked on #337). No findings. check.type: process now requires lifecycle.type: process in both places: catalog validation (validate_service_catalog raises a precise ValueError, and the CLI exits 2 without a traceback) and runtime (check_service returns process:missing lifecycle instead of reporting a lifecycle-less service as process:running). Both the CLI and direct-API tests are included, the repo's own catalog still validates, and CI is green (7/7). Ready in stack order.

@codeforester
codeforester force-pushed the ci/327-20261005-add-workspace-update-scenarios branch from 0633a34 to 42c352f Compare October 6, 2026 13:24
@codeforester
codeforester force-pushed the bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con branch from 71f288f to 87f20fc Compare October 6, 2026 13:25
Base automatically changed from ci/327-20261005-add-workspace-update-scenarios to main October 6, 2026 14:27
@codeforester
codeforester merged commit e392e22 into main Oct 6, 2026
8 checks passed
@codeforester
codeforester deleted the bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con branch October 6, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reject process health checks without a process lifecycle contract

1 participant