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 Timezone metadata, when present, should reflect the athlete's effective local timezone for that day.
  • Legacy daily files under athlete-notes/daily/, team/*/logs/daily/, and team/nutrition/records.md are migration-era sources or export artifacts, not the primary record.

Canonical section order

  1. ## Summary
  2. ## Activities
  3. ## Coach Luca
  4. ## Endurance
  5. ## Recovery
  6. ## Strength
  7. ## Nutrition
  8. ## Messages
  9. ## Blocked messages
  10. ## System
  11. ## Notes
  12. ## 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 ## Nutrition must be performed through the nutrition-intake skill.

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-DD or - Date: YYYY-MM-DD under ## 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 updates block under ## Coach Luca or 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 plan inside a ~~~ fenced block.
  • Save the exact athlete-facing evening summary body under ## Messages -> ### Evening summary inside a ~~~ fenced block.
  • Save other athlete-facing outbound bodies using the same pattern, for example ### Nutrition review or ### 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 messages using ### 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 ## Nutrition under the consumed-date daily log.
  • All item-level writes into ## Nutrition must go through the nutrition-intake skill.
  • 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.
  • ## Nutrition is 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:MM subsection 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.