Shared-Screen Tenant Browser Baseline¶
- Classification:
OBSERVED-FACT
Purpose¶
This document records the read-only CTC-1156 browser and menu baseline for the second configured tenant. It is current-state evidence, not proof that both tenants already share every route, page file, component, role, or workflow.
The target architecture remains shared modules, screens, and APIs. Tenant variation belongs in config, menu, role, and named process capabilities. Do not introduce new numeric CLIENT_ID behavior forks or unnecessary restrictions on CLIENT_ID=1. The current client-number branches are recorded below as existing migration gaps, not as the target pattern.
Validation Context¶
- Validated: 2026-07-11
- Runtime: local
http://localhost:8080 - Account:
admin2(CLIENT_ID=2) - Navigation: configured Operation menu entries
- Mode: read-only
- Database identity: host
kyle-mba, port3306, databaseprod
Browser And Ownership Matrix¶
| Menu | Final route | Visible heading | Page file | Module key | Result |
|---|---|---|---|---|---|
| Scale Portal | /scale-portal |
Scale Portal | frontend/pages/system/YMS/scale/scale-portal.php |
yms.scale |
Pass; common route |
| MK Inbound Orders | /mk-inbound-orders?orderType=OCEAN_FREIGHT |
MK Inbound Orders | frontend/pages/system/OMS/inbound-order/mk-inbound-orders.php |
oms.inbound-order |
Pass; MK-prefixed migration gap |
| MK Outbound Orders | /mk-outbound-orders |
MK Outbound Orders | frontend/pages/system/OMS/outbound-order/mk-outbound-orders.php |
oms.outbound-order |
Pass; MK-prefixed migration gap |
| Allocation Workbench | /mk-allocation-workbench |
Allocation Workbench | frontend/pages/system/OMS/allocation/mk-allocation-workbench.php |
oms.allocation |
Pass; MK-prefixed migration gap |
| MK Booking List | /mk-booking-list |
MK Booking List | frontend/pages/system/TMS/booking/mk-booking-list.php |
tms.booking |
Pass; MK-prefixed migration gap |
| Commercial Orders | /mk-commercial-orders |
Commercial Orders | frontend/pages/system/OMS/commercial-order/mk-commercial-orders.php |
oms.commercial-order |
Pass; MK-prefixed migration gap |
| Trade Summary | /mk-deal-ledger |
Trade Summary | frontend/pages/system/BMS/reports/mk-trade-summary.php |
oms.deal-ledger |
Pass; MK-prefixed migration gap |
All seven pages opened through their configured menu entry. No JavaScript errors were recorded. Chromium emitted the same non-blocking verbose accessibility warning on each page for a hidden password form without a username field.
Tenant Menu Comparison¶
A read-only T_MENU query used the confirmed columns CLIENT_ID, MENU_NAME, MENU_URL, MODULE_PAGE_ID, and MENU_ROLE_LIST.
CLIENT_ID=2: all seven matching menu rows exist.CLIENT_ID=1: no matching menu rows exist in the inspected local baseline.
This comparison confirms the second-tenant menu/runtime baseline and explicitly leaves cross-tenant browser parity unverified.
Existing Numeric Branch Gaps¶
The repository runtime search found the following hardcoded tenant branches relevant to the seven baseline surfaces:
| Runtime file | Current numeric branch behavior |
|---|---|
public/assets/js/modules/yms/scale-portal.js |
clientId === 2 permits zero scale weight. |
public/assets/js/modules/shared/kj-table-options-master.js |
CLIENT_ID === 2 adds Booking List invoice and commodity-rate columns and changes the SI cutoff heading to DOC CUT. |
public/assets/js/modules/shared/popup.core.js |
Booking List derives an MK flag from the runtime or record client ID and changes the SI cutoff label to DOC CUTOFF; it also exposes the commodity-rate field for records with CLIENT_ID === 2. |
public/assets/js/modules/shared/popup.core.js |
CLIENT_ID === 2 adds the Booking Confirmation popup action. |
app/systems/OMS/inbound-order/mk_post_helper.php |
$clientId === 2 permits zero scale ticket and scale-portal item weights across the inbound scale validation and write paths. |
app/addons/reports/query_helper.php |
CLIENT_ID === 2 selects the MK Packing List data path, which assembles sales-order containers, commodity/invoice items, and MK report headers instead of the legacy packing-list query. |
These branches are existing current-state behavior and remain migration gaps. Future shared-screen work should replace customer-number checks with config, menu, role, or named process capabilities; this baseline does not change them.
Durable Browser Evidence¶
The corresponding files are linked to Work Item CTC-1156 under the Control Tower server-owned evidence root.
| Artifact | Control Tower file ID | SHA-256 |
|---|---|---|
allocation-workbench-admin2.png |
wif-1783752963730-d60ef4 |
cbec5511d555ee6cd94907b85f5a8f11c48d72fd3bcffc455997a5f80bb542d6 |
booking-list-admin2.png |
wif-1783752963808-375aee |
31e58d3983bbda0e10ea8ecec45a4b9406301d45c0655efcd61c9a1004880af0 |
commercial-orders-admin2.png |
wif-1783752963897-5909ee |
adacd7ea1ff3ed2803c816237fb2ceab5414e9f86a39c9ee1fbd1849bdecf52d |
inbound-orders-admin2.png |
wif-1783752963971-b5dad0 |
6bd2360e1974593aad6c8a5088c72c115d6ce12cee283c56c0a2175ab7ff6e36 |
outbound-orders-admin2.png |
wif-1783752964060-51db3b |
c073f470d85c030a276b562e2dce10638de7c54755754d8966c61b9b1bb3f039 |
scale-portal-admin2.png |
wif-1783752964137-2c386b |
5d3a0df711438442c1a3871d4f4fb130e109b141fba0d3db740730e387a7de18 |
trade-summary-admin2.png |
wif-1783752964301-543413 |
d61dcacaf990518c742832e34c99b371bc381b548e7a01d6d8e16116eafa0295 |
Residual Gaps¶
- No equivalent
CLIENT_ID=1browser path exists in the inspected menu baseline. - Non-admin role behavior is unverified.
- CRUD behavior is unverified.
- Six business surfaces still use MK-prefixed routes and page files.
- This task does not change application code, DB data, tenant config, menu, role, module, or production state.
---¶
Source:
docs/research/current-state/2026-07-11/CTC_SHARED_SCREEN_TENANT_BASELINE.md— ctc repository · This page is an English translation of the source document. Identifiers, file paths and code symbols are unchanged.