|
| 1 | +--- |
| 2 | +description: 'Coaching state schema for Design Thinking session persistence, method progress tracking, and session recovery' |
| 3 | +applyTo: '**/.copilot-tracking/dt/**/coaching-state.md' |
| 4 | +--- |
| 5 | + |
| 6 | +# DT Coaching State Protocol |
| 7 | + |
| 8 | +This instruction defines the coaching state schema, file conventions, and session management protocol for Design Thinking projects. The state file tracks method progress across sessions and enables the coach to resume seamlessly. |
| 9 | + |
| 10 | +## State File Location |
| 11 | + |
| 12 | +Store the coaching state file at `.copilot-tracking/dt/{project-slug}/coaching-state.md`. |
| 13 | + |
| 14 | +* `{project-slug}` is a kebab-case identifier derived from the project name (e.g., `factory-floor-maintenance`, `patient-handoff-optimization`). |
| 15 | +* Create the directory when initializing a new coaching project. |
| 16 | +* One state file per project. Multiple concurrent projects each get their own directory. |
| 17 | + |
| 18 | +## State File Schema |
| 19 | + |
| 20 | +```yaml |
| 21 | +# .copilot-tracking/dt/{project-slug}/coaching-state.md |
| 22 | +project: |
| 23 | + name: "Human-readable project name" |
| 24 | + slug: "kebab-case-identifier" |
| 25 | + created: "YYYY-MM-DD" |
| 26 | + initial_request: "Original customer request verbatim" |
| 27 | + initial_classification: "frozen | fluid" |
| 28 | + |
| 29 | +current: |
| 30 | + method: 1 # integer 1-9 |
| 31 | + space: "problem" # problem | solution | implementation |
| 32 | + phase: "" # free-text label for step within current method |
| 33 | + |
| 34 | +methods_completed: [] # list of integers, e.g. [1, 2, 3] |
| 35 | + |
| 36 | +transition_log: |
| 37 | + - from_method: null |
| 38 | + to_method: 1 |
| 39 | + rationale: "Project initialized" |
| 40 | + date: "YYYY-MM-DD" |
| 41 | + |
| 42 | +session_log: |
| 43 | + - date: "YYYY-MM-DD" |
| 44 | + method: 1 |
| 45 | + summary: "Brief description of session work" |
| 46 | + |
| 47 | +artifacts: [] |
| 48 | + # - path: ".copilot-tracking/dt/{project-slug}/stakeholder-map.md" |
| 49 | + # method: 1 |
| 50 | + # type: "stakeholder-map" |
| 51 | +``` |
| 52 | + |
| 53 | +### Field Definitions |
| 54 | + |
| 55 | +#### Project Block |
| 56 | + |
| 57 | +* `name`: display name for the project, set during initialization. |
| 58 | +* `slug`: kebab-case identifier matching the directory name. |
| 59 | +* `created`: ISO 8601 date when the project was initialized. |
| 60 | +* `initial_request`: verbatim customer request captured at project start. Preserved as-is for comparison against discovered problem space. |
| 61 | +* `initial_classification`: frozen or fluid classification from Method 1 assessment. |
| 62 | + |
| 63 | +#### Current Block |
| 64 | + |
| 65 | +* `method`: integer 1-9 indicating the active method. |
| 66 | +* `space`: derived from method number. Methods 1-3 map to `problem`, 4-6 to `solution`, 7-9 to `implementation`. |
| 67 | +* `phase`: free-text label describing the current step within the method (e.g., "stakeholder mapping", "interview planning", "theme clustering", "prototype testing"). |
| 68 | + |
| 69 | +#### Methods Completed |
| 70 | + |
| 71 | +List of method numbers the team has finished. A method is complete when the coach and team agree its outputs are sufficient to proceed. Once added, methods remain in this list even if they are revisited later. |
| 72 | + |
| 73 | +#### Transition Log |
| 74 | + |
| 75 | +Chronological record of method transitions. Each entry captures: |
| 76 | + |
| 77 | +* `from_method`: source method number (null for initial entry). |
| 78 | +* `to_method`: target method number. |
| 79 | +* `rationale`: brief explanation of why the transition occurred. |
| 80 | +* `date`: ISO 8601 date. |
| 81 | + |
| 82 | +Non-linear iteration produces backward transitions (e.g., from Method 6 back to Method 2). These are normal and recorded with rationale. |
| 83 | + |
| 84 | +#### Session Log |
| 85 | + |
| 86 | +Chronological record of coaching sessions. Each entry captures: |
| 87 | + |
| 88 | +* `date`: ISO 8601 date. |
| 89 | +* `method`: active method during the session. |
| 90 | +* `summary`: brief description of work accomplished. |
| 91 | + |
| 92 | +#### Artifacts |
| 93 | + |
| 94 | +List of artifacts produced during coaching. Each entry captures: |
| 95 | + |
| 96 | +* `path`: relative path to the artifact from workspace root. |
| 97 | +* `method`: method number that produced the artifact. |
| 98 | +* `type`: artifact type descriptor (e.g., "stakeholder-map", "interview-notes", "synthesis-themes", "concept-sketch", "prototype-feedback"). |
| 99 | + |
| 100 | +## State Management Rules |
| 101 | + |
| 102 | +### Initialization |
| 103 | + |
| 104 | +Create the state file when starting a new coaching project via the `dt-start-project` prompt. Set `current.method` to 1, `current.space` to `problem`, and record the initial transition log entry. |
| 105 | + |
| 106 | +### Updates |
| 107 | + |
| 108 | +Update the state file at these events: |
| 109 | + |
| 110 | +* Method transition (forward, backward, or lateral): update `current` block and append to `transition_log`. When the transition reflects that the current method is complete (the coach and team agree its outputs are sufficient to proceed), add the departing method to `methods_completed` if not already present. |
| 111 | +* Session start: append to `session_log` with current date and active method. |
| 112 | +* Artifact creation: append to `artifacts` list. |
| 113 | +* Phase change within a method: update `current.phase`. |
| 114 | + |
| 115 | +### Space Derivation |
| 116 | + |
| 117 | +Always derive `current.space` from `current.method`: |
| 118 | + |
| 119 | +* Methods 1-3: `problem` |
| 120 | +* Methods 4-6: `solution` |
| 121 | +* Methods 7-9: `implementation` |
| 122 | + |
| 123 | +Do not set space independently of method. |
| 124 | + |
| 125 | +## Session Recovery Protocol |
| 126 | + |
| 127 | +When resuming a coaching session: |
| 128 | + |
| 129 | +1. Read the state file at `.copilot-tracking/dt/{project-slug}/coaching-state.md`. |
| 130 | +2. Verify the file parses as valid YAML and contains required fields (`project`, `current`, `methods_completed`, `transition_log`). |
| 131 | +3. Restore coaching context from `current.method`, `current.space`, and `current.phase`. |
| 132 | +4. Review the most recent `transition_log` and `session_log` entries to understand where the team left off. |
| 133 | +5. Check `methods_completed` to understand overall progress. |
| 134 | +6. Scan the `artifacts` list for available project artifacts to reference. |
| 135 | +7. Announce the resumed state to the user: current method, current phase, and a brief summary of previous work. |
| 136 | + |
| 137 | +If the state file is missing or corrupted, inform the user and offer to reinitialize from scratch or reconstruct state from existing artifacts in the project directory. |
| 138 | + |
| 139 | +## Project Directory Contents |
| 140 | + |
| 141 | +The `.copilot-tracking/dt/{project-slug}/` directory holds all project-specific artifacts alongside the state file: |
| 142 | + |
| 143 | +* `coaching-state.md`: coaching state (this schema). |
| 144 | +* Method outputs: stakeholder maps, interview notes, synthesis documents, concept descriptions, prototype feedback, testing results. |
| 145 | +* Naming convention: use descriptive kebab-case filenames prefixed with the method number (e.g., `method-01-stakeholder-map.md`, `method-03-synthesis-themes.md`). |
| 146 | + |
| 147 | +## Integration with Method Sequencing |
| 148 | + |
| 149 | +The coaching state schema aligns with the method routing assessment flow used during method sequencing. The `current.method` field drives which method-tier instructions load via `applyTo` pattern matching. The `transition_log` provides the history that the method sequencing transition protocol references. |
0 commit comments