///|
fn main {
  try {
    // Materials: instrument percentages -> balance scores -> inverse audit.
    let materials = @coda.dataset(
      ["sand", "silt", "clay"],
      ["lot1", "lot2", "lot3", "lot4"],
      [
        [60.0, 30.0, 10.0],
        [55.0, 30.0, 15.0],
        [10.0, 30.0, 60.0],
        [15.0, 35.0, 50.0],
      ],
    )
    let b = @coda.sbp_basis([[1, 1, -1], [1, -1, 0]])
    let coordinates = materials.ilr_rows(b)
    let restored = @coda.ilr_inverse(coordinates[0], b)
    assert_true(@coda.distance(restored, materials.rows()[0]) < 1.0e-9)
    println("materials: balance/inverse audit passed")
    // Analytics: named mixture matrix -> PCA -> reconstruction and clustering.
    let model = @coda.pca(materials, 2)
    let rebuilt = model.reconstruct(model.transform(materials))
    assert_true(@coda.distance(rebuilt[1], materials.rows()[1]) < 1.0e-9)
    let clusters = @coda.kmeans(materials, 2)
    assert_true(clusters.converged())
    assert_eq(clusters.assignments()[0], clusters.assignments()[1])
    assert_eq(clusters.assignments()[2], clusters.assignments()[3])
    println("analytics: PCA reconstruction and clustering passed")
    // Telemetry: train on resource shares -> score separate named observations.
    let baseline = @coda.dataset(["cpu", "io", "idle"], ["t1", "t2", "t3"], [
      [20.0, 30.0, 50.0],
      [21.0, 29.0, 50.0],
      [19.0, 31.0, 50.0],
    ])
    let incoming = @coda.dataset(["cpu", "io", "idle"], ["normal", "shift"], [
      [20.0, 30.0, 50.0],
      [80.0, 10.0, 10.0],
    ])
    let detector = @coda.gaussian(baseline, 0.01)
    let scores = detector.squared_mahalanobis(incoming)
    assert_true(scores[1] > scores[0])
    assert_eq(detector.rank(incoming)[0], 1)
    println("telemetry: held-out ILR scoring passed")
  } catch {
    e => {
      println("workflow failed: \{e}")
      panic()
    }
  }
}