Lesson 274: Unreal OTLP Corporate Proxy Diligence Receipt on BUILD_RECEIPT (2026)

Direct answer: Before Q4 2026 partner diligence calls on Unreal SKUs, promote unreal_otlp_diligence_receipt_v1.json with O1–O6 gates—Insights / Trace session tied to fest build_label, documented OTLP endpoint, explicit proxy policy, CA pin or offline trace batch, redacted sample on disk in 07-observability/, and BUILD_RECEIPT unreal_otlp_diligence_ok: true. Pair Unreal OTLP preflight (Guide #36), Unreal OTLP case study, and cousin Lesson 260 (Unity UGS lane).

Lesson hero for Unreal OTLP corporate proxy diligence receipt

Why this matters now (Q4 diligence week)

Q4 2026 partners open 07-observability/ and ask why Unreal Insights traces exist on a dev laptop but OTLP export times out on publisher-office VPN. Teams file Unity Lesson 260 for UGS SKUs and assume the same receipt covers Unreal—it does not. Unreal SKUs need store About privacy crosswalk (no UGS dashboard) and Insights trace samples on disk, not verbal “tracing enabled.”

Lesson 273 wired loudness before Whisper batch; 274 wires Unreal OTLP diligence so Thursday row review diffs unreal_otlp_diligence_ok beside ugs_otlp_diligence_ok—multi-engine studios file both child receipts in 07-observability/.

Promotion order on BUILD_RECEIPT: crash_symbolicate_okunreal_otlp_diligence_ok (Unreal SKU) → diligence_telemetry_ok annex index.

Beginner path (Insights → proxy policy → receipt)

Step Action Success check
1 Run Insights golden-path trace on fest build O1 session logged
2 Document OTLP endpoint + probe O2 URL in receipt
3 Choose CA pin or offline batch O4 policy explicit
4 Place redacted sample in 07-observability/ O5 file exists
5 Privacy URL HEAD on store About O5 crosswalk
6 File receipt + BUILD_RECEIPT unreal_otlp_diligence_ok: true

Time: ~50 minutes first diligence sprint; ~12 minutes when Guide #36 preflight template exists.

Developer path (gates O1–O6)

Gate Check Fail when
O1 Insights trace for fest build_label Editor-only assumption
O2 OTLP endpoint documented Verbal “we use Insights”
O3 Proxy policy table filed proxy_required silent
O4 CA pin or offline batch policy Both missing
O5 Sample trace or probe log on disk Empty 07-observability/
O6 Receipt + BUILD_RECEIPT Promote before O5 GREEN

Align with Guide #36—guide = ninety-second gate; 274 = BUILD_RECEIPT milestone with jq promotion.

Cousin receipt crosswalk

Field Cousin (260 Unity) Cousin (case study) This lesson (274)
Schema ugs_otlp_diligence_receipt_v1 Recovery narrative unreal_otlp_diligence_receipt_v1
Scope UGS privacy URL + OTLP D1–D3 timeline Insights OTLP + proxy/offline
BUILD_RECEIPT ugs_otlp_diligence_ok N/A unreal_otlp_diligence_ok
Path release-evidence/telemetry/ Blog proof table 07-observability/ + telemetry

Do not merge JSON schemas—reference paths in cousin_receipts only.

O1 — Insights session + build_label

Editor: Edit → Plugins → ensure Trace Insights enabled for packaged builds.

DefaultEngine.ini (example trace channels):

[Trace.Channel]
DefaultChannels=Cpu,Gpu,Log,Bookmark

Launch packaged fest build; start Insights trace; play 60s golden path. Log build_label matching visible build label and BUILD_RECEIPT.

O2 — OTLP endpoint probe

Document OTEL_EXPORTER_OTLP_ENDPOINT in launcher script:

set OTEL_EXPORTER_OTLP_ENDPOINT=https://otel-collector.internal:4318/v1/traces

Probe from the same network path partners use (VPN if applicable):

curl -sS -o /dev/null -w "%{http_code}" \
  -X POST "$OTEL_EXPORTER_OTLP_ENDPOINT" \
  -H "Content-Type: application/x-protobuf" \
  --data-binary @/dev/null

Log HTTP code or TLS error verbatim (certificate verify failed) in 07-observability/otlp_probe_fail.log when RED—honest repro beats silent drop.

O3–O4 — Proxy policy: CA pin or offline batch

CA pin (live OTLP on VPN):

export SSL_CERT_FILE="/etc/ssl/corp-root.pem"
export OTEL_EXPORTER_OTLP_ENDPOINT="https://otel-collector.internal:4318/v1/traces"

Offline batch (when live blocked):

  1. Export redacted OTLP JSON or .utrace slice to 07-observability/offline_traces/batch_YYYYMMDD.json.
  2. Set receipt otlp_mode: offline_batch.
  3. README states live export resumes after diligence (live_resume_date).

Pair OTLP proxy help when probe logs show MITM failures.

O5 — Store privacy crosswalk + sample on disk

Unreal SKUs still need Steam About privacy URL parity:

curl -sI "https://yourstudio.com/privacy" | head -n 1

Match host + path to release-evidence/privacy.md. At least one redacted trace file or probe log must exist—partners open the zip, not your Insights UI.

O6 — unreal_otlp_diligence_receipt_v1.json

{
  "schema": "unreal_otlp_diligence_receipt_v1",
  "build_label": "fest-demo-2026-11-rc4",
  "engine_version": "5.6.0",
  "insights_session_id": "trace-session-20261118-golden",
  "otlp_endpoint": "https://otel-collector.internal:4318/v1/traces",
  "otlp_mode": "offline_batch",
  "corporate_proxy": {
    "required": true,
    "mitm_https": true,
    "ssl_cert_file": null,
    "offline_batch_path": "07-observability/offline_traces/batch_20261118.json",
    "probe_fail_log": "07-observability/otlp_probe_fail.log"
  },
  "privacy_crosswalk": {
    "store_about_privacy_url": "https://yourstudio.com/privacy",
    "privacy_url_head_status": 200,
    "notes": "Unreal SKU—no UGS; store About still required"
  },
  "cousin_receipts": {
    "diligence_telemetry": "07-observability/diligence_telemetry_receipt_v1.json",
    "crash_symbolicate": "07-observability/crash_symbolicate_receipt_v1.json",
    "unity_ugs_otlp": "release-evidence/telemetry/UGS_OTLP_DILIGENCE_RECEIPT.json"
  },
  "gates": {
    "O1_insights_configured": "pass",
    "O2_otlp_documented": "pass",
    "O3_proxy_policy": "pass",
    "O4_ca_or_offline": "pass",
    "O5_sample_on_disk": "pass",
    "O6_receipt": "pass"
  },
  "unreal_otlp_diligence_ok": true,
  "telemetry_promotion_allowed": true
}

Pin at release-evidence/telemetry/UNREAL_OTLP_DILIGENCE_RECEIPT.json and copy into 07-observability/.

BUILD_RECEIPT promotion jq

jq -e '
  .schema == "unreal_otlp_diligence_receipt_v1" and
  .unreal_otlp_diligence_ok == true and
  (.gates.O5_sample_on_disk == "pass")
' release-evidence/telemetry/UNREAL_OTLP_DILIGENCE_RECEIPT.json

Append BUILD_RECEIPT row:

{
  "unreal_otlp_diligence_ok": true,
  "unreal_otlp_diligence_receipt": "release-evidence/telemetry/UNREAL_OTLP_DILIGENCE_RECEIPT.json",
  "telemetry_promotion_allowed": true
}

Rule: Multi-SKU studios keep ugs_otlp_diligence_ok (Lesson 260) and unreal_otlp_diligence_ok (this lesson) as separate columns—do not merge.

Proof table (facilitator audit)

Row Evidence GREEN when
P1 Insights session log O1 build_label matches BUILD_RECEIPT
P2 OTLP probe log O2 endpoint + HTTP/TLS result
P3 proxy_policy_table.md O3 proxy_required explicit
P4 CA PEM or offline batch path O4 policy filed
P5 Redacted trace in 07-observability/ O5 sample on disk
P6 BUILD_RECEIPT column unreal_otlp_diligence_ok matches receipt

Key takeaways

  1. Insights UI ≠ export proof—file sample on disk (O5).
  2. Corporate VPN MITM needs CA pin or offline batch (O4)—default trust fails.
  3. Unreal SKUs use store About privacy crosswalk—no UGS dashboard (O5).
  4. Case study owns recovery narrative; 274 owns BUILD_RECEIPT promotion.
  5. Lesson 260 = Unity UGS cousin—file both for multi-engine diligence.
  6. Guide #36 preflight — ninety-second O1–O6 gate before this lesson.
  7. Q4 diligence blog bundles into 07-observability/ annex.
  8. 20 free telemetry tools — OTLP collector + curl probe bookmarks.
  9. November capstone 276 wires 266–275 including this row.
  10. Help #22 — fix lane for OTLP proxy block during diligence week.

Common mistakes

  • Assuming Lesson 260 covers Unreal Insights export.
  • Filing case study narrative without unreal_otlp_diligence_receipt_v1.json.
  • Empty 07-observability/offline_traces/ when otlp_mode: offline_batch.
  • Merging Unreal and Unity OTLP schemas into one JSON blob.
  • Privacy URL 404 on store About while claiming telemetry GREEN.
  • Promoting diligence_telemetry_ok before child unreal_otlp_diligence_ok.

Troubleshooting

Symptom Lane
OTLP certificate verify failed O4 CA pin or switch to offline batch
Insights trace missing on packaged build O1 plugin + trace channels
Partner zip has empty trace folder O5 export redacted sample
Unity receipt GREEN, Unreal RED File separate schemas per SKU
Privacy HEAD 404 Fix hosting before O6 promotion
Probe HTTP 000 / timeout Log otlp_probe_fail.log; pair case study D2

Mini exercise (50 minutes)

  1. Run 60s golden-path Insights trace on fest build_label (O1).
  2. Document OTLP endpoint; run curl probe from VPN path (O2).
  3. File proxy_policy_table.md with proxy_required: true (O3).
  4. Export offline batch or pin corp CA and re-probe (O4).
  5. Verify privacy URL HEAD + redacted sample on disk (O5).
  6. File unreal_otlp_diligence_receipt_v1.json and promote BUILD_RECEIPT for Thursday review.

Continuity — November 2026 fest close-out + playtest triage (266–276)

Lesson Receipt focus
273 Loudness spot before Whisper
274 (this) Unreal OTLP corporate proxy diligence
275 FMOD menu snapshot spot

Previous: Lesson 273 — Audacity loudness spot Whisper receipt
Next: Lesson 275 — FMOD playtest menu snapshot spot receipt

FAQ

Same as Guide #36?
Guide = ninety-second O1–O6 preflight; 274 = BUILD_RECEIPT unreal_otlp_diligence_ok column + promotion jq.

Same as Unreal case study?
Case study owns D1–D3 recovery timeline; 274 owns receipt culture on BUILD_RECEIPT.

Same as Lesson 260?
260 = Unity UGS ugs_otlp_diligence_receipt_v1; 274 = Unreal unreal_otlp_diligence_receipt_v1—cousin lanes, separate columns.

Can we use offline batch forever?
Diligence week yes (O4 pass); document live_resume_date when corporate CA arrives.

Does unreal_otlp_diligence_ok replace crash receipts?
No—independent columns under 07-observability/ annex.

Related GamineAI reads


Sign-off: Prove Insights trace on disk, document proxy policy, file unreal_otlp_diligence_receipt_v1.json, promote unreal_otlp_diligence_ok on BUILD_RECEIPT—then reference the row in diligence annexes.