# CASEAN T-TOS Milestone 1 / Phase 1A: review package

Prepared for CASEAN review (Work #83, under #82). Formal submission is a separate step (#84); see below.

**One-line scope:** a guided deal closer on sparse data. A buyer and a supplier go from RFQ to agreed terms (`TERMS_AGREED`) without a form tour, and "I don't know, ask CASEAN" is always a valid answer.

## Formal submission (#84)

The formal notice under Agreement §11 is [`SUBMISSION.md`](SUBMISSION.md), dated 31 October 2026, with a tickable reviewer checklist in [`acceptance-checklist.md`](acceptance-checklist.md) and a legacy/requirements reconciliation summary in [`legacy-and-requirements.md`](legacy-and-requirements.md). CASEAN has **10 business days** from receipt to approve in writing or give written notice of material deficiencies; absent a notice, the deliverables are accepted at the end of the period. Assumed end date if this notice is delivered 31 Oct 2026: **Friday 13 November 2026** (weekends excluded; holidays TBD; clock runs from email delivery unless the parties agree otherwise). Next step after acceptance: sign-off (#85) and the $3,000 CAD Month 1 invoice per Annex A6.

**Suggested email subject:** `NILEAD → CASEAN: Milestone 1 Submission for Acceptance (Agreement §11, 10-Business-Day Review) – 31 Oct 2026`

**Client review hub (no localhost):** [https://casean-m1-preview.pages.dev/](https://casean-m1-preview.pages.dev/) — prototype, deck, submission, checklist. Republish after content changes: `scripts/publish-client-preview.sh`.

## What Milestone 1 accepts

| # | Acceptance area | Where to see it |
|---|---|---|
| 1 | **Guided RFQ → terms → `TERMS_AGREED`.** Home shows one next step; Deal Overview shows a stage checklist and one primary button. Only starred RFQ fields are required. | Prototype: Buyer Home, RFQ, Deal Overview |
| 2 | **Ask CASEAN.** At any blocker the user can ask CASEAN instead of guessing (concierge / proxy request). | Prototype: Deal Overview, "I don't know: ask CASEAN" |
| 3 | **Sparse data.** Price, Incoterm, payment terms, vessel, containers and agent may stay `[PENDING]`. A supplier can respond to an RFQ without a price. | Prototype: supplier *Respond*, deal *Terms* |
| 4 | **HITL Assist (concept).** Paste an email or WhatsApp message, get a `PROPOSED / AI draft` terms diff, and Accept or Dismiss. Nothing changes until a person accepts. | Prototype: top bar *Assist* |

Success test (from `docs/ia/guided-and-assist.md`): a new buyer can go RFQ → deal → `TERMS_AGREED` without opening Landed Cost, Dossier admin or Reference Data, and without filling vessel, HS or freight.

## Explicitly out of acceptance

These exist in the prototype only as labelled concepts. They are not Milestone 1 acceptance criteria and are not part of the walkthrough.

- Landed Cost calculator (Phase 1C; the prototype screen shows `ESTIMATE_PENDING` and no totals).
- HS code and freight "theatre": no HS, freight, insurance or duty numbers are invented anywhere, including by Assist.
- Full dossier admin and verification review workflows.
- Trade Sheet lock as a required step (signing and lock are Phase 1C; the prototype shows them as a concept).
- Payments, escrow, tracking, rankings and risk scores.

## Documents

### Architecture decision records (all accepted)

Index: [`docs/adr/INDEX.md`](../adr/INDEX.md)

- [ADR-0001](../adr/0001-architecture-style-and-tech-stack.md) Architecture style and core technology stack
- [ADR-0002](../adr/0002-non-custodial-settlement-boundary.md) Non-custodial financial settlement boundary
- [ADR-0003](../adr/0003-quality-compliance-vault-storage.md) Quality and Compliance Vault storage
- [ADR-0004](../adr/0004-landed-cost-calculation-strategy.md) Landed Cost engine strategy
- [ADR-0005](../adr/0005-counterparty-verification-lifecycle.md) Counterparty verification lifecycle and dossier model
- [ADR-0006](../adr/0006-human-in-the-loop-ai-architecture.md) Human-in-the-loop AI boundary
- [ADR-0007](../adr/0007-progressive-data-maturity-and-sparse-data.md) Progressive data maturity and sparse data

The two that shape this milestone most: ADR-0006 (AI proposes, humans confirm) and ADR-0007 (sparse data is normal).

### Specs (all draft)

Index: [`specs/INDEX.md`](../../specs/INDEX.md)

| Phase | Spec | Note |
|---|---|---|
| **1B** | [deal-control-room](../../specs/deal-control-room.md) | Core of the guided path |
| **1B** | [identity-and-rbac](../../specs/identity-and-rbac.md) | |
| **1B** | [platform-infrastructure](../../specs/platform-infrastructure.md) | Plumbing |
| **1B** | [quality-compliance-vault](../../specs/quality-compliance-vault.md) | Checklist-first |
| **1B** | [trade-intelligence-dossier](../../specs/trade-intelligence-dossier.md) | Progressive; admin not an M1 acceptance item |
| **1C** | [landed-cost-engine](../../specs/landed-cost-engine.md) | Concept only in M1 |
| **1C** | [trade-sheet-protocol](../../specs/trade-sheet-protocol.md) | Concept only in M1 |
| **1C** | [transaction-performance-ledger](../../specs/transaction-performance-ledger.md) | Not shown |

### Information architecture and roles

- [Information architecture](../ia/information-architecture.md), including §8 product decisions D1–D12 (D11 guided journey, D12 HITL assistant)
- [User role matrix](../ia/user-role-matrix.md)
- [Guided journey and assistant principle](../ia/guided-and-assist.md)
- [Low-fi wireframes](../ia/wireframes/index.html)

### Interactive prototype

- Entry: [`docs/ia/prototype/index.html`](../ia/prototype/index.html)
- Guide / Assist concept notes: [`docs/ia/prototype/guide/CONCEPT.md`](../ia/prototype/guide/CONCEPT.md)
- Full prototype README and known limits: [`docs/ia/prototype/README.md`](../ia/prototype/README.md)

**How to open it.** It is static HTML/CSS/JS with no build step.

1. Double-click `docs/ia/prototype/index.html` (runs from `file://` in any current browser), or
2. if a local server is running, open `http://127.0.0.1:8765/` pointed at the prototype folder. A server is optional, and whether one is running is not assumed here. To start one: `python3 -m http.server 8765 --directory docs/ia/prototype`.

Demo state is saved in the browser (`localStorage`). Use *Demo controls > Reset demo data* before a session. It is a single-browser demo: "two parties" means switching shells at top right.

### Walkthrough materials (this folder)

- [`walkthrough-deck.html`](walkthrough-deck.html): presenter deck, open in a browser, arrow keys to move
- [`walkthrough-script.md`](walkthrough-script.md): click-by-click facilitator checklist
- [`SUBMISSION.md`](SUBMISSION.md) / [`acceptance-checklist.md`](acceptance-checklist.md) / [`legacy-and-requirements.md`](legacy-and-requirements.md): formal §11 packet

## Known limits of the prototype

Scripted, no LLM: Assist is regex matching on price, quantity, Incoterm and payment terms. No real auth or multi-user sync. Uploads are simulated. Ask CASEAN does not create a real queue item. Tested in headless Chrome only; not tested in Safari or Firefox. Details in the prototype README.
