Section contract
Canonical paths
- Daily log:
athlete/logs/daily/YYYY-MM-DD.md - Weekly rollup:
athlete/logs/weekly/YYYY-Www.md
Canonical rule
- The athlete daily log is the primary human-readable record for that athlete-day.
- Morning plans, evening summaries, activity summaries, specialist contributions, system notes, and nutrition entries should resolve into the canonical daily log.
- Generated workflow outputs are logged on the athlete-local calendar day when they are actually created or sent, even when they analyze a previous day, earlier workout, or other historical evidence.
- Separate the evidence target from the log target when they differ: yesterday's data may be the review target, but today's generated analysis, saved message, and system events belong in today's canonical daily log.
- The daily log
Timezonemetadata, when present, should reflect the athlete's effective local timezone for that day. - Legacy daily files under
athlete-notes/daily/,team/*/logs/daily/, andteam/nutrition/records.mdare migration-era sources or export artifacts, not the primary record.
Canonical section order
## Summary## Activities## Coach Luca## Endurance## Recovery## Strength## Nutrition## Messages## Blocked messages## System## Notes## Open items
Section ownership
- Coach Luca owns
## Summary,## Activities,## Coach Luca,## Messages,## Blocked messages,## System,## Notes, and## Open items. - Endurance owns
## Endurance. - Recovery owns
## Recovery. - Strength owns
## Strength. - Nutrition content ownership remains with the nutrition function, but all item-level writes into
## Nutritionmust be performed through thenutrition-intakeskill.
Section intent
## Summary
Use for concise day-level summary facts when a summary section is needed. Do not duplicate role analysis here.
## Activities
Use for planned and completed activity records, external workout objects, session facts, and current-day activity-level evidence summaries.
## Coach Luca
Use for coordinator judgment, readiness interpretation, planning implications, integrated decisions, and coordinator-only notes. Do not use it as a mixed-role dumping ground.
## Endurance
Use for endurance-domain training interpretation, execution review, and endurance planning logic.
## Recovery
Use for recovery-domain interpretation, readiness and fatigue logic, soreness or symptom interpretation, and recovery constraints.
## Strength
Use for strength-domain interpretation, lifting decisions, movement constraints, and strength planning logic.
## Nutrition
Use for the canonical human-readable nutrition record, day-level nutrition synthesis, the nutrition summary table, and item-level ### HH:MM entries.
## Messages
Use for verbatim athlete-facing outbound message bodies and other preserved communication artifacts.
## Blocked messages
Use for raw blocked athlete-facing candidate bodies that were stopped by athlete-comms or another explicit fail-closed workflow gate. Store one timestamped ### subsection per blocked candidate and keep the blocked body verbatim inside a plain ~~~ fenced block.
## System
Use for workflow metadata, save and send events, evidence checks, repairs, and operator-relevant process notes.
## Notes
Use for low-priority durable notes that do not belong in a role section.
## Open items
Use for unresolved follow-ups, missing evidence, and explicit pending items.
Formatting rules
- Do not repeat the file date as a nested heading or metadata line inside a role section.
- Do not add wrappers such as
### YYYY-MM-DDor- Date: YYYY-MM-DDunder## Coach Luca,## Endurance,## Recovery, or## Strength. - Start section content directly under the section heading, using useful metadata lines and direct
###subsections. - Do not create a shared cross-role
### Team updatesblock under## Coach Lucaor any other role section. - Coordinator-only notes belong in
## Coach Luca. - Role-specific updates belong in their respective role sections.
- If a current-day specialist note is missing, Coach Luca may add a clearly labeled coordinator-consolidated status note in that role section rather than storing the role update under
## Coach Luca.
Message storage rule
- Save the exact athlete-facing morning plan body under
## Messages->### Morning planinside a~~~fenced block. - Save the exact athlete-facing evening summary body under
## Messages->### Evening summaryinside a~~~fenced block. - Save other athlete-facing outbound bodies using the same pattern, for example
### Nutrition reviewor### Athlete check-in. - Outbound Coach Luca messages must be stored as the verbatim outbound body only. Do not prepend inbound wrappers such as
Message from <athlete-name>:or any other inbound-style label to an outbound message block. - Save blocked candidate bodies under
## Blocked messagesusing### HH:MM, with the raw candidate stored verbatim inside a~~~fenced block. - Keep delivery metadata below the block or in
## System, not inside the code block.
Nutrition rule
- The canonical human-readable nutrition record lives in
## Nutritionunder the consumed-date daily log. - All item-level writes into
## Nutritionmust go through thenutrition-intakeskill. - If a later workflow reviews a prior day's nutrition, keep the item-level record on the consumed-date log, but save any newly generated review artifact, athlete-facing message, and workflow metadata on the athlete-local day when that review actually ran.
## Nutritionis a unified section: place any day-level synthesis first as direct###subsections such as### Status,### Observations,### Recommendations, or### Watch, keep the generated nutrition summary table under### Summary, then keep one### HH:MMsubsection per item.- The summary table is a derived view, not a second canonical record.
Transition rule
- During migration, old files may remain on disk as legacy references.
- New operating work should read and write the canonical
athlete/logs/tree first.