Cloud apps

WBS Cloud guide

WBS Cloud is a serverless port of the WBS platform's ingest pipeline: uploads flow through staged runs, every artifact records its provenance, and periodic jobs are editable at runtime.

Uploading a source

  1. Open WBS Cloud — no account needed for the console itself.
  2. Upload a file: CSV, TSV, JSON, TXT, or Markdown, up to 2 MB (text-based sources only — scanned books belong in the Chat2* consoles).
  3. A run starts automatically; open it to watch stage progress.

The four stages

Stage What it does
extract Detect format, count rows/lines, capture headers
chunk Split text into ~800-char chunks on heading/page boundaries
structure Build the WBS tree: header mapping, category roots, codes, quantities, units
lineage Write the provenance graph: upload → stages → artifacts

Header mapping understands English and Vietnamese aliases — mã / mã vật tư / STT (code), tên công tác / mô tả (name), khối lượng / KL (qty), đơn vị / ĐVT (unit), nhóm / bộ phận (category). Quantities parse 12.5, 1.234,56, 1,234.56, and (50) (accounting negative); units normalize (m2 → m², tấn → ton, bộ stays bộ).

Reading a run

  • Stages show status, timing, and detail (row counts, headers, errors).
  • Items is the built WBS tree: code, name, level, parent, qty, unit.
  • Lineage graphs how every artifact was produced — the answer to "where did this number come from?".
  • Re-run reprocesses the same upload (stages are idempotent) — useful after a mapping fix upstream.

Job schedules

Periodic jobs live on the schedules page:

  • pipeline-tick — advances queued runs every 5 minutes.
  • cleanup-nightly — prunes old uploads and runs (7-day floor).

Schedules can be paused, resumed, and re-cadenced at runtime — no redeploys. On deployments with WBS_ADMIN_SECRET set, mutations need the admin secret.

Graph projection (operators)

When a Neo4j AuraDB instance is configured (NEO4J_URI), every run's lineage is mirrored into the graph and queryable with Cypher. Mirroring is fail-soft: Postgres remains the source of truth.