{
  "format": "vercy-enterprise-profile-fixtures/v1",
  "profileName": "Enterprise Data Pipeline and Lineage",
  "cases": [
    {"id":"two-runs","kind":"positive","input":"R1 pins P v2.1, A@s41, B@s17 and code c9; R2 pins A@s42, B@s17 and the same definition.","expect":"Runs, input states, outputs and lineage assertions remain independently addressable."},
    {"id":"retry-preserved","kind":"positive","input":"R2 task attempt 1 fails and attempt 2 succeeds under one start-pinned manifest.","expect":"Both attempts remain immutable children of R2; the retry neither replaces the manifest nor mints a new run."},
    {"id":"manual-correction","kind":"positive","input":"A WM-XCT-012 Activity changes D@v8 into distinct snapshot D@v9 with actor, time, ticket/patch evidence and a WM-DAT-006 context fragment.","expect":"The activity and propagated manual dependency are recorded without inventing a pipeline run, manifest aggregate or mutation of D@v8."},
    {"id":"opaque-input","kind":"positive","input":"Vendor input C has no accessible upstream lineage.","expect":"C remains a boundary node with unresolved ancestry and reduced confidence."},
    {"id":"name-match-derivation","kind":"negative","input":"Two columns with the same name are asserted as directly derived without evidence.","expect":"The direct edge is rejected; name matching may only be low-confidence inferred evidence."},
    {"id":"missing-means-none","kind":"negative","input":"No stored edge is interpreted as proof that no dependency exists.","expect":"The inference is rejected outside an explicit closed-world perimeter."},
    {"id":"run-success-quality","kind":"negative","input":"A successful run is treated as proof that its output passed quality and publication gates.","expect":"The inference is rejected because execution, quality, publication and acceptance are separate assertions."},
    {"id":"shared-logic-mastership","kind":"negative","input":"Two pipelines reuse the same SQL digest and therefore treat it as a Transformation aggregate.","expect":"The aggregate inference is rejected; shared content-addressed payload is not mastership."},
    {"id":"failed-durable-output","kind":"positive","input":"Failed attempt A1 leaves a durable partial output before A2 succeeds.","expect":"The partial output has its own external snapshot identity and assertions; it is not silently merged into A2."},
    {"id":"orphan-assertion","kind":"negative","input":"A lineage assertion has endpoints but no producing task, attempt or evidenced activity.","expect":"The assertion is rejected as orphaned even though its record would otherwise be addressable."}
  ]
}
