Amboras evidence
Raw, unedited output of the verification scripts, regenerated on every deploy and nightly. Last run: 2026-09-05T17:05:52+00:00. The checks that need the host (gates, probe, DDL, secret sweep, listeners, units) are here because a browser cannot run them; the storefronts themselves are public.
# Amboras evidence
generated: 2026-09-05T17:05:52+00:00
host: edward booted: 2026-08-16 23:20:22
commit: 9ff69fead8fb5696d361d127f26131863d112ab1 (2026-09-05T16:45:11+00:00 Prompt 6: one photo, many pictures)
working tree: 28 uncommitted change(s); origin/main: 9ff69fe
## bin/gates.sh (the seven build-brief gates + Wave 2 checks)
== Gate 1 infra
PASS psql connects
PASS redis PING=PONG
PASS pg+redis loopback only
== Gate 2 medusa
PASS admin UI /app HTTP 200
PASS store API product: Medusa Shorts
== Gate 3 spec-service
PASS create tenant gate-probe HTTP 409 (201 new / 409 exists: one probe tenant, never one per run)
PASS v13 round-trips canonically identical
PASS v14 live (live=14), v13 unchanged
== Gate 4 renderer
PASS a: <title>Northwind Goods — Everyday things, made well / b: <title>VOLTLINE — Training apparel differ
PASS all six block types render on a
PASS real Medusa products on a (4 cards)
== Gate 5 agent
PASS newest successful agent build: orbit-books (5 products)
PASS storefront renders 5 products (any variant), palette vars=3, images=5
== Gate 6 exposure
PASS public console asks for auth (HTTP 401)
PASS public storefront orbit-books HTTP 200
PASS medusa admin NOT reachable off-box (got '000')
== Gate 7 persistence
PASS 4 units enabled=4 active=4, linger=yes
PASS compose restart policy unless-stopped x2
== Wave 2 (layout variants · testimonial integrity · revision)
PASS legacy social_proof renders the sample-content marker on a (block=1 text=2)
PASS ethiopia and orbit-books home skeletons differ
ethiopia: hero/split > product_grid/ledger > pull_quote/banner > rich_text/note
orbit-books: offer_bar/strip > hero/full_bleed > product_grid/ledger > pull_quote/banner > faq/plain
PASS no invented attributions on the two agent stores
PASS reviews endpoint answers HTTP 200
PASS newest revision: ethiopia v3 -> v4, base still readable (HTTP 200)
(variant exhaustiveness is a build-time property: run bin/probe-variant-exhaustiveness.sh)
== Prompt 6 (one photo, many pictures)
PASS upload route on a store host -> HTTP 404
PASS upload over 10 MB -> HTTP 413
PASS upload of a PDF -> HTTP 415
FAIL console store page offers Add photo per product (0) (0)
PASS newest photos job: gate5-1433 gate5-1433-hand-thrown-stoneware-mug -> 2 picture(s), 0 credits, failures: lifestyle,banner
catalogue local object region 158872 px mean |diff| = 0.0000/255 OK
detail crop of source 434281 px mean |diff| = 0.0000/255 OK
checked 2 picture(s); worst 0.0000/255; credits_used 10; api_calls (last run) 2; failures 2
PASS object pixels unchanged in every produced picture (< 2/255)
PASS re-run on the same photo: credits_used=0, files unchanged (197aa9a06b30), api_calls=2 (retries only for pictures that do not exist yet)
== Prompt 7 (category research brief)
research egress allowlist: http://100.95.159.55:7779 https://r.jina.ai https://s.jina.ai
refused https://example.com/ (refusing to fetch https)
refused https://www.abebooks.com/ (refusing to fetch https)
refused http://100.111.71.48:4101/tenants (refusing to fetch http)
PASS every non-allowlisted origin refused before any I/O
PASS research fetch wrapper refuses every non-allowlisted origin before I/O
FAIL newest completed research job (none)
FAIL newest brief-grounded build: none v used brief v; spec note: "" (no build with a brief)
GATES: 30 passed, 3 failed
exit=1
## bin/probe-variant-exhaustiveness.sh (an unimplemented layout variant must fail the renderer build)
PASS unimplemented variant fails the renderer typecheck:
src/components/blocks/Hero.tsx(57,26): error TS2345: Argument of type '"unimplemented_probe"' is not assignable to parameter of type 'never'.
exit=0
## platform.tenant_live (live set: join table with weights, not a single pointer)
Table "platform.tenant_live"
Column | Type | Collation | Nullable | Default
-----------+--------------+-----------+----------+---------
tenant_id | uuid | | not null |
spec_id | uuid | | not null |
weight | numeric(6,4) | | not null | 1.0000
Indexes:
"tenant_live_tenant_id_spec_id_pk" PRIMARY KEY, btree (tenant_id, spec_id)
Foreign-key constraints:
"tenant_live_spec_id_store_specs_id_fk" FOREIGN KEY (spec_id) REFERENCES platform.store_specs(id)
"tenant_live_tenant_id_tenants_id_fk" FOREIGN KEY (tenant_id) REFERENCES platform.tenants(id)
rows:
a v2 weight=1.0000
b v1 weight=1.0000
ethiopia v4 weight=1.0000
gate-21433 v2 weight=1.0000
gate-23566 v2 weight=1.0000
gate-23591 v2 weight=1.0000
gate5-1433 v1 weight=1.0000
gate-probe v14 weight=1.0000
noimg v1 weight=1.0000
orbit-books v4 weight=1.0000
smoke v1 weight=1.0000
## platform.store_specs (append-only: the service has no UPDATE/DELETE path for versions)
Table "platform.store_specs"
Column | Type | Collation | Nullable | Default
------------+--------------------------+-----------+----------+-------------------
id | uuid | | not null | gen_random_uuid()
tenant_id | uuid | | not null |
version | integer | | not null |
spec | jsonb | | not null |
created_by | text | | not null |
note | text | | |
created_at | timestamp with time zone | | not null | now()
Indexes:
"store_specs_pkey" PRIMARY KEY, btree (id)
"store_specs_tenant_version_uq" UNIQUE CONSTRAINT, btree (tenant_id, version)
Foreign-key constraints:
"store_specs_tenant_id_tenants_id_fk" FOREIGN KEY (tenant_id) REFERENCES platform.tenants(id)
Referenced by:
TABLE "platform.tenant_live" CONSTRAINT "tenant_live_spec_id_store_specs_id_fk" FOREIGN KEY (spec_id) REFERENCES platform.store_specs(id)
grep for update/delete on store_specs in the service layer:
none
## version ledger, agent-built stores
ethiopia:
v4 live=true 2026-09-05T15:49:11.188Z agent-worker agent revision; 0 product(s) added, 2 page(s)
v3 live=false 2026-09-05T15:45:33.653Z agent-worker agent publish; 4 product(s), 2 page(s)
v2 live=false 2026-09-05T15:16:52.025Z agent-worker images: 4 products, 2 hero
v1 live=false 2026-09-05T02:11:53.383Z agent-worker agent publish; 4 product(s), 2 page(s)
orbit-books:
v4 live=true 2026-09-05T16:10:45.311Z agent-worker agent publish; 5 product(s), 2 page(s)
v3 live=false 2026-09-05T15:47:25.434Z agent-worker agent publish; 5 product(s), 1 page(s)
v2 live=false 2026-09-05T15:17:13.044Z agent-worker images: 5 products, 2 hero
v1 live=false 2026-09-05T03:00:32.341Z agent-worker agent publish; 5 product(s), 2 page(s)
## Zod rejection (spec-service must answer 422 to an invalid document, nothing stored)
HTTP 422; versions before=4 after=4; detail: ✖ Too small: expected array to have >=1 items → at pages ✖ a page with slug "home" is required (it renders at /)
## cross-tenant cart isolation (a cart on ethiopia's sales channel, presented to orbit-books via the same cookie)
cart cart_01M1S8HK943A2BX7W531FRHKF7 (channel sc_01M1QN9XB69Y9RRXTW342NXKQS): ethiopia /cart HTTP 200; orbit-books /cart HTTP 404; orbit-books /checkout HTTP 404 (expected 200 / 404 / 404)
## research egress (Prompt 7): allowlist + refusal proof; the VPS relay forwards only to r.jina.ai
research egress allowlist: http://100.95.159.55:7779 https://r.jina.ai https://s.jina.ai
refused https://example.com/ (refusing to fetch https)
refused https://www.abebooks.com/ (refusing to fetch https)
refused http://100.111.71.48:4101/tenants (refusing to fetch http)
PASS every non-allowlisted origin refused before any I/O
exit=0
relay listener on the VPS: 0
unknown (1 = up)
## research briefs, agent-built stores
ethiopia:
orbit-books:
## secret sweep by VALUE across the whole git history (counts, never values)
ANTHROPIC_API_KEY (len 108): 0 occurrence(s) in history
RECRAFT_API_KEY (len 64): 0 occurrence(s) in history
POSTGRES_PASSWORD (len 48): 0 occurrence(s) in history
MEDUSA_PUBLISHABLE_KEY (len 67): 0 occurrence(s) in history
JWT_SECRET (len 64): 0 occurrence(s) in history
COOKIE_SECRET (len 64): 0 occurrence(s) in history
MEDUSA_ADMIN_PASSWORD (len 20): 0 occurrence(s) in history
CONSOLE_BASIC_AUTH_PASSWORD (len 16): 0 occurrence(s) in history
tracked .env files: 0
## listeners (only the renderer may be non-loopback)
State Recv-Q Send-Q Local Address:Port Peer Address:PortProcess
LISTEN 0 4096 127.0.0.1:15432 0.0.0.0:*
LISTEN 0 4096 127.0.0.1:16379 0.0.0.0:*
LISTEN 0 511 127.0.0.1:4101 0.0.0.0:*
LISTEN 0 511 127.0.0.1:4100 0.0.0.0:*
LISTEN 0 511 100.111.71.48:4102 0.0.0.0:*
## units + linger
amboras-commerce: enabled=enabled active=active
amboras-spec-service: enabled=enabled active=active
amboras-renderer: enabled=enabled active=active
amboras-agent-worker: enabled=enabled active=active
timers: amboras-backup.timer amboras-evidence.timer
linger: yes
## public exposure
console https://amboras.phillyshell.cloud/ -> HTTP 401 (401 = basic auth)
medusa admin :4100 from another tailnet host -> HTTP '000' (000 = connection refused, expected)