feat: prepare warehouse 01 floor 1 inbound pilot

This commit is contained in:
zgw
2026-09-16 14:12:12 +08:00
parent 2632a57d73
commit 1225cf7287
25 changed files with 1465 additions and 3 deletions

View File

@@ -0,0 +1,31 @@
# Warehouse 01 Floor 1 Inbound Pilot
This directory is a preparation package. Do not enable the pilot during preparation.
## Prepared state
- `FORTUCKY_INBOUND_PILOT_ENABLED=false`
- Legacy remains the only inbound writer.
- The pilot scope is fixed to warehouse `01`, floor `1`. A different configured warehouse or floor disables pilot routing.
- No database script in this directory is run automatically.
- Outbound, relocation, other floors, and other warehouses are unchanged.
## Later maintenance-window order
1. Confirm the current WMS is stopped and retain its known-good IDEA configuration.
2. Run `install-layer1-inbound-pilot.cmd "lpc:." "FT546-wms"`.
3. Run `check-layer1-inbound-pilot.cmd "lpc:." "FT546-wms"` and retain the output.
4. Start the candidate with `FORTUCKY_INBOUND_PILOT_ENABLED=false` and verify normal Legacy operation.
5. Only after a separate approval, restart with `FORTUCKY_INBOUND_PILOT_ENABLED=true`.
## Immediate application rollback
Stop the candidate and restart it with `FORTUCKY_INBOUND_PILOT_ENABLED=false`. This restores Legacy-only routing. The procedure can remain installed because the disabled application never calls it.
After the pilot is disabled, optional database cleanup is:
```cmd
rollback-layer1-inbound-pilot.cmd "lpc:." "FT546-wms" CONFIRM_LAYER1_PILOT_ROLLBACK
```
The rollback SQL rejects every database except `FT546-wms` and drops only the procedure carrying the package ownership marker.