Juno's Decision Model
Juno doesn't guess. It evaluates input, applies rules, and constructs responses from known patterns. The entire system is designed for reproducibility, every decision can be traced, logged, and verified.
This model powers three things:
Signal generation
Risk classification
Prompt construction
There is no black box logic, no embedded ML, no dynamic scoring. All thresholds, rules, and filters are deterministic.
Signal Evaluation Logic
At runtime, Juno receives wallet data structured like this:
{
address: "So1anaW4ll3tABC...",
tokens: [...],
transactions: [tx1, tx2, tx3],
linkedWallets: [...],
}
Each transaction is checked against a list of known signal conditions:
if (
tx.deployerActivity > 2 &&
tx.timeSinceMint < 10 &&
tx.token.isMintable
) {
return {
type: "deployer-active",
confidence: 0.84,
timestamp: tx.timestamp,
relatedToken: tx.token.address,
}
}
Signals below 0.5
confidence are dropped unless flagged by a custom filter. Signal types are deduplicated across a 5-minute rolling window.
Prompt Injection
Once valid signals are stored in memory, the assistant gets structured context. The system assembles it into a prompt like:
Wallet 7xFk...p7LC has triggered 3 signals in the last 30 minutes.
- Token BONK showed early liquidity within 6.4s of launch
- Deployer for MEOW was active post-deploy (3 txs)
- Token ZAZA is mintable and unverified
The user is currently filtering by signal type: trend-reversal
Respond with a summary of what matters most based on the above.
The assistant doesn't see raw txs or token dumps. It only sees this scoped input. The result is a low-latency, context-aware reply that never re-asks "what's in your wallet?"
Why It Works
Juno’s decision model is designed for constrained environments:
No real-time inference required
Memory stays small and disposable
Output is explainable and testable
Every prompt, signal, and response is traceable back to a known source
It’s not smart. It’s structured. And that’s exactly the point.
Last updated