Files
khadhroony-bobot/TODO.md
2026-04-19 17:58:33 +02:00

397 lines
10 KiB
Markdown

<!-- file: TODO.md -->
# Khadhroony Bobot — Global TODO / Roadmap
> This roadmap is a living document.
> Completed versions reflect the current implemented state.
> Planned versions are indicative and may evolve as architecture and product needs become clearer.
---
## Project goals
The project is split into several major applications sharing `khbb_lib`:
- `khbb_listener_app`
- listen to Solana data sources,
- detect token / mint / token-account / bootstrap / pair / pool related activity,
- enrich and store observed data.
- `khbb_pattern_analyser_app`
- analyze recurring patterns on tokens, mints, pools, names, lifetimes, scam patterns, bootstrap flows, early activity.
- `khbb_trader_app`
- consume early detections and pattern outputs,
- take automated trading decisions,
- apply entry/exit logic based on price, duration, confidence, and risk.
---
## Current architectural direction
Current implementation started with a simple inline listener loop in order to validate:
- Solana HTTP RPC transport,
- Solana WebSocket transport,
- raw data storage,
- event normalization,
- early domain classification,
- heuristic signals,
- HTTP enrichment,
- candidate tracking.
This is considered a bootstrap architecture.
### Target architecture direction
The target architecture should progressively move toward:
- multiple concurrent data sources,
- autonomous source clients,
- async task-based source runtimes,
- command/event channels,
- source aggregation hub,
- separation between:
- transport,
- normalization,
- enrichment,
- correlation,
- persistence,
- strategy/trading.
This especially applies to:
- multiple WebSocket clients,
- Yellowstone gRPC client(s),
- HTTP enrichment workers,
- future external data sources.
---
## Completed versions
### v0.1.x
- initial project skeleton
- workspace setup
- strict coding conventions
- config loading
- tracing bootstrap
- SQLite bootstrap
### v0.2.x
- basic listener runtime
- listener session creation
- SQLite connectivity validation
- initial runtime loop
- first persistence primitives
### v0.3.0
- HTTP JSON-RPC client foundation
- manual request ids
- use of official Solana RPC request/response types where applicable
- basic `getSlot` support
- raw HTTP RPC storage
### v0.3.1
- tests added around config and storage
- tests added around HTTP RPC request/response parsing
- stronger validation of config and SQLite helpers
### v0.3.2
- HTTP polling integrated into listener runtime
- `getSlot` polling stored as raw RPC traffic
### v0.4.1
- initial Solana WebSocket RPC support
- subscription primitives
- support for:
- `slotSubscribe`
- `logsSubscribe`
- `programSubscribe`
- raw WS message storage
### v0.4.3
- centralized WebSocket read loop improvements
- safe unsubscribe handling
- shutdown flow improvements
- Rustls provider initialization fixes
### v0.4.4
- centralized WS dispatch between:
- JSON-RPC responses
- notifications
- better separation of response wait logic and notification flow
### v0.4.5
- active WS subscription registry
- source metadata attached to subscriptions
- cleaner handling of multiple subscription kinds
### v0.4.6
- WS notification normalization layer
- normalized events introduced for:
- slot
- logs
- program notifications
### v0.5.0
- first domain event layer
- normalized WS events converted into domain events
### v0.5.1
- known program registry
- first known-program classification layer
- SPL Token / Token-2022 / System / ComputeBudget / ATA recognition
### v0.5.2
- official `ids.rs` module added
- heuristic signal layer introduced
- first weak signals around:
- token account activity
- mint activity
- initial token activity
- bootstrap-style activity
### v0.5.3
- heuristic refinement
- associated token account style signals
- stronger bootstrap-oriented heuristics from known logs
### v0.5.4
- targeted HTTP enrichment via `getAccountInfo`
- enriched account snapshot
- first distinction between:
- potential token account
- potential mint account
- unknown account
### v0.5.5
- enriched classification layer
- confirmed enriched events introduced:
- confirmed token account activity
- confirmed mint account activity
- unknown token-program-owned account activity
### v0.5.6
- local correlation layer between:
- enriched events
- heuristics
- correlated signals introduced:
- confirmed token account update
- potential new token mint
- potential token bootstrap flow
### v0.5.7
- candidate layer introduced
- first domain candidates:
- token account candidate
- mint candidate
- bootstrap flow candidate
- listener maximum tick count made configurable
### v0.5.8
- in-memory session candidate tracker
- session-local deduplication
- lightweight score and confidence
- per-session candidate upsert flow
### v0.5.9
- session candidate snapshots
- sorted candidate summaries
- confidence-based filtering
- end-of-session summary logs
---
## Current status summary
At the current stage, the project can already:
- connect to Solana HTTP RPC,
- connect to Solana WebSocket RPC,
- subscribe to slot/logs/program streams,
- store raw HTTP and WS payloads,
- normalize notifications,
- derive domain events,
- classify known programs,
- emit heuristic signals,
- enrich accounts with `getAccountInfo`,
- confirm token-account-like activity,
- correlate signals,
- track session candidates in memory,
- summarize candidates at the end of a run.
What is still missing is the transition from generic token activity detection to true:
- mint detection,
- token bootstrap detection,
- pool/pair detection,
- DEX-aware activity detection,
- persistent candidate storage,
- pattern analysis,
- trading integration.
---
## Planned versions
> Planned versions are provisional and may change.
### v0.6.0
- persist session candidates to SQLite
- add dedicated candidate table(s)
- persist summary-worthy candidates at end of listener session
- create base persistence model reusable by analyser and trader
### v0.6.1
- refactor WebSocket client into an autonomous async source runtime
- introduce command/event channel model
- separate WS transport orchestration from listener business logic
### v0.6.2
- support multiple concurrent WS source clients
- allow different endpoints/providers simultaneously
- introduce source identity and source metadata
- prepare failover / redundancy / specialization by source
### v0.6.3
- introduce Yellowstone gRPC source runtime
- normalize WS + gRPC source events into a shared event model
- compare and reconcile overlapping data streams
### v0.6.4
- introduce source aggregation hub
- merge multi-source events into a unified ingestion pipeline
- prepare source-level prioritization and deduplication
### v0.7.0
- improve token-account vs mint distinction
- decode more token-specific account information
- improve quality of confirmed mint detection
- reduce weak false candidate generation
### v0.7.1
- introduce first persistent mint candidates
- introduce first persistent token-account candidates
- session-to-database promotion logic
### v0.7.2
- begin real bootstrap flow persistence and tracking
- correlate:
- token accounts
- mint accounts
- bootstrap-like logs
- source timing
### v0.8.0
- begin DEX-aware detection layer
- identify relevant program ids for first supported DEXes
- start with a small prioritized list, likely including:
- Raydium
- Meteora
- Pump-like ecosystems
- detect pool/pair creation-related activity
### v0.8.1
- add first pair / pool candidate models
- begin liquidity/bootstrap/pair-side inference
- distinguish token-only activity from pair/pool activity
### v0.8.2
- add market-related enrichment:
- liquidity hints
- price hints
- pool metadata
- start preparing listener outputs for trading eligibility
### v0.9.0
- begin `khbb_pattern_analyser_app`
- consume persisted candidates/signals from listener
- define first recurring pattern models:
- mint lifetime
- suspicious bootstrap
- likely scam patterns
- repeated naming patterns
- repeated creator behavior
### v0.9.1
- pattern scoring
- candidate clustering
- repeated-behavior analysis across sessions
### v1.0.0
- first end-to-end listener milestone
- persistent candidate ingestion
- multi-source ingestion foundations
- DEX-aware first detection
- pattern analyser initial interoperability
---
## Future trader-oriented roadmap
### Trader preparation
- define normalized outputs consumable by `khbb_trader_app`
- define candidate confidence / risk / eligibility model
- define basic token entry exclusion filters
- define liquidity / market-cap / bootstrap safety gates
### Early trading versions
- paper-trading mode first
- wallet integration
- transaction builder integration
- buy/sell strategy primitives
- time-based and price-based exits
- risk caps and kill switches
---
## Cross-cutting technical TODO
### Transport / source runtime
- [ ] move away from single inline WS runtime model
- [ ] introduce autonomous async WS source tasks
- [ ] add multi-WS support
- [ ] add gRPC source runtime
- [ ] unify source event interface
### Storage
- [ ] persist session candidates
- [ ] define candidate history tables
- [ ] define mint/pool/pair tables
- [ ] define source tables / provider metadata tables
### Classification / heuristics
- [ ] reduce weak token-account/mint ambiguity
- [ ] improve ATA detection
- [ ] refine bootstrap-flow detection
- [ ] correlate logs with program/account enrichment more strongly
### DEX support
- [ ] define first supported DEX list
- [ ] list official program ids and account models
- [ ] detect pair creation events
- [ ] detect liquidity initialization
- [ ] enrich pool metadata
### Pattern analysis
- [ ] define persistent pattern schema
- [ ] score repeated token behaviors
- [ ] score suspicious creators / repeated rugs / short lifetimes
### Trading
- [ ] define trader input schema
- [ ] define safe simulation mode
- [ ] define buy filters
- [ ] define sell rules
- [ ] define risk management rules
---
## Notes
- Current versions intentionally favored iterative validation over final architecture purity.
- The current listener runtime is considered a stepping stone, not the final source-runtime model.
- Candidate/correlation layers may continue to evolve before stabilizing.
- Future versions may be renumbered, merged, split, or reprioritized depending on what real Solana traffic reveals.