docs: fix README and skill drift - #151
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🧰 Additional context used🧠 Learnings (7)📚 Learning: 2026-03-30T13:46:24.698ZApplied to files:
📚 Learning: 2026-03-30T13:46:24.698ZApplied to files:
📚 Learning: 2026-03-30T13:46:24.698ZApplied to files:
📚 Learning: 2026-03-30T13:46:24.698ZApplied to files:
📚 Learning: 2026-03-30T13:46:24.698ZApplied to files:
📚 Learning: 2026-02-21T06:17:19.520ZApplied to files:
📚 Learning: 2026-03-30T13:46:24.698ZApplied to files:
🔇 Additional comments (3)
📝 WalkthroughWalkthroughDocumentation-only updates syncing README and bundled skill docs with the current boha API: add Changes
Sequence Diagram(s)(omitted — changes are documentation-only and do not introduce new runtime control flow requiring a sequence diagram) Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
🤖 Augment PR SummarySummary: Docs-only sync to bring the README and bundled “skills” back in line with the current boha crate/CLI behavior. Changes:
Technical Notes: No code changes; these updates primarily prevent copy/paste examples from drifting from the current API and collection set. 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Line 172: The README's `balance` feature line incorrectly lists DCR and AR as
supported chains; update the README entry so it only advertises the actual
implemented fetchers (BTC, LTC, ETH) to match src/balance.rs where the balance
fetchers are implemented, and remove or mark Decred (DCR)/Arweave (AR) and
Monero as deferred/not yet implemented so docs reflect current capability.
In `@skills/boha-cli/SKILL.md`:
- Line 9: Add a top-level H1 heading immediately after the front matter in
SKILL.md to satisfy markdownlint MD041; replace the current first content line
("CLI for browsing crypto bounties, puzzles and challenges. Nine collections
across six blockchains. Install with `cargo install boha --features cli,balance`
or `paru -S boha` on Arch.") with an H1 (for example "# CLI for browsing crypto
bounties, puzzles and challenges") followed by the explanatory sentence as a
paragraph so the first non-front-matter line is a proper H1.
In `@skills/boha/SKILL.md`:
- Line 83: The README claim in SKILL.md overstates supported chains; update the
sentence that lists supported backends to only mention Bitcoin (mempool.space),
Litecoin (litecoinspace.org) and Ethereum (Etherscan) and remove Decred and
Arweave so it matches the actual implementation in src/balance.rs (where only
BTC/LTC/ETH are implemented and Monero/Decred/Arweave remain deferred); keep
wording concise and accurate to avoid promising unsupported behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6f64c1f7-8d66-4991-b11a-d6cc45f8b298
📒 Files selected for processing (5)
README.mdskills/boha-cli/SKILL.mdskills/boha-cli/references/collections.mdskills/boha/SKILL.mdskills/boha/references/collections.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: cubic · AI code reviewer
- GitHub Check: test
🧰 Additional context used
🧠 Learnings (22)
📚 Learning: 2026-03-30T13:38:43.612Z
Learnt from: oritwoen
Repo: oritwoen/boha PR: 149
File: data/warp.jsonc:140-167
Timestamp: 2026-03-30T13:38:43.612Z
Learning: In `data/warp.jsonc`, for the two expired WarpWallet challenges (`warp_challenge_1` and `warp_challenge_2`), the `"prize"` field is intentionally set to 20.0 BTC (the total advertised prize) while the `"transactions"` funding entries each show only 10.0 BTC on-chain. This is by Keybase's design: half the prize was placed in the on-chain wallet address, and the other half was to be sent privately to the winner after they made contact. Do not flag this as an inconsistency.
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/collections/*.rs : Create collection modules in `src/collections/` for each data source (arweave, b1000, ballet, bitaps, bitimage, gsmg, hash_collision, warp, zden) following the b1000 pattern
Applied to files:
skills/boha-cli/references/collections.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Key struct in `src/puzzle.rs` with fields: hex, wif, seed, bits, shares to support multiple key representations
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Use Address kinds: P2PKH (legacy), P2SH (script), P2WPKH/P2WSH (SegWit), P2TR (Taproot) in `src/puzzle.rs`
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdskills/boha-cli/SKILL.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Chain enum in `src/puzzle.rs` supporting: Bitcoin, Ethereum, Litecoin, Monero, Decred, Arweave
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdskills/boha-cli/SKILL.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Solver struct in `src/puzzle.rs` with fields: name, addresses[], profiles[] to track who revealed/found the key (solution), distinct from Claimer who swept the funds
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdREADME.md
📚 Learning: 2026-03-15T19:09:49.536Z
Learnt from: oritwoen
Repo: oritwoen/boha PR: 122
File: src/puzzle.rs:104-117
Timestamp: 2026-03-15T19:09:49.536Z
Learning: Applies to {src/puzzle.rs,src/balance.rs}: The `Chain` enum in `src/puzzle.rs` supports: Bitcoin, Ethereum, Litecoin, Monero, Decred, and Arweave (added in PR `#111`) — any new chains must be added to both the enum and `src/balance.rs` API integration. Arweave balance fetching is not yet implemented in `src/balance.rs` (tracked in issue `#123`).
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Seed struct in `src/puzzle.rs` with BIP39 fields: phrase, path, xpub, entropy
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to data/*.jsonc : Store all puzzle data in `data/*.jsonc` files (arweave, b1000, ballet, bitaps, bitimage, gsmg, hash_collision, warp, zden) - do not hardcode puzzle data in Rust source
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdskills/boha-cli/SKILL.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Puzzle struct in `src/puzzle.rs` with 16 fields including: id, collection, title, description, status, author, solver, claimer, addresses, keys, metadata, and keep both Puzzle struct and `build.rs` codegen synchronized when modifying
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdskills/boha-cli/SKILL.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Author struct in `src/puzzle.rs` with fields: name, addresses[], profiles[] to track puzzle creators
Applied to files:
skills/boha-cli/references/collections.mdskills/boha/references/collections.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/cli.rs : Organize CLI commands in `src/cli.rs` for: stats, list (with --unsolved filter), show (single puzzle), balance, and verify (with --all and --quiet flags)
Applied to files:
skills/boha-cli/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Use ID format `collection/identifier` (e.g., `b1000/66`, `bitimage/kitten`) for puzzle lookups, except for `gsmg` and `bitaps` which have no slash separator
Applied to files:
skills/boha-cli/SKILL.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-02-21T06:17:19.520Z
Learnt from: oritwoen
Repo: oritwoen/boha PR: 111
File: data/arweave.jsonc:21-21
Timestamp: 2026-02-21T06:17:19.520Z
Learning: In JSONC puzzle data files (data/*.jsonc), the "name" field stores only the puzzle identifier (e.g., "weave1", "kitten", "Level 1"), not the full "collection/identifier" format. The full ID (e.g., "arweave/weave1", "bitimage/kitten") is constructed at build time or runtime by the Rust code in build.rs and collection modules.
Applied to files:
skills/boha-cli/SKILL.mdskills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/balance.rs : Implement balance fetching in `src/balance.rs` to support multi-chain async fetch for Bitcoin/Litecoin/Ethereum using mempool.space (BTC/LTC) and Etherscan (ETH) APIs
Applied to files:
skills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Follow b1000 collection pattern when adding new puzzle collections: add JSONC file in `data/`, add codegen in `build.rs`, add module in `src/collections/`
Applied to files:
skills/boha/SKILL.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/lib.rs : Implement `get(id)` function in `lib.rs` for universal puzzle lookup by ID supporting format `collection/identifier` (e.g., `b1000/66`, `bitimage/kitten`), with exceptions for `gsmg` and `bitaps` (no slash)
Applied to files:
skills/boha/SKILL.mdREADME.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Address struct in `src/puzzle.rs` with fields: value, chain, kind, hash160, witness_program
Applied to files:
README.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/lib.rs : Implement `stats()` function in `lib.rs` to compute aggregate statistics across all puzzles
Applied to files:
README.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/lib.rs : Generate static Puzzle data arrays via codegen: `static PUZZLES: &[Puzzle] = &[...]` - all data must be `&'static` with no heap allocation
Applied to files:
README.md
📚 Learning: 2026-03-15T21:58:53.297Z
Learnt from: aeitwoen
Repo: oritwoen/boha PR: 133
File: skills/boha/SKILL.md:0-0
Timestamp: 2026-03-15T21:58:53.297Z
Learning: In oritwoen/boha `src/balance.rs`, Litecoin balance fetching IS implemented via `fetch_ltc` (around line 140), dispatching to litecoinspace.org — NOT mempool.space. Only Chain::Monero, Chain::Decred, and Chain::Arweave balance implementations remain deferred (tracked in issue `#131`).
Applied to files:
README.md
📚 Learning: 2026-03-30T13:46:24.698Z
Learnt from: CR
Repo: oritwoen/boha PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-30T13:46:24.698Z
Learning: Applies to src/puzzle.rs : Define Status enum in `src/puzzle.rs` with variants: Solved, Unsolved, Claimed, Swept, Expired
Applied to files:
README.md
🪛 markdownlint-cli2 (0.22.0)
skills/boha-cli/SKILL.md
[warning] 9-9: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
🔇 Additional comments (2)
skills/boha/references/collections.md (1)
61-68: Warp section now matches current lookup shape.This is clear and copy-paste safe: both direct
warp::get(...)and universalboha::get("warp/...")are documented.skills/boha-cli/references/collections.md (1)
61-68: CLI reference now includes the missingwarpcollection correctly.IDs and examples are consistent with the expected
collection/identifierpattern.
There was a problem hiding this comment.
No issues found across 5 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Auto-approved: Documentation-only changes and metadata updates to align README and skill definitions with the current project state. No source code logic modified.
Architecture diagram
sequenceDiagram
participant User as User / Developer
participant CLI as boha CLI
participant Lib as boha Library
participant Data as Static Data (JSONC)
participant Balance as balance::fetch
participant Net as External APIs (Mempool/Etherscan/etc)
Note over User,Net: Data Discovery Flow
User->>CLI: boha search <query>
CLI->>Lib: NEW: search(query, filter)
Lib->>Data: Query embedded puzzle set
Data-->>Lib: Collection match
Lib-->>CLI: Puzzle ID list
CLI-->>User: Display results
Note over User,Net: Library Usage (Skill Drift Fixes)
User->>Lib: warp::get("challenge_1")
Lib->>Data: NEW: Access WarpWallet dataset
Data-->>Lib: Puzzle Metadata
Lib-->>User: &Puzzle object
Note over User,Net: Blockchain Balance Flow
User->>Lib: balance::fetch(address, chain)
Lib->>Balance: CHANGED: Request balance with explicit Chain context
alt Bitcoin / Litecoin
Balance->>Net: GET mempool.space / litecoinspace.org
else Ethereum
Balance->>Net: GET etherscan.io
else NEW: Decred / Arweave
Balance->>Net: GET dcrdata / arweave.net
end
Net-->>Balance: JSON response
Balance-->>Lib: Balance Struct
Lib-->>User: confirmed / total_btc()
READMEand bundled skills drifted from currentbohastate. Adds missingwarpcoverage, fixes the stalebalance::fetch(...)example, and cleans up wrongwarpID examples in the skill refs. Small docs-only fix, but dead weight if left around because people copy this stuff.Closes #150