OCI Functions starter patterns

oci-fn-csv-quality-gate is the clearest example of a starter validation repo making the failure path reusable.

This guide exists because the repo shows a boundary-first starter pattern that is useful in both directions: the passing case proves the contract, and the failing case makes the repair path inspectable instead of implicit.

Why this repo carries the track

A short site-side guide before the proof layer on GitHub.

What it proves

A starter validation repo gets stronger when it shows both the accepted schema edge and the structured failure output a downstream workflow can actually use.

Why it matters in this track

It extends the starter-pattern standard beyond routing: the boundary is not only where valid data passes, but where bad input is rejected in a visible and repairable shape.

What survives the first run

The validation result is the artifact. It gives you a stable response shape that later alerting, quarantine, or retry logic can consume.

What the first useful success looks like

oci-fn-csv-quality-gate as a first useful success, not only a demo.

The first useful run is often the failing case. When the response tells you exactly what broke and why, the starter repo has already made the boundary reusable instead of only demonstrative.

Use this when a starter pattern should clarify the validation contract before you add notifications, quarantine handling, or a deeper ingestion pipeline.

Quick run

python3 func.py sample_missing_currency.csv --schema-file schema.json

Sample output shape

{
  "valid": false,
  "reason": "missing_required_columns",
  "missing_columns": [
    "currency"
  ],
  "unexpected_columns": [],
  "row_count": 1
}

Where it routes next

OCI Function pattern for validating inbound CSVs against a required schema.