Implements LLM-compiled wiki layer between raw session logs and live CONTEXT.md, inspired by Karpathy's knowledge base workflow. Adds wiki/ directory structure, article templates, spec docs, and seeds first two articles (Cascades of Tucson, GuruRMM) from 60+ session logs. Updates CLAUDE.md to check wiki first on all context-loading triggers. Captures verified ACG IP/hostname map and Neptune physical-location clarification (Dataforth D2, subnet overlap TODO) in memory. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
244 lines
4.9 KiB
Markdown
244 lines
4.9 KiB
Markdown
# 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 |
|
|
|---|---|---|
|
|
| [Neptune](systems/neptune.md) | Primary server, 172.16.3.30, MariaDB + 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)
|