# Knowledge graph index

_Generated by `kg.mjs index` — do not edit. Start with [README](README.md)._

128 nodes.

## entity (37)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [distribution](nodes/distribution.md) | An orders distribution (a named shipping/allocation set under a test administration) in orders.distribution; this API only reads it. | 50 | 2 | orders |
| [test-admin-item-list](nodes/test-admin-item-list.md) | TAIL: the item list of a test administration — which materials, in what hierarchy, with build/forecast/BOM/paper/swap-out data. | 50 | 7 | config, tail |
| [test-administration](nodes/test-administration.md) | A test administration (testing window) under a program; the unit materials are configured for. | 38 | 5 | config |
| [role](nodes/role.md) | A named role (users.role); the UI gates screens on lower-cased role names such as admin, config, tail_bom, order_approve. | 34 | 3 | users |
| [master-item](nodes/master-item.md) | A master inventory item (material) that can be placed on a test administration item list. | 32 | 2 | config, tail |
| [program](nodes/program.md) | A testing program (customer/contract) that owns test administrations and sets the item-number scheme for its master items. | 32 | 3 | config |
| [data-element-lov](nodes/data-element-lov.md) | One allowed value (LOV entry) of a data element; most *_lov_id columns across config tables point here. | 31 | 2 | config |
| [request-processing](nodes/request-processing.md) | One run of a batch request; holds the job parameters, the Spring Batch job_execution_id once started, and the S3/user file names for upload, download and error files. | 26 | 6 | batch |
| [user](nodes/user.md) | A person who can sign in to the MOT config UI; matched to the Azure AD account by email, gated by account_status and active start/end dates. | 21 | 3 | users |
| [distribution-mapping](nodes/distribution-mapping.md) | An order attribute of a distribution (name, description, ISS-REF segment, use R/C/B/T); the vocabulary rule and totals formulas are written in. | 19 | 2 | orders |
| [order-data-element-lov](nodes/order-data-element-lov.md) | Orders-side list-of-values entry (orderDataElementLovId, displayName, lovValue) for record types, level indicators, ISS-REF segments/structures, file source/type/delimiter and cancel reasons. | 16 | 0 | orders, lov |
| [distribution-record-type](nodes/distribution-record-type.md) | A record type of a distribution (e.g. a level of the shipping hierarchy) with its level indicator; rules are defined per record type. | 15 | 2 | orders |
| [distribution-rule](nodes/distribution-rule.md) | The quantity formula for one TAIL item under one distribution record type, with its function, attribute-mapping and totals-use child lists. | 15 | 4 | orders, rules |
| [materials-ta-setup](nodes/materials-ta-setup.md) | Materials setup of a test administration — its site planner, make planner and task code (LOVs). | 15 | 3 | config |
| [request](nodes/request.md) | A batch job definition (request type) users can launch, e.g. a BOM upload or an orders download; request_name is the Spring Batch job name. | 15 | 1 | batch |
| [distribution-totals](nodes/distribution-totals.md) | A named total over order attributes (e.g. A+B) for a distribution, usable inside distribution rules. | 13 | 2 | orders, rules |
| [tail-additional-item-data-cp](nodes/tail-additional-item-data-cp.md) | Additional item data collection plan (CP) — print/production spec of a document item on a TAIL row. | 13 | 3 | config, tail |
| [tail-envelope-cp](nodes/tail-envelope-cp.md) | Envelope collection plan (CP) spec for a TAIL row. | 13 | 3 | config, tail |
| [tail-label-cp](nodes/tail-label-cp.md) | Label collection plan (CP) spec for a TAIL row. | 13 | 3 | config, tail |
| [user-role](nodes/user-role.md) | Assignment of a role to a user (users.user_role); synced from the roleIds set on user create/update. | 13 | 3 | users |
| [distribution-wave-date](nodes/distribution-wave-date.md) | A wave of a distribution with its delivery, arrival and pickup date windows. | 12 | 1 | orders |
| [security-barcode](nodes/security-barcode.md) | Security barcode range per test administration (needed qty, starting/ending assigned/max barcode). | 12 | 2 | config |
| [student-mapping](nodes/student-mapping.md) | A student attribute (name, description) available to a distribution's student rules; five defaults (grade, subject, test mode, test code, admin code). | 11 | 1 | orders, students |
| [validation](nodes/validation.md) | A named validation rule on a data element, flagged for the upload types it applies to (forecast, BOM, paper, security barcode). | 11 | 2 | config, validation |
| [data-element](nodes/data-element.md) | A configurable data element (named field such as an item-number length or a planner) whose allowed values are its LOV entries. | 10 | 3 | config |
| [entity-rollup](nodes/entity-rollup.md) | A rollup of one record type into another for a distribution (e.g. schools into districts) with org-code formats on each side. | 10 | 2 | orders |
| [mot-error](nodes/mot-error.md) | A validation error raised on a staged incoming order (MOT staging row), which an operator can mark for reprocessing. | 10 | 1 | orders, errors |
| [order](nodes/order.md) | A materials order received for a distribution, with MOT and external status, batch number, wave and ship dates. | 10 | 1 | orders |
| [batch-step-execution](nodes/batch-step-execution.md) | Spring Batch step execution row (batch.batch_step_execution), read to show per-step progress of a request-processing run. | 9 | 1 | batch |
| [file-receipt-upload](nodes/file-receipt-upload.md) | A record of an orders/student file upload for a distribution and wave (customer order id, source, and one fileUpload entry per file). | 9 | 2 | orders, upload |
| [account-status](nodes/account-status.md) | Lookup of user account states (users.account_status); the UI treats account_status_id 1 as active. | 8 | 1 | users |
| [student-rule](nodes/student-rule.md) | Per order attribute of a distribution, a formula over student attributes and a test mode (PAPER/ONLINE) that turns student data into order quantities. | 8 | 2 | orders, students, rules |
| [student-error](nodes/student-error.md) | A validation error raised on a staged student record for a distribution; read-only in the UI. | 7 | 1 | orders, students, errors |
| [permission](nodes/permission.md) | A named permission code (users.permission) granted to roles; surfaced as permission_code_names but not enforced anywhere in the API. | 6 | 2 | users |
| [role-permission](nodes/role-permission.md) | Grant of a permission to a role (users.role_permission). | 5 | 3 | users |
| [permission-category](nodes/permission-category.md) | Grouping of permissions (users.permission_category); surfaced as permission_category_names. | 4 | 1 | users |
| [role-delegation](nodes/role-delegation.md) | Which roles a holder of a role may assign to other users (users.role_delegation); mapped but unused. | 3 | 2 | users |

## module (12)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [mot-config-api](nodes/mot-config-api.md) | Spring Boot 4 / Java 21 service (mot_config_api) exposing the /api/* configuration endpoints over JPA repositories; no authentication, CORS *. | 54 | 2 | api |
| [orders-services](nodes/orders-services.md) | The SPA's orders-side service layer (services/ordersDistribution, ordersMapping, ordersErrors, ordersUpload, studentMapping, studentErrors) plus the orders screens that drive it; all reads and writes of orders-side data go through mot-orders-api. | 26 | 41 | orders, ui |
| [request-processing-service](nodes/request-processing-service.md) | Batch request processing (RequestProcessingController + RequestProcessingService + S3Helper) — records a run, launches the Spring Batch job via the request-processing API, tracks status, and moves files to and from S3. | 18 | 12 | api, batch |
| [mot-config-ui](nodes/mot-config-ui.md) | React 18 SPA (MUI, Redux Toolkit, react-query) for configuring MOT programs, test administrations, TAIL and orders distribution. | 16 | 14 | ui, auth |
| [tail-service](nodes/tail-service.md) | TAIL area of the config API — TAILController + TAILService + the TAIL repositories; reads and edits test admin item lists and their collection-plan (CP) specs. | 15 | 25 | api, tail |
| [master-item-service](nodes/master-item-service.md) | Master item area of the config API — MasterItemController + MasterItemService; creates items with generated item numbers and searches them per program/admin. | 14 | 10 | api |
| [user-service](nodes/user-service.md) | User management (UserManagementController + UserService) behind /api/user — list and look up users with their roles and permissions, create and update users and sync their role assignments. | 9 | 11 | api, users |
| [test-admin-service](nodes/test-admin-service.md) | Test administration setup area of the config API — test admins, their materials TA setup (planners/task code) and security barcode ranges. | 8 | 12 | api |
| [validation-config-service](nodes/validation-config-service.md) | Validation-rule CRUD (ValidationConfigurationController + ValidationConfigService) behind /api/validationConfig. | 7 | 6 | api, config, validation |
| [program-config-service](nodes/program-config-service.md) | Program configuration CRUD (ProgramConfigurationController + ProgramConfigService + ProgramsRepository) behind /api/progConfig. | 6 | 5 | api, config |
| [data-element-lov-service](nodes/data-element-lov-service.md) | Read-only list-of-values service (DataElementAndLOVController + DataElementAndLovService) behind /api/lovs. | 4 | 4 | api, config |
| [mot-config-api-deploy](nodes/mot-config-api-deploy.md) | Build and deploy of mot-config-api — Jenkins pipeline (Snyk, Maven, Docker, ECR push, manifest job) and the amazonlinux 2023 + Corretto 21 + New Relic container image. | 1 | 2 | ops, deploy |

## interface (19)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [tail-ui](nodes/tail-ui.md) | The four TAIL (Test Administration Item List) grids — Build Items, Forecast Planning, Paper Specifications, Bill of Materials — editing TAIL rows, master items, collection-plan data and security barcodes. | 32 | 15 | ui, tail |
| [orders-processing-ui](nodes/orders-processing-ui.md) | Day-to-day orders operations screens; Orders Upload (customer/ADAM student files), Orders Status and Batching (group, approve, cancel, reset, student matching, reports), Orders Errors (reprocess), Student Errors and Orders Request Processing (job history, download, reprocess). | 30 | 8 | orders, ui |
| [batch-api](nodes/batch-api.md) | REST routes under /api/batch for listing batch requests, launching and updating request-processing runs, searching run status, and S3 file upload/download. | 28 | 4 | api, batch |
| [materials-processing-ui](nodes/materials-processing-ui.md) | Materials batch screens (Materials Upload, Job Processing, Materials Request Processing, Request Processing History). They queue batch requests (uploads, validations, swap-out, barcodes, reports), list their status and download S3 files. | 26 | 7 | ui, batch |
| [tail-api](nodes/tail-api.md) | REST routes under /api/tail — read and edit a test administration's item list (TAIL) per screen (build, forecast, BOM, paper, swap-out, security barcode) and its CP specs. | 25 | 6 | api, tail |
| [orders-rules-ui](nodes/orders-rules-ui.md) | Orders Distribution Rules, Rules Validate and Orders Student Rules screens; drag-and-drop formula editor that sets, per TAIL item and record type, how many of each item an order gets, and per order attribute how student data maps to it. | 20 | 9 | orders, ui, rules |
| [user-api](nodes/user-api.md) | REST routes under /api/user for listing users and roles, looking a user up by username or email (the UI's login check), and creating/updating users with role ids. | 19 | 3 | api, users |
| [test-administration-ui](nodes/test-administration-ui.md) | Test Administration and Rollover Test Administration screens. View/edit a test administration's setup and lock flag, or roll a previous administration (and its TAIL) into a new program via a MATERIALS_ROLLOVER batch request. | 16 | 12 | ui, materials |
| [orders-distribution-ui](nodes/orders-distribution-ui.md) | Orders Distribution, Orders Distribution Rollover and Orders Distribution Setup screens; edit a distribution's name/flags, roll a distribution into a new test administration, and maintain its record types, wave dates and entity rollups. | 15 | 7 | orders, ui |
| [test-admin-api](nodes/test-admin-api.md) | REST routes under /api/testAdmin, /api/materialsTA and /api/securityBarcode — test administrations, their materials TA setup and security barcode ranges. | 14 | 6 | api |
| [master-item-ui](nodes/master-item-ui.md) | Master Item List screen. Search master items by program or test administration; add, clone or edit an item, with a duplicate-description check. New STOCK (NON-COSTED) items are also appended to that program's TAIL. | 13 | 9 | ui, materials |
| [login-ui](nodes/login-ui.md) | /login screen plus the route guard and session watchdog. Azure AD sign-in, then the MOT user allow-list check (getUsersByEmail) and a client-credentials API token. | 12 | 5 | ui, auth |
| [master-item-api](nodes/master-item-api.md) | REST routes under /api/masterItem — create/update master items (generated item numbers, duplicate check) and search them. | 11 | 2 | api |
| [orders-mapping-ui](nodes/orders-mapping-ui.md) | Orders Distribution Mapping, Orders Distribution Totals and Orders Student Mapping screens; define a distribution's order attributes (ISS-REF segments), total formulas over them, and the student attributes used by student rules. | 10 | 7 | orders, ui |
| [program-api](nodes/program-api.md) | REST routes under /api/progConfig to list, look up, create and update programs. | 10 | 2 | api, config |
| [lov-api](nodes/lov-api.md) | REST routes under /api/lovs returning data elements and their LOV values. | 9 | 1 | api, config |
| [program-configuration-ui](nodes/program-configuration-ui.md) | Program Configuration screen. Create or edit a testing program, its active flag, item-number generation rules (source, prefix, length) and its approver/reviewer email lists. | 7 | 5 | ui, materials |
| [users-ui](nodes/users-ui.md) | User management screen. List MOT users with their roles and account status, create users and edit their roles, status and active date window. | 7 | 6 | ui, users |
| [validation-config-api](nodes/validation-config-api.md) | REST routes under /api/validationConfig to list, create, update and delete validation rules. | 6 | 2 | api, config, validation |

## integration (5)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [mot-orders-api](nodes/mot-orders-api.md) | Separate MOT Orders service (ORDERS_API_URL) that owns distributions, record types, wave dates, mapping, totals, rules, student mapping/rules, orders and order errors; the UI calls ~60 routes under api/motOrder, api/motOrderTotals and api/student, and adam calls ten more (postOrder, postStudent, order status and details). Code not in these repos. | 55 | 1 | orders, integration |
| [mot-request-processing-api](nodes/mot-request-processing-api.md) | Separate MOT request-processing (Spring Batch launcher) service at request.processing.api.url / RP_API_URL; POST /postSpringBatchJob starts a batch job by name. Its code is not in these repos. | 38 | 0 | integration, batch |
| [aws-cognito](nodes/aws-cognito.md) | AWS Cognito OAuth2 token endpoint (OAUTH_TOKEN_URL). The UI uses it to mint a client-credentials bearer token for the MOT backends; the Cognito user/identity-pool settings in config.js are unused. | 16 | 0 | auth |
| [azure-ad](nodes/azure-ad.md) | Microsoft Entra ID (Azure AD), which signs MOT users in to the UI through MSAL. Its app roles `admin`/`config` decide whether MOT roles get loaded at all. | 13 | 0 | auth |
| [mot-tracking-api](nodes/mot-tracking-api.md) | Separate MOT Tracking service (TRK_API_URL); the UI calls only GET api/getCarrierCodes (Shipping Method dropdown), adam also calls trackdetailshistorybynum, tracknumsbyprogram and tracknumsbycdspage. Code not in these repos. | 9 | 1 | tracking, integration |

## datastore (2)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [mot-postgres](nodes/mot-postgres.md) | The MOT PostgreSQL database; schemas config, users, batch and orders. DDL is not in these repos (ddl-auto=none). | 27 | 0 | datastore |
| [mot-s3-bucket](nodes/mot-s3-bucket.md) | S3 bucket mot-<env>-st-resources (us-east-1) holding batch request files under <requestGroup>/{UPLOAD,DOWNLOAD,ERROR}/<file>. | 16 | 0 | datastore, batch |

## event (1)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [spring-batch-job](nodes/spring-batch-job.md) | A Spring Batch job run started for one request-processing row (job name = request.request_name, parameter requestProcessingId); progress lands in batch.batch_job_execution / batch_step_execution. | 6 | 1 | batch |

## config (2)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [mot-config-api-settings](nodes/mot-config-api-settings.md) | Spring properties for mot-config-api — bundled application.properties plus an external application.properties rendered at container start by envsubst (or confd) with DB credentials, S3 bucket and request-processing URL. | 7 | 0 | config |
| [mot-runtime-config](nodes/mot-runtime-config.md) | window.__RUNTIME_CONFIG__ values injected at container start (API URLs, Cognito pool, OAuth client, AD authority). | 7 | 0 | config |

## flow (14)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [run-batch-request](nodes/run-batch-request.md) | The generic batch pattern every heavy MOT action uses - optional S3 upload, a request_processing row, POST /postSpringBatchJob on the request-processing service, the job's callback, then status and file download on the Request Processing screens. | 18 | 14 | batch, flow |
| [edit-tail-hierarchy](nodes/edit-tail-hierarchy.md) | Move a TAIL row or change its level on any TAIL grid - the UI shifts row_ids with putTailByRowId calls, saves the row, and queues a PARENT_RECONCILIATION batch job that recomputes parent links for the administration. | 8 | 8 | tail, batch, flow |
| [rollover-distribution](nodes/rollover-distribution.md) | Create a new orders distribution for a test administration from a previous one - the Orders Distribution Rollover screen checks the new code and name are free on mot-orders-api and queues an ORDERS_ROLLOVER batch request; the job copies the distribution setup. | 7 | 5 | orders, rollover, flow |
| [delete-tail-item](nodes/delete-tail-item.md) | Delete TAIL rows marked for delete - PUT putFilteredItemDelete refuses (400) if any row is used by an orders distribution rule, otherwise deletes CP rows and TAIL rows and re-sequences row_id in one transaction, then queues parent reconciliation. | 6 | 6 | tail, flow |
| [rollover-test-administration](nodes/rollover-test-administration.md) | Create a new test administration (and optionally copy its TAIL) from a previous one - the Rollover Test Administration screen checks the new program number is free and queues a MATERIALS_ROLLOVER batch request; the job outside these repos creates the rows. | 6 | 5 | materials, rollover, flow |
| [generate-item-numbers](nodes/generate-item-numbers.md) | Turn TAIL rows flagged NEW ITEM INDICATOR = YES into real master items - PUT putGenerateItemNumber creates one master item per distinct placeholder item number from the program's prefix/length, re-points the TAIL rows and flips the indicators. | 5 | 6 | tail, materials, flow |
| [add-item-to-tail](nodes/add-item-to-tail.md) | Insert one or more master items under a chosen TAIL row from the Build Items grid - shift later row_ids, POST each TAIL row, create its three default collection-plan rows, and queue parent reconciliation. | 4 | 6 | tail, flow |
| [add-stock-item](nodes/add-stock-item.md) | Creating or cloning a master item in the STOCK (NON-COSTED) program also appends it to that program's first test administration's TAIL - POST postMasterItem, then client-side getTestAdminName, getTail, postTail and postTailCollection, none of it atomic. | 4 | 7 | materials, tail, flow |
| [approve-orders](nodes/approve-orders.md) | Approve selected orders of a distribution on Orders Status and Batching - the UI blocks cancelled, exported and zero-item orders, then queues an ORDERS_APPROVE batch request with the order ids; Student Matching uses the same path with STUDENT_MATCHING. | 4 | 5 | orders, batch, flow |
| [reprocess-order-errors](nodes/reprocess-order-errors.md) | Re-validate staged orders that failed validation - on Orders Errors, each selected error's MOT staging row is flagged reprocessFlag=Y on mot-orders-api and an ORDERS_VALIDATION batch request is queued per order. | 4 | 5 | orders, batch, flow |
| [upload-orders](nodes/upload-orders.md) | Load an orders or student file for a distribution and wave - Orders Upload derives a customer order id, uploads one file (or three for ADAM) to S3 under STUDENTS, records a file receipt on mot-orders-api, and queues FILE_VALIDATIONS or STUDENT_ACCUMULATION. | 4 | 7 | orders, batch, flow |
| [reprocess-request](nodes/reprocess-request.md) | Re-run a past batch request from a Request Processing screen - admin-only Reprocess calls the request-processing service's /postSpringBatchJob directly from the browser with the existing requestProcessingId, bypassing mot-config-api. | 3 | 5 | batch, flow |
| [sign-in](nodes/sign-in.md) | How a user signs in to the MOT UI - Azure AD (MSAL) login, a Cognito client-credentials token minted in the browser, the MOT user allow-list check by email (account_status_id 1 + active dates), role loading, and the lastLoginDate write. | 2 | 8 | auth, flow |
| [test-distribution-rules](nodes/test-distribution-rules.md) | Try a distribution's rules for one record type with sample attribute values - Rules Validate posts the values to the request-processing service's postItemQuantitiesForEntityWithParent and shows the resulting quantity per TAIL item. | 2 | 4 | orders, rules, flow |

## concept (17)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [external-attributes](nodes/external-attributes.md) | EA = External Attributes - the second materials upload file type, loaded by the MATERIALS_ATTRIBUTE_UPLOAD job. | 1 | 1 | glossary |
| [psf](nodes/psf.md) | PSF - the materials upload file type that the MATERIALS_UPLOAD job loads; also the prefix of the Build Items grid component (PsfTable). | 1 | 2 | glossary |
| [collection-plan](nodes/collection-plan.md) | CP = Collection Plan - the print and production spec attached to a TAIL row (label, envelope, additional item data). | 0 | 3 | glossary |
| [iss-ref](nodes/iss-ref.md) | ISS-REF - a segmented reference code on orders; a distribution picks an ISS-REF structure and maps its order attributes to the segments. | 0 | 2 | glossary |
| [locked-administration](nodes/locked-administration.md) | Locked - the Y/N flag on a test administration that makes all its TAIL grids read-only in the UI. | 0 | 1 | glossary |
| [lov](nodes/lov.md) | LOV = list of values - the lookup entries behind almost every dropdown; config-side in data_element_lov, orders-side in the orders service's own LOV table. | 0 | 3 | glossary |
| [mot-staging](nodes/mot-staging.md) | MOT staging - the orders service's holding area for incoming order rows before they become orders; validation errors point at a staging row and reprocessing flags it. | 0 | 2 | glossary |
| [order-status](nodes/order-status.md) | Order status - MOT's own lifecycle of an order (Pending, Batched, Approved, Exported, Cancelled, Zero items), shown beside the external status and the student-matching status. | 0 | 1 | glossary |
| [orders-type](nodes/orders-type.md) | ordersType I / A - whether a distribution takes Initial orders or Additional (top-up) orders; decides which TAIL items its rules use. | 0 | 2 | glossary |
| [parent-reconciliation](nodes/parent-reconciliation.md) | Parent reconciliation - the PARENT_RECONCILIATION batch job that recomputes each TAIL row's parent after rows are added, moved, re-levelled or deleted. | 0 | 2 | glossary |
| [record-type](nodes/record-type.md) | Record type - a level of a distribution's shipping hierarchy with its level indicator; rules are written per record type. | 0 | 1 | glossary |
| [request-group](nodes/request-group.md) | Request and request group - a request is a kind of batch job (its name is the Spring Batch job name); the request group is the screen family and S3 folder it belongs to. | 0 | 3 | glossary |
| [rollover](nodes/rollover.md) | Rollover - creating next cycle's setup by copying a previous one; in MOT either a test administration (MATERIALS_ROLLOVER) or a distribution (ORDERS_ROLLOVER), always as a batch job. | 0 | 2 | glossary |
| [stock-item](nodes/stock-item.md) | Stock (non-costed) item - a master item of the program named STOCK (NON-COSTED), which is added to that program's TAIL automatically. | 0 | 2 | glossary |
| [swap-out](nodes/swap-out.md) | Swap-out - the SWAP_OUT job run from a swap-out date, plus the TAIL swap-out view over forecast qty, make/build qty and ops need-by date. | 0 | 2 | glossary |
| [tail](nodes/tail.md) | TAIL = Test Administration Item List - the ordered, hierarchical list of materials for one test administration. | 0 | 2 | glossary |
| [wave](nodes/wave.md) | Wave - a numbered shipping round of a distribution with delivery, arrival and pickup windows; orders and uploads are tagged with it. | 0 | 1 | glossary |

## capability (19)

| node | summary | in | out | tags |
|---|---|---|---|---|
| [materials-rollover](nodes/materials-rollover.md) | Start a new test administration by copying a previous one, optionally with its whole item list, under a new program number. | 1 | 4 | capability, materials, rollover |
| [distribution-rollover](nodes/distribution-rollover.md) | Create a distribution for a new administration by copying a previous one, as initial (I) or additional (A) orders. | 0 | 4 | capability, orders, rollover |
| [distribution-rules-editor](nodes/distribution-rules-editor.md) | Write the formulas that decide how many of each TAIL item an order gets per record type, test them with sample values, copy them between record types, and write student rules that turn student data into order counts. | 0 | 5 | capability, orders, rules |
| [distribution-setup](nodes/distribution-setup.md) | Configure an orders distribution - name, flags (approval, students, rules, rollups, export system), record types, wave dates (by hand or CSV upload) and entity rollups. | 0 | 4 | capability, orders |
| [item-number-generation](nodes/item-number-generation.md) | Automatic item numbers for new materials, from each program's prefix, length and last used number - assigned when a planner generates numbers for TAIL rows marked as new items, or when a master item is created. | 0 | 6 | capability, materials |
| [master-inventory](nodes/master-inventory.md) | The master item list - the catalogue of every material a program can put on a TAIL, with add, clone, edit and a duplicate-description check; stock (non-costed) items are also added to the stock TAIL. | 0 | 5 | capability, materials |
| [materials-job-processing](nodes/materials-job-processing.md) | Run the materials batch jobs by hand - parent reconciliation, forecast and BOM validation and upload, security barcode generation, swap-out, and orderable / personalized / new item reports. | 0 | 5 | capability, materials, batch |
| [materials-upload](nodes/materials-upload.md) | Upload a materials spreadsheet (PSF or External Attributes file) that a batch job loads into the item list. | 0 | 4 | capability, materials, batch |
| [order-attribute-mapping](nodes/order-attribute-mapping.md) | Define the order attributes of a distribution (mapped to ISS-REF segments), named totals over them, the org-code format and shipping method, and the student attributes student rules can use. | 0 | 4 | capability, orders |
| [orders-error-handling](nodes/orders-error-handling.md) | See why incoming orders or student records failed validation and send corrected orders through validation again. | 0 | 4 | capability, orders |
| [orders-intake](nodes/orders-intake.md) | Bring customer order files and ADAM student files into MOT for a distribution and wave, and have them validated in the background. | 0 | 5 | capability, orders, batch |
| [orders-status-batching](nodes/orders-status-batching.md) | Work the orders of a distribution - filter by status, group into batches, approve, cancel, reset, run student matching, and produce shipping and tally reports. | 0 | 5 | capability, orders |
| [program-setup](nodes/program-setup.md) | Create and edit testing programs - name, active flag, item-number source, prefix and length, and the approver and reviewer email lists. | 0 | 4 | capability, config |
| [request-monitoring](nodes/request-monitoring.md) | Track every background job - status by program, administration or distribution, step progress, download of uploaded, result and error files, and admin-only reprocess. | 0 | 6 | capability, batch |
| [single-sign-on](nodes/single-sign-on.md) | Sign in with the Pearson Microsoft account, checked against the MOT user list, with an idle timeout that signs the user out. | 0 | 4 | capability, auth |
| [tail-maintenance](nodes/tail-maintenance.md) | Build and maintain a test administration's item list (TAIL) - which materials ship, in what kit hierarchy, with forecast, paper spec, bill-of-materials and security barcode data, across four editable grids. | 0 | 9 | capability, tail |
| [test-administration-setup](nodes/test-administration-setup.md) | View a test administration's materials setup (program number, planners, task code, key dates) and lock or unlock it; a locked administration's item list becomes read-only. | 0 | 4 | capability, materials |
| [user-management](nodes/user-management.md) | Maintain who can use MOT - list users with roles and status, add users, change their roles, status and active date window. | 0 | 4 | capability, users |
| [validation-rules](nodes/validation-rules.md) | Named validation rules on data elements, flagged for the uploads they apply to (forecast, BOM, paper, security barcode); API only, with no screen in the SPA. | 0 | 2 | capability, config |
