VigilSIMULATED

← Dashboard

inc_0003 SIMULATED

duplicate_charge (rule SUSPECT_DUP), related ch_0001, ch_0002
Scenario D3 · outcome SKIPPED NO_ACTION_NEEDED · 4 steps · 2026-10-10T10:03:00Z to 2026-10-10T10:03:00Z

Gate verdicts

StepVerdictCodeEntry
No gate verdicts (nothing was proposed that needed the gate).

Verification

Independent check by code: passed

Timeline (decision chain)

SeqTimeKindSummary
#282026-10-10T10:03:00ZINCIDENT_OPENED opened duplicate_charge by rule SUSPECT_DUP, related ch_0001, ch_0002
entry JSON
{
  "body": {
    "detector_rule": "SUSPECT_DUP",
    "related": [
      "ch_0001",
      "ch_0002"
    ],
    "type": "duplicate_charge"
  },
  "entry_hash": "sha256:dcd733e95e7ab84999d826e51c9e53631014c9f1fc4db09147c830f738d0f3c5",
  "kind": "INCIDENT_OPENED",
  "prev_hash": "sha256:5aac519d8800c5d33db2e50e97a1d6ac8fb4afeb87709ede5ca095a76a6b4ea7",
  "seq": 28,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#292026-10-10T10:03:00ZDECISION INVESTIGATE get_incident: Read the incident record first.
entry JSON
{
  "body": {
    "args": {
      "incident_id": "inc_0003"
    },
    "decision": "INVESTIGATE",
    "rationale": "Read the incident record first.",
    "step": 1,
    "tool": "get_incident"
  },
  "entry_hash": "sha256:17b83d6847741fedc9a97683e3f21c3ce8f3f9ecb42a8cc6a7b15b9f3117433b",
  "kind": "DECISION",
  "prev_hash": "sha256:dcd733e95e7ab84999d826e51c9e53631014c9f1fc4db09147c830f738d0f3c5",
  "seq": 29,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#302026-10-10T10:03:00ZOBSERVATION read get_incident: incident inc_0003 duplicate_charge related ch_0001,ch_0002 status INVESTIGATING
entry JSON
{
  "body": {
    "args": {
      "incident_id": "inc_0003"
    },
    "injection_suspected": false,
    "result_sha256": "sha256:a31f6b73905beb9254117427026b05c7fb7da1135c6bd75e66923a37255744b6",
    "result_summary": "incident inc_0003 duplicate_charge related ch_0001,ch_0002 status INVESTIGATING",
    "step": 1,
    "tool": "get_incident",
    "untrusted_fields": []
  },
  "entry_hash": "sha256:b67890c4717949528cf366430261a0b9e1bb627f7c5bbc7ef3c1d304dfd75107",
  "kind": "OBSERVATION",
  "prev_hash": "sha256:17b83d6847741fedc9a97683e3f21c3ce8f3f9ecb42a8cc6a7b15b9f3117433b",
  "seq": 30,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#312026-10-10T10:03:00ZDECISION INVESTIGATE get_provider_charge: Read charge ch_0001 at the provider.
entry JSON
{
  "body": {
    "args": {
      "charge_id": "ch_0001"
    },
    "decision": "INVESTIGATE",
    "rationale": "Read charge ch_0001 at the provider.",
    "step": 2,
    "tool": "get_provider_charge"
  },
  "entry_hash": "sha256:f71decf4b0969e00978920c67e9b4a797f1844bf2f8fbf53892e92850e85b1f9",
  "kind": "DECISION",
  "prev_hash": "sha256:b67890c4717949528cf366430261a0b9e1bb627f7c5bbc7ef3c1d304dfd75107",
  "seq": 31,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#322026-10-10T10:03:00ZOBSERVATION read get_provider_charge: charge ch_0001 succeeded 2500000 NGN order ord_0001 customer cust_01 at 2026-10-10T10:02:00Z
entry JSON
{
  "body": {
    "args": {
      "charge_id": "ch_0001"
    },
    "injection_suspected": false,
    "result_sha256": "sha256:a42e58ffb4a02afbedf16c873c4a1c79cd37061b5dd0f536b7cf8295d799b816",
    "result_summary": "charge ch_0001 succeeded 2500000 NGN order ord_0001 customer cust_01 at 2026-10-10T10:02:00Z",
    "step": 2,
    "tool": "get_provider_charge",
    "untrusted_fields": []
  },
  "entry_hash": "sha256:d63897c646196a89ff3e9b590737f1edc442b82bedcc16163b207cc85adf06af",
  "kind": "OBSERVATION",
  "prev_hash": "sha256:f71decf4b0969e00978920c67e9b4a797f1844bf2f8fbf53892e92850e85b1f9",
  "seq": 32,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#332026-10-10T10:03:00ZDECISION INVESTIGATE get_provider_charge: Read charge ch_0002 at the provider.
entry JSON
{
  "body": {
    "args": {
      "charge_id": "ch_0002"
    },
    "decision": "INVESTIGATE",
    "rationale": "Read charge ch_0002 at the provider.",
    "step": 3,
    "tool": "get_provider_charge"
  },
  "entry_hash": "sha256:721bc7d6fbf849c9c9ef40116130c8852205fcf08eabff6c1f3c8d01436b2893",
  "kind": "DECISION",
  "prev_hash": "sha256:d63897c646196a89ff3e9b590737f1edc442b82bedcc16163b207cc85adf06af",
  "seq": 33,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#342026-10-10T10:03:00ZOBSERVATION read get_provider_charge: charge ch_0002 succeeded 2500000 NGN order ord_0002 customer cust_01 at 2026-10-10T10:02:40Z
entry JSON
{
  "body": {
    "args": {
      "charge_id": "ch_0002"
    },
    "injection_suspected": false,
    "result_sha256": "sha256:230b039a1c21b6c9148a6f729ae0e0624e86d0d3359f3d99a962f7a3c147f207",
    "result_summary": "charge ch_0002 succeeded 2500000 NGN order ord_0002 customer cust_01 at 2026-10-10T10:02:40Z",
    "step": 3,
    "tool": "get_provider_charge",
    "untrusted_fields": []
  },
  "entry_hash": "sha256:f9c83087935b4dc8cd4d91bbbb67a715b109b33bd9a83fd14668620ac92d6ade",
  "kind": "OBSERVATION",
  "prev_hash": "sha256:721bc7d6fbf849c9c9ef40116130c8852205fcf08eabff6c1f3c8d01436b2893",
  "seq": 34,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#352026-10-10T10:03:00ZDECISION SKIP: The two charges do not form a duplicate.
entry JSON
{
  "body": {
    "args": {},
    "decision": "SKIP",
    "rationale": "The two charges do not form a duplicate.",
    "step": 4,
    "tool": null
  },
  "entry_hash": "sha256:ce4651a2306e3b8202d7b12f87665f51c4227dac926698bdfe77a3ad0702a3a8",
  "kind": "DECISION",
  "prev_hash": "sha256:f9c83087935b4dc8cd4d91bbbb67a715b109b33bd9a83fd14668620ac92d6ade",
  "seq": 35,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#362026-10-10T10:03:00ZVERIFICATION verification passed (1/1 checks)
entry JSON
{
  "body": {
    "checks": [
      {
        "check": "no_action_needed",
        "detail": "condition_still_true=false",
        "passed": true
      }
    ],
    "ok": true,
    "step": 4
  },
  "entry_hash": "sha256:df94d0e5d669e74bed02315f09ad2ece1b5d8bdea23ea8aebb8088d34623c8c0",
  "kind": "VERIFICATION",
  "prev_hash": "sha256:ce4651a2306e3b8202d7b12f87665f51c4227dac926698bdfe77a3ad0702a3a8",
  "seq": 36,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}
#372026-10-10T10:03:00ZOUTCOME SKIPPED NO_ACTION_NEEDED: Verifier confirmed no action is needed.
entry JSON
{
  "body": {
    "outcome": "SKIPPED",
    "reason_code": "NO_ACTION_NEEDED",
    "summary": "Verifier confirmed no action is needed."
  },
  "entry_hash": "sha256:58a61f12b136fa6ce21f318685b7ffe1a57ad98cda807faa73a6808f0b54755b",
  "kind": "OUTCOME",
  "prev_hash": "sha256:df94d0e5d669e74bed02315f09ad2ece1b5d8bdea23ea8aebb8088d34623c8c0",
  "seq": 37,
  "trace_id": "offline-3",
  "ts": "2026-10-10T10:03:00Z"
}

Receipt

Raw receipt JSON
{
  "digest": "sha256:113c88c29c09f2bfc7b6148ccef795bff894d391334bb13716683ed13d50bfeb",
  "payload": {
    "actions": [],
    "closed_at": "2026-10-10T10:03:00Z",
    "currency": "NGN",
    "entire_checkpoint": null,
    "entries": [
      {
        "hash": "sha256:dcd733e95e7ab84999d826e51c9e53631014c9f1fc4db09147c830f738d0f3c5",
        "seq": 28
      },
      {
        "hash": "sha256:17b83d6847741fedc9a97683e3f21c3ce8f3f9ecb42a8cc6a7b15b9f3117433b",
        "seq": 29
      },
      {
        "hash": "sha256:b67890c4717949528cf366430261a0b9e1bb627f7c5bbc7ef3c1d304dfd75107",
        "seq": 30
      },
      {
        "hash": "sha256:f71decf4b0969e00978920c67e9b4a797f1844bf2f8fbf53892e92850e85b1f9",
        "seq": 31
      },
      {
        "hash": "sha256:d63897c646196a89ff3e9b590737f1edc442b82bedcc16163b207cc85adf06af",
        "seq": 32
      },
      {
        "hash": "sha256:721bc7d6fbf849c9c9ef40116130c8852205fcf08eabff6c1f3c8d01436b2893",
        "seq": 33
      },
      {
        "hash": "sha256:f9c83087935b4dc8cd4d91bbbb67a715b109b33bd9a83fd14668620ac92d6ade",
        "seq": 34
      },
      {
        "hash": "sha256:ce4651a2306e3b8202d7b12f87665f51c4227dac926698bdfe77a3ad0702a3a8",
        "seq": 35
      },
      {
        "hash": "sha256:df94d0e5d669e74bed02315f09ad2ece1b5d8bdea23ea8aebb8088d34623c8c0",
        "seq": 36
      },
      {
        "hash": "sha256:58a61f12b136fa6ce21f318685b7ffe1a57ad98cda807faa73a6808f0b54755b",
        "seq": 37
      }
    ],
    "git_sha": "35707c7",
    "incident_id": "inc_0003",
    "mode": "simulated",
    "neatlogs_trace_id": "offline-3",
    "opened_at": "2026-10-10T10:03:00Z",
    "outcome": "SKIPPED",
    "policy_sha256": null,
    "reason_code": "NO_ACTION_NEEDED",
    "run_label": "demo",
    "scenario_id": "D3",
    "type": "duplicate_charge",
    "verification": {
      "checks": [
        {
          "check": "no_action_needed",
          "detail": "condition_still_true=false",
          "passed": true
        }
      ],
      "ok": true
    }
  },
  "receipt_version": 1
}