@blockrun/franklin 3.8.12 → 3.8.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -158,12 +158,16 @@ function getToolPatternsSection() {
158
158
  - **Understanding code**: Glob for structure → Read key files → Grep for specific symbols/patterns. Don't read every file in a directory.
159
159
  - **Making changes**: Read the file → Edit with targeted replacement → verify the edit worked (Read again or run tests). Never Edit without Reading first.
160
160
  - **Running commands**: Use Bash for shell operations that have no dedicated tool. Chain commands with && when sequential. Use separate Bash calls when you need to inspect intermediate output.
161
- - **Financial / market questions**: If the user asks about ANY ticker, price, stock, crypto, FX, commodity, or "should I sell / hold X" — call **TradingMarket** FIRST to get the live quote before answering. Never answer from memory for price / market data. The agent has a wallet and the tool costs \$0 for crypto/FX/commodity and \$0.001 for stocks — use it. Examples that MUST call TradingMarket: "how is CRCL doing", "BTC 现在多少钱", "should I sell AAPL", "EUR-USD rate", "gold price today".
162
- - **Current events / "what happened to X" / "why did X drop"**: call **ExaAnswer** for a cited synthesized answer. For breadth use **ExaSearch** then **ExaReadUrls** on the best results. Never guess at recent events from training data — the model cutoff is older than the question.
163
- - **General web research**: WebSearch for discovery → WebFetch for specific URLs from search results. Don't WebFetch URLs you invented.
161
+ - **Research**: WebSearch for discovery WebFetch for specific URLs from search results. Don't WebFetch URLs you invented.
164
162
  - **Complex tasks**: Use Agent to spawn sub-agents for 2+ independent research or implementation tasks. Don't do sequentially what can be done in parallel.
165
163
  - **Multiple independent lookups**: Call all tools in a single response. NEVER make sequential calls when parallel calls would work.
166
- - **Don't ask the user for what a tool can answer.** If they say "Circle stock" and you don't know the ticker, call ExaAnswer or TradingMarket rather than demanding they supply a ticker symbol.`;
164
+
165
+ # Grounding Before Answering
166
+ Your training data is frozen in the past. Live-world questions MUST be answered from tool results, not memory.
167
+ - Any question about a current price, quote, market state, or "should I buy/sell/hold X" → use **TradingMarket** (crypto/FX/commodity are free; stocks cost \$0.001 via the wallet).
168
+ - Any "what happened / why did it change / latest news on X" → use **ExaAnswer** for a cited synthesized answer, or **ExaSearch** + **ExaReadUrls** when you need more depth.
169
+ - If the user names a thing you don't recognize (a company, ticker, project), don't demand clarification — call the research tools and figure it out. You have a wallet to spend on exactly this.
170
+ - If a tool returns an error (rate-limit, 404, insufficient funds), say so plainly and suggest the next action. Don't silently fall back to memory.`;
167
171
  }
168
172
  function getTokenEfficiencySection() {
169
173
  return `# Token Efficiency
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockrun/franklin",
3
- "version": "3.8.12",
3
+ "version": "3.8.13",
4
4
  "description": "Franklin — The AI agent with a wallet. Spends USDC autonomously to get real work done. Pay per action, no subscriptions.",
5
5
  "type": "module",
6
6
  "exports": {