From 4eda453b9d80fe9595a62d6c72fed1be8214f82f Mon Sep 17 00:00:00 2001 From: Hazar <258789013+hazarxyz@users.noreply.github.com> Date: Thu, 30 Jul 2026 00:13:03 +0200 Subject: [PATCH 1/2] Document the deployed Stock-Paired candidate --- MODELS.md | 27 ++++- README.md | 1 + SECURITY.md | 5 + assets/README.md | 1 + assets/programmable-model-stock-paired.webp | Bin 0 -> 366458 bytes docs/README.md | 1 + docs/security/STOCK_PAIRED_PROPERTIES.md | 115 ++++++++++++++++++++ models/registry.json | 10 +- models/stock-paired/README.md | 95 ++++++++++++++++ models/stock-paired/model.json | 65 +++++++++++ 10 files changed, 318 insertions(+), 2 deletions(-) create mode 100644 assets/programmable-model-stock-paired.webp create mode 100644 docs/security/STOCK_PAIRED_PROPERTIES.md create mode 100644 models/stock-paired/README.md create mode 100644 models/stock-paired/model.json diff --git a/MODELS.md b/MODELS.md index 15d9018b..438daf0e 100644 --- a/MODELS.md +++ b/MODELS.md @@ -8,6 +8,7 @@ accounted for. [`models/registry.json`](models/registry.json) is the canonical m | Model | Lifecycle | Ethereum release | Documentation | | --- | --- | --- | --- | | Classic | **Available** | [`classic-v3`](releases/classic-v3/RELEASE.md) | [Open model](models/classic/README.md) | +| Stock-Paired | **Candidate** | Deployed candidate | [Open candidate](models/stock-paired/README.md) | | Deep | **Design** | None | [Open design](models/deep/README.md) | `Available` means the exact source, parameters, deployment, runtime hashes and security status are public. It does not @@ -34,6 +35,29 @@ buy and sell fees, direct native ETH rewards to as many as five wallets and may [Ethereum deployment](deployments/ethereum.json) · [Security properties](docs/security/CLASSIC_PROPERTIES.md) +## Stock-Paired + +
+
+
+
+
@@ -54,7 +78,8 @@ is reached. It has no deployed contracts and is not available for launch.
## Adding a model
New models start at `design`. They become `candidate` only after source, tests, fixed parameters and security properties
-exist. They become `available` only after the exact Ethereum deployment and runtime evidence are published.
+exist. They become `available` only after the exact Ethereum deployment, runtime evidence and public activation checks
+are published.
[Read the release process](RELEASING.md) ·
[Create a model record](templates/model/README.md.template) ·
diff --git a/README.md b/README.md
index 9a0eebc9..03c6cee6 100644
--- a/README.md
+++ b/README.md
@@ -132,6 +132,7 @@ contest.
| --- | --- |
| Current security status | [`SECURITY.md`](SECURITY.md) |
| Classic trust boundaries and invariants | [`docs/security/CLASSIC_PROPERTIES.md`](docs/security/CLASSIC_PROPERTIES.md) |
+| Stock-Paired candidate properties and gates | [`docs/security/STOCK_PAIRED_PROPERTIES.md`](docs/security/STOCK_PAIRED_PROPERTIES.md) |
| Automated checks and incident process | [`docs/OPERATIONS.md`](docs/OPERATIONS.md) |
| Independent review archive | [`audits/`](audits/) |
diff --git a/SECURITY.md b/SECURITY.md
index 6755fa01..f4f8dffc 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -6,6 +6,10 @@ Classic is the only available launch model. Its current Ethereum release has uni
regression and Mainnet-fork coverage. All seven release contracts are Etherscan exact matches and Sourcify matches.
Classic has not received an independent smart-contract audit or public security contest.
+Stock-Paired is a deployed candidate, not an available launch model. Its lifecycle canary passed on Mainnet and all
+seven contracts have Sourcify matches. One contract has an Etherscan Exact Match; the other six currently have Similar
+Matches. Stock-Paired also has no independent audit or public security contest.
+
These records are evidence, not a safety guarantee.
| Record | Scope |
@@ -13,6 +17,7 @@ These records are evidence, not a safety guarantee.
| [Classic security properties](docs/security/CLASSIC_PROPERTIES.md) | Trust boundaries, permissions, accounting and invariant evidence |
| [Classic Slither review](docs/security/SLITHER_CLASSIC_V3.md) | Static-analysis findings and manual dispositions |
| [Classic release](releases/classic-v3/RELEASE.md) | Version-bound source, tests and Mainnet lifecycle evidence |
+| [Stock-Paired candidate properties](docs/security/STOCK_PAIRED_PROPERTIES.md) | Quote-asset accounting, issuer controls and remaining release gates |
| [Operations](docs/OPERATIONS.md) | Automated checks, monitoring status and incident response |
| [Independent reviews](audits/README.md) | Published external reports, currently none |
| [Ethereum deployment](deployments/ethereum.json) | Addresses, transactions, runtime hashes and verification status |
diff --git a/assets/README.md b/assets/README.md
index 544e6ae6..74640d20 100644
--- a/assets/README.md
+++ b/assets/README.md
@@ -5,6 +5,7 @@
| `programmable-repository-cover-animated.gif` | Motion cover for GitHub surfaces that support animated images |
| `programmable-repository-cover.jpg` | Static cover and reduced-motion fallback |
| `programmable-model-classic.jpg` | Classic model artwork |
+| `programmable-model-stock-paired.webp` | Stock-Paired candidate artwork |
| `programmable-model-deep.jpg` | Deep design artwork |
| `programmable-builder-ecosystem.jpg` | Hook Builder Program artwork |
diff --git a/assets/programmable-model-stock-paired.webp b/assets/programmable-model-stock-paired.webp
new file mode 100644
index 0000000000000000000000000000000000000000..70af048765cd246c70087e0f45d9136209ef1165
GIT binary patch
literal 366458
zcmV(xK K^8OkgO;^o+LjTpn=`&Il;UHM
ztBI*Bh&y^uv6AqF#t^wQjGTRD$Ms6C1IsgWLU~V(0 o+}WF5qYuO2s=$elW0fq8k=h$KHYq+3IWwsYG>Q9rWn
zXB_bWKU`@KACl`Udww5ixt<_cIF3i{Q)eHv7$jZ9h2p+g4a_fUiQ-ei+9YVdMQ7v-
z-O>mX3>BH+gA;^DX+RqzP_7Y@%$ud=M|Z(3;?O>$X1gHHHxy#@=N3uJH^W+rv61QR
zzI;5C*UiSj(dzM*A$vQfytD}{wgfSh!0);2lt)|bxa*4OW=!)5o*JZfRYktlGtPR2
z_5Iv6_(?d3nw?_o{5tCSDxGp;4m`0u8l5n=O<_*>i7R_{shNZ}}mL%$52XOYK=;>Tuii1)A#>-|F%+
z?E{ttr9h8y@(-3SZ85K5{^F)NH)PKoz})%3N>
y`-gegNmu=$y5&z*=B
zs(fDmFY$YgsqMmAn^&Y8YG4wUWv2k_J+;{V?vw@N$-+E|kr=W(w>!b4;uZ(=fVQho
z4u+bt1<^~TrxYH|=?v(rS*seMajG9jV?P*{lJiIwNTkGc1@CWp(*saFE$hx8&0h
z#bRoB9VUF@mWyn+5+4V@uYTr&^K;Q1As>nW=qJ00h@BK})g97%5pYQRL*hSP7S|M<
zaCnp4q--9SG
IIU(gh7Ed)3AaRCn|DMTIOxY7R
z4E9pze5*nM+Wi$drA3LvJN7OW5GFRv_g{8&zRSLm8QD!xM}fQ!Wl@OvwNiRcF|T*N
zj+SXcKPsvCWp|6UIa}60xESdDYr6cyodY+TLQ%tczD7YU7b<%Ad|Z=MFC
4_RisUfh?|$XSx3_;D_+TmzEo0FjQ}y?1|nRhZ34l958yAo_5t3
znC@5Ap*gA@qiVTo`cfGzf}yQOYWb(sM;Yls&Tcfq4J#JL{)^ve`r_X`5Q`!4W6dPH
ztBY9z|0vYY%;lp4{={8L8ZB&d5**n`E_lvkD?pplV{3(Gy%SQiAzR4tOpvp)jo>K&
z)F)6CA#