From 0d2fcf825a4ade5bc4e8f393e82eb2d0f4305ea5 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 16 Jun 2026 12:05:39 +1000 Subject: [PATCH 1/8] Align prize, submission, and claim templates with proven-useful policy Encode the proven-useful model in the templates so the policy is enforced at authoring, submission, and payment time: - prizes/LP-0000.md: add a Consumer section (named consumer, accountable green-light owner, contact channel, redundancy/fallback, out-of-scope consumer shapes) required before Draft -> Open; add an Adoption win condition to Success Criteria; add the 50/50 delivery/adoption split and the consumer-unresponsive fallback to Prize Structure; add an operational- security requirement; add an "Up for fork" status. Drop the "Logos Circle: N/A" line (no default consumer type). - solutions/LP-0000.md: add an Adoption Evidence section (named consumer, contact channel, integration status, evidence link). - lambda-prize-claim.yml: add a "which release" field (full / delivery-only / adoption) for the split model. Source: the proven-useful redline of the internal process doc. Co-Authored-By: Claude Opus 4.8 --- .github/ISSUE_TEMPLATE/lambda-prize-claim.yml | 17 +++++++ prizes/LP-0000.md | 46 +++++++++++++++++-- solutions/LP-0000.md | 12 +++++ 3 files changed, 70 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml b/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml index e5ecf8e..bc05bbb 100644 --- a/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml +++ b/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml @@ -18,6 +18,23 @@ body: > [!IMPORTANT] > The prize amount will be paid in **USDT on Ethereum** to the **Ethereum wallet address** you enter below. + - type: dropdown + id: release + attributes: + label: Which release is this? + description: > + Prizes are split 50% delivery / 50% adoption. Most claims are the full + prize, released once adoption is verified. Choose "Delivery only" if you + were told the delivery half is being released early because the consumer was + unresponsive, and "Adoption" if you are now claiming the remaining adoption + half. + options: + - Full prize (delivery + adoption) + - Delivery only (consumer-unresponsive release) + - Adoption (remaining half after an earlier delivery-only release) + validations: + required: true + - type: input id: typeform_response_id attributes: diff --git a/prizes/LP-0000.md b/prizes/LP-0000.md index 5604c7d..8301a93 100644 --- a/prizes/LP-0000.md +++ b/prizes/LP-0000.md @@ -22,9 +22,28 @@ dependencies: [] **`Status`**: - Draft: Not yet ready - Open: Ready for application -- Completed: Submission accepted, prize completed +- Up for fork: Original builder disengaged; another builder may take the existing work forward toward adoption (set at Logos discretion) +- Completed: Submission accepted and adopted, prize completed -**`Logos Circle: `** +## Consumer + +> A prize is not published (Draft → Open) until a named consumer is identified: the +> party that will adopt the deliverable, and the accountable person who gives the +> adoption green light. Adoption by this consumer is the win condition (see Success +> Criteria → Adoption). + +- **Type:** Circle / Sample-app integration (Eco Dev Eng) / Partner +- **Consumer:** +- **Adoption green-light owner:** +- **Contact channel:** +- **Redundancy / fallback:** + +> Out of scope as a consumer: a RFP that needs this LP; a LP that depends on a PR +> being merged into Logos (a PR against `scaffold` / `spel` is fine); another LP +> consuming this one. The consumer must already exist and be independently useful, +> not be built in order to consume this prize. ## Overview @@ -58,10 +77,15 @@ dependencies: [] > - A README documents end-to-end usage: deployment steps, program addresses, and step-by-step instructions for interacting with the program via CLI and Basecamp app. > - A reproducible end-to-end demo script is provided and works against a real local sequencer with `RISC0_DEV_MODE=0`. > - A recorded video demo of the end-to-end flow is included in the submission; the recording must show terminal output (including proof generation) to confirm `RISC0_DEV_MODE=0` was active. +> +> **Adoption** — the win condition. State the concrete, verifiable adoption the named +> consumer (see Consumer section) must demonstrate. Pre-mainnet this is binary: the +> consumer has integrated the deliverable and runs it on testnet. (Quantitative +> thresholds such as users / TVL / usage apply to a later mainnet adoption stage.) -- [ ] Criterion 1 -- [ ] Criterion 2 -- [ ] Criterion 3 +- [ ] Functional criterion 1 +- [ ] Functional criterion 2 +- [ ] **Adoption:** has integrated this and runs it on testnet ## Scope @@ -77,7 +101,13 @@ dependencies: [] - **Total Prize:** $X - **Effort:** XS / S / M / L / XL / Variable +- **Split:** 50% delivery (Logos-owned acceptance: criteria met, license, security, reproducible demo) / 50% adoption (the named consumer uses it, verified by Logos) > Leave prize pool blank — this will be determined by the Logos team. Single winner by default. Detail here if otherwise. +> +> The default is a single payout released once Logos verifies adoption. The split +> becomes two separate releases only if the consumer is unresponsive for two weeks: +> the delivery half is then released so an engaged builder is not blocked by an +> absent consumer, and the adoption half stays open until adoption happens. ## Eligibility @@ -97,6 +127,12 @@ dependencies: [] > The demo must make it easy for evaluators to verify that the implementation meets the stated criteria. > > Submissions must include a FURPS self-assessment as part of the solution (see [solution template](../solutions/LP-0000.md)). +> +> **Operational security.** The named consumer will run this code, potentially with +> real keys and value. Beyond functional correctness, the submission must include +> what an adopter needs to run it safely: key handling, any required sandboxing, +> dependency/supply-chain notes, and deployment guidance. The Logos security review +> covers this as part of acceptance. ## Evaluation Process diff --git a/solutions/LP-0000.md b/solutions/LP-0000.md index c9d8411..0064990 100644 --- a/solutions/LP-0000.md +++ b/solutions/LP-0000.md @@ -26,6 +26,18 @@ - [ ] Criterion 2: _explanation_ - [ ] Criterion 3: _explanation_ +## Adoption Evidence + +> Adoption by the prize's named consumer is the win condition. State who the consumer +> is and the current status of their integration, and link the evidence. Logos +> verifies this before releasing the adoption half of the prize. + +- **Named consumer:** +- **Contact channel:** +- **Integration status:** +- **Evidence:** + ## FURPS Self-Assessment > Evaluate your delivery against each of the following dimensions. From 186ea9b32e29049a94e24352359638a4b1f7d58b Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 16 Jun 2026 12:09:23 +1000 Subject: [PATCH 2/8] Align consumer fields with any-one-of-several adoption model Multiple candidate consumers are optional insurance, not a hard publish requirement: adoption by any one flagged consumer meets the win condition. Reword the Consumer 'redundancy/fallback' field and the Adoption criterion to match. Co-Authored-By: Claude Opus 4.8 --- prizes/LP-0000.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/prizes/LP-0000.md b/prizes/LP-0000.md index 8301a93..4f2faa5 100644 --- a/prizes/LP-0000.md +++ b/prizes/LP-0000.md @@ -37,8 +37,9 @@ dependencies: [] - **Adoption green-light owner:** - **Contact channel:** -- **Redundancy / fallback:** +- **Other candidate consumers (optional):** > Out of scope as a consumer: a RFP that needs this LP; a LP that depends on a PR > being merged into Logos (a PR against `scaffold` / `spel` is fine); another LP @@ -85,7 +86,7 @@ dependencies: [] - [ ] Functional criterion 1 - [ ] Functional criterion 2 -- [ ] **Adoption:** has integrated this and runs it on testnet +- [ ] **Adoption:** a named consumer has integrated this and runs it on testnet (if several are flagged, any one suffices) ## Scope From be837e4eda31a723c83cda68a34c1cb9c8e29ead Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 16 Jun 2026 12:24:12 +1000 Subject: [PATCH 3/8] Model delivery+adoption as two phases on one submission The submission issue carries the whole prize timeline: opening it is the delivery signal and stakes the builder's dibs on adoption; the consumer's adoption is filled in later by editing the same submission. There is no separate builder-facing payment claim for each slice. - solutions/LP-0000.md: add a two-phase note up top (open = delivery + dibs; edit later to fill adoption); reframe Adoption Evidence as a fill-later placeholder, empty at submission time. - lambda-prize-claim.yml: remove the 'which release' dropdown. Which slice is paid is Logos/Finance's determination, not a builder self-classification. Co-Authored-By: Claude Opus 4.8 --- .github/ISSUE_TEMPLATE/lambda-prize-claim.yml | 17 ----------------- solutions/LP-0000.md | 17 +++++++++++++---- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml b/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml index bc05bbb..e5ecf8e 100644 --- a/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml +++ b/.github/ISSUE_TEMPLATE/lambda-prize-claim.yml @@ -18,23 +18,6 @@ body: > [!IMPORTANT] > The prize amount will be paid in **USDT on Ethereum** to the **Ethereum wallet address** you enter below. - - type: dropdown - id: release - attributes: - label: Which release is this? - description: > - Prizes are split 50% delivery / 50% adoption. Most claims are the full - prize, released once adoption is verified. Choose "Delivery only" if you - were told the delivery half is being released early because the consumer was - unresponsive, and "Adoption" if you are now claiming the remaining adoption - half. - options: - - Full prize (delivery + adoption) - - Delivery only (consumer-unresponsive release) - - Adoption (remaining half after an earlier delivery-only release) - validations: - required: true - - type: input id: typeform_response_id attributes: diff --git a/solutions/LP-0000.md b/solutions/LP-0000.md index 0064990..dbe6205 100644 --- a/solutions/LP-0000.md +++ b/solutions/LP-0000.md @@ -2,6 +2,14 @@ **Submitted by:** +> **This submission has two phases on the one issue.** +> 1. **Delivery (now).** Opening this submission timestamps your code as delivered +> and gives you first claim ("dibs") on taking it to adoption. Fill everything +> except the Adoption Evidence section. +> 2. **Adoption (later).** Once the prize's named consumer has adopted your work, +> **edit this submission** to fill in the Adoption Evidence section below. +> Adoption is the win condition; Logos verifies it before releasing the prize. + ## Summary > Brief description of the solution and how it addresses the prize's success criteria. @@ -28,13 +36,14 @@ ## Adoption Evidence -> Adoption by the prize's named consumer is the win condition. State who the consumer -> is and the current status of their integration, and link the evidence. Logos -> verifies this before releasing the adoption half of the prize. +> **Leave this empty when you first submit.** Adoption by the prize's named consumer +> is the win condition, and it usually happens after delivery. Once the consumer has +> adopted your work, **edit this submission** to fill the fields below. Logos verifies +> the evidence before releasing the prize. - **Named consumer:** - **Contact channel:** -- **Integration status:** +- **Adopted on testnet?** - **Evidence:** From a607009a279565a1de760f74284439231cf195ea Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 16 Jun 2026 13:05:10 +1000 Subject: [PATCH 4/8] Make adoption stage explicit: testnet (named consumer) XOR mainnet (usage) Adoption has two mutually-exclusive regimes depending on the prize's stage: - Testnet: a named consumer adopts it (the proven-useful gate). No usage metrics exist pre-mainnet, so a specific consumer is the proof. - Mainnet: usage thresholds (TVL / active users / volume). No named consumer; the market is the consumer. The named-consumer machinery falls away. - prizes/LP-0000.md: add an Adoption Stage field; scope the Consumer section to testnet-stage prizes; split the Adoption criterion into testnet/mainnet forms; make the split fallback note testnet-specific. - solutions/LP-0000.md: split Adoption Evidence into a testnet (named consumer) block and a mainnet (usage threshold) block; fill one, not both. Co-Authored-By: Claude Opus 4.8 --- prizes/LP-0000.md | 42 +++++++++++++++++++++++++++++------------- solutions/LP-0000.md | 17 +++++++++++++---- 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/prizes/LP-0000.md b/prizes/LP-0000.md index 4f2faa5..55dc796 100644 --- a/prizes/LP-0000.md +++ b/prizes/LP-0000.md @@ -25,12 +25,25 @@ dependencies: [] - Up for fork: Original builder disengaged; another builder may take the existing work forward toward adoption (set at Logos discretion) - Completed: Submission accepted and adopted, prize completed +## Adoption Stage + +> Each prize declares an adoption stage. The stage picks the adoption criterion, and +> the two are mutually exclusive (XOR): +> +> - **Testnet** — adoption is proven by a **named consumer** (see the Consumer +> section). No usage metrics exist yet, so a specific consumer is the proof. +> - **Mainnet** — adoption is proven by **usage thresholds** (TVL / active users / +> volume). **No consumer is named**; the market is the consumer. Skip the Consumer +> section entirely and state the thresholds under Success Criteria → Adoption. + +- **Adoption stage:** testnet | mainnet + ## Consumer -> A prize is not published (Draft → Open) until a named consumer is identified: the -> party that will adopt the deliverable, and the accountable person who gives the -> adoption green light. Adoption by this consumer is the win condition (see Success -> Criteria → Adoption). +> **Testnet-stage prizes only.** A testnet prize is not published (Draft → Open) +> until a named consumer is identified: the party that will adopt the deliverable, +> and the accountable person who gives the adoption green light. Mainnet-stage prizes +> skip this section. - **Type:** Circle / Sample-app integration (Eco Dev Eng) / Partner - **Consumer:** @@ -79,14 +92,16 @@ dependencies: [] > - A reproducible end-to-end demo script is provided and works against a real local sequencer with `RISC0_DEV_MODE=0`. > - A recorded video demo of the end-to-end flow is included in the submission; the recording must show terminal output (including proof generation) to confirm `RISC0_DEV_MODE=0` was active. > -> **Adoption** — the win condition. State the concrete, verifiable adoption the named -> consumer (see Consumer section) must demonstrate. Pre-mainnet this is binary: the -> consumer has integrated the deliverable and runs it on testnet. (Quantitative -> thresholds such as users / TVL / usage apply to a later mainnet adoption stage.) +> **Adoption** — the win condition. Its form depends on the Adoption Stage (XOR): +> - **Testnet:** a named consumer has integrated the deliverable and runs it on +> testnet (binary; if several consumers are flagged, any one suffices). +> - **Mainnet:** the deliverable meets declared usage thresholds (TVL / active users +> / volume). No named consumer; state the concrete numbers here. - [ ] Functional criterion 1 - [ ] Functional criterion 2 -- [ ] **Adoption:** a named consumer has integrated this and runs it on testnet (if several are flagged, any one suffices) +- [ ] **Adoption (testnet):** a named consumer has integrated this and runs it on testnet (any one of the flagged consumers suffices) +- [ ] **Adoption (mainnet):** ## Scope @@ -102,12 +117,13 @@ dependencies: [] - **Total Prize:** $X - **Effort:** XS / S / M / L / XL / Variable -- **Split:** 50% delivery (Logos-owned acceptance: criteria met, license, security, reproducible demo) / 50% adoption (the named consumer uses it, verified by Logos) +- **Split:** 50% delivery (Logos-owned acceptance: criteria met, license, security, reproducible demo) / 50% adoption (verified by Logos: a named consumer on testnet, or usage thresholds on mainnet) > Leave prize pool blank — this will be determined by the Logos team. Single winner by default. Detail here if otherwise. > -> The default is a single payout released once Logos verifies adoption. The split -> becomes two separate releases only if the consumer is unresponsive for two weeks: -> the delivery half is then released so an engaged builder is not blocked by an +> The default is a single payout released once Logos verifies adoption. On a +> **testnet** prize the split becomes two separate releases only if the consumer is +> unresponsive for two weeks: the delivery half is then released so an engaged +> builder is not blocked by an > absent consumer, and the adoption half stays open until adoption happens. ## Eligibility diff --git a/solutions/LP-0000.md b/solutions/LP-0000.md index dbe6205..c5766a7 100644 --- a/solutions/LP-0000.md +++ b/solutions/LP-0000.md @@ -36,10 +36,14 @@ ## Adoption Evidence -> **Leave this empty when you first submit.** Adoption by the prize's named consumer -> is the win condition, and it usually happens after delivery. Once the consumer has -> adopted your work, **edit this submission** to fill the fields below. Logos verifies -> the evidence before releasing the prize. +> **Leave this empty when you first submit.** Adoption is the win condition and +> usually happens after delivery. Once it does, **edit this submission** to fill the +> fields for your prize's adoption stage. Logos verifies before releasing the prize. +> +> Fill the **testnet** block (named consumer) or the **mainnet** block (usage +> thresholds), per the prize's adoption stage, not both. + +**Testnet (named-consumer) prize:** - **Named consumer:** - **Contact channel:** @@ -47,6 +51,11 @@ - **Evidence:** +**Mainnet (usage-threshold) prize:** + +- **Threshold met:** +- **Evidence:** + ## FURPS Self-Assessment > Evaluate your delivery against each of the following dimensions. From 26d299985ea4a5d80157ff419caa5802a200e203 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 16 Jun 2026 14:44:17 +1000 Subject: [PATCH 5/8] Route DeFi + launch-critical deliverables to win-win RFP, not LP A DeFi deliverable whose value depends on real TVL/liquidity that is also needed for mainnet launch fails both arms of the adoption XOR: testnet adoption is hollow (testnet value is unreal) and the mainnet usage criterion cannot gate something that must exist before launch. The realistic instrument is a win-win/co-venture RFP. Add the guard to the Adoption Stage section. Co-Authored-By: Claude Opus 4.8 --- prizes/LP-0000.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/prizes/LP-0000.md b/prizes/LP-0000.md index 55dc796..e909c99 100644 --- a/prizes/LP-0000.md +++ b/prizes/LP-0000.md @@ -38,6 +38,14 @@ dependencies: [] - **Adoption stage:** testnet | mainnet +> **Stop if this is DeFi and launch-critical.** A DeFi deliverable (value depends on +> real TVL / liquidity / derivative positions) that is also needed for mainnet launch +> cannot be a Lambda Prize: testnet adoption is hollow (testnet value is unreal) and +> the mainnet usage criterion cannot apply to something that must exist *before* +> launch. Route it to a **win-win RFP** instead: a co-venture where Logos funds the +> build and the builder shares in the upside of the commercial protocol. (A DeFi +> deliverable that is not launch-critical may still be an LP.) + ## Consumer > **Testnet-stage prizes only.** A testnet prize is not published (Draft → Open) From c6c645d241390510984578cd6b82755a2ca2f0ec Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 16 Jun 2026 14:50:00 +1000 Subject: [PATCH 6/8] Split partner cases: self-integration is a light integration RFP, not an LP Partner-as-builder (a partner integrating their own product) is the wrong fit for an LP: the competitive dibs/fork mechanics would let someone swoop in on their integration, and the partner needs committed deliver-X-get-Y criteria, not a discretionary adoption-gated prize. Route it to a light integration RFP scoped to that partner. Partner-as-consumer (third party builds, partner adopts) stays a valid testnet-LP consumer type. Co-Authored-By: Claude Opus 4.8 --- prizes/LP-0000.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/prizes/LP-0000.md b/prizes/LP-0000.md index e909c99..2b8b31c 100644 --- a/prizes/LP-0000.md +++ b/prizes/LP-0000.md @@ -46,6 +46,14 @@ dependencies: [] > build and the builder shares in the upside of the commercial protocol. (A DeFi > deliverable that is not launch-critical may still be an LP.) +> **Stop if a partner is integrating their own product.** When the partner is also +> the builder (integrating Logos into their own product), an LP is the wrong +> instrument: its competitive dibs/fork mechanics would let someone swoop in on the +> partner's integration, and the partner needs clear committed criteria (deliver X, +> get Y), not a discretionary, adoption-gated prize they could miss. Route it to a +> **light integration RFP** scoped to that partner. (A partner that *adopts* a +> third-party builder's work is fine as a consumer below.) + ## Consumer > **Testnet-stage prizes only.** A testnet prize is not published (Draft → Open) @@ -53,7 +61,9 @@ dependencies: [] > and the accountable person who gives the adoption green light. Mainnet-stage prizes > skip this section. -- **Type:** Circle / Sample-app integration (Eco Dev Eng) / Partner +- **Type:** Circle / Sample-app integration (Eco Dev Eng) / Partner-as-consumer + (a third party builds, the partner adopts; a partner integrating their *own* + product is a light integration RFP, not an LP) - **Consumer:** - **Adoption green-light owner:** - **Contact channel:** Date: Tue, 16 Jun 2026 15:51:36 +1000 Subject: [PATCH 7/8] Add Customer Notified section gated on Logos security check The evaluation order is security-first, then customer. Operationalize it on the submission: a Customer Notified section the builder fills only after Logos confirms the security check, with a link to the message sent to the customer. We don't put unvetted code in front of a customer. Co-Authored-By: Claude Opus 4.8 --- solutions/LP-0000.md | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/solutions/LP-0000.md b/solutions/LP-0000.md index c5766a7..818e604 100644 --- a/solutions/LP-0000.md +++ b/solutions/LP-0000.md @@ -5,10 +5,12 @@ > **This submission has two phases on the one issue.** > 1. **Delivery (now).** Opening this submission timestamps your code as delivered > and gives you first claim ("dibs") on taking it to adoption. Fill everything -> except the Adoption Evidence section. -> 2. **Adoption (later).** Once the prize's named consumer has adopted your work, -> **edit this submission** to fill in the Adoption Evidence section below. -> Adoption is the win condition; Logos verifies it before releasing the prize. +> except the Customer Notified and Adoption Evidence sections. +> 2. **Adoption (later).** Logos runs the security check first. **Only once Logos has +> confirmed the security check do you contact the customer** (record it under +> Customer Notified). Once the customer has adopted your work, **edit this +> submission** to fill in the Adoption Evidence section. Adoption is the win +> condition; Logos verifies it before releasing the prize. ## Summary @@ -34,6 +36,17 @@ - [ ] Criterion 2: _explanation_ - [ ] Criterion 3: _explanation_ +## Customer Notified + +> **Leave this empty when you first submit.** Do **not** contact the customer until +> the Logos team has confirmed the security check (see the prize's evaluation order): +> we do not put unvetted code in front of a customer. Once Logos confirms, reach out +> and record the link here. + +- **Security check confirmed by Logos?** +- **Customer notified:** + ## Adoption Evidence > **Leave this empty when you first submit.** Adoption is the win condition and From d515e256744b23df5e883c3629340d41aa17bddb Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 16 Jun 2026 15:57:12 +1000 Subject: [PATCH 8/8] Security green-light is a link to the Logos comment on the issue Make the gate auditable: instead of a vague confirmation, link to the comment on this issue where the Logos team gives the security green light. Co-Authored-By: Claude Opus 4.8 --- solutions/LP-0000.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solutions/LP-0000.md b/solutions/LP-0000.md index 818e604..8c560d5 100644 --- a/solutions/LP-0000.md +++ b/solutions/LP-0000.md @@ -43,9 +43,10 @@ > we do not put unvetted code in front of a customer. Once Logos confirms, reach out > and record the link here. -- **Security check confirmed by Logos?** +- **Security check green-light:** - **Customer notified:** + thread / Discord), only after the security green light above> ## Adoption Evidence