Skip to content

docs: resolve issues #864, #865, #866 — OpenAPI spec, runbook, contra…#924

Merged
Xoulomon merged 1 commit into
Xoulomon:mainfrom
GoodnessJohn:docs/issues-864-865-866
May 30, 2026
Merged

docs: resolve issues #864, #865, #866 — OpenAPI spec, runbook, contra…#924
Xoulomon merged 1 commit into
Xoulomon:mainfrom
GoodnessJohn:docs/issues-864-865-866

Conversation

@GoodnessJohn
Copy link
Copy Markdown
Contributor

Summary

Resolves three documentation issues in a single branch.


#864 — Backend API OpenAPI specification

  • Added backend/openapi.yaml (OpenAPI 3.0.3) covering every /api/* endpoint
  • Derived directly from route handlers in routes/v1.ts, routes/v2.ts, routes/auth.ts, routes/user.ts, routes/notifications.ts, and routes/webhooks.ts
  • Full request/response schemas, security schemes (Bearer JWT), reusable parameters and error responses
  • Covers auth, user, health, stats, recommendations, search, analytics, contract events, export, backup, notifications, webhooks, and cache routes
  • Both /api/v1 and /api/v2 versioned routes documented; legacy deprecation noted

Closes #864


#865 — Infrastructure runbook

  • Added docs/runbook.md with three core operational sections:
    1. ECS task scaling — scale up/down commands, disable auto-scaling, CloudWatch metrics to watch
    2. Database restore from S3 — API path, DR script, RDS point-in-time fallback, integrity verification steps
    3. On-call escalation checklist for contract pause — detection, immediate response, step-by-step checkbox list, unpause procedure, post-incident actions, escalation contact table
  • Additional sections: common ops tasks (deploy, rollback, credential rotation, manual backup), environment variable reference, infrastructure resource identifiers
  • All AWS CLI commands reference actual Terraform resource names from infra/modules/ecs and infra/modules/rds

Closes #865


#866 — Inline Rust doc comments on contract modules

  • group.rs: expanded/added /// comments on TokenConfig fields, GroupStatus::as_u32/from_u32, all Group fields added since the original implementation, and methods new_with_penalty, is_complete, deactivate, can_activate, total_pool_amount, validate, add_member, is_paused
  • contribution.rs: expanded ContributionPage.has_more field doc with cursor guidance
  • payout.rs: expanded PayoutOrder variant docs (Sequential, Random, Bid), validate, belongs_to_group, amount_in_xlm (with code example)
  • cargo doc --no-deps produces zero missing-documentation warnings

Closes #866

…PI spec, runbook, contract doc comments

Issue Xoulomon#864 — Backend API OpenAPI specification
- Add backend/openapi.yaml (OpenAPI 3.0.3) covering all /api/* endpoints
- Documents auth, user, health, stats, recommendations, search, analytics,
  contract events, export, backup, notifications, webhooks, and cache routes
- Full request/response schemas for every endpoint derived from route handlers
- Security schemes (bearerAuth JWT), reusable parameters, and shared responses
- Covers both /api/v1 and /api/v2 versioned routes
- Includes deprecation notes for legacy unversioned paths

Issue Xoulomon#865 — Infrastructure runbook
- Add docs/runbook.md with three core operational sections:
  1. ECS task scaling (scale up/down, disable auto-scaling, CloudWatch metrics)
  2. Database restore from S3 (API path, DR script, RDS point-in-time fallback,
     integrity verification)
  3. On-call escalation checklist for contract pause scenarios (detection,
     immediate response, step-by-step checklist, unpause procedure,
     post-incident actions, escalation contacts)
- Additional sections: common ops tasks, environment variable reference,
  infrastructure resource identifiers, related documentation links
- All commands reference actual Terraform resource names from infra/modules/

Issue Xoulomon#866 — Inline Rust doc comments on contract modules
- group.rs: expand/add /// comments on TokenConfig fields, GroupStatus
  as_u32/from_u32, all new Group fields (require_contribution_proof,
  allow_dynamic_contributions, grace_period_seconds, invitation_only,
  reward_pool, paused, penalty_enabled, penalty_amount, dispute_active,
  name, description, image_url, archived, payout_order), new_with_penalty,
  is_complete, deactivate, can_activate, total_pool_amount, validate,
  add_member, is_paused
- contribution.rs: expand ContributionPage.has_more field doc
- payout.rs: expand PayoutOrder enum variants (Sequential, Random, Bid),
  validate, belongs_to_group, amount_in_xlm with example
- cargo doc --no-deps produces zero missing-documentation warnings

Closes Xoulomon#864
Closes Xoulomon#865
Closes Xoulomon#866
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 29, 2026

@GoodnessJohn 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! 🚀

Learn more about application limits

@Xoulomon Xoulomon merged commit 601a6bb into Xoulomon:main May 30, 2026
13 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants