- Task:
0.7 - Machine record:
eve-sota-environment-capabilities/2026-09-01.json - Schema:
eve-sota-environment-capabilities.schema.json - Live probe:
../../tools/eve-everywhere/probe-environment-capabilities.mjs - Verifier:
../../tools/eve-everywhere/verify-environment-capabilities.mjs
This record was observed from 2026-09-08T10:02:48.331Z through
2026-09-08T10:03:02.689Z and expires at 2026-09-09T10:03:02.689Z. It is
bound to source commit 087ccdfb8a14818c607931a6ac68aea53a9b899c, the current
probe implementation, 15 source-contract hashes, a hashed host boot ID, and
monotonic-clock bounds. A verifier failure means the capability must be
re-probed; an old record is never copied forward as a current fact.
Re-probe and verify#
The local credential file stays outside the repository. Source it only into the probe process; the record retains environment-variable names and set/unset states, never values.
set -a
. /root/Desktop/workspace/drawer/env-master.env
set +a
node tools/eve-everywhere/probe-environment-capabilities.mjs
node tools/eve-everywhere/verify-environment-capabilities.mjs
Capability summary#
| Capability | Status | Exact claim | Probe definitions |
|---|---|---|---|
blender |
ready | Blender 4.0.2 is executable through Bellona's resolution contract. | blender.version |
unreal |
degraded | Unreal 5.5.4-0+UE5 is present at the required path but did not complete initialization. | unreal.required-path-version |
nativeDesktop |
unavailable | This probe process has no admissible native desktop observation or input path. | native.session-permissions, native.binding-load |
localDatabase |
ready | The declared local oshun_dev PostgreSQL 16.14 (Debian 16.14-1.pgdg12+1) database answered a read-only query. | database.postgres-read |
vectorStore |
degraded | pgvector is installed and an L1 operation works, but the L2 operating path fails and optional Qdrant is unavailable. | vector.pgvector-operators, vector.qdrant-health |
browsers |
ready | Playwright 1.60.0 launched Chromium, Firefox, and WebKit and completed a DOM round trip in each. | browser.playwright-launch |
mobileHarness |
degraded | The Maestro repository harness is present, but no runnable mobile device or simulator boundary was observed. | mobile.android-harness, mobile.ios-harness |
externalChannelCredentials |
unavailable | No complete external-channel credential-name group is present in this probe process. | channels.environment-name-presence |
Statuses are deliberately non-transitive. For example, a ready browser engine does not upgrade native desktop, and an installed pgvector extension does not upgrade a failing vector operator.
DCC and engine#
- Blender: executable
/usr/bin/blender; version4.0.2; version-probe exit0. - Unreal: required path
/root/workspace/UnrealEngine-5.5/Engine/Binaries/Linux/UnrealEditor-Cmdexecutable =true; version5.5.4-0+UE5; initialization-ready =false; failure classvulkan-driver-unavailable.
Native desktop permission posture#
The probe ran on linux as UID 0 in a tty session; remote = true;
graphical display = none. Portal ScreenCast = false, portal RemoteDesktop =
false, AT-SPI reachable = false, native binding = unavailable.
Permission posture: screen capture unavailable; synthetic input unavailable;
accessibility tree unavailable. Browser launch is explicitly excluded from
this conclusion.
Local database and vector stores#
PostgreSQL: container present = true; health = healthy; server =
16.14 (Debian 16.14-1.pgdg12+1); read-only known result = 42.
pgvector: extension 0.8.2; L1 known distance 1; L2 exit 1; L2 failure
stack-depth-limit-exceeded; ready = false. Optional Qdrant: reachable =
false; HTTP = none.
Browsers#
Playwright version: 1.60.0. A path alone is insufficient; every ready row
below includes a real launch and DOM round trip.
| Engine | Executable | Runtime version | Launch | DOM result |
|---|---|---|---|---|
| chromium | yes | 148.0.7778.96 | ready | 42 |
| firefox | yes | 150.0.2 | ready | 42 |
| webkit | yes | 26.4 | ready | 42 |
Mobile harness#
Repository Maestro YAML flows: 86; Maestro 2.5.1; ADB 1.0.41; attached
ready Android devices = 0; installed Android AVDs = 0; available iOS
simulators = 0; iOS applicable on this host = false.
External channel credential-name posture#
The table contains names and set/unset states only. It contains no credential value, length, prefix, digest, source file, or provider/account identity.
| Channel group | Required environment-variable names | Optional credential names | Presence | Required-name completeness |
|---|---|---|---|---|
email-sendgrid |
OSHUN_MESSAGING_EMAIL_FROM, OSHUN_SENDGRID_API_KEY |
— | OSHUN_MESSAGING_EMAIL_FROM: unset; OSHUN_SENDGRID_API_KEY: unset | incomplete |
email-smtp |
OSHUN_MESSAGING_EMAIL_FROM, OSHUN_SMTP_HOST |
OSHUN_SMTP_USERNAME, OSHUN_SMTP_PASSWORD |
OSHUN_MESSAGING_EMAIL_FROM: unset; OSHUN_SMTP_HOST: unset; OSHUN_SMTP_USERNAME: unset; OSHUN_SMTP_PASSWORD: unset | incomplete |
sms-twilio |
OSHUN_TWILIO_ACCOUNT_SID, OSHUN_TWILIO_AUTH_TOKEN, OSHUN_TWILIO_FROM |
— | OSHUN_TWILIO_ACCOUNT_SID: unset; OSHUN_TWILIO_AUTH_TOKEN: unset; OSHUN_TWILIO_FROM: unset | incomplete |
push-fcm |
OSHUN_FCM_ACCESS_TOKEN, OSHUN_FCM_PROJECT_ID |
— | OSHUN_FCM_ACCESS_TOKEN: unset; OSHUN_FCM_PROJECT_ID: unset | incomplete |
push-apns |
OSHUN_APNS_TEAM_ID, OSHUN_APNS_KEY_ID, OSHUN_APNS_PRIVATE_KEY, OSHUN_APNS_BUNDLE_ID |
— | OSHUN_APNS_TEAM_ID: unset; OSHUN_APNS_KEY_ID: unset; OSHUN_APNS_PRIVATE_KEY: unset; OSHUN_APNS_BUNDLE_ID: unset | incomplete |
push-expo |
OSHUN_EXPO_ACCESS_TOKEN |
— | OSHUN_EXPO_ACCESS_TOKEN: unset | incomplete |
push-webpush |
OSHUN_VAPID_PUBLIC_KEY, OSHUN_VAPID_PRIVATE_KEY, OSHUN_VAPID_SUBJECT |
— | OSHUN_VAPID_PUBLIC_KEY: unset; OSHUN_VAPID_PRIVATE_KEY: unset; OSHUN_VAPID_SUBJECT: unset | incomplete |
whatsapp-business |
OSHUN_WHATSAPP_ACCESS_TOKEN, OSHUN_WHATSAPP_PHONE_NUMBER_ID, OSHUN_WHATSAPP_TEMPLATE, OSHUN_WHATSAPP_LANGUAGE |
— | OSHUN_WHATSAPP_ACCESS_TOKEN: unset; OSHUN_WHATSAPP_PHONE_NUMBER_ID: unset; OSHUN_WHATSAPP_TEMPLATE: unset; OSHUN_WHATSAPP_LANGUAGE: unset | incomplete |
slack-app |
OSHUN_SLACK_BOT_TOKEN |
— | OSHUN_SLACK_BOT_TOKEN: unset | incomplete |
discord-bot |
OSHUN_DISCORD_BOT_TOKEN |
— | OSHUN_DISCORD_BOT_TOKEN: unset | incomplete |
telegram-outbound |
OSHUN_TELEGRAM_BOT_TOKEN |
— | OSHUN_TELEGRAM_BOT_TOKEN: unset | incomplete |
telegram-webhook |
OSHUN_TELEGRAM_BOT_TOKEN, OSHUN_TELEGRAM_WEBHOOK_SECRET |
— | OSHUN_TELEGRAM_BOT_TOKEN: unset; OSHUN_TELEGRAM_WEBHOOK_SECRET: unset | incomplete |
Even a complete name group remains degraded here: no provider was contacted and no channel was operator-selected or live-gated.
Expiration and admission rules#
- The verifier rejects the record at or after
expiresAt. - The verifier rejects a changed boot ID, impossible wall/monotonic clock relationship, future timestamps, overlong capture window, changed source contract, changed probe implementation, or record-digest mismatch.
- Every capability and probe definition is required exactly once. A package, path, container, extension, YAML flow, or browser executable cannot by itself claim runtime readiness.
- Credential fields outside the allowlisted name/presence structure are rejected.
- Re-run the live probe after expiration or invalidation. Do not edit timestamps or copy observations into a new record.
Limitations#
- This is a local developer-host observation, not staging or production capability.
- A ready capability proves only the named probe criteria; it does not admit any downstream Eve task or gap.
- The whole record expires after 24 hours and immediately after a host reboot, source-contract change, or probe-implementation change.
- Re-probing executes current observations; the probe has no mode that copies a prior record into a new fact.