Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Production Readiness TODO

- [ ] Keep no-driver package QA reliable under hosted-runner load while still
enforcing bounded SIGINT shutdown. QA: the shared Linux smoke and Homebrew
formula use the same 30-second bound, focused regression tests pass, the full
TypeScript suite remains green, and the v0.76.1 packaging recovery completes.

- [ ] Accept producer-declared native runtime license material in verified
product bundles so v0.76.1 CUDA packaging can complete without weakening the
existing checksum, entry-type, tree-digest, or single-runtime checks.
Expand Down
4 changes: 2 additions & 2 deletions packaging/homebrew/Formula/mesh-llm.rb.template
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ class MeshLlm < Formula
ensure
begin
Process.kill("INT", pid) if Process.kill(0, pid)
_, status = Timeout.timeout(10) { Process.wait2(pid) }
_, status = Timeout.timeout(30) { Process.wait2(pid) }
assert_predicate status, :success?, "mesh-llm client did not shut down cleanly"
rescue Errno::ESRCH, Errno::ECHILD
flunk "mesh-llm client exited before bounded SIGINT shutdown"
Expand All @@ -103,7 +103,7 @@ class MeshLlm < Formula
rescue Errno::ECHILD
nil
end
flunk "mesh-llm client did not stop within 10 seconds of SIGINT"
flunk "mesh-llm client did not stop within 30 seconds of SIGINT"
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion scripts/client-readiness-smoke.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set -eu

mesh_llm_bin="${MESH_LLM_SMOKE_BIN:-/usr/local/bin/mesh-llm}"
ready_timeout="${MESH_LLM_SMOKE_READY_TIMEOUT_SECONDS:-45}"
shutdown_timeout="${MESH_LLM_SMOKE_SHUTDOWN_TIMEOUT_SECONDS:-10}"
shutdown_timeout="${MESH_LLM_SMOKE_SHUTDOWN_TIMEOUT_SECONDS:-30}"

case "$ready_timeout:$shutdown_timeout" in
*[!0-9:]*|:*|*:) echo "smoke timeouts must be positive integer seconds" >&2; exit 2 ;;
Expand Down
1 change: 1 addition & 0 deletions tests/client-readiness-smoke.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ setInterval(() => {}, 1000)
test("client readiness smoke polls readiness without shell-signal wakeups", { concurrency: false }, () => {
const source = readFileSync(smoke, "utf8");
assert.match(source, /--no-console client/);
assert.match(source, /MESH_LLM_SMOKE_SHUTDOWN_TIMEOUT_SECONDS:-30/);
assert.doesNotMatch(source, /client --auto/);
assert.match(source, /readiness_reached=false/);
assert.match(source, /readiness_in_log/);
Expand Down
2 changes: 1 addition & 1 deletion tests/homebrew-release.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ test("formula test certifies isolated no-driver client readiness", () => {
'"--no-console", "client"',
"Client ready",
'Process.kill("INT", pid)',
"Timeout.timeout(10)",
"Timeout.timeout(30)",
]) assert.match(template, new RegExp(snippet.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")));
assert.doesNotMatch(template, /"client", "--auto"/);
assert.match(template, /assert_path_exists libexec\/"product-manifest\.json"/);
Expand Down