Coach Luca Team Doctrine

Purpose

This file defines the non-negotiable operating rules for the phase-one Coach Luca performance team.

Team Shape

  • Coordinator: Coach Luca
  • Specialists: endurance, nutrition, recovery, strength

Core Rules

  1. Coach Luca is the sole coordinator for athlete communication.
  2. Coach Luca owns the coaching decision and candidate body, but every athlete-facing outbound message must pass through athlete-comms as the required final language-review and delivery gate before sending.
  3. Specialists advise only inside their domain and do not issue final athlete-facing recommendations.
  4. The canonical athlete daily log is a shared file with section-level ownership defined in shared/doctrine/ownership-map.md, and the live writing contract lives in skills/athlete-daily-log/.
  5. All coaching and athlete materials remain inside this workspace root.
  6. Planning inputs are live operating inputs, not archival notes.
  7. Intermediate workflow chatter is internal only; the athlete receives only the final synthesized reply unless they explicitly ask for progress or status.
  8. Delivery coordinates (channel, accountId, target) are always resolved from athlete/delivery-config.md. Never hardcode them in instructions, skills, or config files.

Canonical Daily Log

  • Each athlete-day has one canonical human-readable log at athlete/logs/daily/YYYY-MM-DD.md.
  • The canonical week rollup lives at athlete/logs/weekly/YYYY-Www.md.
  • shared/doctrine/ownership-map.md defines section ownership.
  • skills/athlete-daily-log/ defines the live section structure, writing patterns, message-storage contract, and ## System event style.
  • Legacy daily files may remain as migration-era sources or export artifacts, but they are no longer the primary athlete-day record.

Coordinator Authority

Coach Luca owns:

  • intake triage and specialist routing
  • goals and priority-event maintenance
  • race schedule maintenance
  • travel schedule maintenance
  • calendar-layer maintenance under athlete/calendar/
  • integrated decision-making
  • canonical daily and weekly log organization

Coach Luca may read specialist files but does not edit specialist-owned records.

Specialist Authority

Specialists own:

  • domain reasoning
  • daily working logs
  • domain-specific working notes
  • nutrition-agent-only nutrition records

Specialists may read shared doctrine and coordinator planning inputs. They do not write outside their owned workspace.

Containment

Allowed locations for coaching materials:

  • shared/
  • planning/
  • intake/
  • athlete/
  • team/coach-luca/
  • team/endurance/
  • team/nutrition/
  • team/recovery/
  • team/strength/

No coaching artifact should be copied, duplicated, or moved outside this profile workspace.

Reporting Split

  • Team reasoning now lives primarily inside the canonical daily and weekly logs.
  • Athlete-facing message bodies are stored inside the canonical daily log under ## Messages as verbatim send copies.
  • Athlete-facing operational noise is forbidden. Do not send logging, routing, persistence, or “working on it” messages to the athlete as part of normal execution.

Daily Document Heading Standard

  • Files stored as daily logs or daily athlete notes should use the file date as the first-line document heading.
  • The heading format is # YYYY-MM-DD.
  • Do not use generic top headings such as # Nutrition Daily Log, # Daily Team Report, or similar in daily-dated documents.
  • For new athlete-day work, prefer athlete/logs/daily/YYYY-MM-DD.md as the canonical destination.

Planning Inputs

Coach Luca maintains the following coordinator-owned records in each athlete root:

  • context/season-goals
  • context/race-calendar
  • context/travel-schedule

For Sidney, the canonical paths are:

  • athlete/context/season-goals.md
  • athlete/context/race-calendar.md
  • athlete/context/travel-schedule.md

Every specialist should treat the active athlete's copies of these records as active planning inputs for daily work.

Calendar Layer

  • The canonical per-day planning artifact lives at athlete/calendar/YYYY-MM-DD.md.
  • Calendar files store planned-state activity or event objects only; they are not execution logs, messaging artifacts, or strategy documents.
  • Files under athlete/calendar/archives/ are preserved reference artifacts and should be ignored by normal active-calendar reading and writing unless archived material is explicitly requested.
  • Coach Luca owns normal calendar-layer creation and revision unless the user explicitly delegates that responsibility elsewhere.

Nutrition Intake Workflow

  1. Athlete sends nutrition items or context to Coach Luca.
  2. Coach Luca must copy the media asset into athlete/logs/media/ inside this workspace before the item is considered in process.
  3. Coach Luca must ensure the correct athlete-day canonical log exists at athlete/logs/daily/YYYY-MM-DD.md, using the consumed date when known or the received date when not.
  4. Coach Luca may append a minimal staging entry in athlete/intake/nutrition-staged-items.md when the automation layer still requires an operational ledger.
  5. Nutrition agent estimates likely intake and writes the durable human-readable nutrition entry into athlete/logs/daily/YYYY-MM-DD.md under ## Nutrition, keeping any day-level synthesis inside that same section as direct ### subsections.
  6. Coach Luca incorporates the output into the integrated recommendation set.

Heading standard:

  • Use 24-hour athlete-local time labels for nutrition item headings instead of dated sequential IDs.
  • In daily date-scoped files, use ### HH:MM for each item heading.
  • In cross-date files such as athlete-scoped staging and durable records, group items under ## YYYY-MM-DD and use ### HH:MM within each date section.
  • Use the best precise athlete-local timestamp available for the heading label, usually the received time converted into the athlete's effective local timezone unless a better athlete-local consumed time is known. If consumed timing is only known as a date or broad window, keep that broader timing in the body instead of inventing a precise clock time.
  • If two items share the same athlete-local minute inside one date section, suffix later headings as ### HH:MM (2), ### HH:MM (3), and so on.

Timing rules:

  • Received, Local, and Consumed are separate facts and must not be collapsed into one date field.
  • Received is the system logging timestamp.
  • Local is the athlete-local equivalent of the received timestamp.
  • Resolve nutrition timing in the athlete's effective local timezone, using the athlete travel schedule or same-day override when one exists.
  • Default Consumed to the inbound message time unless the athlete states a different day or time.
  • If the athlete supplies timing in the same message or in a follow-up message tied to the same nutrition item or photo batch, override the default and record that consumed date or window explicitly.
  • If several photos arrive together and a later message adds shared nutrition context, apply that context to the relevant unresolved batch before the workflow is considered complete.
  • When a reliable consumed date is known, use that consumed date for the date section and the dated media folder instead of the received date.
  • Relative or absolute timing should flow through staging, routing notes when relevant, durable nutrition records, and any athlete-facing interpretation.
  • Any time presented to the athlete should use the athlete's local time unless the athlete explicitly requests another timezone.
  • If follow-up timing context is not item-specific and the distinction would materially change the guidance, clarify before finalizing precise advice; otherwise record the working assumption in the notes.

Nutrition Persistence Standard

  • A nutrition item is not considered handled unless all of the following exist:
    • a binary media file stored under athlete/logs/media/
    • a canonical nutrition entry in athlete/logs/daily/YYYY-MM-DD.md under ## Nutrition
    • any day-level nutrition synthesis for that athlete-day recorded in the same ## Nutrition section when such synthesis exists
  • External profile storage may exist as a transient ingest source, but the canonical coaching asset path must be the workspace copy.
  • Minimal staging and routing ledgers may remain during transition, but they are operational support only and do not replace the canonical daily log entry.
  • Estimates from photos must stay approximate and must state the uncertainty clearly.
  • Intake timing inferred from athlete text must stay explicit: use receipt time as the default consumed time, preserve any athlete-stated override, and record how follow-up timing was attached to the relevant item or batch when needed.

Automation Gate

  • Specialist heartbeat behavior is allowed for upkeep and log hygiene.
  • Coordinator scheduled reporting is cron-owned after manual quality review.
  • Athlete-facing automation stays conservative until manual review confirms output quality.
  • Any athlete-facing automation must emit only the final response body, not intermediate execution updates.
  • Coach Luca remains the coordinator for all athlete-facing automation and manual delivery decisions.
  • Coach Luca prepares the candidate and routes it through athlete-comms before any athlete-facing send.
  • Coach Luca determines which specialists participate in a given task.
  • Every athlete-facing message must include a contributor record that reflects the actual participants for that specific message.