---
growth: sprout
---
# Wiki Optimization — Team Training Environments

## The Problem With Our Current Structure

### Current State
- Files buried in subdirectories: `entities/students/bruno.md`
- Compile scans `entities/` root only → entities count = 0
- Folders create rigid hierarchy → knowledge doesn't connect across siloes
- 90 sources but they don't cross-reference meaningfully

### What We're Missing
The wiki's power isn't in folders — it's in **links**. A wiki that surfaces data usefully for a team training environment needs:

1. **Atomic notes** — one concept per file, linked to everything related
2. **Topic notes** — "hub" pages that aggregate links to related content
3. **Training paths** — sequences of notes that guide learning
4. **Entity profiles** — student/mentor pages that track skills + progress

---

## Three Fix Options

### Option A: Move Files Up (Minimum Fix)
**What:** Move `entities/students/bruno.md` → `entities/bruno.md`

| Pros | Cons |
|------|------|
| Quick fix | Solves compile only, not structure |
| Entities show up | Rigid folder hierarchy persists |
| Low risk | Doesn't enable cross-topic views |

**Verdict:** Tactical patch. Doesn't fix the real problem.

---

### Option B: Flat Structure + Topic Hubs (Recommended)
**What:**
1. Move student files to `entities/` root
2. Create **topic hub pages** that link to relevant entities + sources
3. Use Obsidian Dataview to create dynamic skill-tracking views

**Example topic hub:**
```
# PathPlanner Training Hub
[[bruno]] — working through PathPlanner basics
[[riley]] — completed intro module
[[photonvision]] — integrated with autonomous routines
[[mothman-robot-code]] — YAGSL swerve implementation

## Learning Path
1. [[systemcore]] — understand the controller first
2. [[swere-modules]] — then how the drivetrain works
3. [[photonvision]] — then vision-based positioning
4. PathPlanner → finally, how to program paths
```

| Pros | Cons |
|------|------|
| Compile works | Requires more setup upfront |
| Teams see learning paths, not files | Topic hubs need maintenance |
| Cross-topic views via Dataview | — |
| Scales to any number of students | — |
| Each hub is a training module | — |

**Verdict:** Best for our scenario. Chris teaches — he needs learning paths, not file browsers.

---

### Option C: Recursive Compile Config
**What:** Configure the wiki plugin to recurse into subdirectories

| Pros | Cons |
|------|------|
| Keeps subdirectories | Requires config change |
| Existing structure preserved | May break with OpenClaw updates |
| — | Doesn't solve cross-linking problem |

**Verdict:** Avoid. Kicks the problem downstream.

---

## Recommendation: Option B

**Why Option B surfaces data most usefully for our scenario:**

Chris is a teacher. The Fabric watches all silos. The wiki should answer questions like:

| Question | How Option B Answers It |
|----------|------------------------|
| "Who's learning PathPlanner?" | [[pathplanner-hub]] → [[bruno]] + [[riley]] |
| "What does a new student need to learn?" | Topic hub shows prerequisites + links |
| "Where are the gaps in our training?" | Hub pages with missing/unfinished links |
| "What did Bruno complete?" | Dataview query: student + status + date |
| "Show me all sensor-related docs" | [[sensors-hub]] → links to all sensor sources |

**Topic hubs we'd need:**

| Hub | Purpose | Links |
|-----|---------|-------|
| `swere-training-hub` | Drivetrain learning path | Bruno, Riley, MK4i, NEO Vortex, YAGSL |
| `vision-training-hub` | Camera + AprilTag setup | PhotonVision, MegaTag, AprilTag field layout |
| `pathplanner-hub` | Autonomous programming | Student progress, YAGSL, Mothman code |
| `electrical-hub` | Wiring + CAN bus | SPARK Flex, CANcoder, PDH, Canjectors |
| `cad-training-hub` | Fusion 360 learning | Bruno, Riley, Fusion 360 module |

---

## Implementation Steps

### Step 1: Fix Entity Compile (5 min)
```bash
cd /home/topher/.openclaw/wiki/main
git mv entities/students/bruno.md entities/bruno.md
git mv entities/students/riley.md entities/riley.md
git commit -m "Flatten entities structure for compile"
git push
```

### Step 2: Create Topic Hub Pages (ongoing)
Start with the most important hub — the one Chris teaches from most:

**`training/hubs/swere-training-hub.md`**
- Links: MK4i, NEO Vortex, SPARK Flex, YAGSL, Bruno (learning), Riley (completed)
- Learning path with prerequisites
- Status indicators per student

### Step 3: Add Frontmatter for Dataview
Add to each student profile:
```yaml
---
type: student-profile
track: swerve
skills:
  - fusion-360: intermediate
  - pathplanner: beginner
  - welding: beginner
status:
  pathplanner: in-progress
  swere-basics: completed
---
```

Then Dataview can query: "Show all students with `skills.pathplanner: beginner`"

---

## Research Path for Chris

This IS the research path. The "fix" isn't a wiki plugin config — it's **restructuring the wiki around how Chris teaches**:

1. **Atomic notes** per hardware concept (we already have this)
2. **Topic hubs** that aggregate + sequence learning (we're missing this)
3. **Entity profiles** with structured skill tracking (we have the files, wrong location)
4. **Training paths** that show prerequisite chains (needed for system to surface gaps)

The Fabric then detects gaps by watching:
- Which hub links are broken?
- Which student profiles show no recent progress?
- Which hub has no topic hub page yet but students need it?

---

## Key Insight

**Folders are for files. Hubs are for learners.**

Chris teaches. The wiki should organize around what students need to learn, not where files live. Topic hubs do that — they group related content from across all silos into coherent learning paths.

**Option B is the fix.** Want me to start with the swerve training hub? 🎓