Skip to content

Loader Work Assignment — Current Source Revalidation — 2026-08-10


1. Revalidation Outcome

The 2026-08-08 source findings remain current at the reviewed 2026-08-10 baseline. The active Office/Loader application and the typed helper still represent Loader Work Assignment differently.

active Office/Loader route family
= SPECIAL_INSTRUCTION = QUEUE_WORK_ASSIGNMENT
+ COMMODITY_NAME = assignment type
+ FINAL_DRAFT = route detail JSON

separate typed helper family
= ASSIGNMENT_DATA JSON
+ canonical requestToken
+ typed validation / advisory lock / notification metadata

The source does not establish that the typed full-command family is the active application owner. It also does not make the typed helper removable: selected locks, terminal checks, Staff Time protection, tests and Local smoke fixtures still consume it.

current persistence contract: DUAL / DIVERGENT
canonical target contract: NOT SELECTED
current DB population: NOT READ
runtime/role/provider/Wiki evidence: NOT RUN
M3: NO
M4: NO

2. Work Graph Coverage

The first live source-only Work Graph pilot used four independent discovery branches and one bounded synthesis.

D1 route / Office UI / Loader UI
D2 typed helper / queue guard / Staff Time / transition evidence
D3 unit tests / Local smoke scope
D4 current documents / Process / authorization / Wiki boundary

Manifest result:

26 expected
26 accounted exactly once
0 missing
0 duplicate disposition
4 discovery inputs expected / 4 received

The manifest covered the active routes and UIs, typed/helper/Staff Time owners, five tests/smokes, current source/evidence/runbook/Wiki owners, Process/registry/authorization sources and Roadmap state.


3. Current Runtime Blob Lineage

The following blobs are byte-identical between the prior source-review lineage through 13991b627eb95b5b675a4eb05048d56f20538439 and the reviewed baseline.

Owner Current blob SHA Revalidation
app/systems/TMS/transload/api_routes.php 58b702a9a90ecb109cc72ca63a7b9fddb43026ea unchanged
app/systems/TMS/transload/assignment_work_helper.php e3f2c7b8274bd4943192928dd569cb07d54714e5 unchanged
app/systems/TMS/transload/post_helper.php 3e4fa0be9785d99d4d8edac706bb508916d10bc1 unchanged
app/systems/TMS/staff-time/api_routes.php 96409a3a1cc50d867d2214a2d90610aa268d54ff unchanged
frontend/pages/system/TMS/transload/loader-assignment-board.php 76ae49eee5e79f883a7ad12a7d5db6eee3e6feba unchanged
frontend/pages/system/TMS/transload/inbound-loader.php f32a616dc44b465cf88b60d5b3eb9e39ac31155b unchanged

Therefore a later Runtime change cannot be cited as having resolved the dual-contract or Clock Out guard discrepancies documented on 2026-08-08.

This proves repository-source continuity only. It does not prove the deployed service is running this commit.


4. Active Route And UI Contract

Current API registration exposes:

POST   /api/tms/transloads/work-assignments
GET    /api/tms/transloads/work-assignments
GET    /api/tms/transloads/work-assignments/current
POST   /api/tms/transloads/work-assignments/{id}/start
POST   /api/tms/transloads/work-assignments/{id}/complete
DELETE /api/tms/transloads/work-assignments/{id}
POST   /api/tms/transloads/work-assignments/{id}/advance-clock-out
POST   /api/tms/transloads/work-assignments/{id}/clock-out

Current direct consumers are:

Office Assignment Board
frontend/pages/system/TMS/transload/loader-assignment-board.php

Loader self-service page
frontend/pages/system/TMS/transload/inbound-loader.php

Create identity and notification

The route-owned create path:

  • validates Loader current Staff Time state;
  • rejects another queued route-owned Clock Out;
  • inserts one planner row per Loader;
  • returns one result per Loader;
  • attempts Telegram separately;
  • does not persist a durable route-level request token.
assignment committed
!= Telegram delivered

missing create response
!= safe blind replay

The current operator recovery remains authoritative reread of Office list, Loader Current/Next and Staff Time before retry.


5. Typed Helper Current Boundary

The typed helper still provides:

  • ASSIGNMENT_DATA validation and discriminator;
  • canonical UUID requestToken;
  • per-Loader advisory locks;
  • typed notification attempt/result fields;
  • typed Start/Complete and Clock Out checkpoints;
  • compatibility readers and terminal checks.

Repository caller search for the typed full create/transition family located the helper definitions and Local smoke scripts. It did not locate a direct current Route/UI registration for the typed full-command family.

This classification is intentionally narrow:

typed full command family
= no direct current Route/UI caller located

selected typed helper responsibilities
= active compatibility consumers remain

dynamic reachability / current DB rows
= UNKNOWN

Do not infer caller-zero or delete the helper from this source-only result.


6. Confirmed Source Discrepancies

6.1 Terminal Clock Out guard

The shared terminal guard searches typed JSON:

ASSIGNMENT_DATA.type = CLOCK_OUT

The active route creates Clock Out as:

SPECIAL_INSTRUCTION = QUEUE_WORK_ASSIGNMENT
COMMODITY_NAME = CLOCK_OUT
FINAL_DRAFT = route detail JSON

Break and Load/Planner writers calling the typed-only terminal guard therefore do not prove visibility of the active route-owned Clock Out representation.

source guard gap: CONFIRMED
current DB occurrence: NOT READ
runtime reproduction: NOT RUN
field incident: NOT ESTABLISHED BY THIS PILOT

6.2 General Staff Time Clock Out

The general Staff Time Clock Out endpoint reads active assignments through the typed helper and decodes ASSIGNMENT_DATA. It blocks a Started typed Clock Out, creates the local Clock Out event, releases scheduled assignments and then synchronizes external time after commit.

It does not source-prove a block against a Started route-owned Clock Out identified only by COMMODITY_NAME and FINAL_DRAFT.

Required controlled scenario remains:

general Staff Time Clock Out
against Started route-owned Clock Out
with cleaning/final-Break prerequisites

6.3 Final Break identity

active route flow
= separate QUEUE_BREAK planner row
+ finalBreakId stored in route detail

 typed helper flow
= BREAK_IN / BREAK_OUT Staff Time events
+ events linked directly to Clock Out planner ID

The persisted identity, completion predicate and cleanup/recovery authority remain divergent.

6.4 Cancellation, request identity and notification

typed cancellation write: CANCELED
route cancellation write/list: CANCELLED

typed request identity: canonical requestToken
route request identity: no durable request token

typed notification evidence: typed attempt/result
route notification evidence: LAST_SENT_TIME + response disposition

No new-write normalization is authorized before current row and consumer evidence.


7. Test And Smoke Boundary

Current tests intentionally cover two different contracts.

Artifact What it proves What it does not prove
loader_work_assignment_contract_test.php active route/UI strings, current route family, no request-token requirement DB/runtime/role behavior
loader_assignment_work_contract_test.php typed envelope and request-token validation active Route/UI ownership
staff_time_clock_out_assignment_release_contract_test.php typed release/Clock Out source-string sentinel route-owned Clock Out visibility
loader_assignment_work_concurrency_smoke.php typed Local DB behavior; includes expected Work+Load and Work+Break simultaneous Start route-owned one-current-job or terminal guard parity
loader_assignment_work_final_break_smoke.php typed Clock Out/Final Break and typed general Clock Out guard route-owned QUEUE_BREAK workflow

The Local smoke scripts were not executed in this source-only pilot. Their source scope was reviewed so prior smoke success cannot be misreported as current route-contract acceptance.


8. Process, Audit And User Documentation Boundary

  • PROC-TMS-INBOUND-PLANNING remains draft / partial.
  • The source decomposition into Office planning, Loader execution and workforce time remains proposal input; no new Process ID or registry type is approved here.
  • CtcLoaderTransitionEvidence covers selected Start Transloading/Undo paths; it does not establish universal Work Assignment transition audit coverage.
  • The current operator addendum remains valid because it tells operators to use the visible route/readback and not assume typed guarantees.
  • The current Wiki addendum remains a repository draft; T_WIKI_PAGE was not read or published.
  • The static authorization matrix remains source input; current target-role/menu/account evidence is not established.

No Process, registry, Runbook procedure, Wiki content or lifecycle status is promoted by this result.


9. Required Next Evidence

Use RBR-AWCO-002 only after separately approved prerequisites exist.

1. exact deployed source and DB identity
2. read-only schema and representation population
3. status spelling and mixed-row distribution
4. active/duplicate terminal Clock Out rows
5. route-owned general Clock Out bypass candidate
6. route/typed Final Break and Staff Time linkage
7. target-role Office/Loader/denied/foreign behavior
8. duplicate/response-loss/concurrency recovery
9. Telegram and external-time reconciliation
10. current Wiki row/render/findability review

No DB, browser, provider, Wiki or Production node should be dispatched merely to rediscover that its channel or authorization is missing.


10. Current Disposition

Stage 3 Work Graph source pilot: SOURCE-RECONCILED
manifest: 26 / 26 accounted once
current source dual contract: CONFIRMED
current source Clock Out guard gap: CONFIRMED
current source Final Break divergence: CONFIRMED
Runtime verified: NO
DB/schema verified: NO
Target-role verified: NO
Provider/Wiki/field verified: NO
M3: NO
M4: NO
Phase progress: NONE

This document selects no target contract and authorizes no source or external mutation.

---

Source: docs/reconstruction/LOADER_WORK_ASSIGNMENT_CURRENT_SOURCE_REVALIDATION_2026-08-10.md — ctc repository · This page is an English translation of the source document. Identifiers, file paths and code symbols are unchanged.