refactor: change immature_transactions() to return BTreeSet<Txid>#79
refactor: change immature_transactions() to return BTreeSet<Txid>#79xdustinface wants to merge 3 commits intofeat/transaction-record-detailsfrom
immature_transactions() to return BTreeSet<Txid>#79Conversation
…, rebuild `spent_outpoints` from `input_details`
|
Manki — Review complete ✓ Parsed diff — 48 lines Review metadataConfig:
Judge decisions:
Recap:
Timing:
|
There was a problem hiding this comment.
The spent_outpoints deserialization rewrite has two notable issues: an unchecked index access that can panic on corrupted wallet data, and a semantic narrowing of the rebuilt set that all three reviewers independently flagged. The immature_transactions() return type change is clean.
Findings: 3 new
📊 3 findings (1 required, 1 suggestion, 1 nit) · 48 lines · 132s
Review stats
{
"model": "claude-opus-4-6",
"reviewTimeMs": 132171,
"diffLines": 48,
"diffAdditions": 20,
"diffDeletions": 28,
"filesReviewed": 5,
"agents": [
"Security & Safety",
"Architecture & Design",
"Correctness & Logic"
],
"findingsRaw": 6,
"findingsKept": 3,
"findingsDropped": 3,
"severity": {
"required": 1,
"suggestion": 1,
"nit": 1
},
"verdict": "REQUEST_CHANGES",
"prNumber": 79,
"commitSha": "0453adac6bef8a7cd88a27a3c67f2a71f5be8fad"
}
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## feat/transaction-record-details #79 +/- ##
===================================================================
- Coverage 67.50% 67.50% -0.01%
===================================================================
Files 318 318
Lines 67500 67707 +207
===================================================================
+ Hits 45567 45703 +136
- Misses 21933 22004 +71
🚀 New features to boost your workflow:
|
…ils` The deserialization used `input_details` (our inputs only) with unchecked indexing into `transaction.input`, which could panic on corrupted data and produced an incomplete `spent_outpoints` set. Runtime behavior tracks all inputs of every recorded transaction, so deserialization must match.
|
Manki — Review complete ✓ Parsed diff — 42 lines Review metadataConfig:
Recap:
Timing:
|
There was a problem hiding this comment.
Review complete.
Findings: 2 previously flagged
📊 0 findings (none) · 42 lines · 47s
Review stats
{
"model": "claude-opus-4-6",
"reviewTimeMs": 47337,
"diffLines": 42,
"diffAdditions": 16,
"diffDeletions": 26,
"filesReviewed": 5,
"agents": [
"Security & Safety",
"Architecture & Design",
"Correctness & Logic"
],
"findingsRaw": 0,
"findingsKept": 0,
"findingsDropped": 0,
"severity": {
"required": 0,
"suggestion": 0,
"nit": 0
},
"verdict": "APPROVE",
"prNumber": 79,
"commitSha": "21c58296a3ccd1c9ad0c730b8b7f11ed18bb3e2e"
}|
@manki review |
|
Manki — Review complete ✓ Parsed diff — 42 lines Review metadataConfig:
Judge decisions:
Recap:
Timing:
|
There was a problem hiding this comment.
Clean refactor with one notable deviation from the acceptance criteria (BTreeSet vs HashSet) that appears intentional. The method naming mismatch is the most actionable finding — immature_transactions() now returns txids, not transactions.
Findings: 2 new, 2 resolved
📊 2 findings (1 suggestion, 1 nit) · 42 lines · 101s
Review stats
{
"model": "claude-sonnet-4-6",
"reviewTimeMs": 101476,
"diffLines": 42,
"diffAdditions": 16,
"diffDeletions": 26,
"filesReviewed": 5,
"agents": [
"Security & Safety",
"Architecture & Design",
"Correctness & Logic"
],
"findingsRaw": 6,
"findingsKept": 2,
"findingsDropped": 4,
"severity": {
"required": 0,
"suggestion": 1,
"nit": 1
},
"verdict": "REQUEST_CHANGES",
"prNumber": 79,
"commitSha": "21c58296a3ccd1c9ad0c730b8b7f11ed18bb3e2e",
"agentMetrics": [
{
"name": "Security & Safety",
"findingsRaw": 0,
"findingsKept": 0
},
{
"name": "Architecture & Design",
"findingsRaw": 2,
"findingsKept": 2
},
{
"name": "Correctness & Logic",
"findingsRaw": 1,
"findingsKept": 0
}
],
"judgeMetrics": {
"confidenceDistribution": {
"high": 3,
"medium": 0,
"low": 0
},
"severityChanges": 3,
"mergedDuplicates": 3
},
"fileMetrics": {
"fileTypes": {
".rs": 5
},
"findingsPerFile": {
"key-wallet/src/wallet/managed_wallet_info/wallet_info_interface.rs": 2
}
},
"reviewerModel": "claude-sonnet-4-6",
"judgeModel": "claude-opus-4-6"
}|
Manki — Review complete ✓ Parsed diff — 54 lines Review metadataConfig:
Judge decisions:
Recap:
Timing:
|
There was a problem hiding this comment.
Review complete.
Findings: 3 new, 3 resolved
📊 3 findings (2 suggestion, 1 nit) · 54 lines · 119s
Review stats
{
"model": "claude-sonnet-4-6",
"reviewTimeMs": 119395,
"diffLines": 54,
"diffAdditions": 22,
"diffDeletions": 32,
"filesReviewed": 5,
"agents": [
"Security & Safety",
"Architecture & Design",
"Correctness & Logic"
],
"findingsRaw": 3,
"findingsKept": 3,
"findingsDropped": 0,
"severity": {
"required": 0,
"suggestion": 2,
"nit": 1
},
"verdict": "APPROVE",
"prNumber": 79,
"commitSha": "0906c2116c77e40dff0e9ced89e3cb0e318c2f05",
"agentMetrics": [
{
"name": "Security & Safety",
"findingsRaw": 0,
"findingsKept": 0
},
{
"name": "Architecture & Design",
"findingsRaw": 2,
"findingsKept": 2
},
{
"name": "Correctness & Logic",
"findingsRaw": 1,
"findingsKept": 1
}
],
"judgeMetrics": {
"confidenceDistribution": {
"high": 0,
"medium": 0,
"low": 0
},
"severityChanges": 0,
"mergedDuplicates": 0
},
"fileMetrics": {
"fileTypes": {
".rs": 5
},
"findingsPerFile": {
"key-wallet/src/managed_account/mod.rs": 2,
"key-wallet/src/wallet/managed_wallet_info/wallet_info_interface.rs": 1
}
},
"reviewerModel": "claude-sonnet-4-6",
"judgeModel": "claude-opus-4-6"
}|
@manki review |
Summary
immature_transactions()renamed toimmature_txids()and returnsBTreeSet<Txid>instead ofVec<Transaction>— callers only need txid membershipCloses #71