Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
216 changes: 135 additions & 81 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,99 +1,153 @@
# 🌉 HashiRWA — Fund 14
### Milestone 1: Data Foundation & Validation Pipeline

![Status](https://img.shields.io/badge/Status-In%20Progress-teal?style=flat-square)
![Milestone](https://img.shields.io/badge/Milestone-1-blueviolet?style=flat-square)
![Fund](https://img.shields.io/badge/Catalyst-Fund%2014-red?style=flat-square)
![Track](https://img.shields.io/badge/Track-RWA-orange?style=flat-square)
![Language](https://img.shields.io/badge/Language-Python-yellow?style=flat-square)
## Milestone 1: Data Foundation & Validation Pipeline

> **Future Notice:**
> HashiRWA is currently being delivered under **Fund 14**.
> A future **Fund 15** expansion will build on this dataset with product-level metadata, tokenization pathways, and oracle integration. A dedicated F15 section will be added once Fund 14 milestones are completed.
![Status](https://img.shields.io/badge/Status-In%20Progress-blue)
![Milestone](https://img.shields.io/badge/Milestone-1-purple)
![Catalyst](https://img.shields.io/badge/Catalyst-Fund%2014-orange)
![Track](https://img.shields.io/badge/Track-RWA-yellow)
![Language](https://img.shields.io/badge/Language-Python-green)

## Overview
---

## 📌 Future Notice

HashiRWA is currently being delivered under **Fund 14**.
A future **Fund 15** expansion will build on this dataset with product-level metadata, tokenization pathways, and oracle integration.
A dedicated F15 section will be added once Fund 14 milestones are completed.

---

## 📘 Overview

This repository contains **Milestone 1 of HashiRWA**, funded under **Project Catalyst — Fund 14 (RWA Track)**.
The milestone establishes the initial data foundation needed to onboard issuers, validate collected information, and prepare for future enrichment and on-chain compatibility.
Milestone 1 establishes the initial data foundation required to onboard Japanese agricultural producers, validate collected information, and prepare for future enrichment and on-chain compatibility.

Milestone 1 delivers:
- a clean and standardized `issuers.csv` dataset
- a validation tool for quality assurance
- photo evidence for issuer verification
- directory structure for future datasets
- schema designed to align with upcoming CIP-68 metadata work

This forms the base layer for all later development phases.

## 1. Data Schema (`issuers.csv`)

The schema used in Fund 14 Milestone 1 includes the following fields:

| Column | Description |
|---------------------------|---------------------------------------------------------------------|
| **issuer_id** | Unique ID for each issuer |
| **company_name** | Company or producer name |
| **brand_or_product_line** | Brand or product line |
| **product_name** | Name of the showcased product |
| **category** | Product category (e.g., Tea, Sake, Snacks) |
| **certifications** | Certifications held |
| **cert_ids_or_details** | Certification numbers or details |
| **prefecture_or_region** | Japanese prefecture or region |
| **booth** | Expo booth number |
| **website** | Official website |
| **event** | Event where the data was collected |
| **collector** | Sapient team data collector |
| **program** | Program type (e.g., pilot) |
| **nda_required** | yes / no |
| **status** | pending / verified / active / inactive / rejected / archived |
| **evidence_url** | Optional URL to supporting documents |
| **photo_proof_url** | Photo proof taken at the expo |
| **collected_date** | ISO date (YYYY-MM-DD) |
| **visibility** | public / private / hidden |
| **notes** | Additional comments |

This schema supports clean ingestion, structured sorting, and future RWA metadata mapping.

## 2. Validation Tool (`validate_issuers.py`)

A custom Python validation script ensures consistency and data quality across all `issuers.csv` entries.

- ✔️ A clean and standardized **issuers.csv** dataset
- ✔️ A Python-based **validation tool** for issuer metadata
- ✔️ Photo evidence for issuer verification
- ✔️ Directory structure for future datasets
- ✔️ A schema aligned with emerging metadata standards (CIP-68/CIP-113)
- ✔️ Base preparation for producer onboarding workflows

This forms the data backbone for all later development phases.

---

## 📁 Repository Structure

### Repository Structure

```plaintext
hashirwa/
├── data/ # issuer dataset (issuers.csv)
├── proof/ # photo evidence for verification
├── scripts/ # validation tool (validate_issuers.py)
├── mockups/ # UI/UX outlines for later milestones
├── docs/ # supporting reference material
├── tech/ # engineering notes & strict-mode documentation
└── README.md
```

---

## 📊 1. Data Schema (`issuers.csv`)

The dataset includes the following fields:

| Column | Description |
|--------|-------------|
| issuer_id | Unique ID for each issuer |
| company_name | Company or producer name |
| brand_or_product_line | Brand or product line |
| product_name | Name of the showcased product |
| category | Product category (Tea, Sake, Snacks, etc.) |
| certifications | Certifications held |
| cert_ids_or_details | Certification numbers or details |
| prefecture_or_region | Japanese prefecture or region |
| booth | Expo booth number |
| website | Official website |
| event | Event where data was collected |
| collector | Sapient team data collector |
| program | Program type (e.g., pilot) |
| nda_required | yes / no |

---

## 🧪 2. Validation Tool (`validate_issuers.py`)

A custom Python validator ensures clean and consistent metadata across all entries.

### Features
- Required field checks
- URL validation
- ISO date formatting
- Allowed enums (`status`, `visibility`, `nda_required`)
- Duplicate issuer detection
- Whitespace and comma-handling normalization
- Optional strict mode for evidence URLs
- Enum enforcement (`status`, `visibility`, `nda_required`)
- Duplicate detection
- Whitespace & comma normalization

## Usage
> Extended developer usage (strict mode, write-fixed CSV) is documented in
> 👉 `/tech/README.md`

### Strict mode (recommended for future milestones)
```bash
python scripts/validate_issuers.py data/issuers.csv
---

## 🖼️ 3. Verification Photos (`/proof`)

Folder includes:
- Booth photography
- Packaging / product photos
- Certification evidence
- Producer authenticity materials

These support milestone verification requirements.

---

## 🧩 4. Mockups & UX (Foundational)

High-level UI/UX mockups illustrating:
- Onboarding flow
- Listing details
- Admin review process

These guide future functional milestones.

---

## 📌 Evidence of Milestone Completion

Milestone 1 evidence includes:

1. **Dataset:** `data/issuers.csv`
2. **Validation tool:** `scripts/validate_issuers.py`
3. **Verification photos:** `/proof`
4. **Documentation:** README + `tech/README.md`
5. **Directory structure / mockups**
6. **Commit history** showing milestone progress

*(The functional platform demo — onboarding → approval → listing → metadata endpoint — is delivered in a separate repository.)*

---

## 🔮 Future Extension (Fund 15)

- Product-level metadata for tokenization
- Valuation & pricing models
- Oracle integration
- Expanded issuer onboarding UI
- Marketplace testnet listing
- Full CIP-68 compatibility
- Smart contract workflows

A dedicated F15 section will be added after Fund 14 milestones are completed.

---

## 📜 License

MIT License.

python scripts/validate_issuers.py data/issuers.csv --write-fixed data/issuers_clean.csv

hashirwa/
├── data/
│ ├── issuers.csv
│ └── proof/
│ ├── haranoseichahonpo.jpg
│ ├── miyagi-farm.jpg
│ ├── tomin-namazake.jpg
│ ├── kouzou-shuzo.jpg
│ ├── unique-bosai.jpg
│ ├── marutomo-bussan.jpg
│ ├── kimuraya-seafood.jpg
│ ├── sawarabi.jpg
│ ├── ako-aranami-salt.jpg
│ └── sankyo-foods.jpg
├── scripts/
│ └── validate_issuers.py
├── README.md
└── LICENSE

1 change: 0 additions & 1 deletion docs/milestone-1-report.md

This file was deleted.

1 change: 1 addition & 0 deletions docs/milestones/.keep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

10 changes: 10 additions & 0 deletions docs/milestones/M1_completed/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Milestone 1 – Completed

Milestone 1 for **HashiRWA** has been completed and approved through the Project Catalyst milestone review process.

This milestone focused on establishing the foundational components required for subsequent development, including initial data structures, documentation, and platform readiness.

All required deliverables, evidence, and verification materials were submitted via the Catalyst milestone portal and have been formally reviewed and approved.

With Milestone 1 completed, the project proceeds to Milestone 2, which focuses on data integration and oracle connectivity.

1 change: 1 addition & 0 deletions docs/milestones/M2_in_progress/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

24 changes: 24 additions & 0 deletions proof/screenshots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Proof-of-achievement M1 Screenshots

The foundation Platform interface and backend are live as demonstrated in the video walkthrough.

Please find below screenshots for the relevant parts as well:

### Dashboard

![Dashboard](https://github.com/Sapient-Predictive-Analytics/hashirwa/blob/tech/m1/proof/01_dashboard.jpg)

### Admin Panel

![Admin Panel](https://github.com/Sapient-Predictive-Analytics/hashirwa/blob/tech/m1/proof/02_admin_panel.jpg)

### Database Entry

![First entry](https://github.com/Sapient-Predictive-Analytics/hashirwa/blob/tech/m1/proof/03_database_entry.jpg)
*This screenshot shows the JSON format onboarding data for the first customer, done during the demo video. Admin panel will show all entries directly from the database*

### Cardano Transaction Detail

![Preprod Explorer](https://github.com/Sapient-Predictive-Analytics/hashirwa/blob/tech/m1/proof/04_mint_transaction_details.jpg)

These UTxO, mint and on-chain metadata can be verified at https://preprod.cardanoscan.io/transaction/3ce7adb5714ca14a53dc355a0b39599e3b710fbce4150595a8e0833378b726de