Welllog POC Operator Manual

Source: docs/operations/WELLLOG_POC_OPERATOR_MANUAL.md

Manual Index Client UI

Well-Log POC Operator Manual

Purpose

This manual describes how to run the new well-log POC workflow end-to-end:

  1. Normalize legacy LAS logs.
  2. Run deterministic pay interpretation.
  3. Classify/rank bypassed-pay candidates.
  4. Read QC cards, status packs, and portfolio summary.

Prerequisites

Auth Header

All calls below use a proxy-subject header in this POC:


H='x-proxy-subject: admin'

1) Queue Well-Log Normalization


curl -s -X POST "http://localhost:8082/well-logs/jobs/normalize" \
  -H "$H" -H "Content-Type: application/json" \
  -d '{
    "project_id": "demo_tenant",
    "object_key": "demo_tenant/raw/<upload_id>/Legacy-17.las",
    "well_id": "Legacy-17",
    "file_format": "las",
    "kb_elevation_m": 120.0,
    "resample_step_m": 0.15,
    "deviation_survey": [
      {"md": 1000.0, "inclination_deg": 0.0, "azimuth_deg": 0.0},
      {"md": 1300.0, "inclination_deg": 8.5, "azimuth_deg": 120.0}
    ]
  }'

Save task_id from response.

2) Poll Job Status


curl -s "http://localhost:8082/jobs/status?task_id=<normalize_task_id>" -H "$H"

Wait for state = SUCCESS.

3) Queue Interpretation


curl -s -X POST "http://localhost:8082/well-logs/jobs/interpret" \
  -H "$H" -H "Content-Type: application/json" \
  -d '{
    "project_id": "demo_tenant",
    "well_id": "Legacy-17",
    "cutoffs": {
      "vsh_max": 0.35,
      "phie_min": 0.08,
      "rt_min_ohm_m": 10.0,
      "net_thickness_min_m": 1.0
    },
    "formula_config": {
      "rho_matrix": 2.65,
      "rho_fluid": 1.0
    }
  }'

Poll status again via /jobs/status.

4) Queue Bypassed-Pay Classification


curl -s -X POST "http://localhost:8082/well-logs/jobs/bypassed-pay" \
  -H "$H" -H "Content-Type: application/json" \
  -d '{
    "project_id": "demo_tenant",
    "well_id": "Legacy-17",
    "completion_intervals": [
      {"top_tvdss_m": 2410.0, "base_tvdss_m": 2411.5, "perforated": true, "tested": true}
    ]
  }'

Poll status via /jobs/status.

5) Retrieve Well QC Card


curl -s "http://localhost:8082/projects/demo_tenant/wells/Legacy-17/qc-card" -H "$H"

6) Retrieve Well Status Pack


curl -s "http://localhost:8082/projects/demo_tenant/wells/Legacy-17/status-pack" -H "$H"

Status pack includes:

7) Retrieve Portfolio Bypassed-Pay Summary


curl -s "http://localhost:8082/projects/demo_tenant/portfolio/bypassed-pay-summary?limit=100" -H "$H"

Operational Notes

Real LAZ End-to-End Workflow Test Script

You can run a complete upload/list/ingest/metadata/export workflow test with real files:


python3 scripts/dev/run_real_laz_workflow.py \
  --output docs/operations/WORKFLOW_TEST_REAL_LAZ_RESULTS.json \
  "/absolute/path/file1.laz" \
  "/absolute/path/file2.laz"

This script writes a JSON report with: