Repository navigation
fix: accept any input and ruin non-exact crafts - #25
Conversation
The bench now accepts any woodworking material and any tool hit, in any order and amount. Finishing with the branding tool gives the furniture only when the materials, their amounts and the hits match the recipe exactly. Any other finish ruins the project and the deposited materials are lost. Previously a wrong mix filled the type bucket, blocked further input and left the bench stuck until the project was cancelled. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe station accepts materials and tool hits without enforcing recipe limits. A project finishes only when its materials and hits match the recipe exactly. A mismatch removes the station without refunding deposited materials. The README also describes refunds for deliberate cancellation. ChangesWoodworking station rules
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
actor Player
participant StationManager
participant WoodStation
Player->>StationManager: Submit material or tool hit
StationManager->>WoodStation: Record input
Player->>StationManager: Finish project
StationManager->>WoodStation: Check exact recipe match
WoodStation-->>StationManager: Return finish result
alt Result is not SUCCESS
StationManager->>StationManager: Remove station and show failure effects
else Result is SUCCESS
StationManager->>StationManager: Complete craft
end
Suggested reviewers: Merge Risk: ⚪ Minimal · up to No confirmed issue currently prevents merging after normal checks. Progress display for off-recipe tool hits remains unverified. Security Architecture ReviewSecurity architecture risk: 🟡 Moderate · up to A player allowed to use a shared bench can now ruin another player’s unfinished work without a refund. Successful furniture still requires an exact recipe match, and the observed loss is limited to the affected bench. Retained concerns
Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
A rabbit taps the workbench side, Comment |
Problem
Woodworking 0.1.4 only finishes a project when the materials and hits match the recipe exactly, which is the intended rule. The station, though, fills input by bucket (material type, hit type) and refuses anything past a bucket's total. A wrong mix fills the bucket and blocks all further input:
The bench is then stuck until the player cancels it. The bucket limits and messages also hand players the recipe shape.
Change
checkExactRecipe/checkExactHits).checkItems/checkHitsand theCAPACITY,NONE,LACKING_ITEMS,LACKING_HITSfeedback values.Note: a successful craft is always an exact match, so the quality title is always the top tier.
Testing
mvn clean verifywoodworking-DEV-20260928-1516, live Dev configs = Main configs): 19/19 checks on Marauder Rum Bottles (live recipe: goldmaple x1, hit x6, small hit x1).🤖 Generated with Claude Code