Wayfinder / Case study / Diagram galleries

Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.

Return to: Actor journeys

Actor journeys

In this document

Who is trying to achieve what, and which actions and handoffs lead to the outcome?

This view models the documented user journey through customer management, order entry, and customer-order lookup. The source describes a menu-driven application in which a user supplies privilege status, chooses customer or order operations, and can add or query records. E0009 The customer and order paths are kept separate because the source assigns them different menu operations and data records. E0009

The ordering below represents documented or clearly source-supported control flow, not live runtime verification. Some behavior remains conditional because binary forms were not available for text analysis and the original VM analysis contract was not satisfied. E0009 E0010

Diagram

Source-derived diagram. Some relationships may be inferred and require review.

Preparing diagram…

View Mermaid diagram source
flowchart TD
  n3eddbad03cc7f6a618a8["Application user"]
  n1042e7da67afb0684ccc["Privileged application user (inferred)"]
  n18296c04c7012aa3d38f["Enter privilege status"]
  nd55e644078690bb345a7["Choose customer or order operation"]
  nc7ca8e640566ecc208a4["Enter customer details"]
  n14b4687e6f594c7199f3["Customer added"]
  n93ddc38d741efa7d3449["Enter order and items"]
  n8f2cc91d2e36be5c5110["Order added"]
  n16c213f9c3b0d1eed6ef["Query customer or order records"]
  nff90592f9401cf87b306["Records displayed"]
  n3eddbad03cc7f6a618a8 -->|"User starts privilege entry"| n18296c04c7012aa3d38f
  n18296c04c7012aa3d38f -->|"Privilege entry next operation choice"| nd55e644078690bb345a7
  nd55e644078690bb345a7 -->|"Operation choice next customer entry"| nc7ca8e640566ecc208a4
  nc7ca8e640566ecc208a4 -->|"Customer entry achieves customer addition"| n14b4687e6f594c7199f3
  nd55e644078690bb345a7 -->|"Operation choice next order entry"| n93ddc38d741efa7d3449
  n93ddc38d741efa7d3449 -->|"Order entry achieves order addition"| n8f2cc91d2e36be5c5110
  nd55e644078690bb345a7 -->|"Operation choice next record query"| n16c213f9c3b0d1eed6ef
  n16c213f9c3b0d1eed6ef -->|"Record query achieves displayed records"| nff90592f9401cf87b306

Elements

Application user

Kind: actor
Basis: reported
Description: The application prompts the user for privileged status and provides customer and order menu commands. E0009
Evidence: E0009
Goal: Manage customers, enter orders, and look up customer or order records.

Privileged application user

Kind: actor
Basis: inferred
Description: A user who answers the privilege prompt with y or Y is assigned privileged status and is shown all menu options; other users are shown only Query, Detail, Switch, and Exit. E0009
Evidence: E0009
Goal: Access the privileged customer and order operations exposed by the application.

Enter privilege status

Kind: action
Basis: reported
Description: The user responds to the privilege prompt; a y or Y response sets the privilege flag to 1, while other responses leave it at 0. E0009
Evidence: E0009
Owner: Application user

Choose customer or order operation

Kind: action
Basis: reported
Description: The menu offers operations whose target depends on the current customer or order mode. Query searches the current object, while Add, Update, and Delete dispatch to the corresponding customer or order function. E0009
Evidence: E0009
Owner: Application user

Enter customer details

Kind: action
Basis: reported
Description: Customer addition collects customer number, name, company or address information as supported by the relevant form, city, state, ZIP code, and telephone, then inserts the customer row. E0009 E0010
Evidence: E0009, E0010
Owner: Application user

Customer added

Kind: outcome
Basis: reported
Description: The documented customer-add path obtains the generated identifier, displays it, and reports successful entry when the input is not interrupted. E0009
Evidence: E0009

Enter order and items

Kind: action
Basis: reported
Description: Order entry obtains a customer, accepts order and shipping dates, accepts item rows, retrieves stock description and unit price after stock and manufacturer values are entered, calculates item totals, and inserts the order and its items. E0009
Evidence: E0009
Owner: Application user

Order added

Kind: outcome
Basis: reported
Description: After the order and item insertion path completes, the application reports Order added. E0009
Evidence: E0009

Query customer or order records

Kind: action
Basis: reported
Description: Customer and order searches construct query criteria, prepare and open a scroll cursor, fetch matching rows, and support browsing commands including Next, Previous, First, Last, and Select-and-exit. E0009
Evidence: E0009
Owner: Application user

Records displayed

Kind: outcome
Basis: reported
Description: Matching customer records are displayed one at a time, and order queries can display each customer’s orders and their items. E0009
Evidence: E0009

Relationships

User starts privilege entry

From: Application user
To: Enter privilege status
Relation: starts
Basis: reported
Description: The main program prompts the user for privileged status before entering the main menu. E0009
Evidence: E0009
Trigger: Application startup. E0009
Information: A privilege response matching y or Y, or another response. E0009
Mechanism: Interactive prompt. E0009
Evidence type: Source-code behavior. E0009

Privilege entry next operation choice

From: Enter privilege status
To: Choose customer or order operation
Relation: next
Basis: reported
Description: After initializing state and displaying the menu, the program exposes operations according to the privilege flag. E0009
Evidence: E0009
Guard: The available commands depend on whether the privilege response set the privilege flag to 1. E0009
Control: Nonprivileged users are explicitly limited to Query, Detail, Switch, and Exit. E0009
Evidence type: Source-code behavior. E0009

Operation choice next customer entry

From: Choose customer or order operation
To: Enter customer details
Relation: next
Basis: reported
Description: Selecting the customer Add operation dispatches to the customer-add function, which collects customer input and inserts the record. E0009
Evidence: E0009
Guard: The current menu mode must target customers and the user must choose Add. E0009
Information: Customer identity and contact fields. E0009
Mechanism: Customer form input followed by database insertion. E0009
Evidence type: Source-code behavior. E0009

Customer entry achieves customer addition

From: Enter customer details
To: Customer added
Relation: achieves
Basis: reported
Description: When customer input is not interrupted, the application inserts the customer row, obtains the generated customer number, displays that number, and reports successful entry. E0009
Evidence: E0009
Guard: Input must not be interrupted. E0009
Information: Inserted customer fields and generated identifier. E0009
Control: The documented source has no explicit customer-insert error handling. E0008
Evidence type: Source-code behavior with documented limitation. E0008 E0009

Operation choice next order entry

From: Choose customer or order operation
To: Enter order and items
Relation: next
Basis: reported
Description: Selecting Add in the order menu repeatedly invokes order entry as requested, obtains a customer, collects order data and items, and inserts the order with its items. E0009
Evidence: E0009
Guard: The current menu must target orders and the user must choose Add. E0009
Information: Customer reference, order dates, stock and manufacturer values, quantities, prices, and item totals. E0009
Mechanism: Order form input and database insertion. E0009
Evidence type: Source-code behavior. E0009

Order entry achieves order addition

From: Enter order and items
To: Order added
Relation: achieves
Basis: reported
Description: The documented order-entry function inserts the order and its items and then reports Order added. E0009
Evidence: E0009
Guard: The source describes the insertion path but does not establish complete runtime success handling for every database failure. E0010
Information: Order and item records. E0009
Control: Transaction handling and SQL-status checks are not established for all order and item operations. E0010
Evidence type: Source-code behavior with unresolved runtime conditions. E0009 E0010

Operation choice next record query

From: Choose customer or order operation
To: Query customer or order records
Relation: next
Basis: reported
Description: Query searches customers when customer mode is active and searches orders otherwise; the separate order menu can obtain a customer, iterate through that customer’s orders, display their items, and let the user select an order. E0009
Evidence: E0009
Guard: The selected query target is determined by the current customer or order mode. E0009
Information: Query-by-example criteria or a customer number, followed by matching customer, order, and item data. E0009
Mechanism: Prepared SQL statements, scroll cursors, and browse commands. E0009
Evidence type: Source-code behavior. E0009

Record query achieves displayed records

From: Query customer or order records
To: Records displayed
Relation: achieves
Basis: reported
Description: Customer queries display matching customer records and order queries display the customer’s orders and items; no-row and end-of-results messages are also documented. E0009
Evidence: E0009
Guard: Display depends on matching rows being retrieved; the customer query explicitly reports No rows found. when none are found. E0009
Information: Retrieved customer, order, and item records. E0009
Control: Browsing supports continuation, navigation, selection, or exit according to the documented commands. E0009
Evidence type: Source-code behavior. E0009

Gaps

The evidence does not establish the real-world identity or organizational role of the application user; “privileged application user” is an application-level role inferred from the privilege flag rather than a verified person or group. E0009

Customer insertion lacks explicit error handling in the documented source, so the successful customer outcome should not be read as proof that every insert failure is handled correctly. E0008 The order path also lacks established transaction and SQL-status handling for all mutations, and the supplied evidence does not prove whether a partial order/item update can occur. E0010

The evidence supports the documented actions and outcomes but does not prove live execution. Several compiled .frm files were binary or unsupported for text analysis, and their equivalence to the supplied .per definitions remains unresolved. E0009 E0010

The source reports defects and uncertainties around order selection state, declined deletion feedback, boundary fetches, missing stock lookups, and invalid customer-number retries. These concerns may affect journeys involving update, delete, or failed lookup paths, but the supplied evidence does not support presenting those paths as successful outcomes. E0010

Recovery limitations

  • Ownership, mechanism or boundary controls remain explicitly unverified.
  • Some identified concepts have no supported connection.
  • The view includes explicitly marked inference.

Sources

  • E0008 — SHA256 1713f4e3d42ac5e2af28387ac6ff649f06bbe1683b11869af71326929d6a5f32
  • E0009 — SHA256 c4ffb94922eae3cda2f1c6d6b1215da47b424d41fea52db3870783bd43051b30
  • E0010 — SHA256 bd29371182d16de63a7651533fa5c84e151a01ea9bf23399f7f6ca0397ab0250