# Wiki Layer — Standards & Templates

## Article Frontmatter (all types)

```yaml
---
type: client | project | system | pattern
name: <slug>
display_name: <Human Readable Name>
last_compiled: YYYY-MM-DD
compiled_by: <session_id>
sources:
  - session-logs/YYYY-MM-DD-session.md
  - clients/<name>/session-logs/YYYY-MM-DD-session.md
backlinks:
  - projects/<name>
  - systems/<name>
---
```

`last_compiled` is used by `/wiki-compile` to find session logs newer than this date. Never edit manually.

---

## Article Template: Client

File: `wiki/clients/<slug>.md`

```markdown
---
[frontmatter]
---

# <Client Display Name>

## Profile
- **Contract type:** Managed / Break-fix / Project / Prepaid block
- **Key contacts:** Name (title, email/phone)
- **Billing rate:** $X/hr | notes on exceptions
- **Hours remaining (if prepaid):** N hrs as of YYYY-MM-DD
- **Ticket system:** Syncro ticket #XXXXX (most recent active)

## Infrastructure
### Servers & Services
| Host | IP | Role | OS | Notes |
|---|---|---|---|---|

### Email & Identity
- **M365 tenant:** tenant.onmicrosoft.com
- **MX / mail flow:** ...
- **MFA status:** ...

### Network
- **ISP / WAN:** ...
- **Firewall:** ...
- **VPN:** ...

## Access
- SSH: `ssh user@IP` (key in vault: `clients/<name>/...`)
- RDP: IP:port
- Admin URL: ...
- Vault path: `clients/<name>/`

## Patterns & Known Issues
<!-- Recurring ticket types, common failure modes, things that always come up -->

## Active Work
<!-- Current open projects or tickets — brief, link to CONTEXT.md or ticket# for detail -->

## History Highlights
<!-- Major incidents, big projects, key decisions — one-liners with dates -->

## Backlinks
<!-- [[projects/name]] [[systems/name]] -->
```

---

## Article Template: Project

File: `wiki/projects/<slug>.md`

```markdown
---
[frontmatter]
---

# <Project Display Name>

## Summary
<!-- What it is, current maturity, who uses it -->

## Architecture
### Components
| Component | Location | Tech | State |
|---|---|---|---|

### Key Files & Repos
- Repo: gitea link
- Config: path
- Logs: path

## Development
### Current Focus
<!-- Active dev areas, recent decisions -->

### Patterns & Anti-Patterns
<!-- Code patterns enforced, anti-patterns discovered, reasons -->

### Build & Deploy
<!-- How to build, how to deploy, what to watch -->

## Active State
<!-- Brief — link to CONTEXT.md for live state detail -->

## History Highlights
<!-- Major milestones, pivots, incident resolutions -->

## Backlinks
<!-- [[clients/name]] [[systems/name]] -->
```

---

## Article Template: System

File: `wiki/systems/<slug>.md`

```markdown
---
[frontmatter]
---

# <Hostname>

## Identity
- **Hostname:** ...
- **IP:** ...
- **Role:** ...
- **Location:** Physical / VM on <host>
- **OS:** ...

## Specs
<!-- CPU, RAM, disk, NIC — or VM config -->

## Services
| Service | Port | Notes |
|---|---|---|

## Access
- SSH: `ssh user@IP`
- RDP: ...
- Console: ...
- Vault: `infrastructure/<name>/`

## Known Issues & Quirks
<!-- Historical problems, workarounds, things that surprised us -->

## Backlinks
<!-- [[projects/name]] [[clients/name]] -->
```

---

## Article Template: Pattern

File: `wiki/patterns/<slug>.md`

```markdown
---
[frontmatter]
---

# <Pattern Name>

## Rule
<!-- One-sentence statement of the pattern -->

## Why
<!-- Why this rule exists — incident, constraint, strong preference -->

## How to Apply
<!-- When and where this applies; edge cases -->

## Examples
<!-- Session log references where this played out -->

## Backlinks
<!-- [[projects/name]] [[clients/name]] -->
```

---

## Index File: `wiki/index.md`

LLM-maintained. Do not edit manually except to bootstrap.

```markdown
# Wiki Index

Last updated: YYYY-MM-DD

## Clients
| Article | Summary | Last Compiled |
|---|---|---|
| [Cascades](clients/cascades.md) | Prepaid block, $175/hr, ~37.5 hrs remaining | 2026-05-24 |

## Projects
| Article | Summary | Last Compiled |
|---|---|---|
| [GuruRMM](projects/gururmm.md) | RMM platform, Rust/Axum, active development | 2026-05-24 |

## Systems
| Article | Summary | Last Compiled |
|---|---|---|
| [gururmm-build](systems/gururmm-build.md) | GuruRMM build server, 172.16.3.30, MariaDB + ClaudeTools API | 2026-05-24 |

## Patterns
| Article | Summary | Last Compiled |
|---|---|---|

## Cross-Reference
<!-- Which clients use which systems, which projects run on which systems -->
```

---

## Naming Conventions

- Slugs: lowercase, hyphens, no spaces (`az-computer-guru`, `guru-rmm`, `cascades`)
- System slugs match hostname exactly (`neptune`, `jupiter`, `pluto`)
- Pattern slugs describe the rule (`no-mock-db-tests`, `labor-not-taxable`)

## Linking Convention

Use `[[slug]]` for cross-references within wiki. Full relative path in frontmatter `backlinks` field.

## What the LLM Should NOT Put in Wiki Articles

- Credentials or passwords (vault paths only)
- Full session log transcripts (summaries and highlights only)
- Speculative or uncertain facts (mark with `[unverified]` if uncertain)
- Real-time state (IPs are OK, but current ticket status belongs in coord API)
