The acknowledged overhang: "doesn't fit, shelved anyway" goes legit

Eric's office towers are 9.5 inches deep; Etherfields boxes are 11.8
inches square. Spine-out they stand 2.3 inches proud of the shelf edge
— clearly livable, it's how they sit today — but the lane model will
honestly refuse forever: can't stand (11.8 > 9.5 depth), can't stack
flat (same), so the opening warns NO PACKING FITS. The first deliberate
misfit deserves first-class status.

An assignment can now carry acknowledged: true. An acknowledged box
takes the standing lane WITHOUT the height/depth check — the human has
seen the overhang — while the width budget stays honest (nine
acknowledged monoliths still overflow a 23.25-inch row). It drops out
of misfit/laneless warnings everywhere: the wall diagram, the sheet,
and bggpipe dims (which now says "overhangs, acknowledged" instead).

Ways in: an "accept overhang" button in the opening's sheet (appears
on any resident the lanes can't take; tap again to retract), or an
acknowledge column (yes) in shelve --import. Once acknowledged, later
imports needn't re-state it.

Re-import hardening, prompted by Eric's "will a new import make a
mess?": it's an upsert, not a reset — and now genuinely so. Previously
a re-import preserved notes but silently wiped lane overrides; now
notes, lanes, and acknowledgments all survive when the opening is
unchanged (a move resets lane and acknowledgment — new spot, new
verdict). Same fix in /api/locate: the lane-flip button used to wipe
the hand-entered note because LocateBody.note defaulted to "" —
it's now tri-state, None means leave it alone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
Eric Wagoner
2026-08-09 15:45:36 -04:00
co-authored by Claude Fable 5
parent 4ce7706521
commit 7d7d3bb8da
10 changed files with 291 additions and 37 deletions
+45 -13
View File
@@ -3,6 +3,14 @@
{
"name": "Library Kallax",
"openings": [
{
"id": "library-kallax-top",
"label": "Top",
"zone": "",
"width_in": 53.0,
"height_in": 38.0,
"depth_in": 15.4
},
{
"id": "library-kallax-a1",
"label": "A1",
@@ -125,6 +133,14 @@
"name": "Library Right Shelving",
"description": "To the right of the Kallax",
"openings": [
{
"id": "library-right-shelving-top",
"label": "Top",
"zone": "",
"width_in": 23.5,
"height_in": 25.0,
"depth_in": 9.5
},
{
"id": "library-right-shelving-a1",
"label": "A1",
@@ -138,39 +154,51 @@
"label": "B1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"depth_in": 9.5
"height_in": 10.75,
"depth_in": 9.5,
"description": ""
},
{
"id": "library-right-shelving-c1",
"label": "C1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"depth_in": 9.5
"height_in": 12.25,
"depth_in": 9.5,
"description": ""
},
{
"id": "library-right-shelving-d1",
"label": "D1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"depth_in": 9.5
"height_in": 13.25,
"depth_in": 9.5,
"description": ""
},
{
"id": "library-right-shelving-e1",
"label": "E1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"depth_in": 9.5
"height_in": 19.0,
"depth_in": 9.5,
"description": ""
}
]
},
{
"name": "Library Left Shelving",
"description": "To the right of the Kallax",
"description": "To the left of the Kallax",
"openings": [
{
"label": "Top",
"zone": "",
"width_in": 23.5,
"height_in": 25.0,
"depth_in": 9.5,
"id": "library-right-shelving-2-top"
},
{
"label": "A1",
"zone": "",
@@ -183,32 +211,36 @@
"label": "B1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"height_in": 10.75,
"depth_in": 9.5,
"description": "",
"id": "library-right-shelving-2-b1"
},
{
"label": "C1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"height_in": 12.25,
"depth_in": 9.5,
"description": "",
"id": "library-right-shelving-2-c1"
},
{
"label": "D1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"height_in": 13.25,
"depth_in": 9.5,
"description": "",
"id": "library-right-shelving-2-d1"
},
{
"label": "E1",
"zone": "",
"width_in": 23.25,
"height_in": 10.25,
"height_in": 19.0,
"depth_in": 9.5,
"description": "",
"id": "library-right-shelving-2-e1"
}
]