0.6.1
This commit is contained in:
396
TODO.md
Normal file
396
TODO.md
Normal file
@@ -0,0 +1,396 @@
|
||||
<!-- 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.
|
||||
Reference in New Issue
Block a user