Skip to content

docs(backend): add ARCHITECTURE.md with indexer ownership, SSE flow, … - #1309

Open
Seunfunmi-319509 wants to merge 1 commit into
LabsCrypt:mainfrom
Seunfunmi-319509:fix/docs-architecture-md-does-not-exist
Open

docs(backend): add ARCHITECTURE.md with indexer ownership, SSE flow, …#1309
Seunfunmi-319509 wants to merge 1 commit into
LabsCrypt:mainfrom
Seunfunmi-319509:fix/docs-architecture-md-does-not-exist

Conversation

@Seunfunmi-319509

@Seunfunmi-319509 Seunfunmi-319509 commented Aug 29, 2026

Copy link
Copy Markdown

…and keeper-key model

Both indexerService.ts and soroban-indexer.service.ts reference "docs/ARCHITECTURE.md for the full indexer ownership model" but no such file existed in backend/docs/. This created a broken cross- reference for contributors investigating the dual-indexer race (#801) and the keeper-key authorization model.

This adds backend/docs/ARCHITECTURE.md documenting:

  • Indexer ownership: which of the three similarly-named files is authoritative, the dual-indexer race, and the phase-out plan
  • SSE broadcast flow: end-to-end path from Soroban RPC through the worker, DB, SSE service, Redis fanout, to the frontend
  • Keeper-key authorization: the custodial vs non-custodial signing model, the KEEPER_SECRET_KEY role, and the security boundary

🤖 Generated with Codebuff

Description

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🔧 Refactoring (no functional changes)
  • ⚡ Performance improvement
  • 🧪 Test addition or update

Related Issues

Closes #

Changes Made

Testing

Test Coverage

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed

Test Steps

Breaking Changes

Breaking Changes:

Migration Guide:

Screenshots/Demo

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • Updated Postman/Hoppscotch API collections if routes changed
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have checked for breaking changes and documented them if applicable

Additional Notes

Closes #1296

…and keeper-key model

Both indexerService.ts and soroban-indexer.service.ts reference
"docs/ARCHITECTURE.md for the full indexer ownership model" but no
such file existed in backend/docs/. This created a broken cross-
reference for contributors investigating the dual-indexer race (LabsCrypt#801)
and the keeper-key authorization model.

This adds backend/docs/ARCHITECTURE.md documenting:
- Indexer ownership: which of the three similarly-named files is
  authoritative, the dual-indexer race, and the phase-out plan
- SSE broadcast flow: end-to-end path from Soroban RPC through the
  worker, DB, SSE service, Redis fanout, to the frontend
- Keeper-key authorization: the custodial vs non-custodial signing
  model, the KEEPER_SECRET_KEY role, and the security boundary

Closes LabsCrypt#1299

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Audit] No contract test covers the pause → cancel → resume state-corruption sequence

1 participant