diff --git a/prizes/LP-0000.md b/prizes/LP-0000.md index 5604c7d..2b8b31c 100644 --- a/prizes/LP-0000.md +++ b/prizes/LP-0000.md @@ -22,9 +22,60 @@ 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: `** +## 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 + +> **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.) + +> **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) +> 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-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:** +- **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 +> consuming this one. The consumer must already exist and be independently useful, +> not be built in order to consume this prize. ## Overview @@ -58,10 +109,17 @@ 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. 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. -- [ ] Criterion 1 -- [ ] Criterion 2 -- [ ] Criterion 3 +- [ ] Functional criterion 1 +- [ ] Functional criterion 2 +- [ ] **Adoption (testnet):** a named consumer has integrated this and runs it on testnet (any one of the flagged consumers suffices) +- [ ] **Adoption (mainnet):** ## Scope @@ -77,7 +135,14 @@ 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 (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. 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 @@ -97,6 +162,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..8c560d5 100644 --- a/solutions/LP-0000.md +++ b/solutions/LP-0000.md @@ -2,6 +2,16 @@ **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 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 > Brief description of the solution and how it addresses the prize's success criteria. @@ -26,6 +36,40 @@ - [ ] 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 green-light:** +- **Customer notified:** + +## Adoption Evidence + +> **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:** +- **Adopted on testnet?** +- **Evidence:** + +**Mainnet (usage-threshold) prize:** + +- **Threshold met:** +- **Evidence:** + ## FURPS Self-Assessment > Evaluate your delivery against each of the following dimensions.