SC000 means the configured graceful shutdown behavior passed. The active
requests finished, the process exited correctly before the deadline, and the
port stopped accepting connections.
| Code | SC000 PASS |
|---|---|
| Stage | Passed |
| CLI exit code | 0 |
| What it means | Every in-flight request finished with the expected response, and the service exited with the expected code before the deadline and closed its port. |
| Message |
|
| First thing to check | Nothing to fix. Keep the check in CI so a regression fails the build. |
What did the test prove?
The service passed every check enabled in your config:
- The test port was free before startup.
- The service started and became ready.
- The workload was active before
SIGTERM. - Each active request returned the expected status and body.
- The process exited with the expected code before the deadline.
- The port closed after the process exited.
If you enabled readiness withdrawal, rejection of new requests, or a repeated signal, those checks passed too.
What did it not prove?
The result covers only the routes and conditions in the config. It does not
verify database writes, queue consumers, WebSockets, HTTP/2 streams, or work
that continues after an HTTP response. It also does not test Kubernetes
endpoint propagation or a container preStop hook.
Use a workload that represents a real slow operation, and keep the test in CI so shutdown regressions fail before deployment.
How do I keep the result meaningful?
Review the config when routes, startup commands, or platform deadlines change. A test can keep passing while no longer representing production if the workload becomes much faster or the deployed entry point changes.
In CI, keep the full timeline or JUnit report. A normal passing sequence shows
work active before SIGTERM, response completion after it, and process exit
before shutdown verified.