Files
eve-wiki-content/docs/infrastructure/git-sync.md
2026-04-19 03:57:03 +00:00

51 lines
2.2 KiB
Markdown

# Git Sync Protocol & Repository Structure
The Git repository serves as the **Single Source of Truth (SSOT)** for all wiki content. This document defines how data is structured and synchronized.
## 1. Repository Layout
```text
/
├── content/ # All Markdown wiki pages
│ ├── ships/
│ ├── modules/
│ └── ...
├── assets/ # Images, PDFs, and static files
│ ├── images/
│ └── ...
├── schema/ # Shared validation schemas (JSON Schema)
├── metadata/ # Global metadata (e.g., typeID mapping table)
│ └── mapping.json
└── .wikijsignore # Files to be ignored by Wiki.js sync
```
## 2. Synchronization Flow
### Primary Write Path (Agent -> Git -> Wiki.js)
1. **Agent Modification:** An agent (A, B, or C) generates or updates a Markdown file.
2. **Local Commit:** The agent commits the change to its local clone of the repository.
3. **Push to Origin:** The agent pushes to the `main` branch.
4. **Wiki.js Sync:**
- Wiki.js is configured with the "Git" storage target.
- It pulls changes from the `main` branch at a set interval (default: 5 minutes) or via Webhook.
- Wiki.js renders the new Markdown content in the UI.
### Wiki.js to Git (Optional / Prohibited)
- **Status:** DISABLED
- **Rationale:** Since human editing is disabled, there should be no writes originating from the Wiki.js UI. This prevents merge conflicts and ensures the Agent pipeline remains the sole source of content.
## 3. Commit Standards
To ensure a clean audit trail, all commits must follow the Conventional Commits-style with agent identifiers:
**Format:** `[AGENT_ID] action: description (hash: source_hash)`
**Examples:**
- `[AGENT_A] seed: ships/caldari/condor (hash: sha256_...)`
- `[AGENT_B] update: ships/amarr/abaddon (patch: 2026-04-16)`
- `[AGENT_G] asset: images/ships/condor.png`
## 4. Conflict Resolution
- **Strategy:** Last-Write-Wins (LWW) based on Git commit timestamp.
- **Merge Logic:** Automated merges are preferred. If a conflict occurs (rare in agent-only environments), the pipeline will halt and trigger a "System Alert" for manual intervention.