본문으로 건너뛰기
Workshop overview
Chapter 7 of 7
5 min

Explain the safe natural-language control loop and finish the Workshop

Confirm allowed and blocked history on the dashboard, then connect the original request to its audit evidence.

Question for this chapter

What is required to execute a request safely when the operator does not know the zone ID or coordinates?

Why this matters now

One command’s JSON does not show whether blocked requests were recorded or whether the team can review the complete activity. Confirm both paths in the operations view, then answer the opening question.

Try it

Open map_operations. In a fresh practice space with one batch run and two Agent requests, confirm these values.

WidgetExpected valueInterpretation
Total Events10eight batch rows plus two runtime rows
Events by Intent TypeUI_CONTROL 9, DATA_QUERY 1both allowed and blocked requests are counted
Events by UserAGENT 8, OPR-WORKSHOP-01 2batch and operator requests remain distinguishable
Recent Eventsthe two latest allowed and blocked rowsoriginal requests and outcomes are traceable

Reruns or other users change the totals. In that case, find OPR-WORKSHOP-01 in Recent Events and compare the two rows’ intent_type and action_log.

Success looks like this

The allowed Busan display command and blocked patrol-history question appear under different intents, while both rows carry the same user ID and an audit result. The dashboard does not make a new decision; it groups facts already recorded in the event dataset for an operations question.

Return to the opening problem

At the start, the operator knew the Busan port-control zone name but not its ID or coordinates. Sending natural language straight to the chart could execute a query or configuration change, while rejected requests could disappear without a record.

The previous six chapters built this solution.

Initial problemApplied solutionEvidence left behindWhat changed
The operator knew a name but not an ID or coordinates.Join zone definition and overlay through zone_id.TZ-008, OV-008, WGS84 centera name resolves to deterministic chart values
Permission between commands and questions was unclear.Allow only UI_CONTROL under a reject-by-default gate.intent_classificationunapproved actions never reach coordinate tools
The external UI could not safely consume arbitrary prose.Emit fixed longitude, latitude, and scale JSON.control_parametersthe parsing contract is explicit
A blocked request could disappear.Send both branches through the event pipeline.event_log.queued, om_event_historyrejection reasons remain auditable
Batch and runtime history looked mixed.Separate them by producer and user across graph and dashboard.eight batch rows, two runtime rowsreference values and live requests are explainable

Explain the conclusion

Allow the Busan Port Entry/Exit Control Zone request as UI_CONTROL. The Agent resolves the zone name to TZ-008 and creates fixed JSON containing its WGS84 center and scale. Stop the patrol-history question because DATA_QUERY is outside the current Agent’s scope. Send both requests through the same event pipeline so the original text, classification, result, or rejection reason remains in audit history.

This explanation covers lookup, permission, deterministic output, and recording on both branches. The result is a convenient natural-language input with a deliberately narrow execution boundary.

Completion check

  • Confirm the TZ-008 name, WGS84 center, and recommended scale.
  • Explain why UI_CONTROL is allowed and DATA_QUERY is blocked.
  • Inspect the allowed command’s JSON and the blocked question’s reason.
  • Distinguish the eight batch rows from the runtime events.
  • Explain both the graph’s current coverage and its runtime-event limitation.
  • Confirm allowed and blocked history for one user on the dashboard.

If any item is incomplete, return only to that chapter’s success signal.

Apply the pattern elsewhere

  • In smart-factory commands, decide which display, query, and control intents receive separate permissions.
  • In contact-center automation, separate executable responses from changes that require human approval.
  • When linking runtime audits into a graph, define which business key to extract from nested results.