System events
Purpose
## System is the canonical workflow and delivery ledger inside the athlete daily log.
It is coordinator-owned and written by Coach Luca-driven workflows.
What belongs here
Use ## System for:
- save events
- send events
- evidence checks
- external-system audits
- repair or migration passes
- operator-triggered interventions
- meaningful workflow failures or blockers
Do not use ## System for athlete-facing coaching guidance.
Do not use it for detailed role analysis that belongs in a domain section.
Event style
- Write
## Systemas a two-column markdown table withTimeandMessage. - Keep rows in chronological order.
Timeis required for every row.- Use
HH:MMformat only. - Include channel, target, provider message ID, or external object ID in
Messagewhen those details matter to future audit. - Use plain factual wording.
- When adding a new
## Systemevent, read the full existing## Systemtable, merge the new row into the full row set, sort the entire table byHH:MM, and rewrite the full## Systemsection. - Do not append rows blindly.
- Do not insert rows by anchor or partial patching inside the existing table.
- Do not leave older rows stranded below newer rows after an update.
Use this exact table shell:
| Time | Message |
| --- | --- |
Recommended event patterns
Add one row per event.
Save event
| 08:55 | morning plan generated and saved in canonical daily log |
Send event
| 08:55 | morning plan sent via Telegram to <athlete-name>, chat <chat-id>, message <message-id> |
Evidence check
| 16:44 | reviewed the athlete's completed TrainingPeaks ride file <workout-id> and saved endurance, recovery, and evening-summary composition notes in the canonical daily log |
External object update
| 10:56 | updated TrainingPeaks workout <workout-id> so each step name now carries the intended %FTP target explicitly |
Workflow failure or blocker
| 13:42 | logged a Coach Luca execution failure for the missed athlete follow-up after the athlete reply |
Placement rule
If the same fact would fit both ## System and a role section:
- put the process fact in
## System - put the coaching interpretation in the relevant role section
Normalization rule:
- treat
## Systemas one canonical table, not a sequence of local insertions - after every write, the visible order in the file must still be chronological
- if the table is malformed or out of order, repair it as part of the current write instead of preserving the disorder
Generated events are logged on the athlete-local calendar day when the event actually happened, not on the day of the evidence being analyzed. If a morning workflow reviews yesterday's intake, workout, or message history, the save and send rows still belong in today's ## System table.
Example:
- TP file review happened -> add a row in
## System - what that file means for tomorrow's ride ->
## Enduranceand or## Recovery