Structured dependencies frontmatter with status across all RFPs#64
Structured dependencies frontmatter with status across all RFPs#64fryorcraken wants to merge 10 commits into
Conversation
|
Dropped the |
mart1n-xyz
left a comment
There was a problem hiding this comment.
Many dependencies missing, some LPs referenced already available.
| status: open | ||
| category: Applications & Integrations | ||
| dependencies: | ||
| - id: LP-0014 |
There was a problem hiding this comment.
LP-0014 has been delivered by r4bbit
| dependencies: See Platform Dependencies section | ||
| category: Applications & Integrations | ||
| dependencies: | ||
| - id: LP-0015 |
There was a problem hiding this comment.
LP-0015 already delivered by LEZ team
| - 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 |
There was a problem hiding this comment.
LP-0015 already delivered by LEZ team
| - id: RFP-002 | ||
| reason: Provides the standardised freeze authority used to pause | ||
| protocol operations. | ||
| - id: LP-0015 |
There was a problem hiding this comment.
LP-0015 already delivered by LEZ team
| - id: RFP-013 | ||
| reason: Reflexive Stablecoin Protocol (or equivalent CDP host) provides | ||
| the positions that this engine liquidates. | ||
| - id: LP-0015 |
There was a problem hiding this comment.
LP-0015 already delivered by LEZ team
| funding: $TBD | ||
| status: open | ||
| category: Applications & Integrations | ||
| dependencies: [] |
There was a problem hiding this comment.
Hard blocker (no LP ID, just platform feature): LEZ timelock support
| funding: $XXXXX | ||
| status: open | ||
| category: Applications & Integrations | ||
| dependencies: |
There was a problem hiding this comment.
RFP-001 (Admin Authority) — F7: "The pool creator selects a fee tier at pool creation time... The fee tier is immutable per pool." / Admin needs to configure params
There was a problem hiding this comment.
Left RFP-004 with no admin dependency. The fee tiers are an enumerated set (0.01% / 0.05% / 0.3% / 1%) selected by the pool creator at creation and immutable per pool (F6/F7), and there is no protocol-level parameter, treasury, or fee switch for an admin authority to configure. So there is nothing in the current spec for RFP-001 to back. Happy to add it if you intend to introduce a governable protocol fee or allowed-tier registry, but that would be a new requirement rather than something the RFP needs today.
| status: open | ||
| dependencies: See Platform Dependencies section | ||
| category: Applications & Integrations | ||
| dependencies: |
There was a problem hiding this comment.
• RFP-001 (Admin Authority) — Fee structure section: "The fee rate and treasury address are configured by the program's admin authority"
• RFP-002 (Freeze Authority) — Not explicitly required, but good practice for emergency pause
There was a problem hiding this comment.
there is also dependency on oracle, actually
There was a problem hiding this comment.
Did not add an oracle dependency to RFP-015. The bonding curve is supply-driven: price advances deterministically with each purchase via the constant-product formula, and all amounts are denominated in the collateral token. There is no USD valuation or external price read anywhere in the design, so there is no oracle to depend on. (This differs from the lending and stablecoin RFPs, where I did add RFP-020 because they read external price feeds for collateral valuation.) Let me know if you had a specific use in mind.
| funding: $XXXXX | ||
| status: open | ||
| category: Applications & Integrations | ||
| dependencies: |
There was a problem hiding this comment.
- RFP-001 (Admin Authority) — Fee structure: "The fee rate and treasury address are configured by the program's admin authority"
- RFP-002 (Freeze Authority) — Design Rationale says: "The pause function is an emergency stop for security incidents, analogous to the freeze authority in RFP-002"
| funding: $XXXXX | ||
| status: open | ||
| category: Applications & Integrations | ||
| dependencies: |
There was a problem hiding this comment.
- RFP-001 (Admin Authority) — F3: creator can cancel, convert to non-cancelable / F4: creator configures transferability / batch creation, milestone signaling authority, configure fee rate
The frontmatter dependencies field is a machine-readable list of hard dependencies only: open blockers the RFP cannot be contracted or delivered without, each also explained in the body's Platform Dependencies section. Soft and already-delivered dependencies are described in the body only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Re-derived from each RFP body after the Morpho Blue lending redesign (PR #42), the RFP-004 rewrite (PR #41), and the closure of RFP-001, RFP-002, LP-0012, LP-0014, and LP-0015: - Frontmatter now lists open hard blockers only. Delivered primitives (LP-0012, LP-0014, LP-0015) move to body "Resolved dependencies" prose; soft dependencies (RFP-013's liquidation engine, RFP-020's price account standard, optional admin authority uses) are body only. - Add LP-0013 (token transfer authorities, open) to every RFP whose program custodies tokens: RFP-003, RFP-012 through RFP-017. - Add oracle dependency (RFP-020, with RFP-019 as alternative) to RFP-008, RFP-013, and RFP-014 per their price feed hard blockers. - Add RFP-001 to RFP-019 and RFP-020 for owner and admin gated functions, per review feedback on PR #64. - RFP-008 carries no RFP-002: the Morpho Blue design explicitly rejects an emergency pause. Dropped the stale RFP-002 Resources links from RFP-008 and RFP-012 accordingly. - Convert remaining old-style string dependencies to the structured format; quote RFP-015's title (unquoted colon is invalid YAML). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rule change: hard dependencies stay in the frontmatter after delivery, with a per-entry status field mirroring the dependency's published state (open = still blocking, closed = delivered or awarded). Restore the delivered entries (LP-0012, LP-0014, LP-0015) accordingly and update the template and NEW_RFP docs. Verified against logos-execution-zone main: the clock program (programs/clock) maintains sequencer-updated on-chain timestamp accounts, and the time_locked_transfer example demonstrates deadline-gated transfers. Therefore: - Mark the on-chain clock delivered in RFP-013, RFP-016, and RFP-017 (frontmatter LEZ-clock entries with status closed; body sections moved to Resolved dependencies). - Mark LEZ-timelock resolved in RFP-003; it remains blocked only on LP-0013. - Add Platform Dependencies subsections for the awarded authority libraries (RFP-001, RFP-002) so every frontmatter entry has body backing. - Drop the RFP-019 soft-blocker entry from RFP-020: the adaptor ships fully without it via the forward-compatible struct fallback already specified in its Design Rationale, so it is interface coordination, not a dependency. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a Platform Dependencies section to RFP-003 (hard: LP-0013; resolved: LEZ timelock via the clock program; soft: the R&D item "Use Basecamp to manage remote node", journeys.logos.co#62, which improves the maker daemon and node setup journey but does not gate delivery). Restore R&D items as a dependency category in the template and NEW_RFP docs, pointing at logos-co/journeys.logos.co. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve the RFP-019/RFP-004 interface gap without amending RFP-004: the TWAP oracle owns the write side. If the DEX does not expose a native price accumulator, the RFP-019 applicant delivers the accumulator hook into the DEX program (contributed upstream) so observations are recorded as a side effect of pool activity, with no off-chain keeper or crank. Updated the overview, F1, the Platform Dependencies RFP-004 entry, and the frontmatter reason. Also fix stale links: RFP-001/RFP-002 -poc.md filenames in RFP-013, RFP-014, and RFP-016 (renamed to -lib.md on master), and RFP-019's Resources pointer to the removed advanced-lending-features file (now Curated Lending Vaults). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Clarify the integration direction: RFP-019 delivers the TWAP accumulator component as an integrable artefact, and the DEX (RFP-004) is expected to hook it into every state-changing pool operation. Add Functionality F.10 to RFP-004 with an expose-the-integration-point fallback when the component is not yet available, plus a matching soft blocker entry; reword RFP-019's overview, F1, Platform Dependencies, and frontmatter reason accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Neither RFP gates the other's contracting or delivery: the oracle program, accumulator component, and price account standard can be built and acceptance-tested against a reference pool before a DEX is live, and the DEX ships exposing the integration point if the component is not ready (F.10). Live TWAP prices require both, which is a production-readiness fact rather than a contract blocker. Move RFP-004 from RFP-019's frontmatter to a body soft blocker, allow a reference pool for testing in F1, and fix the timeline wording. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The TWAP accumulator component integrated per F.10 carries the admin-governed parameters defined by RFP-019 (per-pool MAX_TICK_DELTA clamp, observation cardinality registration), so the DEX does need the standardised admin authority library after all. Frontmatter entry (status closed, awarded and in development) plus a Platform Dependencies hard-blocker subsection. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Formatting only, no content changes. mdformat --check now passes on every markdown file, per the contributor instructions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10ec7fe to
2f61ad8
Compare
|
@mart1n-xyz rebased on master (the branch was rebuilt on top of the Morpho Blue lending redesign and the RFP-004 rewrite, so the old inline threads will show as outdated) and reworked per your review. The PR description has the full convention and dependency matrix; here is how each of your points landed:
Two judgment calls worth your eyes: the on-chain clock is marked delivered in RFP-013/016/017 based on the LEZ repo (programs/clock), and RFP-004/RFP-019 are now mutual soft dependencies (the oracle acceptance-tests against a reference pool; the DEX exposes the integration point if the component is not ready). 🤖 Generated with Claude Code |
mart1n-xyz
left a comment
There was a problem hiding this comment.
Looks good. Agree with both points.
Summary
Adds a structured, machine-readable `dependencies` field to every RFP's frontmatter and documents the convention in `RFP-000` and `NEW_RFP.md`.
Convention
Statuses reconciled against the sources
TWAP architecture (RFP-004 / RFP-019)
RFP-019 delivers the TWAP accumulator component as an integrable artefact; the DEX hooks it into every state-changing pool operation (new RFP-004 F.10, with an expose-the-integration-point fallback). The two RFPs are mutual soft dependencies: the oracle acceptance-tests against a reference pool, and live prices need both. RFP-004 gains RFP-001 via this surface (the component's per-pool `MAX_TICK_DELTA` clamp and cardinality registration are admin-gated).
Dependency matrix (frontmatter)
Also fixes stale links (RFP-001/002 `-poc.md` filenames, removed advanced-lending-features file) and runs mdformat across the repo (final commit, formatting only).
🤖 Generated with Claude Code