unoverse 0.1.185 → 0.1.186

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1034,9 +1034,25 @@ EOF
1034
1034
  # so a universe that boots "JWT enforced on /mcp" — every Cognito/AWS deployment —
1035
1035
  # reported FAIL on a correctly protected endpoint and turned a healthy deploy red.
1036
1036
  _smoke "MCP initialize" sh -c "code=\$(curl -s -m 10 -o /dev/null -w '%{http_code}' -X POST '$smoke_api/mcp' -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"0\"}}}'); [ \"\$code\" = 200 ] || [ \"\$code\" = 401 ]"
1037
- # Engine Postgres canary: 200 (auth off) or 401 (auth on) prove the chain; a 500
1038
- # is the DB-unreachable incident that hides behind an otherwise healthy stack.
1039
- _smoke "engine reaches database" sh -c "code=\$(curl -s -m 10 -o /dev/null -w '%{http_code}' '$smoke_api/marketplace'); [ \"\$code\" = 200 ] || [ \"\$code\" = 401 ]"
1037
+ # THE MARKETPLACE LANE ANSWERS. 200 (auth off), or 401/404 (auth on) all three
1038
+ # prove the listener is up and routing; a 5xx is a stack that is live and broken.
1039
+ #
1040
+ # RENAMED FROM "engine reaches database" (2026-08-31), because it stopped being able
1041
+ # to prove that and a check that overclaims is worse than one that does less. The
1042
+ # capability gate (server/src/security/gate.ts) refuses an unauthenticated request
1043
+ # with 404 BEFORE the handler runs — deliberately, so a 403 cannot tell an attacker
1044
+ # which routes exist — so on any auth-enabled universe this request never reaches
1045
+ # Postgres at all. It also, until this change, failed every deploy: the check expected
1046
+ # 401, the gate returned 404, and a healthy stack reported FAIL.
1047
+ #
1048
+ # WHAT STILL COVERS THE 2026-08-13 INCIDENT (an engine→Postgres 500 hiding behind a
1049
+ # healthy-looking stack): the wait above. `/health` answers 200 only when isReady(),
1050
+ # and readiness comes after the catalogue has loaded FROM THE DATABASE, so a universe
1051
+ # that cannot reach Postgres never becomes healthy and never gets here. That is
1052
+ # boot-time proof, not live proof. Proving it LIVE needs a probe that reaches a
1053
+ # handler — an authenticated call, or a public deep-health route — and neither exists
1054
+ # yet. Left as a known gap rather than papered over with a check that cannot see it.
1055
+ _smoke "marketplace lane answers" sh -c "code=\$(curl -s -m 10 -o /dev/null -w '%{http_code}' '$smoke_api/marketplace'); [ \"\$code\" = 200 ] || [ \"\$code\" = 401 ] || [ \"\$code\" = 404 ]"
1040
1056
  if [ -n "$smoke_canvas" ]; then
1041
1057
  # The canvas page and the hashed bundle it names: present, compressed, cacheable.
1042
1058
  _smoke "canvas page + compressed bundle" sh -c "asset=\$(curl -sf -m 10 '$smoke_canvas/' | grep -o '/assets/index-[^\"]*\.js' | head -1); [ -n \"\$asset\" ] && curl -sf -m 20 -H 'accept-encoding: gzip' -D - \"$smoke_canvas\$asset\" -o /dev/null | grep -qi '^content-encoding: gzip'"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unoverse",
3
- "version": "0.1.185",
3
+ "version": "0.1.186",
4
4
  "description": "The Unoverse front door — create a Studio project, a universe, or a client app, and launch Studio.",
5
5
  "license": "SEE LICENSE IN README.md",
6
6
  "type": "module",