# `product/` — Balinyaar product & domain knowledge

This folder is the **source of truth** for Balinyaar's business rules, data model, payments design,
and market/legal research. The code is young; **these docs are the decisions**. Read the relevant
doc before designing any schema, API, or feature — don't infer business rules from code.

> **For humans:** open [`index.md`](index.md) (or the generated [`index.html`](index.html)) — it's
> the hub that links everything.

## Layout

| Path | What's in it |
| --- | --- |
| [`overview/`](overview/platform-summary.md) | What Balinyaar is, the four cross-cutting ground truths, IRR/Toman rule, Persian glossary. **Read first.** |
| [`business/`](business/index.md) | The 14 functional requirement areas (onboarding → admin), each with rules / Iran considerations / MVP-vs-deferred / supporting entities. |
| [`data-model/`](data-model/index.md) | The ~54-table schema across 13 domains + [diagrams](data-model/diagrams.md), design principles, design decisions. |
| [`payments/`](payments/index.md) | Fintech deep-dive with sources: payment reality, escrow ledger, BNPL, cancellation/payout, integrations. |
| [`research/`](research/index.md) | Market, risks, verification, legal landscape, go-to-market — adversarially fact-checked, cited. |
| [`notes/`](notes/open-questions.md) | Living notes: [open questions](notes/open-questions.md), [future ideas](notes/future-ideas.md). |
| [`wireframes/`](wireframes/index.html) | Screen wireframes (HTML). |
| [`fa/`](fa/index.html) | Farsi-language docs kept in parallel (research report + verification flow). |
| `assets/` | Shared CSS for the generated HTML view. |

## Markdown is canonical; HTML is generated

Every `.md` file is the editable source. The matching `.html` files are a **generated**,
brand-styled, cross-linked browsing view (sidebar nav, Mermaid diagrams, dark mode). **Never edit
the `.html` by hand** — edit the Markdown and regenerate.

### Regenerating the HTML view

The generator is dependency-free — plain Node, no `npm install`:

```bash
cd product
node build-docs.mjs
```

It walks every `.md` file, converts it to a styled `.html` at the same path,
builds the sidebar from the manifest inside `build-docs.mjs`, and rewrites internal `…/foo.md` links
to `…/foo.html`. If you add, remove, or rename a `.md` file, update the `NAV` manifest at the top of
[`build-docs.mjs`](build-docs.mjs) so it appears in the sidebar.

## Conventions

- Each `.md` starts with a single `# H1` (the generator uses it as the page title).
- Cross-doc links are **relative and use the `.md` extension** (the generator rewrites them to
  `.html`); this keeps links working both in raw Markdown and in the rendered site.
- Languages: **English is canonical.** Farsi versions live under `fa/` and are linked, not inlined.
- Money is **IRR Rials**; see [the ground truths](overview/platform-summary.md).
