feat: add wiki knowledge layer (Phase 0 + Phase 1 seed)
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>
This commit is contained in:
243
.claude/specs/wiki-layer/standards.md
Normal file
243
.claude/specs/wiki-layer/standards.md
Normal file
@@ -0,0 +1,243 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user