Provenance
This repository is a new distribution layer. It does not fork the HETIBANK application; it ports canonical contracts and component behavior with a pinned source, and it records that source in the header of every ported file.
Pinned sources
Read on 2026-11-01. The application clone available on this machine is at dbdbdf446 (working tree of PR #165); the cc1949b… ref is the Site source archive commit recorded in docs/plans/sdk-kit/source-manifest.json and is not present in the application clone. Both are named so a reader can tell which artifact a file came from instead of assuming one pin covers everything.
| Source | Ref | Used for |
|---|---|---|
Platform-Economics/Assumable-Loan-Marketplace (application clone) | dbdbdf446 (HEAD on 2026-11-01) | canonical OpenAPI, buyer-UI contracts, shell, widget bridge, theme tokens, plugin manifests |
Site source archive (sdk.hetibank.com, version 22) | cc1949b500557f19c7884701d3a5c0a92d2862f4 | Site-derived brand themes, display-kit behavior, map integration notes — not the app clone |
| Contract fixtures | a4b1840412c1645e31671a2ce3115df029dc33c9 | regenerated docs/plans/sdk-kit/fixtures payloads |
| Canonical API contract | lib/api-spec/openapi.yaml at dbdbdf446 (OpenAPI 3.1, 301 paths, 14,140 lines) | spec/hetibank.openapi.yaml |
lib/buyer-ui-contracts/src/contracts.ts | dbdbdf446 | packages/contracts/src/buyer-ui.ts |
lib/hetibank-shell/src/** | dbdbdf446 | shell container behavior in @hetibank/ui |
artifacts/hetibank/src/widget/mcp-apps-bridge.ts | dbdbdf446 | @hetibank/apps bridge semantics |
artifacts/hetibank-theme/tokens.json | dbdbdf446 | token vocabulary in @hetibank/theme |
plugins/hetibank-buyers-sellers/plugin.json | dbdbdf446 | plugin template shape and review cases |
shadcnio/react-shadcn-components README + shadcn.io blocks grid | frozen mirror vendor/shadcn-io | component catalog discovery |
Repliers-io/mcp-server | main @ a5d8ed9 (analysis ref) | tool-description and filter-echo patterns (no code copied) |
Rules
- A ported file keeps its source path and commit in a header comment.
- Behavior changes are not smuggled in as ports: a port either reproduces behavior or states the
difference and why.
- The canonical contract wins. If this repo and the application disagree, the application's
lib/api-spec/openapi.yaml and lib/buyer-ui-contracts are corrected first, then re-ported.
docs/AGENT-CONTRACT.mdlists the currently frozen interfaces.
What is deliberately not here
- Database schema, migrations, credentials and server secrets.
- Financial calculation engines. Every payment/rate/cash figure is produced by the API.
- The application's business logic, routing, or state management.
- Brand assets of real brokerages. Example brands are fictional; the audit's brokerage hex values
appear only as test fixtures for the contrast gate.