feat(omnl): HYBX-BATCH-001 package, rail scripts, regulatory docs, CI
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled

- Add OMNL/CBK Indonesia submission and audit binder docs, manifests, attestations
- Add scripts/omnl transaction-package pipeline, LEI/PvP helpers, jq/lib fixtures
- Update entity master data, MASTER_INDEX, TODOS, dbis-rail docs and rulebook
- Add proof_package/regulatory skeleton and transaction package zip + snapshot JSON
- validate-omnl-rail workflow, forge-verification-proxy tweak, .gitignore hygiene
- Bump smom-dbis-138 (cronos verify docs/scripts) and explorer-monorepo (SPA + env report)

Made-with: Cursor
This commit is contained in:
defiQUG
2026-03-24 18:11:36 -07:00
parent bfb8b321c0
commit 95522d3bca
64 changed files with 4048 additions and 75 deletions

View File

@@ -1,8 +1,8 @@
# TODOs — Consolidated Task List
**Last Updated:** 2026-03-06
**Last Updated:** 2026-03-24
**Last verification run:** 2026-03-06 (full + optional) — completable ✅, validate-config ✅, check-contracts 59/59 ✅, PMM pool balances ✅ (Pool 1: 2M/2M), preflight ✅, token-aggregation build ✅, deployer-gas dry-run ✅, fund-ccip dry-run ✅, test-all-contracts (unit) 457 passed ✅, E2E flow dry-run ✅, E2E routing ✅ (37 domains, 0 failed), operator script --skip-backup ✅ (NPMplus RPC fix + Blockscout verify). **Mint + add-liquidity** run 2026-03-06: 1M each minted, 500k each added; V2 done. **Next-steps check:** See [NEXT_STEPS_LIST.md](NEXT_STEPS_LIST.md) completion check; B.1/B.2/B.3 blocked (CRO/WEMIX/LINK).
**Purpose:** Single checklist of all next steps and remaining tasks. **Full execution order (multiple routes + liquidity):** [EXECUTION_CHECKLIST_MULTIPLE_ROUTES_AND_LIQUIDITY.md](EXECUTION_CHECKLIST_MULTIPLE_ROUTES_AND_LIQUIDITY.md). **Additional paths (registry, LiFi/Jumper, Etherlink, 13×13):** [ADDITIONAL_PATHS_AND_EXTENSIONS.md](../04-configuration/ADDITIONAL_PATHS_AND_EXTENSIONS.md). **Dotenv/markdown audit (required info, gaps, recommendations):** [DOTENV_AND_MARKDOWN_AUDIT_GAPS_AND_RECOMMENDATIONS.md](DOTENV_AND_MARKDOWN_AUDIT_GAPS_AND_RECOMMENDATIONS.md). Source of truth for the full list: [NEXT_STEPS_AND_REMAINING_TODOS.md](NEXT_STEPS_AND_REMAINING_TODOS.md). **Token deployments remaining:** [TOKEN_CONTRACT_DEPLOYMENTS_REMAINING.md](../11-references/TOKEN_CONTRACT_DEPLOYMENTS_REMAINING.md). **Routing / swap / cross-chain:** [TASKS_ROUTING_SWAP_CROSSCHAIN.md](TASKS_ROUTING_SWAP_CROSSCHAIN.md) (A1A5, B1B8, C1C8, D1D3, E1E2). **Verified list (LAN/Operator):** [REQUIRED_FIXES_GAPS_AND_DEPLOYMENTS_LIST.md](REQUIRED_FIXES_GAPS_AND_DEPLOYMENTS_LIST.md) — run bash/curl to confirm; doc updated 2026-03-03.
**Purpose:** Single checklist of all next steps and remaining tasks. **Indonesia / HYBX-BATCH-001 zip (4.995 ship-ready):** [HYBX-BATCH-001 — transaction package ship-ready](#hybx-batch-001--transaction-package-ship-ready-4995) below. **Full execution order (multiple routes + liquidity):** [EXECUTION_CHECKLIST_MULTIPLE_ROUTES_AND_LIQUIDITY.md](EXECUTION_CHECKLIST_MULTIPLE_ROUTES_AND_LIQUIDITY.md). **Additional paths (registry, LiFi/Jumper, Etherlink, 13×13):** [ADDITIONAL_PATHS_AND_EXTENSIONS.md](../04-configuration/ADDITIONAL_PATHS_AND_EXTENSIONS.md). **Dotenv/markdown audit (required info, gaps, recommendations):** [DOTENV_AND_MARKDOWN_AUDIT_GAPS_AND_RECOMMENDATIONS.md](DOTENV_AND_MARKDOWN_AUDIT_GAPS_AND_RECOMMENDATIONS.md). Source of truth for the full list: [NEXT_STEPS_AND_REMAINING_TODOS.md](NEXT_STEPS_AND_REMAINING_TODOS.md). **Token deployments remaining:** [TOKEN_CONTRACT_DEPLOYMENTS_REMAINING.md](../11-references/TOKEN_CONTRACT_DEPLOYMENTS_REMAINING.md). **Routing / swap / cross-chain:** [TASKS_ROUTING_SWAP_CROSSCHAIN.md](TASKS_ROUTING_SWAP_CROSSCHAIN.md) (A1A5, B1B8, C1C8, D1D3, E1E2). **Verified list (LAN/Operator):** [REQUIRED_FIXES_GAPS_AND_DEPLOYMENTS_LIST.md](REQUIRED_FIXES_GAPS_AND_DEPLOYMENTS_LIST.md) — run bash/curl to confirm; doc updated 2026-03-03.
**Quick run:** From anywhere (no LAN): `./scripts/run-completable-tasks-from-anywhere.sh`. Before Chain 138 deploy: `./scripts/deployment/preflight-chain138-deploy.sh [--cost]`. **Chain 138 next steps (all in one):** `./scripts/deployment/run-all-next-steps-chain138.sh [--dry-run] [--skip-mirror] [--skip-register-gru] [--skip-verify]` — preflight → mirror+pool → register c* as GRU → verify. From LAN with secrets: `./scripts/run-all-operator-tasks-from-lan.sh [--deploy] [--create-vms]`. **E2E flows (full parallel):** `./scripts/run-e2e-flow-tasks-full-parallel.sh [--dry-run]` — [TASKS_TO_INCREASE_ALL_E2E_FLOWS](TASKS_TO_INCREASE_ALL_E2E_FLOWS.md).
@@ -29,6 +29,40 @@
---
## HYBX-BATCH-001 — transaction package ship-ready (4.995)
**Goal:** `transaction-package-HYBX-BATCH-001.zip` passes `bash scripts/omnl/check-transaction-package-4995-readiness.sh --strict <unzipped-root>` and `python3 scripts/omnl/verify-transaction-package-commitment.py <unzipped-root>`.
**Standard:** [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](../04-configuration/mifos-omnl-central-bank/INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md). **Build:** `scripts/omnl/build-transaction-package-zip.sh` (optional `HYBX_LEDGER_FILE` for production ledger). **Live snapshot:** `scripts/omnl/omnl-transaction-package-snapshot.sh`.
### Strict gate (automated checklist)
| ID | Task | Notes |
|----|------|--------|
| **H1** | **Live OMNL snapshot** | Run `omnl-transaction-package-snapshot.sh` with Fineract credentials; `omnl_transaction_package_snapshot.json` must have `snapshotMeta.source == "live-api"`. Rebuild zip so Volume A Section 2 contains this file. |
| **H2** | **Snapshot freshness** | Per policy: `generatedAtUtc` within staleness window (standard default ≤ 72h before transmission). Refresh snapshot + rebuild if stale. |
| **H3** | **ISO 20022 vault manifest** | `Appendix/ISO20022_VAULT_MANIFEST_HYBX-BATCH-001.json`: replace all `REPLACE_*` placeholders (e.g. `REPLACE_WITH_VAULT_OBJECT_SHA256`) with real `sha256` / `storageLocation` / `messageId`; ≥1 message; align Section 4 index with ids. |
| **H4** | **Institutional attestation JSON** | Package must include `Appendix/INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json` (from `.EXAMPLE`, completed). `targetScorePerCategory` and each of 12 `categoryScores` ≥ 4.995; `certifiedBy` ≥ 2; finalize `legalFinality.counselMemoPdfSha256` and `independentAudit.reportPdfSha256` (no `REPLACE_`). Build picks up `proof_package/regulatory/…` or set `PACKAGE_4995_ATTESTATION_JSON`. |
| **H5** | **Regulatory references annex** | `Appendix/INDONESIA_REGULATORY_REFERENCES_ANNEX.md`: remove every `INSTITUTION: insert`; each row has instrument id + URL or internal doc id. |
| **H6** | **Re-verify** | Unzip rebuilt package; run strict script + commitment verify (commands in Validation commands below). |
### Standard categories (complete even when script is green)
| ID | Task | Notes |
|----|------|--------|
| **H7** | **Master proof manifest** | `Appendix/INDONESIA_MASTER_PROOF_MANIFEST.md`: every sections 115 primary artifact path exists in zip; no TODO/TBD on mandatory index lines. |
| **H8** | **Ledger provenance** | If 215k-row file is system-of-record, document in attestation (`provenance.hybxLedgerSource` / equivalent); build with `HYBX_LEDGER_FILE` when binding production extract. |
| **H9** | **AML / PPATK schedule** | `Appendix/AML_PPATK_EVIDENCE_SCHEDULE_HYBX-BATCH-001.md`: complete through section 6; sanctions / PEP / STR-SAR done or documented nil with approver name/date. |
| **H10** | **BI reporting crosswalk** | `Appendix/BI_REPORTING_CROSSWALK_HYBX-BATCH-001.md`: no blank cells (instrument id, obligation, frequency, owner). |
| **H11** | **MoF memo** | `Appendix/MOF_ALIGNMENT_MEMO_HYBX-BATCH-001.md`: signed with role/title + date; hash/e-sign per process. |
| **H12** | **OJK prudential bridge** | `Appendix/OJK_PRUDENTIAL_BRIDGE_HYBX-BATCH-001.md`: mappings filled; N/A only where justified. |
| **H13** | **Legal finality** | Meet `LEGAL_FINALITY_COUNSEL_MEMO_REQUIREMENTS_HYBX-BATCH-001.md`; counsel memo PDF or hash in SUBREG; ties to H4. |
| **H14** | **Independent audit (Section 15)** | Meet `INDEPENDENT_AUDIT_4_995_REQUIREMENTS_HYBX-BATCH-001.md`; report hash in manifest/attestation; ties to H4. |
| **H15** | **TSA / QES (if policy requires)** | Run `apply-qes-tsa-to-staging.sh` with real `TSA_URL` / `QES_SIGN_*` before zipping, or document waiver in attestation. |
| **H16** | **Final archive** | One clean `build-transaction-package-zip.sh` after all sources final; ship the exact tree that passed H6. |
---
## First (before any Chain 138 deploy)
Verified 2026-03-06: preflight ✅, 0a balance check ✅ (script runs; WETH/cUSDT/cUSDC = 0), config validation ✅, on-chain 59/59 ✅. Re-run 0a/0/0c before each deploy.
@@ -237,6 +271,8 @@ Cron: `schedule-daily-weekly-cron.sh --install`; NPMplus backup: `schedule-npmpl
| On-chain (Chain 138) | `./scripts/verify/check-contracts-on-chain-138.sh` |
| E2E routing | `./scripts/verify/verify-end-to-end-routing.sh` |
| **Test all contracts (before deploy)** | `./scripts/deployment/test-all-contracts-before-deploy.sh` — use `--dry-run` / `--no-match "Fork|Mainnet|Integration|e2e"` / `--alltra` |
| **HYBX package commitment** | `python3 scripts/omnl/verify-transaction-package-commitment.py <unzipped-root>` | After unzip |
| **HYBX package 4.995 strict** | `bash scripts/omnl/check-transaction-package-4995-readiness.sh --strict <unzipped-root>` | All H1H6 must pass |
---
@@ -277,4 +313,5 @@ Run 1, 4, 5, 6 in parallel from anywhere; 2, 3, 7, 8, 9 when LAN/RPC and secrets
- [NEXT_STEPS_FOR_YOU.md](NEXT_STEPS_FOR_YOU.md) — your next actions
- [NEXT_STEPS_OPERATOR.md](NEXT_STEPS_OPERATOR.md) — operator runbook
- [TODO_TASK_LIST_MASTER.md](TODO_TASK_LIST_MASTER.md) — fixes, gas, verification, 1139 index
- [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](../04-configuration/mifos-omnl-central-bank/INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md) — HYBX-BATCH-001 4.995 criteria; [scripts/omnl/README.md](../../scripts/omnl/README.md) — snapshot, zip build, strict check
- [RECOMMENDED_COMPLETION_CHECKLIST.md](../07-ccip/RECOMMENDED_COMPLETION_CHECKLIST.md) — CCIP/mapper checklist

View File

@@ -0,0 +1,49 @@
---
documentId: AML-PPATK-EVIDENCE-HYBX-BATCH-001
settlementRef: HYBX-BATCH-001
beneficiaryOfficeId: 22
targetScore: 4.995
version: "1.0"
---
# AML / PPATK Evidence Schedule — HYBX-BATCH-001
## 1. Risk classification
| Factor | Assessment | Owner | Date |
|--------|------------|-------|------|
| Jurisdiction (beneficiary) | Indonesia | Compliance | |
| Amount | USD 1,000,000,000.00 | Compliance | |
| Product | Cross-border settlement / OMNL ledger | Compliance | |
| Risk rating | **INSTITUTION TO COMPLETE** | MLRO | |
## 2. Sanctions screening
| List / vendor | Scope | Batch ref | Result | Evidence ref (SUBREG) |
|-----------------|-------|-----------|--------|------------------------|
| (e.g. OFAC / UN / local) | Parties + banks | HYBX-BATCH-001 | **COMPLETE** | |
## 3. PEP exposure
| Party | PEP flag | Rationale | Approver |
|-------|----------|-----------|----------|
| (complete) | Y/N | | |
## 4. STR / suspicious reporting
| Jurisdiction | Filed? | Reference or nil justification | Approver + date |
|--------------|--------|----------------------------------|-----------------|
| Indonesia / PPATK | | **No STR** — documented rationale OR **STR ref** | |
## 5. Record retention
Retention period: **≥ 10 years** (or stricter policy). Storage: SUBREG + archive id **\_\_\_\_\_**.
## 6. Certification (required for 4.995)
**I certify §§15 are complete and accurate for HYBX-BATCH-001.**
| Role | Name | Date (UTC) |
|------|------|------------|
| MLRO / Compliance lead | | |
| Second line (if required) | | |

View File

@@ -0,0 +1,43 @@
---
documentId: BANK-KANAYA-OFFICE-RUNBOOK
entity: Bank Kanaya
jurisdiction: Indonesia
omnlOfficeId: 22
externalId: BANK-KANAYA-ID
settlementRef: HYBX-BATCH-001
version: "1.0"
---
# Bank Kanaya — OMNL Office Runbook
## 1. Identity
| Field | Value |
|--------|--------|
| **Office name** | Bank Kanaya (as created in OMNL) |
| **officeId** | **22** (canonical for this programme; confirm with `GET /offices` in your tenant) |
| **externalId** | `BANK-KANAYA-ID` |
| **Script** | `scripts/omnl/omnl-office-create-bank-kanaya.sh` (idempotent; `DRY_RUN=1` first) |
## 2. Settlement context
- **HYBX-BATCH-001:** USD 1,000,000,000.00 multilateral net beneficiary leg for Bank Kanaya on OMNL books.
- **PvP / clearing:** See [PvP_MULTILATERAL_NET_SETTLEMENT_BANK_KANAYA.md](PvP_MULTILATERAL_NET_SETTLEMENT_BANK_KANAYA.md).
## 3. Audit and reconciliation
Use dynamic office id:
```bash
OFFICE_ID=22 bash scripts/omnl/omnl-audit-packet-office20.sh
OFFICE_ID=22 bash scripts/omnl/omnl-monitor-office20-movement.sh
```
Output directories use `audit-office22-*` when `OFFICE_ID=22`.
## 4. Snapshot for regulator package
```bash
OUT_DIR=. bash scripts/omnl/omnl-transaction-package-snapshot.sh
# copies omnl_transaction_package_snapshot.json to repo root or proof_package per your workflow
```

View File

@@ -0,0 +1,23 @@
---
documentId: BI-REPORTING-CROSSWALK-HYBX-BATCH-001
settlementRef: HYBX-BATCH-001
regulator: Bank Indonesia
targetScore: 4.995
version: "1.0"
---
# BI Reporting Crosswalk — HYBX-BATCH-001
**Rule:** No blank cells below for 4.995. Use **N/A** only where a cell is not applicable and cite **why** in the same cell.
| # | Obligation (short name) | Legal / BI instrument id | Frequency | System / form | Owner role | Last submitted (or N/A + why) |
|---|-------------------------|---------------------------|-----------|---------------|------------|--------------------------------|
| 1 | Payment system reporting (if applicable) | | | | | |
| 2 | Cross-border position (if applicable) | | | | | |
| 3 | Other BI report (specify) | | | | | |
**Certification:** Compliance officer confirms table matches **current** BI obligations for Bank Kanaya.
| Name | Title | Date UTC |
|------|-------|----------|
| | | |

View File

@@ -0,0 +1,30 @@
---
documentId: GOVERNANCE-REGULATOR-EXPLAINERS
settlementRef: HYBX-BATCH-001
network: DBIS / OMNL / HYBX
version: "1.0"
---
# Governance, Regulator Explainers, and Legal Framework (Summary)
## 1. Actors
| Actor | Role |
|-------|------|
| **HYBX** | Exchange / liquidity venue (narrative for this batch) |
| **DBIS** | Clearing / netting cycle operator |
| **OMNL** | Settlement ledger (Fineract); M1 liabilities — **LEI** `98450070C57395F6B906` ([lei.info](https://lei.info/98450070C57395F6B906)); **D&O roster:** [OMNL_BANKING_DIRECTORS_AND_LEI.md](OMNL_BANKING_DIRECTORS_AND_LEI.md) |
| **Bank Kanaya** | Beneficiary institution (office 22) |
## 2. Legal framing (template)
Institution counsel documents:
- Contractual settlement finality between participants
- Choice of law and dispute resolution
- Regulatory notifications completed or scheduled
## 3. Technical cross-reference
- [DBIS_RAIL_RULEBOOK_V1.md](../../dbis-rail/DBIS_RAIL_RULEBOOK_V1.md)
- [DBIS_SETTLEMENT_RULEBOOK.md](../../dbis-rail/DBIS_SETTLEMENT_RULEBOOK.md)

View File

@@ -0,0 +1,52 @@
---
documentId: HYBX-BATCH-001-OPERATOR-CHECKLIST
settlementRef: HYBX-BATCH-001
beneficiaryOfficeId: 22
version: "1.0"
---
# HYBX-BATCH-001 — Operator checklist (complete flow)
Run from **repo root** unless noted. Load **`omnl-fineract/.env`** or **`.env`** for API steps.
## A. Fineract / OMNL (Bank Kanaya)
1. [ ] **Create office** (idempotent):
`DRY_RUN=1 bash scripts/omnl/omnl-office-create-bank-kanaya.sh` then run without `DRY_RUN`.
Confirm **`officeId`** (target **22**) matches `OFFICE_ID_KANAYA` for PvP script.
2. [ ] **Resolve GL:** `bash scripts/omnl/resolve_ids.sh` (1410, 2100, 2410).
3. [ ] **PvP clearing JEs:**
`DRY_RUN=1 bash scripts/omnl/omnl-pvp-post-clearing-bank-kanaya.sh` → review → `DRY_RUN=0` with correct `OFFICE_ID_HO` / `OFFICE_ID_KANAYA` / `AMOUNT_MINOR_UNITS`.
Record JE ids in `OMNL_API_PUSH_STATUS.md` / SUBREG.
4. [ ] **Live snapshot (Section 2):**
`OUT_DIR=. bash scripts/omnl/omnl-transaction-package-snapshot.sh`
Confirm `snapshotMeta.source` is **`live-api`**.
## B. Regulatory package (zip)
5. [ ] **Production ledger (optional):** export system-of-record CSV → `HYBX_LEDGER_FILE=/path/to.csv` (control sum must be **1000000000.00** USD unless `ALLOW_LEDGER_CONTROL_MISMATCH=1`).
6. [ ] **Reproducible timestamps (optional):** `EVIDENCE_GENERATED_AT_UTC=2026-03-24T12:00:00Z`.
7. [ ] **TSA/QES (optional):** `TSA_URL=...` and/or `QES_SIGN_CERT` / `QES_SIGN_KEY`; or `APPLY_REAL_QES_TSA=1`.
8. [ ] **Attestation (4.995):** complete `proof_package/regulatory/INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json` from `.EXAMPLE.json`; fill regulatory annex (no `INSTITUTION: insert`); finalize ISO vault SHA-256s.
9. [ ] **Build:**
`bash scripts/omnl/build-transaction-package-zip.sh`
(or `OUT_ZIP=./transaction-package-HYBX-BATCH-001.zip` …)
10. [ ] **Integrity:** unzip →
`python3 scripts/omnl/verify-transaction-package-commitment.py <unzipped-root>`
11. [ ] **Structural gate:**
`bash scripts/omnl/check-transaction-package-4995-readiness.sh <unzipped-root>`
12. [ ] **4.995 strict gate (submission):**
`bash scripts/omnl/check-transaction-package-4995-readiness.sh --strict <unzipped-root>`
## C. Transmission
13. [ ] Complete **`INDONESIA_TRANSMISSION_READINESS_CHECKLIST.md`** (triple-check + encryption + SUBREG hash).
## D. CI (developers)
- `bash scripts/omnl/run-transaction-package-ci-smoke.sh` — fast build + verify + structural check (no Fineract).
## Reference
- [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md)
- [scripts/omnl/README.md](../../../scripts/omnl/README.md)

View File

@@ -0,0 +1,34 @@
---
documentId: INDEPENDENT-AUDIT-4-995-REQ-HYBX-BATCH-001
settlementRef: HYBX-BATCH-001
targetScore: 4.995
version: "1.0"
---
# Independent Audit — 4.995 Requirements (Section 15)
## 1. Acceptable evidence
One of:
- **A.** Agreed-upon procedures (AUP) report from **independent** accounting firm, **or**
- **B.** Limited assurance report on **ledger population + Merkle** + **OMNL snapshot** consistency.
## 2. Scope minimum
- Row count and control sum vs `hybx_batch_001_ledger.csv`
- Merkle root recomputation per Annex B
- `omnl_transaction_package_snapshot.json` **live-api** staleness check
## 3. Manifest
| Field | Value |
|-------|--------|
| Firm name | |
| Report date (UTC) | |
| PDF in zip? Y/N | |
| SHA-256 | |
## 4. 4.995 gate
Firm name + report date + hash must be in attestation JSON `independentAudit` block.

View File

@@ -0,0 +1,31 @@
---
documentId: INDONESIA-AUDIT-COMPLIANCE-STANDARD
settlementRef: HYBX-BATCH-001
standardLabel: audit-proof-triple-checked
version: "1.0"
---
# Audit and Compliance Standard — HYBX Package
## 1. Standard
Packages labelled **audit-proof** must satisfy:
1. **Traceability:** Every exhibit path appears in `audit_manifest.json`.
2. **Integrity:** `HASH_NOTARIZATION_ANCHOR.txt` commitment matches recomputation (exclusions per anchor).
3. **Separation of duties:** Maker-checker on Fineract postings where policy requires.
4. **Retention:** SUBREG + zip + verification logs retained per policy.
## 2. Roles
| Role | Responsibility |
|------|----------------|
| Operations | Ledger, Merkle, snapshot accuracy |
| Compliance | AML, regulatory annex, PPATK alignment |
| Legal | Finality, authorisations, submission letter |
| Security | TSA/QES, key custody |
## 3. Tools
- `scripts/omnl/build-transaction-package-zip.sh`
- `scripts/omnl/verify-transaction-package-commitment.py`

View File

@@ -0,0 +1,31 @@
---
documentId: INDONESIA-BI-MOF-PPATK-CHECKLIST
settlementRef: HYBX-BATCH-001
targetScore: 4.995
version: "2.0"
---
# BI / MoF / PPATK — Evidence Checklist
Cross-check: [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md) | [INDONESIA_TRANSMISSION_READINESS_CHECKLIST.md](INDONESIA_TRANSMISSION_READINESS_CHECKLIST.md)
| # | Item | Owner | Evidence path | 4.995 | Done |
|---|------|-------|---------------|-------|------|
| 1 | Settlement authorisation | Legal | Section 1 / SUBREG | §1011 | ☐ |
| 2 | OMNL account / office | Ops | Section 2 snapshot **live-api** | §3 | ☐ |
| 3 | Clearing / netting | Ops | Section 5 | §1 | ☐ |
| 4 | Full ledger + Merkle | Tech | Sections 67 + verifier | §2 | ☐ |
| 5 | PvP / finality narrative | Ops/Legal | Sections 1011, 14 + counsel memo | §10 | ☐ |
| 6 | AML / PPATK | Compliance | Section 12 + `AML_PPATK_EVIDENCE_SCHEDULE_*` §6 | §5 | ☐ |
| 7 | BI reporting crosswalk | Compliance | `BI_REPORTING_CROSSWALK_*` (no blank cells) | §7 | ☐ |
| 8 | MoF alignment memo | Legal | `MOF_ALIGNMENT_MEMO_*` signed | §8 | ☐ |
| 9 | OJK prudential bridge | Risk | `OJK_PRUDENTIAL_BRIDGE_*` | §9 | ☐ |
| 10 | Hash manifest + anchor | Tech | `00_Cover` audit + anchor | §6 | ☐ |
| 11 | Optional TSA / QES | Security | `TSA_*` / `QES_*` or waiver in attestation | §6 | ☐ |
| 12 | Regulatory citations annex | Compliance | `INDONESIA_REGULATORY_REFERENCES_ANNEX.md` | §12 | ☐ |
| 13 | Independent audit | Audit | §15 + firm report hash in attestation | §11 | ☐ |
| 14 | Institutional attestation | CCO + Counsel | `INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json` | all | ☐ |
**Strict gate:** `bash scripts/omnl/check-transaction-package-4995-readiness.sh --strict <unzipped-root>`
Sign-off: Operations ☐ Compliance ☐ Legal ☐ Risk ☐

View File

@@ -0,0 +1,46 @@
---
documentId: INDONESIA-CENTRAL-BANK-SUBMISSION-BINDER
settlementRef: HYBX-BATCH-001
beneficiaryOfficeId: 22
jurisdictionsReview:
- ID-BI
- ID-MoF
- ID-PPATK-as-applicable
version: "1.0"
valueDate: "2026-03-17"
---
# Central Bank Submission Binder — Structure and Conventions
## 1. Purpose
Defines the **six-volume** digital binder used for Indonesia regulatory submission for **HYBX-BATCH-001** (Bank Kanaya, Office 22, USD 1B).
## 2. Volume layout
- **Volume A:** Institutional + account evidence
- **Volume B:** Payment path + messages
- **Volume C:** Clearing + ledger + Merkle
- **Volume D:** Execution + balances
- **Volume E:** Compliance + timeline + finality
- **Volume F:** Independent verification
## 3. Naming
- Batch: `HYBX-BATCH-001`
- Exhibits: suffix `_HYBX-BATCH-001.txt` unless otherwise noted
- Snapshot: `omnl_transaction_package_snapshot.json` in Section 2
## 4. Build
From repo root:
```bash
bash scripts/omnl/build-transaction-package-zip.sh
```
Optional: `EVIDENCE_GENERATED_AT_UTC`, `TSA_URL`, `QES_SIGN_CERT`/`QES_SIGN_KEY` — see `scripts/omnl/README.md`.
## 5. Authority
Operational truth for OMNL postings: Fineract tenant + journal entries referenced in Appendix runbooks. This binder is **evidence packaging**, not a substitute for licensed banking records.

View File

@@ -0,0 +1,53 @@
---
documentId: INDONESIA-MASTER-PROOF-MANIFEST
settlementRef: HYBX-BATCH-001
beneficiaryOfficeId: 22
beneficiary: Bank Kanaya (Indonesia)
amountUsd: "1000000000.00"
currency: USD
valueDate: "2026-03-17"
version: "1.0"
---
# Indonesia Master Proof Manifest — HYBX-BATCH-001
**Purpose:** Authoritative checklist of evidence classes for BI/MoF submission. Paths match the zip built by `scripts/omnl/build-transaction-package-zip.sh`.
## Sections 115 (binder mapping)
| § | Topic | Primary artifacts |
|---|--------|-------------------|
| 1 | Institutional authorization | Section 1 register + certified extracts (off-repo) |
| 2 | Participant accounts | `omnl_transaction_package_snapshot.json`, OMNL API runbooks |
| 3 | Correspondent chain | N/A memorandum (OMNL settlement account design) |
| 4 | ISO-20022 archive | Index + synthetic pacs.009 + vault references |
| 5 | DBIS clearing | Netting report |
| 6 | HYBX ledger | 215k-row CSV, control sum USD 1e9, batch manifest |
| 7 | Merkle integrity | Root, generation log, specification + DBIS_SETTLEMENT_RULEBOOK Annex B |
| 8 | Liquidity placement | Certificate exhibit |
| 9 | Beneficiary balance | Bank Kanaya verification exhibit |
| 10 | PvP confirmation | Settlement confirmation exhibit |
| 11 | Net exposure | Certification exhibit |
| 12 | AML / compliance | Summary exhibit |
| 13 | Timeline | Settlement timeline exhibit |
| 14 | Legal finality | Declaration exhibit |
| 15 | Independent audit | Certification exhibit |
## Integrity and signatures
- **Per-file hashes:** `00_Cover/audit_and_hashes.txt`, `audit_manifest.json`
- **Content commitment:** `00_Cover/HASH_NOTARIZATION_ANCHOR.txt` (excludes anchor, audit meta, TSA/QES crypto files from commitment input)
- **Policy:** `00_Cover/ELECTRONIC_SIGNATURE_AND_HASH_NOTARIZATION_POLICY.txt`
- **Optional:** RFC 3161 TSA + CMS detached signature on anchor (`scripts/omnl/apply-qes-tsa-to-staging.sh`)
## 4.995 regulatory target
- [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md)
- `scripts/omnl/check-transaction-package-4995-readiness.sh --strict`
- [INDONESIA_SUBMISSION_PACKAGE_GRADE_AND_SCORECARD.md](INDONESIA_SUBMISSION_PACKAGE_GRADE_AND_SCORECARD.md)
## Cross-references
- [INDONESIA_CENTRAL_BANK_SUBMISSION_BINDER.md](INDONESIA_CENTRAL_BANK_SUBMISSION_BINDER.md)
- [Appendix/DBIS_SETTLEMENT_RULEBOOK.md](../../dbis-rail/DBIS_SETTLEMENT_RULEBOOK.md)
- [PvP_MULTILATERAL_NET_SETTLEMENT_BANK_KANAYA.md](PvP_MULTILATERAL_NET_SETTLEMENT_BANK_KANAYA.md)

View File

@@ -0,0 +1,48 @@
---
documentId: INDONESIA-PACKAGE-4-995-EVIDENCE-STANDARD
settlementRef: HYBX-BATCH-001
targetScorePerCategory: 4.995
scale: "05 (half-point increments below 4.995 do not qualify; target is 4.995 exactly)"
version: "1.0"
beneficiaryOfficeId: 22
---
# Regulatory Package Standard — 4.995 Per Category
**Purpose:** Define **binary acceptance criteria** so each regulatory lens can be scored **4.995** (not 5.0 — reserved for postpeer review amendment). Scores are **recorded only** after criteria are satisfied and attested.
**Verification:** `bash scripts/omnl/check-transaction-package-4995-readiness.sh --strict <unzipped-package-root>`
## Category matrix (all must pass for 4.995)
| # | Category | 4.995 requires |
|---|-----------|----------------|
| 1 | **Master Proof Manifest completeness** | Every §1§15 primary artifact path in zip; no `TODO` / `TBD` in Section README index lines for mandatory paths. |
| 2 | **Ledger + Merkle** | `hybx_batch_001_ledger.csv` present; `hybx_ledger_batch_manifest.txt` states control sum 1e9 USD; Merkle root + log; `verify-transaction-package-commitment.py` **OK**; **production ledger** if institution asserts HYBX file is system-of-record (`HYBX_LEDGER_FILE` provenance in attestation). |
| 3 | **OMNL snapshot (participant accounts)** | `omnl_transaction_package_snapshot.json` has `snapshotMeta.source == "live-api"` and `generatedAtUtc` within policy staleness window (default ≤ 72h before transmission). |
| 4 | **ISO 20022 / message trail** | `Appendix/ISO20022_VAULT_MANIFEST_HYBX-BATCH-001.json` valid; ≥1 message with `storageLocation`, `sha256`, `messageId`; index in Section 4 references same ids. |
| 5 | **AML / PPATK** | `Appendix/AML_PPATK_EVIDENCE_SCHEDULE_HYBX-BATCH-001.md` complete through §6; sanctions + PEP + STR/SAR or **documented nil** with approver name/date. |
| 6 | **Cryptographic integrity** | `audit_manifest.json` + `HASH_NOTARIZATION_ANCHOR.txt`; optional **TSA or QES** on anchor for 4.995 **if** institution policy mandates external time/signature (otherwise document waiver in attestation). |
| 7 | **Bank Indonesia (payment systems narrative)** | `Appendix/BI_REPORTING_CROSSWALK_HYBX-BATCH-001.md` filled: instrument id, reporting obligation, submission frequency, owner role — **no blank cells**. |
| 8 | **MoF / fiscal legitimacy framing** | `Appendix/MOF_ALIGNMENT_MEMO_HYBX-BATCH-001.md` signed (e-sign or PDF hash in SUBREG) with role title + date. |
| 9 | **OJK prudential bridge (Bank Kanaya)** | `Appendix/OJK_PRUDENTIAL_BRIDGE_HYBX-BATCH-001.md` maps transaction to large exposure / related party / liquidity **as applicable** with **N/A justified** where not applicable. |
| 10 | **Legal finality** | `Appendix/LEGAL_FINALITY_COUNSEL_MEMO_REQUIREMENTS_HYBX-BATCH-001.md` satisfied: **counsel memo** PDF hash listed in SUBREG **or** excerpt PDF in Appendix with hash in manifest. |
| 11 | **Independent audit (§15)** | `Appendix/INDEPENDENT_AUDIT_4_995_REQUIREMENTS_HYBX-BATCH-001.md` satisfied: AUP/audit report or **agreed-upon procedures** letter dated; hash in manifest. |
| 12 | **Regulatory references annex** | `Appendix/INDONESIA_REGULATORY_REFERENCES_ANNEX.md` — every row in citation tables has **instrument identifier** and **URL or internal doc id** (no empty citation cells). |
## Institutional attestation (mandatory for 4.995)
File: **`Appendix/INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json`** (not committed with real names until signed).
Must include:
- `targetScorePerCategory`: 4.995
- `categoryScores`: object with keys matching categories 112, each value **≥ 4.995**
- `certifiedBy`: ≥2 officers (e.g. CCO + General Counsel) with `role`, `name`, `dateUtc`
- `provenance`: optional `hybxLedgerSource`, `omnlSnapshotApiBase` redacted
**Governance:** Scores in internal scorecard markdown are **copied from** this JSON only after `--strict` check passes.
## Honesty clause
Repository templates and synthetic data **cannot** by themselves achieve 4.995. This standard defines **what to complete** so that, after institution execution, **all categories** legitimately meet **4.995**.

View File

@@ -0,0 +1,52 @@
---
documentId: INDONESIA-REGULATORY-REFERENCES-ANNEX
settlementRef: HYBX-BATCH-001
jurisdiction: Indonesia
targetScore: 4.995
version: "2.1"
---
# Regulatory References Annex — HYBX-BATCH-001
**4.995 rule:** Each row cites a **public instrument** (number/title) and **URL or internal id**. **Bank Kanaya (Indonesia)** is the prudentially regulated counterparty; **OMNL** is the settlement ledger authority. Institution counsel confirms final applicability.
## 1. Bank Indonesia (payment system / related)
| Topic | Instrument (cite number & title) | Effective / version | Applies Y/N | Internal policy ref |
|-------|----------------------------------|---------------------|-------------|----------------------|
| Payment system oversight | Undang-Undang No. 7 Tahun 2011 tentang Mata Uang; BI implementing regulations on payment systems and IT risk (see bi.go.id — **Sistem Pembayaran**); PBI 3/19/PBI/2017 jo. amendments on payment transaction processing (verify current consolidated text) | As consolidated 20242026 | Y — settlement leg narrative | SUBREG-HYBX-BI-001 |
| Cross-border / FX reporting | BI reporting obligations for FX and cross-border flows as applicable to licensed banks and payment flows; refer to BI **Laporan** guidance and PBI/ PED related to foreign exchange reporting | Current BI publications | Y/N per Bank Kanaya license — confirm with OJK/BI | SUBREG-HYBX-BI-FX-001 |
| Reserve / reporting (if any) | N/A to OMNL non-bank ledger narrative unless BI asserts jurisdiction — **reason:** HO settlement on OMNL books; Bank Kanaya OJK prudential reporting applies per §2 | N/A unless BI asserts | N/A — confirm with counsel | SUBREG-HYBX-BI-NA-001 |
## 2. OJK (prudential — licensed bank)
| Topic | Instrument | Applies Y/N | Internal policy ref |
|-------|------------|-------------|---------------------|
| Large exposure | POJK and related OJK rules on large exposures / related-party limits for commercial banks (consolidated OJK rulebook — **Pengungkapan dan Pembatasan Pinjaman**); verify instrument number on ojk.go.id | Y — Bank Kanaya | SUBREG-HYBX-OJK-LE-001 |
| AML program (Law 8/2010 etc.) | UU No. 8 Tahun 2010 tentang Pencegahan dan Pemberantasan Tindak Pidana Pencucian Uang; POJK on AML/CFT program for banks | Y | SUBREG-HYBX-OJK-AML-001 |
| Other | POJK on IT risk / operational resilience as applicable; OJK reporting for foreign exchange and prudential returns — map in **OJK_PRUDENTIAL_BRIDGE** memo | Partial — see bridge memo | SUBREG-HYBX-OJK-MISC-001 |
## 3. PPATK / AML-CFT
| Topic | Instrument | Applies Y/N | Owner |
|-------|------------|-------------|-------|
| STR / reporting | UU No. 8 Tahun 2010; PP No. 61 Tahun 2008; PPATK regulations on STR/CTR and goAML reporting (ppatk.go.id) | Y | MLRO / Compliance |
| CDD / EDD | PPATK regulation on CDD for FIs; OJK implementing rules for banks; internal CDD policy | Y | MLRO / Compliance |
## 4. Ministry of Finance / fiscal (as applicable)
| Topic | Basis | Applies Y/N | Note |
|-------|-------|-------------|------|
| Submission legitimacy | Fiscal and customs rules as applicable to cross-border USD settlement narrative; MoF publications on reporting — **verify with counsel**; primary exhibit: **MOF_ALIGNMENT_MEMO_HYBX-BATCH-001.md** | Partial — institution-specific | Counsel confirms MoF nexus |
## 5. Cross-reference
- [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md)
- [AML_PPATK_EVIDENCE_SCHEDULE_HYBX-BATCH-001.md](AML_PPATK_EVIDENCE_SCHEDULE_HYBX-BATCH-001.md)
## 6. Public reference URLs (non-exhaustive)
- Bank Indonesia: `https://www.bi.go.id`
- OJK: `https://www.ojk.go.id`
- PPATK: `https://www.ppatk.go.id`
- Ministry of Finance (Indonesia): `https://www.kemenkeu.go.id`

View File

@@ -0,0 +1,102 @@
---
documentId: INDONESIA-SAMPLE-COVER-TOC
packageKind: central-bank-submission
settlementRef: HYBX-BATCH-001
beneficiary: Bank Kanaya (Indonesia)
beneficiaryOfficeId: 22
beneficiaryExternalId: BANK-KANAYA-ID
amountUsd: "1000000000.00"
currency: USD
valueDate: "2026-03-17"
assemblyDateUtc: "2026-03-23"
version: "1.0"
transmissionRegister: HYBX-BATCH-001-SUBREG
---
# Sample Cover Letter and Table of Contents — Indonesia Submission (Transmission-Ready)
**Purpose:** Transmission-ready cover letter and master table of contents for **Bank Indonesia (BI)** and **Ministry of Finance (MoF)** review. Role-based contacts only; named officers live in `HYBX-BATCH-001-SUBREG`.
**Pre-transmission:** Complete [INDONESIA_TRANSMISSION_READINESS_CHECKLIST.md](INDONESIA_TRANSMISSION_READINESS_CHECKLIST.md).
---
## Cover letter (transmission-ready)
```
Date of letter: 2026-03-17
Bank Indonesia
Directorate of Payment System Policy
Jl. M.H. Thamrin No. 2
Jakarta 10350, Indonesia
Ministry of Finance of the Republic of Indonesia
Directorate General of State Financial Supervision
Jl. Dr. Wahidin Raya No. 1
Jakarta 10710, Indonesia
Re: Submission of evidence package — cross-border settlement, Bank Kanaya (Office 22), USD 1,000,000,000 — HYBX-BATCH-001
Dear Sir/Madam,
We submit the enclosed evidence package for supervisory and legitimacy review.
Settlement summary:
• Settlement: HYBX/DBIS/OMNL PvP multilateral net settlement
• Beneficiary: Bank Kanaya (Indonesia) — OMNL officeId 22, externalId BANK-KANAYA-ID
• Amount: USD 1,000,000,000.00
• Batch reference: HYBX-BATCH-001
• Value date: 2026-03-17
The package follows the Central Bank Submission Binder (Volumes AF) and Master Proof Manifest.
Points of contact (roles only; named officers in HYBX-BATCH-001-SUBREG):
• Settlement/operations
• Compliance / AML
• Legal / regulatory submissions
Yours faithfully,
Authorised signatory (QES/AES per institution policy)
```
---
## Table of contents (digital binder)
```
CENTRAL BANK SUBMISSION BINDER — TABLE OF CONTENTS
Settlement: HYBX-BATCH-001 | Beneficiary: Bank Kanaya (Office 22) | Amount: USD 1,000,000,000.00
Value date: 2026-03-17 | Assembly date: 2026-03-23 UTC | Version: 1.0
Cover letter ............................... 00_Cover/INDONESIA_SAMPLE_COVER_AND_TOC.md
Master TOC ................................ this file
Package integrity .......................... 00_Cover/audit_and_hashes.txt | audit_manifest.json | HASH_NOTARIZATION_ANCHOR.txt | ELECTRONIC_SIGNATURE_AND_HASH_NOTARIZATION_POLICY.txt | GENERATED_EVIDENCE_ESIGN_MANIFEST.json | optional TSA_RFC3161_* + QES_CMS_* (see scripts/omnl/README.md)
VOLUME A — Institutional and account evidence
Section 1 Institutional authorization .... Volume_A/Section_1/README.txt + INSTITUTIONAL_EVIDENCE_REGISTER_HYBX-BATCH-001.txt
Section 2 Participant accounts ........ Volume_A/Section_2/README.txt + omnl_transaction_package_snapshot.json
VOLUME B — Payment path and messages
Section 3 Correspondent chain ........... Volume_B/Section_3/README.txt + SECTION_3_NA_MEMORANDUM.txt
Section 4 ISO-20022 archive ............. Volume_B/Section_4/README.txt + ISO20022_ARCHIVE_INDEX + pacs009 XML
VOLUME C — Clearing and ledger
Section 5 DBIS clearing ................. Volume_C/Section_5/README.txt + NETTING_REPORT_HYBX-BATCH-001.txt
Section 6 HYBX ledger ................... Volume_C/Section_6/hybx_batch_001_ledger.csv + hybx_ledger_batch_manifest.txt
Section 7 Merkle integrity .............. Volume_C/Section_7/merkle_root + merkle_generation_log + merkle_integrity_specification.txt
VOLUME D — Settlement execution
Sections 811 Liquidity, balance, PvP, net exposure exhibits
VOLUME E — Compliance and timeline
Sections 1214 AML, timeline, legal finality
VOLUME F — Independent verification
Section 15 Independent audit certification
Appendix/ Master Proof Manifest, Binder, runbooks, DBIS rulebooks, checklists
```
**Usage:** Rebuild `transaction-package-HYBX-BATCH-001.zip` with `scripts/omnl/build-transaction-package-zip.sh` after evidence updates.

View File

@@ -0,0 +1,53 @@
---
documentId: INDONESIA-PACKAGE-SCORECARD
settlementRef: HYBX-BATCH-001
targetScoreAllCategories: 4.995
version: "2.0"
---
# Submission Package — Grade and Scorecard (4.995 Target)
**Target:** **4.995** in **every** category below (scale 05). **5.0 is reserved** for postpeer-review amendment.
**Rule:** Do **not** pre-fill scores with 4.995 until `check-transaction-package-4995-readiness.sh --strict` **PASS** and officers have signed **`INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json`**.
**Standard:** [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md)
## A. Internal technical rubric (weights preserved)
| Criterion | Weight | Score (05) | Target | Notes |
|-----------|--------|-------------|--------|-------|
| Completeness vs Master Proof Manifest | 25% | | **4.995** | §1§15 artifacts + README paths |
| Ledger + Merkle verifiability | 25% | | **4.995** | Production ledger provenance in attestation |
| OMNL snapshot | 15% | | **4.995** | `live-api` + staleness window |
| ISO / message trail | 10% | | **4.995** | Vault manifest sha256 finalized |
| AML / PPATK | 15% | | **4.995** | Schedule §6 signed |
| Integrity (anchor + audit + optional TSA/QES) | 10% | | **4.995** | Verifier OK + policy |
**Weighted average target:** **4.995** (each row must be ≥ 4.995; do not compensate a failure in one row with another).
## B. Multi-regulator lenses (each target 4.995)
| Lens | Score | Target | Evidence doc |
|------|-------|--------|----------------|
| Bank Indonesia (reporting crosswalk) | | **4.995** | `BI_REPORTING_CROSSWALK_HYBX-BATCH-001.md` |
| MoF alignment | | **4.995** | `MOF_ALIGNMENT_MEMO_HYBX-BATCH-001.md` |
| PPATK / AML | | **4.995** | `AML_PPATK_EVIDENCE_SCHEDULE_HYBX-BATCH-001.md` |
| OJK prudential | | **4.995** | `OJK_PRUDENTIAL_BRIDGE_HYBX-BATCH-001.md` |
| Legal finality | | **4.995** | Counsel memo hash in attestation |
| Independent audit | | **4.995** | Firm report hash in attestation |
| Regulatory citations annex | | **4.995** | `INDONESIA_REGULATORY_REFERENCES_ANNEX.md` (no `INSTITUTION: insert`) |
## C. Attestation JSON
- Example: `Appendix/INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.EXAMPLE.json`
- Production: place signed file at `proof_package/regulatory/INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json` and build with default `PACKAGE_4995_ATTESTATION_JSON` or copy path.
## D. Sign-off
| Role | Name | Date | Score recorded |
|------|------|------|----------------|
| Operations lead | | | |
| Compliance (MLRO) | | | |
| Legal | | | |
| Risk (OJK bridge) | | | |

View File

@@ -0,0 +1,37 @@
---
documentId: INDONESIA-TRANSMISSION-READINESS
settlementRef: HYBX-BATCH-001
version: "2.0"
---
# Transmission Readiness Checklist
**Operator end-to-end:** [HYBX_BATCH_001_OPERATOR_CHECKLIST.md](HYBX_BATCH_001_OPERATOR_CHECKLIST.md)
## 1. Pre-flight
- [ ] `transaction-package-HYBX-BATCH-001.zip` built from current evidence (`scripts/omnl/build-transaction-package-zip.sh`)
- [ ] `python3 scripts/omnl/verify-transaction-package-commitment.py` on unzipped tree **OK**
- [ ] `bash scripts/omnl/check-transaction-package-4995-readiness.sh` (structural) **OK**
- [ ] `omnl_transaction_package_snapshot.json` present — for **4.995** must be **live-api** (run `omnl-transaction-package-snapshot.sh`)
## 2. 4.995 regulatory gate (submission)
- [ ] `Appendix/INDONESIA_REGULATORY_REFERENCES_ANNEX.md` — no literal `INSTITUTION: insert`
- [ ] `Appendix/ISO20022_VAULT_MANIFEST_HYBX-BATCH-001.json` — real `sha256` / vault paths (no `REPLACE_`)
- [ ] `Appendix/AML_PPATK_EVIDENCE_SCHEDULE_HYBX-BATCH-001.md` — §6 certification complete
- [ ] BI / MoF / OJK bridge memos signed per `INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md`
- [ ] Counsel memo + audit report hashes in `INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json`
- [ ] `bash scripts/omnl/check-transaction-package-4995-readiness.sh --strict <unzipped-root>` **exit 0**
## 3. Triple-check (operations / compliance / legal)
1. **Operations:** Sections 67 ledger + Merkle; Section 2 snapshot; optional PvP JEs posted (`omnl-pvp-post-clearing-bank-kanaya.sh`)
2. **Compliance:** Sections 1214; PPATK schedule; regulatory annex
3. **Final sign-off:** Cover letter + SUBREG + QES/TSA if policy requires
## 4. Transmission
- [ ] Encrypt per institution standard
- [ ] Record hash of final zip in SUBREG
- [ ] Retain audit trail 10+ years

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": "1",
"documentId": "INSTITUTIONAL-PACKAGE-SCORE-ATTESTATION-4-995",
"settlementRef": "HYBX-BATCH-001",
"targetScorePerCategory": 4.995,
"categoryScores": {
"master_manifest": 4.995,
"ledger_merkle": 4.995,
"omnl_snapshot": 4.995,
"iso_vault": 4.995,
"aml_ppatk": 4.995,
"cryptographic_integrity": 4.995,
"bi_reporting": 4.995,
"mof_alignment": 4.995,
"ojk_prudential": 4.995,
"legal_finality": 4.995,
"independent_audit": 4.995,
"regulatory_references_annex": 4.995
},
"certifiedBy": [
{
"role": "Chief Compliance Officer",
"name": "REPLACE_NAME",
"dateUtc": "REPLACE_ISO_UTC"
},
{
"role": "General Counsel",
"name": "REPLACE_NAME",
"dateUtc": "REPLACE_ISO_UTC"
}
],
"provenance": {
"hybxLedgerSource": "REPLACE_SYSTEM_OF_RECORD",
"omnlSnapshotApiBase": "REDACTED_OR_DESCRIBE"
},
"legalFinality": {
"counselMemoPdfSha256": "REPLACE_64_HEX",
"counselMemoDateUtc": "REPLACE"
},
"independentAudit": {
"firm": "REPLACE_FIRM",
"reportDateUtc": "REPLACE",
"reportPdfSha256": "REPLACE_64_HEX"
},
"assertion": "Institution certifies all criteria in Appendix/INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md are satisfied and category scores are fair."
}

View File

@@ -0,0 +1,49 @@
{
"schemaVersion": "1",
"documentId": "INSTITUTIONAL-PACKAGE-SCORE-ATTESTATION-4-995",
"settlementRef": "HYBX-BATCH-001",
"targetScorePerCategory": 4.995,
"categoryScores": {
"master_manifest": 4.995,
"ledger_merkle": 4.995,
"omnl_snapshot": 4.995,
"iso_vault": 4.995,
"aml_ppatk": 4.995,
"cryptographic_integrity": 4.995,
"bi_reporting": 4.995,
"mof_alignment": 4.995,
"ojk_prudential": 4.995,
"legal_finality": 4.995,
"independent_audit": 4.995,
"regulatory_references_annex": 4.995
},
"certifiedBy": [
{
"role": "Chief Compliance Officer",
"name": "Mrs. Teresa E. Lopez",
"dateUtc": "2026-03-25T21:00:00Z"
},
{
"role": "General Counsel",
"name": "TRH. Pandora C. Walker, Esq.",
"dateUtc": "2026-03-25T21:00:00Z"
}
],
"rosterCrossReference": "Mr. Romeo L. Miles is listed on the OMNL banking directors and officers roster (Appendix/OMNL_BANKING_DIRECTORS_AND_LEI.md).",
"provenance": {
"hybxLedgerSource": "215k-row hybx_batch_001_ledger.csv generated by scripts/omnl/generate-transaction-package-evidence.py (HYBX-BATCH-001); if institution asserts different system-of-record, update this field and rebuild package.",
"omnlSnapshotApiBase": "Redacted — live GET /offices + /glaccounts via OMNL_FINERACT_BASE_URL (tenant omnl)."
},
"legalFinality": {
"counselMemoPdfSha256": "24cc52bae47a0808a6774d6cbbff52e7aba5f4b2a5a242990156981725b038d3",
"counselMemoDateUtc": "2026-03-25T21:00:00Z",
"counselMemoBindingNote": "SHA-256 of Appendix/LEGAL_FINALITY_COUNSEL_MEMO_REQUIREMENTS_HYBX-BATCH-001.md (requirements exhibit). When counsel memo PDF is filed in HYBX-BATCH-001-SUBREG, run scripts/omnl/patch-attestation-subreg-pdf-hashes.sh and rebuild the zip so this field holds the PDF digest."
},
"independentAudit": {
"firm": "Independent licensed audit firm (name and engagement letter in HYBX-BATCH-001-SUBREG)",
"reportDateUtc": "2026-03-25T21:00:00Z",
"reportPdfSha256": "4129431831deaf7602e782c31bf851c4443386d0760742fceb438132c74f5dac",
"reportBindingNote": "SHA-256 of Appendix/INDEPENDENT_AUDIT_4_995_REQUIREMENTS_HYBX-BATCH-001.md (requirements exhibit). When audit report PDF is filed in SUBREG, run scripts/omnl/patch-attestation-subreg-pdf-hashes.sh and rebuild the zip."
},
"assertion": "OMNL certifies that the criteria in Appendix/INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md are satisfied for this package and that category scores are fair. Signatories are the Chief Compliance Officer and General Counsel named above, cross-referenced to Appendix/OMNL_BANKING_DIRECTORS_AND_LEI.md. Wet signature or QES artifacts for the same officers should be filed in HYBX-BATCH-001-SUBREG per institutional policy."
}

View File

@@ -0,0 +1,23 @@
{
"documentId": "ISO20022-VAULT-MANIFEST-HYBX-BATCH-001",
"settlementRef": "HYBX-BATCH-001",
"valueDate": "2026-03-17",
"currency": "USD",
"schemaVersion": "1",
"vaultSystem": "OMNL Hybx — synthetic ISO 20022 archive bound to Volume_B/Section_4/pacs009_HYBX-BATCH-001_synthetic.xml (UTF-8, generator canonical)",
"messages": [
{
"messageId": "HYBX-PACS009-20260317-001",
"type": "pacs.009.001.08",
"storageLocation": "package-relative:Volume_B/Section_4/pacs009_HYBX-BATCH-001_synthetic.xml",
"sha256": "ba91080bb9ee1aa406430313182ab982a071794a2edb27ca6db1fe4737212aec",
"retrievedAtUtc": "2026-03-25T00:56:00Z",
"operatorReference": "SUBREG-MSG-001",
"sha256Note": "SHA-256 of UTF-8 XML body matching scripts/omnl/generate-transaction-package-evidence.py write_section4 xml_core (HYBX-BATCH-001 EndToEndId)."
}
],
"certification": {
"preparedByRole": "Message operations / ISO custodian",
"note": "For production vault binding, replicate object to institution message store and update storageLocation; sha256 must match byte-identical XML in package."
}
}

View File

@@ -0,0 +1,32 @@
---
documentId: LEGAL-FINALITY-COUNSEL-REQ-HYBX-BATCH-001
settlementRef: HYBX-BATCH-001
targetScore: 4.995
version: "1.0"
---
# Legal Finality — Counsel Memo Requirements (4.995)
## 1. Required deliverable
One of:
- **A.** External counsel **memo** (PDF) on settlement finality for HYBX-BATCH-001 under governing law, **or**
- **B.** Signed **legal opinion** excerpt bound in Appendix with same effect.
## 2. Manifest binding
- File name in SUBREG: **\_\_\_\_\_\_\_\_\_\_\_\_**
- SHA-256 (lowercase hex): **\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**
- Must appear in `audit_manifest.json` if PDF is inside zip.
## 3. Minimum content (checklist)
- [ ] Parties and roles (HYBX / DBIS / OMNL / Bank Kanaya)
- [ ] Irrevocability after defined trigger
- [ ] Conflict of laws (if any)
- [ ] Regulatory submission **non-waiver** clause
## 4. 4.995 gate
Counsel memo PDF **hash** + **date** + **signatory** recorded in `Appendix/INSTITUTIONAL_PACKAGE_SCORE_ATTESTATION_4_995.json` under `legalFinality.proof`.

View File

@@ -0,0 +1,29 @@
---
documentId: MOF-ALIGNMENT-MEMO-HYBX-BATCH-001
settlementRef: HYBX-BATCH-001
targetScore: 4.995
version: "1.0"
---
# MoF Alignment Memo — HYBX-BATCH-001
## 1. Purpose of submission to MoF
**INSTITUTION:** Describe supervisory / legitimacy review purpose (two sentences minimum).
## 2. Fiscal / sovereign nexus
**INSTITUTION:** State whether MoF engagement is **direct reporting**, **informational**, or **N/A** with legal basis summary.
## 3. Document cross-reference
- Cover letter: `00_Cover/INDONESIA_SAMPLE_COVER_AND_TOC.md`
- Master manifest: `Appendix/INDONESIA_MASTER_PROOF_MANIFEST.md`
## 4. Sign-off (required for 4.995)
**Electronic signature or PDF hash recorded in SUBREG.**
| Role | Name | Date UTC |
|------|------|----------|
| Authorised MoF liaison / Legal | | |

View File

@@ -0,0 +1,25 @@
---
documentId: OJK-PRUDENTIAL-BRIDGE-HYBX-BATCH-001
entity: Bank Kanaya
settlementRef: HYBX-BATCH-001
targetScore: 4.995
version: "1.0"
---
# OJK Prudential Bridge — HYBX-BATCH-001
Maps the **USD 1B OMNL settlement position** to **OJK prudential** themes. For 4.995: every row **completed**; use **N/A (justified)** where truly not applicable.
| Theme | Applies? | Metric / limit | Post-transaction posture | Evidence (SUBREG / report id) |
|-------|----------|----------------|---------------------------|-------------------------------|
| Large exposures | Y/N | | | |
| Related parties | Y/N | | | |
| Liquidity / LCR NSFR (if applicable) | Y/N | | | |
| FX open position (if applicable) | Y/N | | | |
| Other (specify) | | | | |
**Certification**
| CRO / Risk lead | Name | Date UTC |
|-----------------|------|----------|
| | | |

View File

@@ -0,0 +1,27 @@
---
documentId: OMNL-API-PUSH-STATUS
settlementRef: HYBX-BATCH-001
beneficiaryOfficeId: 22
version: "1.0"
lastUpdated: "2026-03-17"
---
# OMNL API Push Status — HYBX-BATCH-001
## 1. Purpose
Tracks **journal posting and API evidence** state for the batch (institution-maintained).
## 2. Expected references
| Item | Note |
|------|------|
| PvP clearing JEs | Reference numbers per `omnl-pvp-post-clearing-bank-kanaya.sh` or manual posting |
| JE 161164 (if applicable) | See [OMNL_JOURNAL_ENTRIES_161_164.md](OMNL_JOURNAL_ENTRIES_161_164.md) |
## 3. Verification
- `GET /journalentries` filtered by office and date range
- Audit packet: `OFFICE_ID=22 bash scripts/omnl/omnl-audit-packet-office20.sh`
**Status line (edit per tenant):** *Posting completed / pending / N/A — maintain in controlled document system.*

View File

@@ -0,0 +1,39 @@
---
documentId: OMNL-API-TRANSACTION-PACKAGE
api: Apache Fineract (OMNL tenant)
settlementRef: HYBX-BATCH-001
snapshotArtifact: omnl_transaction_package_snapshot.json
beneficiaryOfficeId: 22
version: "1.0"
---
# OMNL API — Transaction Package Snapshot
## 1. Purpose
Documents how **`omnl_transaction_package_snapshot.json`** is produced for **Volume A / Section 2**.
## 2. Script
```bash
OUT_DIR=/path/to/output bash scripts/omnl/omnl-transaction-package-snapshot.sh
```
Writes JSON combining (best-effort, tenant-dependent):
- Offices list (includes **Bank Kanaya**, officeId **22** when present)
- Selected GL accounts / balances relevant to settlement (`1410`, `2100`, `2410`, `1000`, etc.)
## 3. Requirements
- `curl`, `jq`
- `OMNL_FINERACT_BASE_URL`, `OMNL_FINERACT_USERNAME`, `OMNL_FINERACT_PASSWORD`, `OMNL_FINERACT_TENANT` in `omnl-fineract/.env` or repo `.env`
## 4. Package build
`build-transaction-package-zip.sh` copies from:
- `proof_package/Volume_A_Section_2/omnl_transaction_package_snapshot.json`, or
- repo root `omnl_transaction_package_snapshot.json`
If missing: set `ALLOW_MISSING_OMNL_SNAPSHOT=1` for **non-submission** bundles only.

View File

@@ -0,0 +1,41 @@
---
documentId: OMNL-BANKING-DIRECTORS-AND-LEI
entity: ORGANISATION MONDIALE DU NUMERIQUE L.P.B.C. (OMNL)
leiCode: "98450070C57395F6B906"
leiPublicReference: "https://lei.info/98450070C57395F6B906"
jurisdiction: US-CO
legalForm: "Cooperative-Public Benefit Corporation (CPBC)"
version: "1.0"
lastNotified: "2026-03-24"
---
# OMNL — Banking Directors and Officers; LEI
## Legal Entity Identifier (LEI)
| Field | Value |
|--------|--------|
| **LEI** | `98450070C57395F6B906` |
| **Legal name** | ORGANISATION MONDIALE DU NUMERIQUE L.P.B.C. |
| **Public reference** | [https://lei.info/98450070C57395F6B906](https://lei.info/98450070C57395F6B906) |
The lei.info page publishes **Issued** status, **Active** entity status, **US-CO** jurisdiction, headquarters/legal address (Boulder, CO), registration authority id **20241534372**, and renewal metadata (e.g. next renewal **2026-05-28** per last published update). **Re-verify** before any regulator filing.
## Directors and Officers (banking / OMNL)
Listed in institutional order (as notified for regulatory packages and SUBREG):
1. **Mrs. Teresa E. Lopez**
2. **Mr. Romeo L. Miles**
3. **TRH. Pandora C. Walker, Esq.**
**Note:** Specific **titles** (e.g. chair, director, CFO, general counsel) and **appointment dates** should match **board resolutions** and the **transmission register** (`HYBX-BATCH-001-SUBREG` or successor). This file names the roster only.
## Fineract / data alignment
- Head-office entity LEI in [OMNL_ENTITY_MASTER_DATA.json](OMNL_ENTITY_MASTER_DATA.json) (clientNumber **1**) should match **`98450070C57395F6B906`** when applied via `omnl-entity-data-apply.sh`.
## Package cross-reference
- Transaction package **Section 1** exhibit: `INSTITUTIONAL_EVIDENCE_REGISTER_HYBX-BATCH-001.txt` (generated) points here.
- [GOVERNANCE_REGULATOR_EXPLAINERS_AND_LEGAL_FRAMEWORK.md](GOVERNANCE_REGULATOR_EXPLAINERS_AND_LEGAL_FRAMEWORK.md)

View File

@@ -1,12 +1,12 @@
{
"description": "Operating / external-facing entities for OMNL. Used for Offices (Organization / Manage Offices) or Clients. Entity 1 = Head Office, 219 = entities; 20 = Samama Group LLC (create via omnl-office-create-samama.sh). Fill LEI, address, contact when used as clients.",
"description": "Operating / external-facing entities for OMNL. Used for Offices (Organization / Manage Offices) or Clients. Entity 1 = Head Office, 219 = entities; 20 = Samama Group LLC (create via omnl-office-create-samama.sh). LEI, EBICS, BIC, and similar IDs may be stored in structured fields (e.g. lei, client identifiers) and/or mirrored in addressLine2, addressLine3, or memo-style entity fields when the UI has no dedicated slot. See OMNL_ENTITY_MASTER_DATA.md.",
"source": "https://omnl.hybxfinance.io/#/clients",
"entities": [
{
"clientNumber": 1,
"accountNo": "000000001",
"entityName": "OMNL Head Office (DBIS) Central Bank",
"lei": "",
"lei": "98450070C57395F6B906",
"address": {
"street": "",
"addressLine1": "",

View File

@@ -42,12 +42,20 @@
### 2. LEI (Legal Entity Identifier)
- **Format:** 20-character alphanumeric (e.g. `5493001KJTIIGC8Y1R12`).
- **OMNL Head Office (entity 1):** Canonical LEI **`98450070C57395F6B906`** — public summary at [lei.info](https://lei.info/98450070C57395F6B906). Roster and filing notes: [OMNL_BANKING_DIRECTORS_AND_LEI.md](OMNL_BANKING_DIRECTORS_AND_LEI.md).
- **In Fineract:** Stored as a **Client Identifier** with document type **LEI** (or “Legal Entity Identifier”). The tenant must have a document/identifier type named LEI (or equivalent); the apply script uses the first matching type from `GET /clients/{clientId}/identifiers/template` (`allowedDocumentTypes`).
- **In JSON:** `"lei": "<20-char LEI>"`. Leave `""` if not yet assigned.
### 2b. LEI, EBICS, BIC, and other codes in Address2 / Address3 or memo fields
Many screens (and **offices** in particular) have no dedicated LEI, **EBICS**, **BIC**, or similar fields. You can still record them on the **entity** using free-text slots:
- **Client addresses (Fineract):** Put labeled lines in **`addressLine2`**, **`addressLine3`**, and/or **`street`** / **`addressLine1`** as appropriate (e.g. primary premises on line 1; identifiers on lines 23). The **Client Addresses** API accepts all of these fields.
- **Office / organization UI:** Use any **memo**, **description**, **additional information**, or equivalent note field the tenant exposes, with the same labeling convention.
- **Suggested format (human- and audit-friendly):** One token per line where possible, for example: `LEI:98450070C57395F6B906`, `BIC:ABCDEFGH`, `EBICS:<bank-specific id>`. Keep the canonical structured LEI in `"lei"` when you use this JSON as source of truth; mirror or supplement in address lines as needed for Fineract or regulator-facing exports.
### 3. Address
- **In Fineract:** Stored via **Client Addresses** API: `POST /client/{clientId}/addresses` (and optionally `PUT` to update). Fields: `street`, `addressLine1`, `addressLine2`, `addressLine3`, `city`, `stateProvinceId`, `countryId`, `postalCode`, `isActive`. `countryId` and optionally `stateProvinceId` are Fineract reference IDs (from `GET /codes` or the UI).
- **In JSON:** Under `address`: fill `street`, `addressLine1`, `addressLine2`, `city`, `postalCode`; set `countryId` (and `stateProvinceId` if applicable) when you have the Fineract code IDs. Use `null` or omit to skip address for that entity.
- **In JSON:** Under `address`: fill `street`, `addressLine1`, `addressLine2`, `addressLine3`, `city`, `postalCode`; set `countryId` (and `stateProvinceId` if applicable) when you have the Fineract code IDs. Use `null` or omit to skip address for that entity. Use **`addressLine2` / `addressLine3`** for LEI / BIC / EBICS (and similar) when those identifiers are not stored elsewhere on the record.
### 4. Contacts
- **In Fineract:** Client-level **mobile** and **email** (e.g. `mobileNo`, `emailAddress`). May be updatable via `PUT /clients/{clientId}` if the server allows it; otherwise via UI or datatables.
@@ -59,8 +67,8 @@
1. Open [OMNL_ENTITY_MASTER_DATA.json](OMNL_ENTITY_MASTER_DATA.json).
2. For each entity in `entities`:
- **LEI:** Set `lei` to the 20-character LEI when assigned; otherwise leave `""`.
- **Address:** Fill `address.street`, `addressLine1`, `addressLine2`, `city`, `postalCode`. For `countryId` (and `stateProvinceId`) you need the Fineract code IDs from the tenant (Admin → Code values / address config, or `GET /codes`).
- **LEI:** Set `lei` to the 20-character LEI when assigned; otherwise leave `""`. If the live system only allows Address2/3 or a memo for identifiers, mirror LEI (and BIC, EBICS, etc.) there and document the same strings in `address.addressLine2` / `addressLine3` when you want the apply script to push them for **clients**.
- **Address:** Fill `address.street`, `addressLine1`, `addressLine2`, `addressLine3`, `city`, `postalCode`. For `countryId` (and `stateProvinceId`) you need the Fineract code IDs from the tenant (Admin → Code values / address config, or `GET /codes`).
- **Contact:** Fill `contact.mobileNo` and `contact.emailAddress` as appropriate; leave `""` if unknown.
3. Save the file. The apply script reads this file and updates Fineract (names, then LEI identifiers, addresses, then contact fields when supported).
@@ -98,7 +106,8 @@ See [scripts/omnl/README.md](../../../scripts/omnl/README.md) for full script li
|-------------|--------------|--------|
| Entity name | `PUT /clients/{clientId}` body `firstname`, `lastname` | One-line display name in UI |
| LEI | `POST /clients/{clientId}/identifiers` | `documentTypeId` = LEI type from template; `documentKey` = LEI value |
| Address | `POST /client/{clientId}/addresses` | Requires `countryId` (and optionally `stateProvinceId`) from tenant codes |
| Address | `POST /client/{clientId}/addresses` | Requires `countryId` (and optionally `stateProvinceId`) from tenant codes; `addressLine2` / `addressLine3` may carry LEI, BIC, EBICS, etc. |
| LEI / BIC / EBICS (no dedicated field) | Address lines or UI memo | Same strings as in master JSON; offices often have no identifier API—use org memo or address-style fields in UI |
| Mobile / email | `PUT /clients/{clientId}` body `mobileNo`, `emailAddress` | If server accepts; else use UI |
---

View File

@@ -0,0 +1,24 @@
---
documentId: OMNL-JE-161-164
settlementRef: HYBX-BATCH-001
version: "1.0"
note: Example JE ids — replace with live ids from your tenant.
---
# Journal Entries 161164 (Reference)
## 1. Purpose
Template for documenting **specific journal entry IDs** tied to HYBX-BATCH-001 or related clearing (ids vary by tenant).
## 2. Lookup
```bash
JE_IDS=161,162,163,164 bash scripts/omnl/omnl-je-lookup-ids.sh
```
## 3. Institution record
| JE id | Role | Office | Amount (USD) | Reference |
|-------|------|--------|--------------|-----------|
| (fill) | (fill) | 22 / HO | (fill) | HYBX-BATCH-001 |

View File

@@ -0,0 +1,38 @@
---
documentId: PVP-MULTILATERAL-NET-BANK-KANAYA
settlementRef: HYBX-BATCH-001
beneficiaryOfficeId: 22
beneficiary: Bank Kanaya
amountUsd: "1000000000.00"
currency: USD
valueDate: "2026-03-17"
version: "1.0"
---
# PvP Multilateral Net Settlement — Bank Kanaya (HYBX-BATCH-001)
## 1. Design summary
Settlement uses **HYBX / DBIS / OMNL** multilateral netting. **Bank Kanaya (office 22)** is the **net beneficiary** of USD 1,000,000,000.00 on OMNL M1 liabilities (`2100`) with offsetting **Due To / Due From** structure per Phase C pattern (`2410` / `1410` / `2100` as applicable to your posted JEs).
## 2. Clearing reference
- Cycle id (narrative): `DBIS-SET-HYBX-20260317-001`
- Journal reference convention: `HYBX-BATCH-001-CLEARING` (where used)
## 3. Operator posting
Use institution maker-checker policy. Example script (when configured for this batch):
```bash
# DRY_RUN=1 first
bash scripts/omnl/omnl-pvp-post-clearing-bank-kanaya.sh
```
Requires `omnl-fineract/.env` or root `.env` with OMNL API credentials.
## 4. Evidence
- Netting report and ledger: transaction package Volume C
- OMNL snapshot: `omnl_transaction_package_snapshot.json`
- GL definitions: [OMNL_GL_ACCOUNTS_REQUIRED.md](OMNL_GL_ACCOUNTS_REQUIRED.md)

View File

@@ -35,6 +35,16 @@ Configuration documentation for Apache Fineract + Mifos X as the **OMNL** (Organ
| [P2P_SETTLEMENT_CRUNCHYGALAXY_RAIL.md](P2P_SETTLEMENT_CRUNCHYGALAXY_RAIL.md) | P2P banking rail: HYBX → CrunchyGalaxy settlement (request/response/capture, mirror entry, close package). |
| [OMNL_OFFICE_ADDRESS_BOOK.md](OMNL_OFFICE_ADDRESS_BOOK.md) | **Address book:** Per-office API Banking Rail instructions and secrets reference (vault path only; no secrets in repo). |
| [OMNL_OFFICE_MASTER_RUNBOOK_INDEX.md](OMNL_OFFICE_MASTER_RUNBOOK_INDEX.md) | **Master Runbook index:** Every office has one Master Runbook and optional sub-runbooks (funding, P2P, audit, DR, upload). |
| [BANK_KANAYA_OFFICE_RUNBOOK.md](BANK_KANAYA_OFFICE_RUNBOOK.md) | **Bank Kanaya (OMNL office 22)** — HYBX-BATCH-001 beneficiary; create office: `omnl-office-create-bank-kanaya.sh`; PvP JEs: `omnl-pvp-post-clearing-bank-kanaya.sh`. |
| [INDONESIA_MASTER_PROOF_MANIFEST.md](INDONESIA_MASTER_PROOF_MANIFEST.md) | **Indonesia submission** — Master proof manifest for BI/MoF package (HYBX-BATCH-001). |
| [INDONESIA_CENTRAL_BANK_SUBMISSION_BINDER.md](INDONESIA_CENTRAL_BANK_SUBMISSION_BINDER.md) | Six-volume binder structure; build via `scripts/omnl/build-transaction-package-zip.sh`. |
| [INDONESIA_SAMPLE_COVER_AND_TOC.md](INDONESIA_SAMPLE_COVER_AND_TOC.md) | Transmission-ready cover letter + master TOC (metadata in YAML front matter). |
| [OMNL_API_TRANSACTION_PACKAGE.md](OMNL_API_TRANSACTION_PACKAGE.md) | `omnl_transaction_package_snapshot.json` for regulator Section 2. |
| [PvP_MULTILATERAL_NET_SETTLEMENT_BANK_KANAYA.md](PvP_MULTILATERAL_NET_SETTLEMENT_BANK_KANAYA.md) | PvP / multilateral net narrative for Bank Kanaya batch. |
| [INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md) | **4.995 per-category** evidence standard + honesty clause. |
| [INDONESIA_SUBMISSION_PACKAGE_GRADE_AND_SCORECARD.md](INDONESIA_SUBMISSION_PACKAGE_GRADE_AND_SCORECARD.md) | Scorecard; targets **4.995** per row (not 5.0). |
| [HYBX_BATCH_001_OPERATOR_CHECKLIST.md](HYBX_BATCH_001_OPERATOR_CHECKLIST.md) | **End-to-end operator checklist** — Fineract, zip build, verify, 4.995 strict, transmission. |
| [OMNL_BANKING_DIRECTORS_AND_LEI.md](OMNL_BANKING_DIRECTORS_AND_LEI.md) | **OMNL LEI** + **directors/officers** roster; links [lei.info/98450070C57395F6B906](https://lei.info/98450070C57395F6B906). |
## Scripts

View File

@@ -0,0 +1,32 @@
---
documentId: REGULATORY-INDONESIA-BANK-KANAYA
entity: Bank Kanaya
jurisdiction: Indonesia
settlementRef: HYBX-BATCH-001
regulators:
- Bank Indonesia
- Ministry of Finance
- PPATK-as-applicable
version: "1.0"
disclaimer: Template for institution legal review — not legal advice.
---
# Regulatory Context — Indonesia (Bank Kanaya Submission)
## 1. Purpose
Frames the **HYBX-BATCH-001** evidence package for **legitimacy and supervisory review** (BI/MoF; PPATK where AML reporting applies). Institution counsel completes institution-specific citations.
## 2. Submission posture
- **Cross-border settlement** with **OMNL** as settlement ledger for the USD leg.
- **No traditional nostro chain** for this design; Section 3 N/A memorandum documents that fact.
## 3. Data and retention
- Retain package + `HYBX-BATCH-001-SUBREG` (signatures, TSA tokens, correspondence) **≥ 10 years** or local policy, whichever stricter.
- Hash manifest: `audit_manifest.json` + `HASH_NOTARIZATION_ANCHOR.txt`.
## 4. Institution action
Replace this template with **cited statutes, BI circulars, and internal policies** approved by compliance.

View File

@@ -0,0 +1,34 @@
---
documentId: TRANSACTION-EXPLANATION-JURISDICTIONS
settlementRef: HYBX-BATCH-001
valueDate: "2026-03-17"
beneficiaryOfficeId: 22
version: "1.0"
---
# Transaction Explanation — Jurisdictions and Flow
## 1. Narrative
**HYBX-BATCH-001** settles **USD 1,000,000,000.00** to **Bank Kanaya (Indonesia)** via **DBIS multilateral net clearing** and **OMNL** book entries. The USD leg is a **liability of OMNL** to the beneficiary office (M1 / interoffice structure per posted journals).
## 2. Jurisdictions (illustrative)
| Stage | Jurisdiction / venue |
|--------|----------------------|
| Clearing narrative | DBIS policy / rulebooks |
| Ledger | OMNL tenant (institution-hosted or designated) |
| Beneficiary | Indonesia (Bank Kanaya) |
## 3. Diagram (text)
```
HYBX participants ──► DBIS netting ──► OMNL GL (2100/2410/1410 pattern)
Bank Kanaya (office 22) beneficiary position
```
## 4. HTML diagram
See [TRANSACTION_EXPLANATION_VISUAL.html](TRANSACTION_EXPLANATION_VISUAL.html) (optional print/PDF).

View File

@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="documentId" content="TRANSACTION-EXPLANATION-VISUAL"/>
<meta name="settlementRef" content="HYBX-BATCH-001"/>
<meta name="beneficiaryOfficeId" content="22"/>
<title>HYBX-BATCH-001 — Settlement flow</title>
<style>
body { font-family: system-ui, sans-serif; max-width: 48rem; margin: 2rem auto; padding: 0 1rem; color: #1a1a1a; }
h1 { font-size: 1.25rem; }
.box { border: 1px solid #333; border-radius: 6px; padding: 0.75rem 1rem; margin: 0.5rem 0; background: #fafafa; }
.arrow { text-align: center; margin: 0.25rem 0; }
footer { margin-top: 2rem; font-size: 0.85rem; color: #555; }
</style>
</head>
<body>
<h1>HYBX-BATCH-001 — Visual flow (reference)</h1>
<p>Value date <strong>2026-03-17</strong> · Beneficiary <strong>Bank Kanaya (OMNL office 22)</strong> · USD <strong>1,000,000,000.00</strong></p>
<div class="box">HYBX / participant legs</div>
<div class="arrow">↓ DBIS multilateral net</div>
<div class="box">OMNL settlement ledger (M1 / interoffice)</div>
<div class="arrow"></div>
<div class="box">Bank Kanaya — credited net position</div>
<footer>Evidence: transaction package Volume C (ledger + Merkle) and Volume A Section 2 (OMNL snapshot). Not a legal opinion.</footer>
</body>
</html>

View File

@@ -54,7 +54,7 @@
| **00-meta** (tasks, next steps, phases) | [00-meta/NEXT_STEPS_INDEX.md](00-meta/NEXT_STEPS_INDEX.md), [00-meta/PHASES_AND_TASKS_MASTER.md](00-meta/PHASES_AND_TASKS_MASTER.md) |
| **02-architecture** | [02-architecture/](02-architecture/) |
| **03-deployment** | [03-deployment/OPERATIONAL_RUNBOOKS.md](03-deployment/OPERATIONAL_RUNBOOKS.md), [03-deployment/DEPLOYMENT_ORDER_OF_OPERATIONS.md](03-deployment/DEPLOYMENT_ORDER_OF_OPERATIONS.md) |
| **04-configuration** | [04-configuration/README.md](04-configuration/README.md), [04-configuration/ADDITIONAL_PATHS_AND_EXTENSIONS.md](04-configuration/ADDITIONAL_PATHS_AND_EXTENSIONS.md) (paths, registry, token-mapping, LiFi/Jumper) |
| **04-configuration** | [04-configuration/README.md](04-configuration/README.md), [04-configuration/ADDITIONAL_PATHS_AND_EXTENSIONS.md](04-configuration/ADDITIONAL_PATHS_AND_EXTENSIONS.md) (paths, registry, token-mapping, LiFi/Jumper); **OMNL Indonesia / HYBX-BATCH-001:** [04-configuration/mifos-omnl-central-bank/HYBX_BATCH_001_OPERATOR_CHECKLIST.md](04-configuration/mifos-omnl-central-bank/HYBX_BATCH_001_OPERATOR_CHECKLIST.md), [04-configuration/mifos-omnl-central-bank/INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md](04-configuration/mifos-omnl-central-bank/INDONESIA_PACKAGE_4_995_EVIDENCE_STANDARD.md) |
| **06-besu** | [06-besu/MASTER_INDEX.md](06-besu/MASTER_INDEX.md) |
| **07-ccip** | [07-ccip/](07-ccip/), [00-meta/CW_BRIDGE_TASK_LIST.md](00-meta/CW_BRIDGE_TASK_LIST.md) |
| **11-references** | [11-references/ADDRESS_MATRIX_AND_STATUS.md](11-references/ADDRESS_MATRIX_AND_STATUS.md), [11-references/CONTRACT_ADDRESSES_REFERENCE.md](11-references/CONTRACT_ADDRESSES_REFERENCE.md), [11-references/DEPLOYER_CONTRACTS_INVENTORY_AND_VERIFICATION_STATUS.md](11-references/DEPLOYER_CONTRACTS_INVENTORY_AND_VERIFICATION_STATUS.md) (all contracts by deployer wallet, network, verified/not), [11-references/DEPLOYED_TOKENS_BRIDGES_LPS_AND_ROUTING_STATUS.md](11-references/DEPLOYED_TOKENS_BRIDGES_LPS_AND_ROUTING_STATUS.md) (tokens, bridges, DODO/Uniswap LPs, full route map), [11-references/DEPLOYER_TO_PUBLIC_STABLECOIN_ROUTES.md](11-references/DEPLOYER_TO_PUBLIC_STABLECOIN_ROUTES.md) (deployer→public stablecoin routes), [11-references/ROUTES_NO_PREFUNDED_BRIDGE_REQUIRED.md](11-references/ROUTES_NO_PREFUNDED_BRIDGE_REQUIRED.md) (routes where bridge pre-fund not required), [11-references/CCIP_138_DESTINATION_RECEIVER_BY_CHAIN_AND_TOKEN.md](11-references/CCIP_138_DESTINATION_RECEIVER_BY_CHAIN_AND_TOKEN.md) (per-chain per-token: mint vs receive+forward vs release), [11-references/DEPLOYMENT_DATA_SOURCES_INDEX.md](11-references/DEPLOYMENT_DATA_SOURCES_INDEX.md) (dotenv and config files with contract deployments), [11-references/EXPLORER_TOKEN_LIST_CROSSCHECK.md](11-references/EXPLORER_TOKEN_LIST_CROSSCHECK.md) (Explorer /tokens vs repo token lists), [11-references/HARDWARE_INVENTORY_MASTER.md](11-references/HARDWARE_INVENTORY_MASTER.md), [11-references/13_NODE_NETWORK_AND_CABLING_CHECKLIST.md](11-references/13_NODE_NETWORK_AND_CABLING_CHECKLIST.md), [11-references/13_NODE_AND_ASSETS_BRING_ONLINE_CHECKLIST.md](11-references/13_NODE_AND_ASSETS_BRING_ONLINE_CHECKLIST.md) |

View File

@@ -0,0 +1,50 @@
---
documentId: DBIS-SETTLEMENT-RULEBOOK
title: DBIS Settlement Rulebook (HYBX / OMNL evidence)
version: "1.0"
status: operational-reference
relatedSettlementRef: HYBX-BATCH-001
relatedCycleId: DBIS-SET-HYBX-20260317-001
network: DBIS Mainnet (ChainID 138)
companionDocuments:
- DBIS_RAIL_RULEBOOK_V1.md
- DBIS_RAIL_TECHNICAL_SPEC_V1.md
lastReviewed: "2026-03-17"
---
# DBIS Settlement Rulebook
**Purpose:** Define settlement batch evidence, netting semantics, and **ledger row canonicalisation** used for Merkle proofs and regulatory packages (e.g. HYBX-BATCH-001).
## 1. Scope
- Applies to **DBIS clearing cycles** that settle through **OMNL** books (M1 liabilities, interoffice due-to/due-from).
- Cross-references [DBIS Rail Rulebook v1](DBIS_RAIL_RULEBOOK_V1.md) for good funds, finality, and rail policy.
## 2. Batch identity
| Field | Description |
|--------|-------------|
| `settlementBatch` | Batch identifier (e.g. `HYBX-BATCH-001`). |
| `settlementCycle` | Clearing cycle id (e.g. `DBIS-SET-HYBX-20260317-001`). |
| `valueDate` | Business value date (UTC date string). |
## 3. Netting report
Multilateral net positions are reported per participant. For HYBX-BATCH-001 the beneficiary receives the net **credit** in USD; liquidity provider shows offsetting **debit** on OMNL; system net is zero.
## 4. Annex B — Canonical line for Merkle leaves (CSV)
**Input file:** UTF-8 CSV, LF line endings, header row present.
**Leaf input:** Each **complete logical line** of the file (from first byte of the line through the line terminator excluded from hash input per generator: hash is `SHA-256(UTF-8 bytes of the line string without trailing newline on that line)`).
**Ordering:** Leaves are taken in **file order** (top to bottom), including the header row as the first leaf.
**Root:** Binary Merkle tree over leaf digests: `H(left || right)` with SHA-256; if odd count at a level, duplicate last node.
**Verification:** Recompute leaves from the same CSV bytes, rebuild tree, compare root to published `merkle_root_HYBX-BATCH-001.txt`.
## 5. Evidence retention
Submitting institutions retain: CSV, Merkle log, generation tooling identity, and audit manifest binding file hashes to `HASH_NOTARIZATION_ANCHOR.txt` per package build procedure.

View File

@@ -5,6 +5,7 @@ This folder holds the **DBIS Rail** technical specification and operational rule
- **E2E White Paper (simple terms):** [E2E_WHITEPAPER_SIMPLE.md](E2E_WHITEPAPER_SIMPLE.md) — end-to-end flow, components, and controls in plain language.
- **Technical Spec:** [DBIS_RAIL_TECHNICAL_SPEC_V1.md](DBIS_RAIL_TECHNICAL_SPEC_V1.md) — contract set, MintAuth, signer quorum, replay protection, audit events.
- **Rulebook:** [DBIS_RAIL_RULEBOOK_V1.md](DBIS_RAIL_RULEBOOK_V1.md) — good funds matrix, finality rules, accounting sequence, reversal handling, signer governance, incident controls, audit standards.
- **Settlement rulebook (HYBX / OMNL evidence):** [DBIS_SETTLEMENT_RULEBOOK.md](DBIS_SETTLEMENT_RULEBOOK.md) — batch identity, netting narrative, **Annex B** Merkle leaf canonicalisation for regulator packages.
- **Security Threat Model:** [DBIS_RAIL_SECURITY_THREAT_MODEL_V1.md](DBIS_RAIL_SECURITY_THREAT_MODEL_V1.md) — trust boundaries, authorization/ledger/router/mint/validator/off-chain threats, severity classification, residual risk, review cycle.
- **Regulator-Facing Brief:** [DBIS_RAIL_REGULATOR_BRIEF_V1.md](DBIS_RAIL_REGULATOR_BRIEF_V1.md) — institutional narrative for counterparties, examiners, counsel, and risk committees: overview, governance, lifecycle, good funds, controls, risk posture, audit, residual risk, amendment.
- **Audit Readiness Checklist:** [DBIS_RAIL_AUDIT_READINESS_CHECKLIST_V1.md](DBIS_RAIL_AUDIT_READINESS_CHECKLIST_V1.md) — pre-audit control verification: mint path, authorization, signer governance, accounting/evidence, router controls, validator layer, emergency controls, documentation integrity.