From 475832a536935583b3c89e19a8740638c016c635 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Thu, 28 May 2026 11:23:25 +1000 Subject: [PATCH 1/2] Add standardized Dependencies section to RFP template and existing RFPs Introduce a structured, machine-readable `dependencies:` field in the YAML frontmatter of every RFP. Each entry is an object with `id` (the canonical ID, e.g. `RFP-XXX` or `LP-XXXX`) and `reason` (a short prose explanation). Standalone RFPs use `dependencies: []`. This replaces the inconsistent prior convention (free-form text in the frontmatter `dependencies:` field on some RFPs; prose-only references in `Platform Dependencies` sections on others). The flywheels.logos.co dashboard needs RFP deps in a parseable format, and YAML frontmatter extends the convention already present in this repo rather than introducing a new markdown section. This change is non-breaking and additive: - The Dependencies field is new structure around information that already lives in the RFPs. No requirements, scope, or commitments are modified. - Prose `Platform Dependencies` sections inside each RFP are left intact; the frontmatter is a summary index for tooling. Files updated: - `NEW_RFP.md`, `RFPs/RFP-000-template.md`: template and contributor guidance updated to require the new field. - All 13 existing RFP files: `dependencies:` populated from the RFP's existing Platform Dependencies section, frontmatter, and Resources references. - `RFPs/RFP-015-bonding-curve-launchpad.md`: title quoted so the frontmatter parses as valid YAML (the unquoted colon in the title made the existing frontmatter unparseable, blocking any structured field from working on this file). Judgment calls made when existing dep info was ambiguous: - RFP-003 (Atomic Swaps): the only mentioned blocker is "LEZ timelock support", which is a platform feature with no RFP-/LP- canonical ID. Marked as `dependencies: []` and the prose note in the file is preserved. - RFP-004 (DEX): LP-0014 is referenced as the defining standard for the ATA derivation required by Functionality #8. Treated as a dependency on that basis. - RFP-008 (Lending): the file references RFP-001 and RFP-002 only in Resources, not as blockers; treated as soft references and omitted. LP-0015 and LP-0012 listed as hard and soft per the Platform Dependencies section. - RFP-013, RFP-014: existing frontmatter `dependencies:` strings listed RFP-001 and RFP-002 explicitly, so they were preserved and combined with LP-0015 from the Platform Dependencies section. - RFP-020 (Private Name Resolution Library, untracked locally): not included in this commit because it is not yet in master. --- NEW_RFP.md | 12 ++++++++++++ RFPs/RFP-000-template.md | 9 +++++++++ RFPs/RFP-001-admin-authority-lib.md | 1 + RFPs/RFP-002-freeze-authority-lib.md | 1 + RFPs/RFP-003-atomic-swaps.md | 1 + RFPs/RFP-004-privacy-preserving-dex.md | 4 ++++ RFPs/RFP-008-lending-borrowing-protocol.md | 9 ++++++++- RFPs/RFP-012-advanced-lending-features.md | 8 +++++++- RFPs/RFP-013-reflexive-stablecoin-protocol.md | 12 +++++++++++- RFPs/RFP-014-liquidation-auction-engine.md | 15 ++++++++++++++- RFPs/RFP-015-bonding-curve-launchpad.md | 11 +++++++++-- RFPs/RFP-016-lbp-launchpad.md | 8 ++++++++ RFPs/RFP-017-token-vesting.md | 8 ++++++++ RFPs/RFP-019-twap-oracle.md | 5 ++++- RFPs/RFP-020-redstone-oracle-adaptor.md | 5 ++++- 15 files changed, 101 insertions(+), 8 deletions(-) diff --git a/NEW_RFP.md b/NEW_RFP.md index fc0f0cb..4d86d06 100644 --- a/NEW_RFP.md +++ b/NEW_RFP.md @@ -11,8 +11,20 @@ tier: XS/S/M/L/XL funding: $5,000–$15,000 status: open category: Applications and Integrations +dependencies: + - id: RFP-XXX + reason: short reason this RFP depends on it + - id: LP-XXXX + reason: short reason this RFP depends on it --- ``` +The `dependencies` field is a structured, machine-readable list of +other RFPs, Lambda Prizes (LP), R&D items, or sample apps that must +complete or exist before this RFP can be contracted or delivered. Use +canonical IDs (e.g. `RFP-XXX`, `LP-XXXX`). If the RFP is standalone, +use an empty list: `dependencies: []`. This field is parsed by +downstream tooling (e.g. `flywheels.logos.co`) so the structure matters. + 3. Include the frontmatter content on the [README.md](/README.md) file in the RFPs table 4. Create a Pull Request and wait for review by the Logos EcoDev team diff --git a/RFPs/RFP-000-template.md b/RFPs/RFP-000-template.md index 7f62fdd..5c0cd6b 100644 --- a/RFPs/RFP-000-template.md +++ b/RFPs/RFP-000-template.md @@ -5,6 +5,15 @@ tier: XS/S/M/L/XL funding: $XXXXX status: open/closed category: Developer Tooling & Infrastructure / Applications & Integrations / Ecosystem & Community Enablement +dependencies: + # Other RFPs, Lambda Prizes (LP), R&D items, or sample apps that must + # complete or exist before this RFP can be contracted or delivered. + # Use canonical IDs (RFP-XXX, LP-XXXX). If the RFP is standalone, use + # an empty list: `dependencies: []`. + - id: RFP-XXX + reason: short reason this RFP depends on it + - id: LP-XXXX + reason: short reason this RFP depends on it --- diff --git a/RFPs/RFP-001-admin-authority-lib.md b/RFPs/RFP-001-admin-authority-lib.md index 4f4a712..930b7bb 100644 --- a/RFPs/RFP-001-admin-authority-lib.md +++ b/RFPs/RFP-001-admin-authority-lib.md @@ -5,6 +5,7 @@ tier: XS funding: $XXXXX status: open category: Developer Tooling & Infrastructure +dependencies: [] --- diff --git a/RFPs/RFP-002-freeze-authority-lib.md b/RFPs/RFP-002-freeze-authority-lib.md index f50cada..692a303 100644 --- a/RFPs/RFP-002-freeze-authority-lib.md +++ b/RFPs/RFP-002-freeze-authority-lib.md @@ -5,6 +5,7 @@ tier: XS funding: $XXXXX status: open category: Developer Tooling & Infrastructure +dependencies: [] --- diff --git a/RFPs/RFP-003-atomic-swaps.md b/RFPs/RFP-003-atomic-swaps.md index 9326193..33b6517 100644 --- a/RFPs/RFP-003-atomic-swaps.md +++ b/RFPs/RFP-003-atomic-swaps.md @@ -5,6 +5,7 @@ tier: XL funding: $TBD status: open category: Applications & Integrations +dependencies: [] --- # RFP-003 — Atomic Swaps with LEZ diff --git a/RFPs/RFP-004-privacy-preserving-dex.md b/RFPs/RFP-004-privacy-preserving-dex.md index 1e8111e..3d56226 100644 --- a/RFPs/RFP-004-privacy-preserving-dex.md +++ b/RFPs/RFP-004-privacy-preserving-dex.md @@ -5,6 +5,10 @@ tier: XL funding: $XXXXX status: open category: Applications & Integrations +dependencies: + - id: LP-0014 + reason: Defines the Associated Token Account (ATA) derivation required + by Functionality requirement F8. --- diff --git a/RFPs/RFP-008-lending-borrowing-protocol.md b/RFPs/RFP-008-lending-borrowing-protocol.md index 05d2682..7517553 100644 --- a/RFPs/RFP-008-lending-borrowing-protocol.md +++ b/RFPs/RFP-008-lending-borrowing-protocol.md @@ -4,8 +4,15 @@ title: Lending & Borrowing Protocol tier: XL funding: $XXXXX status: open -dependencies: See Platform Dependencies section category: Applications & Integrations +dependencies: + - id: LP-0015 + reason: Hard blocker. General cross-program calls via tail calls are + required to compose token transfers with subsequent state updates + atomically. + - id: LP-0012 + reason: Soft blocker. Structured event emission is needed for liquidator + bots and indexers to react to on-chain state changes. --- diff --git a/RFPs/RFP-012-advanced-lending-features.md b/RFPs/RFP-012-advanced-lending-features.md index 71c8d03..b1c370e 100644 --- a/RFPs/RFP-012-advanced-lending-features.md +++ b/RFPs/RFP-012-advanced-lending-features.md @@ -4,8 +4,14 @@ title: Advanced Lending Features tier: L funding: $XXXXX status: open -dependencies: RFP-008 category: Applications & Integrations +dependencies: + - id: RFP-008 + reason: This RFP extends the lending protocol delivered by RFP-008 and + cannot proceed until that base layer is live. + - id: LP-0015 + reason: Inherited from RFP-008. General cross-program calls via tail + calls are required for the lending protocol composition. --- diff --git a/RFPs/RFP-013-reflexive-stablecoin-protocol.md b/RFPs/RFP-013-reflexive-stablecoin-protocol.md index 1ae1560..0c9d1e9 100644 --- a/RFPs/RFP-013-reflexive-stablecoin-protocol.md +++ b/RFPs/RFP-013-reflexive-stablecoin-protocol.md @@ -4,8 +4,18 @@ title: Reflexive Stablecoin Protocol tier: XL funding: $XXXXX status: open -dependencies: RFP-001 (Admin Authority), RFP-002 (Freeze Authority) category: Applications & Integrations +dependencies: + - id: RFP-001 + reason: Provides the standardised admin authority used to manage + protocol parameters. + - id: RFP-002 + reason: Provides the standardised freeze authority used to pause + protocol operations. + - id: LP-0015 + reason: Hard blocker. General cross-program calls via tail calls are + required to compose collateral transfers with subsequent position + state updates atomically. --- # RFP-013 — Reflexive Stablecoin Protocol diff --git a/RFPs/RFP-014-liquidation-auction-engine.md b/RFPs/RFP-014-liquidation-auction-engine.md index 766064a..19968c1 100644 --- a/RFPs/RFP-014-liquidation-auction-engine.md +++ b/RFPs/RFP-014-liquidation-auction-engine.md @@ -4,8 +4,21 @@ title: Liquidation & Auction Engine tier: L funding: $XXXXX status: open -dependencies: RFP-001 (Admin Authority), RFP-002 (Freeze Authority), RFP-013 (Reflexive Stablecoin Protocol or equivalent CDP host) category: Applications & Integrations +dependencies: + - id: RFP-001 + reason: Provides the standardised admin authority used to manage auction + parameters. + - id: RFP-002 + reason: Provides the standardised freeze authority used to pause + auctions and debt generation. + - id: RFP-013 + reason: Reflexive Stablecoin Protocol (or equivalent CDP host) provides + the positions that this engine liquidates. + - id: LP-0015 + reason: Hard blocker. General cross-program calls via tail calls are + required for the liquidation program to seize collateral from the host + CDP and update auction state atomically. --- # RFP-014 — Liquidation & Auction Engine diff --git a/RFPs/RFP-015-bonding-curve-launchpad.md b/RFPs/RFP-015-bonding-curve-launchpad.md index 9d81867..dbccc74 100644 --- a/RFPs/RFP-015-bonding-curve-launchpad.md +++ b/RFPs/RFP-015-bonding-curve-launchpad.md @@ -1,11 +1,18 @@ --- id: RFP-015 -title: Privacy-Preserving Token Launchpad: Bonding Curve +title: "Privacy-Preserving Token Launchpad: Bonding Curve" tier: L funding: $XXXXX status: open -dependencies: See Platform Dependencies section category: Applications & Integrations +dependencies: + - id: LP-0015 + reason: Hard blocker. General cross-program calls via tail calls are + required to complete a buy operation atomically (transfer collateral, + compute output, transfer tokens, update curve state). + - id: LP-0012 + reason: Soft blocker. Structured event emission is needed for analytics + dashboards and monitoring services. --- diff --git a/RFPs/RFP-016-lbp-launchpad.md b/RFPs/RFP-016-lbp-launchpad.md index fde20ab..bb1b171 100644 --- a/RFPs/RFP-016-lbp-launchpad.md +++ b/RFPs/RFP-016-lbp-launchpad.md @@ -5,6 +5,14 @@ tier: XL funding: $XXXXX status: open category: Applications & Integrations +dependencies: + - id: LP-0015 + reason: Hard blocker. General cross-program calls via tail calls are + required to complete a buy operation atomically (transfer collateral, + compute output, transfer tokens, update pool state). + - id: LP-0012 + reason: Soft blocker. Structured event emission is needed for analytics + dashboards and sale monitoring services. --- diff --git a/RFPs/RFP-017-token-vesting.md b/RFPs/RFP-017-token-vesting.md index 15007cc..9947528 100644 --- a/RFPs/RFP-017-token-vesting.md +++ b/RFPs/RFP-017-token-vesting.md @@ -5,6 +5,14 @@ tier: L funding: $XXXXX status: open category: Applications & Integrations +dependencies: + - id: LP-0015 + reason: Hard blocker. General cross-program calls via tail calls are + required so that schedule-state updates can execute after the token + transfer without exposing a bypassable entrypoint. + - id: LP-0012 + reason: Soft blocker. Structured event emission is needed for off-chain + dashboards and notification services. --- diff --git a/RFPs/RFP-019-twap-oracle.md b/RFPs/RFP-019-twap-oracle.md index c1b991f..c581ea3 100644 --- a/RFPs/RFP-019-twap-oracle.md +++ b/RFPs/RFP-019-twap-oracle.md @@ -4,8 +4,11 @@ title: On-Chain TWAP Oracle tier: L funding: $XXXXX status: open -dependencies: See Platform Dependencies section category: Developer Tooling & Infrastructure +dependencies: + - id: RFP-004 + reason: The TWAP oracle reads pool accumulators from a LEZ DEX; without + RFP-004 there are no accumulators to read. --- # RFP-019 — On-Chain TWAP Oracle diff --git a/RFPs/RFP-020-redstone-oracle-adaptor.md b/RFPs/RFP-020-redstone-oracle-adaptor.md index 018cba0..c10ed28 100644 --- a/RFPs/RFP-020-redstone-oracle-adaptor.md +++ b/RFPs/RFP-020-redstone-oracle-adaptor.md @@ -4,8 +4,11 @@ title: RedStone Off-Chain Oracle Adaptor for LEZ tier: M funding: $XXXXX status: open -dependencies: See Platform Dependencies section category: Developer Tooling & Infrastructure +dependencies: + - id: RFP-019 + reason: This adaptor publishes prices through the canonical oracle price + account standard defined by RFP-019. --- # RFP-020 — RedStone Off-Chain Oracle Adaptor for LEZ From 10ec7fef8a4089b6ee0fbafd86e241b2788a58c7 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Thu, 28 May 2026 11:28:50 +1000 Subject: [PATCH 2/2] docs: drop downstream-tooling mention in NEW_RFP.md Co-Authored-By: Claude Opus 4.7 (1M context) --- NEW_RFP.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/NEW_RFP.md b/NEW_RFP.md index 4d86d06..e82c897 100644 --- a/NEW_RFP.md +++ b/NEW_RFP.md @@ -23,8 +23,7 @@ The `dependencies` field is a structured, machine-readable list of other RFPs, Lambda Prizes (LP), R&D items, or sample apps that must complete or exist before this RFP can be contracted or delivered. Use canonical IDs (e.g. `RFP-XXX`, `LP-XXXX`). If the RFP is standalone, -use an empty list: `dependencies: []`. This field is parsed by -downstream tooling (e.g. `flywheels.logos.co`) so the structure matters. +use an empty list: `dependencies: []`. 3. Include the frontmatter content on the [README.md](/README.md) file in the RFPs table 4. Create a Pull Request and wait for review by the Logos EcoDev team