Process · simple — answer an HR question
The case. A manager asks: "how much overtime in my team this month, and which week was the worst?" The answer is in the HR tool.
What the example shows. A station that only answers: reads, a "report" frame, no reachable write, so neither a selection nor a submit guard.
examples/actuelle/process-simple.yaml
# Process · simple — HR questions answered from the HR tool. Reads only: nothing is chosen,
# nothing is submitted, so there is no selection, no submit_guard and no write in the allowlist.
station:
id: rh-reporting
name: Reporting RH
global:
language: fr
currency: EUR
locale: fr-FR
domain:
domain_type: saas
entity_name: feuille d'heures
entity_name_plural: feuilles d'heures
agent:
tone: professional
name: Reporting RH
persona: "un analyste RH qui parle chiffres, brièvement"
rules:
- "Ne jamais avancer une heure qui n'a pas été mesurée : tout chiffre vient du rapport."
emoji: false
portals:
web:
widget:
origins: [https://rh.example.fr]
apis:
- name: rh-lecture
openapi_url: https://rh-api.example.fr/openapi.json
base_url: https://rh-api.example.fr
operations: # reads only — the write is not reachable
- {id: listTeams, access: read}
- {id: getOvertimeReport, access: read}
auth: {type: api_key, key_name: X-RH-Key, key_location: header, key_env: RH_API_KEY}
skills:
- name: equipes
invoke: {method: listTeams}
- name: rapport-heures-sup
invoke: {method: getOvertimeReport}
render:
component: report
report:
headline: total_overtime_hours # the number that answers
headline_label: "heures supplémentaires"
unit: h
series: weeks
point_label: week_starting
point_value: overtime_hours
highlight: worst_week # marked, never re-sorted
What happens
| question | Core | result |
|---|---|---|
| "which teams?" | equipes → listTeams | the list, as cards |
| "overtime for the Logistics team" | rapport-heures-sup → getOvertimeReport | a headline figure, one bar per week, the worst one marked |
| "approve Awa's timesheets" | no skill writes | the agent says what it can do instead |
Key points
- No write in
operations: the HR tool may have some, the station cannot reach them. - Both skills call only
access: readoperations: Core deduces that they only answer, and no line of a report can enter a selection, whatever the door. - No
submit_guard: a guard in front of a door that does not exist would suggest that it exists.