Skip to content

docs: add CONTRIBUTING.md to .github with lifecycle diagram and stand#210

Open
vjuliaife wants to merge 18 commits into
Open-audit-foundation:dependabot/cargo/native/soroban-xdr-decode/stellar-xdr-27.0.0from
vjuliaife:main
Open

docs: add CONTRIBUTING.md to .github with lifecycle diagram and stand#210
vjuliaife wants to merge 18 commits into
Open-audit-foundation:dependabot/cargo/native/soroban-xdr-decode/stellar-xdr-27.0.0from
vjuliaife:main

Conversation

@vjuliaife

Copy link
Copy Markdown

Summary

  • Creates .github/CONTRIBUTING.md — GitHub's primary contributor guide location (surfaced automatically on new PRs and
    issues)
  • Adds an end-to-end Mermaid data lifecycle diagram tracing the full event journey: Stellar Network → Soroban RPC
    (network layer) → Event Indexer (parsing worker) → Translation Engine → PostgreSQL + WebSocket (parallel paths) →
    Frontend Dashboard
  • Documents 3-step local setup (git clone + npm install → cp .env.example .env.local → npm run dev:ws) satisfying the
    "spin up in 3 steps" acceptance criterion
  • Consolidates team style guidelines (function declarations, no any, naming conventions), commit format
    ((): ), PR procedures, and a pre-PR validation checklist in one place
  • No existing files modified — root CONTRIBUTING.md and ARCHITECTURE.md are preserved and linked from the new file

What was resolved

  • Mermaid diagram uses flowchart TB syntax consistent with the existing ARCHITECTURE.md, which renders correctly on
    GitHub's standard markdown interface
  • PostgreSQL is correctly shown as a parallel persistence branch (via app/api/ routes), not in the real-time WebSocket
    streaming pipeline
  • .env.example was confirmed to exist, so Step 2 works out of the box

Closes #102

Screenshot 2026-06-20 at 6 32 42 AM Screenshot 2026-06-20 at 6 33 03 AM Screenshot 2026-06-20 at 6 33 23 AM Screenshot 2026-06-20 at 6 33 49 AM Screenshot 2026-06-20 at 6 34 10 AM Screenshot 2026-06-20 at 6 34 32 AM Screenshot 2026-06-20 at 6 34 56 AM Screenshot 2026-06-20 at 6 35 02 AM Screenshot 2026-06-20 at 6 35 10 AM Screenshot 2026-06-20 at 6 35 16 AM Screenshot 2026-06-20 at 6 35 23 AM

vjuliaife and others added 18 commits June 20, 2026 06:24
…ards

Creates .github/CONTRIBUTING.md as the primary GitHub-surfaced contributor
guide. Includes a 3-step local setup, an end-to-end Mermaid data lifecycle
diagram (Stellar Network → Soroban RPC → Event Indexer → Translation Engine
→ PostgreSQL/WebSocket → Frontend Dashboard), condensed coding standards,
commit format, PR procedures, and a pre-PR checklist.

Closes Open-audit-foundation#102
- lib/retention/policy.ts: loads RETENTION_DAYS, RETENTION_BATCH_SIZE,
  RETENTION_ARCHIVE_DIR, RETENTION_CRON, RETENTION_ENABLED, RETENTION_DRY_RUN
  from env with safe defaults; exposes getCutoffTimestamp()

- lib/retention/archiver.ts: batches aged Event rows into gzip-compressed
  CSV flat-files (RFC 4180) using Node built-in zlib; returns ArchiveResult
  manifest per batch; no-op in dry-run mode

- lib/retention/pruner.ts: cursor-paginated archive→delete loop bounded by
  batchSize; emits structured PrunerCycleResult log per cycle; logs VACUUM
  advisory after deletions; schedulePruner() registers node-cron task

- lib/retention/__tests__/retention.test.ts: 14 tests covering policy
  loading, cutoff math, CSV format/escaping, gzip validity, dry-run guard,
  pruner batch logic, error isolation, and result shape

- scripts/retention.ts: CLI for manual invocation and audit dry-runs;
  supports --dry-run, --days, --batch-size, --archive-dir flags

- server.ts: wires schedulePruner() into the app startup path

- package.json: adds dotenv dep, @types/dotenv and @types/node-cron dev
  deps; adds retention and retention:dry-run npm scripts

- .env.example: documents all six RETENTION_* variables with defaults

- docker-compose.yml: injects RETENTION_* env vars; adds archive_data
  named volume so CSV archives persist outside the container
…-core-ingestion

Add captive core ingestion with resilient fallback
…nhance_accessibility_a11y

ui(dashboard): Enhance accessibility (a11y) and keyboard navigation compliance across the log viewer grid
…s-retention-archival

feat(retention): configurable event archival and pruner cron
…emory

Custom V8 Garbage Collection Tuning and Memory Profiling
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.

5 participants