Recommended improvements to Coach Luca's plan, based on the May 27 to June 5 assessments
- Athlete: Sidney McGill
- Document date: 2026-05-27
- Audience: operator and Coach Luca
- Scope: changes recommended to Luca's plan and planning process based on the v1 comparison, the v2 comparison, the independent third-party review at
2026-05-27-to-2026-06-05-gunnar-vs-luca-plan-review.md, the live TrainingPeaks evidence, and Luca's own reconciled dated calendar files - Companion reading:
athlete/context/2026-05-27-plan-comparison-gunnar-vs-luca-may-27-to-jun-05-v2.md
Executive summary
Luca's plan is already strong. The reconciled dated calendar files for May 28, May 29, and May 30 closed the largest single weakness flagged in the v1 comparison. The per-session rationale, fueling targets, structured workouts, and contingency design are better than what is visible in Gunnar's live TP plan for the same window.
The recommendations below are not a rewrite. They are targeted improvements grouped by priority. The most important change is operational, not coaching: Plan B does not currently reach Sidney's executable TrainingPeaks calendar. Several other improvements are about closing the gap between what Luca has designed and what Sidney actually does on the bike each day.
Priority 1 — Operational changes that must happen for the plan to influence training
1.1 Publish Plan B to the live TrainingPeaks calendar, or resolve the coordination gap with Gunnar
Problem. Luca's reconciled dated calendar files for May 27 to June 5 contain a coherent staged build. Gunnar's live TP calendar for the same window contains heavy strength on May 29, Openers on May 30, and ZIPP on June 2 with no visible flare-aware modification. Sidney executes from TP. If Luca's plan stays in the workspace files, Sidney does Gunnar's plan by default.
Recommendation. Choose one of three coordination outcomes, today, and document the decision in the daily log.
- Operator authorizes Luca to publish Plan B to live TP for May 28 to June 5, replacing Gunnar's existing workouts on the days where the two plans diverge. Tag the published workouts
lucaso they are filterable. This is the cleanest path and aligns the executable calendar with the safer plan. - Operator informs Gunnar of the May 25 SI/back flare and asks him to revise the live TP plan to remove May 29 heavy strength, May 30 Openers, and June 2 ZIPP. This preserves Gunnar as the primary live coach but requires Gunnar's same-day participation.
- Operator confirms Gunnar is the authoritative coach for this window despite the flare, accepts the acute-risk profile of Gunnar's plan, and instructs Luca to stop maintaining a parallel internal plan that contradicts the live calendar. This is the simplest path operationally but is the highest-injury-risk path.
The single worst outcome is the current state: a thoughtful internal plan that does not reach the athlete, while the athlete executes a plan that does not address the clinical context.
1.2 Add a clear publication protocol to athlete/settings.yml
Problem. The current settings.yml says Luca should not publish to live TP unless the operator explicitly requests. There is no documented procedure for when "explicit request" applies, what tag conventions to use, what to do if Gunnar and Luca disagree on the same date, or how to handle multi-day disagreements.
Recommendation. Extend athlete/settings.yml with an explicit publication protocol. At minimum:
- When Luca is authorized to publish, the publication scope (full week, single day, single session).
- Tag convention for Luca-published workouts (
luca, plusoverrideif replacing a Gunnar workout). - Procedure when Luca and Gunnar disagree: who decides, who notifies whom, in what timeframe.
- Same-day pivot authority: who can move or cancel a workout on the morning of the session, and on what grounds.
- A clinical-override clause: any specialist with same-day evidence of a safety risk (radiating leg pain, severe stiffness, new neurological signs) can pause or modify a session pending operator confirmation.
1.3 Establish a Gunnar-Luca communication channel that the operator can audit
Problem. The May 25 flare report reached Luca and not Gunnar, or at least there is no visible evidence in the workspace that Gunnar received it. The May 29 and May 30 Gunnar TP workouts read as unmodified pre-flare prescriptions. This is the most consequential coordination failure in the window.
Recommendation. Define a minimum communication contract.
- Any specialist event flagged in the daily log as a health or risk flag (the May 25 check-in qualifies) is forwarded to both Luca and Gunnar within the same day.
- If Gunnar does not acknowledge within 24 hours, Luca is authorized to override the affected sessions in TP and document the override in the daily log.
- A weekly summary of pivots, overrides, and coordination touches is included in the weekly evening summary that the operator can audit.
Priority 2 — Plan structure improvements for the May 27 to June 5 window
2.1 Add a Sunday May 31 contingency that adapts duration to Saturday's actual load
Problem. May 31 in Plan B is currently 1:30 to 2:00 at 60 to 72% FTP. This assumes Saturday was a meaningful endurance day (2:00 to 2:45 controlled endurance progression). If Saturday is shortened to 1:15 to 2:00 because Thursday or Friday were not clean, Sunday at 1:30 to 2:00 may be too long or about right; if Saturday was at the top of its range, Sunday at 1:30 to 2:00 may be too short to support fueling rehearsal.
Recommendation. Reframe May 31 as a duration-and-fueling decision tied to Saturday's actual outcome.
- If Saturday was 2:30 to 2:45 clean: Sunday extends to 2:00 to 2:30 at 60 to 70% FTP, 75 to 80 g/hr fueling.
- If Saturday was 2:00 to 2:30 clean: Sunday holds 1:30 to 2:00 with current fueling.
- If Saturday was shortened: Sunday holds 1:00 to 1:30 at the easy end of the range.
- In all cases, the constraint is "no upward drift to 4 hours," which directly addresses the open-ended permissiveness in Gunnar's "3-4 if you feel good" prescription on the same day.
2.2 Reframe June 4 cadence as the default, not the contingency
Problem. Plan B's June 4 gravel tempo torque session prescribes "mostly seated, 60-75 rpm where terrain allows" with a contingency to raise cadence and remove torque if back tightens. The session is the most Ghost-specific in the window and is also the highest-back-risk session in the back half. The current framing puts the back-protective cadence into a contingency that fires only if symptoms return.
Recommendation. Default to cadence 80 to 90 rpm with surface and force exposure preserved, and treat 60 to 75 rpm low-cadence work as a separate progression to be added later when the back has demonstrated stability over four to six weeks. The session still rehearses gravel surface handling, sustained sub-threshold pressure, and race-pace fueling. The torque progression is held back to a later block.
This is one of the few changes where the third-party independent review's recommendation lands in the same place: "if stable, gravel-specific sustained pressure without low-cadence torque, for example 2-3 x 15-20 min at 82-88% FTP at normal cadence."
2.3 Reduce June 5 VO2 to the contingency version by default
Problem. Plan B's June 5 currently prescribes the full 5 x 3 min at 112 to 118% FTP, with a contingency to step down to 75 to 90 min easy plus 3 x 1 min openers if Thursday created fatigue. The full VO2 session the day before a planned 5:00 to 5:30 simulation is awkward sequencing even for a healthy rider.
Recommendation. Default June 5 to 75 to 90 min easy endurance plus 3 x 1 min openers, and treat the full 5 x 3 min VO2 as the upside option for an unusually clean week. The block intent (preserve high-end response capacity without making VO2 the centerpiece) is preserved either way. The taper-style framing protects Saturday's simulation, which the rolling-3-week describes as the main event of Week 2.
2.4 Add an explicit cyclocross-relevant preservation note to the strength maintenance day
Problem. Gunnar's plan retains heavy strength and short sprint work, which is more directly relevant to cyclocross power demands (out-of-saddle accelerations, starts, surges) than to Ghost. Luca's plan is sub-threshold and threshold heavy and may under-stimulate the qualities Sidney needs for cyclocross World Cups in the fall. This is a real Gunnar instinct that should be acknowledged rather than dismissed.
Recommendation. Add explicit language in June 3 (the strength maintenance day) and June 5 (the ceiling support day) stating that high-end neuromuscular qualities are intentionally preserved across the Ghost build and will be reintroduced as a focused block after Ghost in the September cyclocross run-up. This documents the trade-off rather than letting it read as oversight.
2.5 Add a first race-duration rehearsal target within the rolling-3-week or week-2 plan
Problem. The longest ride in the May 27 to June 5 window is 2:45 to 3:00 (June 4). Ghost is 118 km targeting 4:35. Plan B does not yet include a race-duration rehearsal in the visible window. The rolling-3-week mentions a 5:00 to 5:30 simulation in Week 2 (June 6 or June 13) but the dated calendar files for June 6 and beyond are not the subject of this review.
Recommendation. Confirm and write the first race-duration rehearsal into the dated calendar files as soon as the back half of this window confirms tolerance. The rehearsal should include: race breakfast timing, race bottle concentration, in-ride product timing, equipment configuration, and a written post-ride GI note. This is the single most important Ghost-specific session that has not yet been published in any dated calendar file.
Priority 3 — Session content improvements
3.1 Adopt Gunnar-style fueling language as the athlete-facing voice
Problem. Plan B's fueling targets are quantitatively correct ("75 to 90 g carbohydrate per hour and 600 to 800 mg sodium per hour") but read as clinical. Gunnar's "80 g/hr, no gogo squeeze/clif bars, drink mix/gel (as you would in a race)" is more memorable, more athlete-shaped, and more directly translatable to a head unit cue. This is the single piece of Gunnar's coaching language that Plan B should adopt directly.
Recommendation. On every key session in the dated calendar files (currently May 30, June 2, June 4, June 5), translate the fueling target into one or two athlete-facing sentences that name allowed products, name disallowed products if any, and explicitly compare to race day. Example for June 4: "80 g/hr at race bottle concentration, drink mix plus gel rotation, no solid bars. Treat fueling timing as if it is race day."
3.2 Add a directive coach voice line to each key day
Problem. Luca's dated calendar files are content-rich and voice-neutral. Gunnar's "I want to see your max power" line on the ZIPP session is the only first-person directive coach voice in either plan. It is a small thing, but it changes how the workout reads to the athlete.
Recommendation. Add a single first-person line at the end of each key day's Notes section. Example for June 2: "Execute this one cleanly. Two 22-minute reps, posture and power stable. I want you to finish the second rep without losing 5 watts from the first." This costs nothing in content terms and changes the athlete experience of the prescription.
3.3 Define what Sidney is and is not allowed to add unilaterally
Problem. Sidney added an unprompted morning arms and back gym circuit on May 27 on a protective back-check day. The daily log flagged this and Luca's response was to limit the later ride. The plan has no upstream language about unilateral additions.
Recommendation. Add an athlete-facing line to the constraints section of every recovery day, easy day, and key day:
- On protective and recovery days: "No additional gym work, no unprompted intensity. If you want to add anything, message first."
- On key days: "Additional work is not the point. If you finish and feel like you could do more, that is the session working correctly."
- On absorption days: "If you want to add, the answer is rest unless we agreed in advance."
3.4 Include equipment rehearsal language on the gravel-specific day
Problem. Plan B's June 4 session names gravel surface and seated torque but does not include the rest of the race-day equipment context: tire choice and pressure, bottle configuration, gel placement, flat-repair tooling, helmet and eyewear choice for the expected weather.
Recommendation. Add an Equipment section to the June 4 dated calendar file (and to every long gravel ride going forward). At minimum: planned tire and pressure, two-bottle setup, planned product placement on the bike, on-bike storage check, and the explicit instruction to leave the session if a mechanical issue exposes a real race-day risk.
3.5 Strengthen the strength maintenance session's contingency language
Problem. The June 3 strength maintenance session is well structured ("leave the gym feeling sharper, not loaded") but has only one constraint line ("skip loaded hinge if back is irritated"). For a rider with the recent SI history, the constraint set should mirror the bike sessions.
Recommendation. Expand June 3 strength constraints to:
- Skip loaded hinge if back is irritated or stiff in the morning.
- Skip split squat if any single-leg balance feels asymmetric or guarded.
- Replace trap bar hinge with cable pull-through or banded hip hinge if posture cannot be held cleanly.
- Stop the session at any return of radiating leg symptoms.
- If three of the four exercises feel guarded, skip the session entirely; one missed maintenance lift will not damage the build.
Priority 4 — Documentation and process improvements
4.1 Treat the dated calendar files as the single source of truth and bring the rolling files into a clear support role
Problem. The v1 comparison flagged a three-layer inconsistency between the dated calendar files, the rolling-7-day, and the rolling-3-day. The reconciliation has happened and is good. The rolling files are still present and are still updated, which means the inconsistency can recur the next time block-level intent changes faster than the dated calendar files are updated.
Recommendation. Define a write order in the planning skill documentation: when block-level intent changes (rolling-3-week or rolling-7-day update), the dated calendar files for any day inside the affected range must be updated within the same task. The rolling files become block-level summaries that derive from the dated calendar files, not parallel prescriptions.
4.2 Add a same-day "what changed today" line to the rolling-3-day and dated calendar files when they are revised
Problem. The rolling-3-day from 2026-05-27 is excellent in coaching content but does not have a one-line summary of what changed from the prior version. That makes it hard to audit how the plan moved over time.
Recommendation. When any planning file is revised mid-day or mid-block, add a one-line "Change note" near the top with the date and the substantive change. Example: "Change note 2026-05-27: revised May 28 from 1:45-2:00 endurance support to recovery default after observing the May 27 ride landed at 3:10 instead of the planned 1:00-1:15."
4.3 Capture and require structured symptom inputs each morning for symptom-led plans
Problem. Plan B's contingencies depend on Sidney's symptom reports each morning. The workspace has no structured intake for the data the contingencies need: morning stiffness 0 to 10, radiating leg symptom yes or no, sleep hours, HRV if available, RPE on the prior session.
Recommendation. Add a morning check-in template that Sidney is asked to complete on any day with a key session or a key gate (the back-check days, the threshold day, the gravel tempo day, the long ride days). Five questions, under 60 seconds:
- Morning back stiffness 0 to 10
- Any radiating leg symptoms yes or no
- Sleep hours last night
- HRV if she checks it
- RPE on yesterday's session 0 to 10
Block the morning plan from being sent until these are answered on key-session days, or send a default conservative plan if there is no answer by a fixed time.
4.4 Stop relying on TrainingPeaks IDs in dated calendar files when those IDs may not be live
Problem. Several Luca dated calendar files contain - TrainingPeaks ID: 3755937... lines from a previous publication run. The reconciled May 28, May 29, and May 30 files do not contain TP IDs because the workouts they describe were not published. The mixed presence of TP IDs across the dated calendar files is ambiguous about which workouts are live and which are workspace-only.
Recommendation. Adopt a clear convention: a TrainingPeaks ID line is present only when the workout is currently live in TP under Luca's ownership. If the dated calendar workout is internal planning only, no TP ID line. If a previously published Luca workout is replaced by a substantially different prescription, remove the TP ID line and either republish under a new ID or document why the live TP no longer reflects this calendar file.
4.5 Add cross-references between dated calendar files and the daily log
Problem. The dated calendar files describe planned sessions; the daily log captures what actually happened, the morning check-in, the specialist reads, and the messages sent. Right now they are loosely coupled. A reviewer reading the dated calendar file does not know what the daily log eventually recorded about that day.
Recommendation. After the day closes, append a short outcome note to the dated calendar file: planned session, what was executed (duration, intensity, key metric), symptom outcome, and any contingency that fired. Three to five lines per day. This makes the dated calendar files a self-contained record of intent plus outcome rather than just intent.
Priority 5 — Forward-looking improvements beyond this window
5.1 Write the dated calendar files for June 6 to June 15 now, while the back half of the current window is still being executed
Problem. The rolling-3-week describes a 5:00 to 5:30 simulation on June 6, then a Week 3 peak with a Ghost simulation on June 13. The dated calendar files for those days do not exist. The single most consequential Ghost-specific session in the entire build is not yet a published or even written-down workout object.
Recommendation. Draft the June 6 and June 13 dated calendar files this week. Both should include: race breakfast timing, exact race bottle concentration, in-ride product timing every 20 min, explicit equipment configuration, explicit weather contingency, explicit symptom-stop criteria, and a written post-ride GI and equipment note format. These are the dress-rehearsal sessions; they deserve more detail than any other session in the block.
5.2 Add a cyclocross-skills micro-block plan for late August or early September
Problem. The plan has no visible dismount-remount, start, sprint-recovery, or stochastic-surge work for cyclocross. The Ghost build is appropriate as the near-term target, but the September cyclocross block begins three weeks after Ghost and will need this work.
Recommendation. Draft a one-page cyclocross-skills micro-block plan for the August 20 to September 6 window, with skill sessions slotted alongside the aerobic backbone. Reference Gunnar's instinct to preserve high-end neuromuscular qualities through short bursts as the model that should be reintroduced in that block.
5.3 Define a recovery protocol that is harder to misinterpret than "Easy ride"
Problem. Both coaches use permissive recovery language. The April 18 active recovery file (1.48 hours, IF 0.59, TSS 57.83) demonstrated the drift risk. Plan B's recovery days are better defined but still leave room for an athlete who tends to add work.
Recommendation. Define recovery sessions with explicit ceilings rather than zone words. Example: "Optional recovery spin, 45 minutes maximum, power ceiling 145 W, HR ceiling 130 bpm, finish under 1 hour from doorstep to doorstep. If any of those ceilings are exceeded, the session was not recovery."
Quick-fix list for this week
Concrete edits Luca can make to the dated calendar files in under one hour:
- May 31: Add the Saturday-dependent duration ladder described in 2.1. Add explicit fueling at 75 to 80 g/hr with the Gunnar-style language from 3.1.
- June 2: Add a directive coach-voice line at the end of Notes (3.2). Add the no-unilateral-additions line to Constraints (3.3).
- June 3: Expand the strength constraints per 3.5. Add a cross-reference forward to 5.1 noting that this is the last lift before the simulation block.
- June 4: Reframe cadence per 2.2: default 80 to 90 rpm, low cadence held for later. Add an Equipment section per 3.4. Add Gunnar-style fueling line per 3.1.
- June 5: Set the contingency version as the default per 2.3. Add a note that the full VO2 session is the upside option, not the baseline.
- All dated calendar files for the window: Resolve the TrainingPeaks ID presence convention per 4.4. Either populate every file consistently or remove the stale IDs from May 27 and May 28 if the live workouts have changed.
These six edits would close most of the gap between Plan B as it currently reads and Plan B as it would read after this review.
Summary of priorities
Closing note
Luca's plan is closer to a high-performance individualized prescription than any other planning artifact visible in this workspace right now. The recommendations above are sharpening, not rebuilding. The single largest weakness is not the plan, it is the gap between the plan in the workspace and the plan on Sidney's live TrainingPeaks calendar. Closing that gap is worth more than every other recommendation in this document combined.