docs: JSDoc for service functions, env var table, deprecation policy, and ADRs#627
Open
richardiyamura wants to merge 1 commit into
Conversation
… and ADRs Closes Ethereal-Future#507, Ethereal-Future#508, Ethereal-Future#509, Ethereal-Future#510 - Ethereal-Future#507 — Add JSDoc (@param, @returns, @throws, @example) to every exported function in stellar.js, transactions.js, streaming.js, and multiSig.js - Ethereal-Future#508 — Expand backend/CONFIGURATION.md with a Quick Start section and a complete env var reference table (type, required/optional, default, description, example); mark secrets requiring rotation with 🔑 - Ethereal-Future#509 — Add a Deprecation Policy section to CHANGELOG.md documenting the 90-day notice requirement; add backend/src/middleware/deprecation.js with a reusable `deprecate()` Express middleware that sets RFC 8594 Deprecation, Sunset, and Link headers and enforces the notice period - Ethereal-Future#510 — Create docs/adr/ with MADR-format ADRs for the Stellar blockchain choice (ADR-0001), Prisma ORM (ADR-0002), multi-level caching strategy (ADR-0003), and JWT auth with refresh token rotation (ADR-0004); link the ADR index from README.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@richardiyamura Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@param,@returns,@throws, and@exampletags to every exported function inbackend/src/services/stellar.js,transactions.js,streaming.js, andmultiSig.js. Previously these functions had no tags, making it impossible to understand parameter types or return shapes without reading the full implementation.closes #507
backend/CONFIGURATION.mdwith the three variables needed to run locally, followed by a complete reference table of every env var grouped by concern (Core, Stellar, Security, Database, Caching, CDN, etc.). Each entry includes type, required/optional status, default, description, and an example value. Secrets requiring rotation are flagged with 🔑.closes #508
CHANGELOG.mddocumenting the 90-day minimum notice requirement, header conventions, and link to the next version. Createdbackend/src/middleware/deprecation.js— a reusabledeprecate({ sunset, deprecatedSince, link })Express middleware that attaches RFC 8594Deprecation,Sunset, andLinkresponse headers and throws at startup if the notice window is shorter than 90 days.closes #509
docs/adr/with MADR-format ADRs for all four decisions called out in the issue. Each ADR includes Context, Decision Drivers, all Considered Options with Pros/Cons, and the chosen outcome with justification. The ADR index is linked fromREADME.md.closes #510
Test plan
@paramnames match the actual parameter names,@returnstypes are accurate, and@throwsconditions are correctbackend/CONFIGURATION.mdQuick Start table matchesenv.example.txtandbackend/src/config/env.jsvalidation logicdeprecate()middleware: mount it on a test route and confirm the three headers appear in the response; confirm it throws whensunsetis less than 90 days outREADME.mdADR links resolve correctly