Initial wiki structure
This commit is contained in:
@@ -0,0 +1,524 @@
|
||||
# EVE Online Automated Wiki System - High Level Plan
|
||||
|
||||
## 1. Wiki Software Recommendation: Wiki.js
|
||||
|
||||
**Why Wiki.js:**
|
||||
- Modern, open-source (AGPL-3.0), actively maintained
|
||||
- First-class Docker support with official image
|
||||
- REST API built-in for automated content updates
|
||||
- Markdown-based editing (great for AI-generated content)
|
||||
- Git-based storage option for complete version control
|
||||
- Built-in search, analytics, and access controls
|
||||
- Lightweight (~200MB RAM)
|
||||
- **Perfect for agent-only workflow:** Can disable all human editing entirely while retaining API write access
|
||||
|
||||
**Alternatives considered:**
|
||||
|
||||
| Software | Pros | Cons |
|
||||
|----------|------|------|
|
||||
| MediaWiki | Industry standard, massive extension ecosystem | Heavy, PHP, API is less developer-friendly |
|
||||
| DokuWiki | Flat file, extremely simple | No native API, dated interface |
|
||||
| BookStack | Structured organization | Less suited for interconnected knowledge |
|
||||
| Wiki.js | Modern API, Git sync, Docker-native, read-only UI support | Younger project, smaller community |
|
||||
|
||||
---
|
||||
|
||||
## 2. System Architecture
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ EVE Online Wiki System │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ LangGraph Orchestration Layer │ │
|
||||
│ │ ┌───────────────────────────────────────────────────────────────┐ │ │
|
||||
│ │ │ StateGraph (Main Graph) │ │ │
|
||||
│ │ │ │ │ │
|
||||
│ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │
|
||||
│ │ │ │ Source │ │ Patch │ │External │ │ ESI │ │ │ │
|
||||
│ │ │ │Harvester│ │ Monitor │ │ Monitor │ │Collector│ │ │ │
|
||||
│ │ │ │ Node │ │ Node │ │ Node │ │ Node │ │ │ │
|
||||
│ │ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │ │
|
||||
│ │ │ └────────────┴─────────────┴─────────────┘ │ │ │
|
||||
│ │ │ │ │ │ │
|
||||
│ │ │ ┌────────▼────────┐ │ │ │
|
||||
│ │ │ │ Validation │ │ │ │
|
||||
│ │ │ │ Subgraph │ │ │ │
|
||||
│ │ │ │ (E → F → G) │ │ │ │
|
||||
│ │ │ └────────┬────────┘ │ │ │
|
||||
│ │ │ │ │ │ │
|
||||
│ │ │ ┌────────▼────────┐ │ │ │
|
||||
│ │ │ │ Git Sync │ │ │ │
|
||||
│ │ │ │ Node │ │ │ │
|
||||
│ │ │ └────────┬────────┘ │ │ │
|
||||
│ │ │ │ │ │ │
|
||||
│ │ │ ┌────────▼────────┐ │ │ │
|
||||
│ │ │ │ Wiki.js API │ │ │ │
|
||||
│ │ │ │ Node │ │ │ │
|
||||
│ │ │ └─────────────────┘ │ │ │
|
||||
│ │ └───────────────────────────────────────────────────────────────┘ │ │
|
||||
│ │ │ │
|
||||
│ │ LangGraph Features: │ │
|
||||
│ │ • Checkpointing: Durable state persistence across crashes │ │
|
||||
│ │ • Conditional Edges: Dynamic routing based on validation results │ │
|
||||
│ │ • Subgraphs: Nested validation pipeline (E→F→G) as single node │ │
|
||||
│ │ • Streaming: Real-time token output from LLM agents │ │
|
||||
│ │ • LangSmith: Built-in observability and tracing │ │
|
||||
│ └─────────────────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**Infrastructure Stack:**
|
||||
- **Wiki.js** - Content management (read-only UI)
|
||||
- **PostgreSQL** - Primary database for Wiki.js (production-grade, required)
|
||||
- **Redis** - State persistence backend for LangGraph checkpointing
|
||||
- **LangGraph** - Agent orchestration framework (MIT licensed, built on LangChain)
|
||||
- **LangSmith** - Observability platform for tracing agent executions
|
||||
- **Git** - Content storage backend for version control
|
||||
|
||||
**Architecture Principles:**
|
||||
- All content flows top-to-bottom, no exceptions
|
||||
- 100% agent-only editing - no human accounts have write access
|
||||
- All changes go through full validation pipeline before publication
|
||||
- Complete audit trail maintained in Git storage backend
|
||||
- Immutable content sources are isolated from publication layer
|
||||
- Git sync acts as single source of truth for all content
|
||||
- LangGraph maintains checkpoint state and full audit log via LangSmith traces
|
||||
- No direct API writes from edge agents - all writes go through pipeline
|
||||
- Daily batch updates for prose/content (not continuous) - scheduled at 02:00 UTC
|
||||
- ESI structured data updates run on independent schedule (hourly for static data, daily for dynamic)
|
||||
|
||||
---
|
||||
|
||||
## 3. Agent Specifications
|
||||
|
||||
### Agent A: Initial Wiki Construction
|
||||
|
||||
**Purpose:** Seed the wiki with existing content from source sites.
|
||||
|
||||
**Inputs:**
|
||||
- Source URLs (EVE University wiki, WCKG, CCP Support, ESI API)
|
||||
- Content scope (what categories/sections to import)
|
||||
- Deduplication and merge strategy
|
||||
|
||||
**Process:**
|
||||
1. **Source Extraction:**
|
||||
- **EVE University:** Utilize MediaWiki `api.php` for structured content retrieval (avoids HTML scraping issues).
|
||||
- **WCKG:** Specialized Google Sites parser for dynamic content rendering.
|
||||
- **CCP Support:** Content extraction with browser headers to bypass Cloudflare challenges.
|
||||
2. Extract structured content (ships, modules, mechanics)
|
||||
3. Normalize content format to Markdown
|
||||
4. Extract all images and references
|
||||
5. Compute content hash (SHA-256) for each page and skip if unchanged since last import
|
||||
6. Create wiki pages with proper hierarchy (see [Page Hierarchy Strategy](docs/schema/hierarchy.md))
|
||||
7. Tag pages with complete metadata
|
||||
8. Generate cross-links between related pages
|
||||
9. Pass all content to Validation Agent before publication
|
||||
|
||||
**Scheduling:** One-time run (with option to replay)
|
||||
|
||||
---
|
||||
|
||||
### Agent B: Patch Note Monitor
|
||||
|
||||
**Purpose:** Detect EVE Online patch changes and update affected wiki pages.
|
||||
|
||||
**Inputs:**
|
||||
- RSS feed: `https://www.eveonline.com/rss/patch-notes` (Verified accessible via GET)
|
||||
- Update frequency (recommended: daily)
|
||||
- Affected page mapping (which pages relate to which game systems)
|
||||
|
||||
**Process:**
|
||||
1. Poll RSS feed on schedule (Standard RSS 2.0 parsing)
|
||||
2. Parse new patch entries using LLM content analysis
|
||||
3. Identify *exact* content changes required for affected pages
|
||||
4. Generate complete revised page content, not just append sections
|
||||
5. Pass proposed changes to Validation Agent
|
||||
6. If validation passes, apply update automatically
|
||||
7. If validation fails, retry generation or flag for system alert
|
||||
|
||||
---
|
||||
|
||||
## 3.5 Infrastructure Protocols
|
||||
|
||||
### Git Sync Protocol
|
||||
- **Single Source of Truth:** Git repository acts as the primary storage.
|
||||
- **Bi-directional Sync:**
|
||||
- Agent Write -> Git Commit -> Wiki.js Push
|
||||
- Wiki.js renders directly from the Git-backed storage.
|
||||
- **Repository Structure:**
|
||||
- `/content`: Markdown files mapping to wiki paths (e.g., `content/ships/frigates/condor.md`)
|
||||
- `/assets`: Images and files mapping to local paths.
|
||||
- **Commit Format:** `[AGENT_ID] update: path/to/page (hash: abc123)`
|
||||
|
||||
### API Authentication
|
||||
- **Strategy:** Bearer tokens with minimum scopes (`write:pages`, `write:assets`).
|
||||
- **Storage:** Managed via environment variables.
|
||||
- See [Wiki.js API Auth Strategy](docs/infrastructure/wikijs-auth.md) for details.
|
||||
|
||||
### Shared State
|
||||
- **Schema:** Managed via LangGraph `WikiState` Pydantic model.
|
||||
- See [State Schema Definition](docs/schema/state-schema.md) for details.
|
||||
|
||||
---
|
||||
|
||||
### Agent C: External Wiki Monitor
|
||||
|
||||
**Purpose:** Track changes on source wikis and refresh content.
|
||||
|
||||
**Inputs:**
|
||||
- Monitored URLs and change detection rules
|
||||
- Check frequency (recommended: weekly)
|
||||
|
||||
**Process:**
|
||||
1. Poll source sites on schedule respecting robots.txt
|
||||
2. Detect new pages or modified content
|
||||
3. Compare against imported content hash in local wiki
|
||||
4. Ignore minor formatting/link changes
|
||||
5. Generate revised page content with merged changes
|
||||
6. Pass proposed changes to Validation Agent
|
||||
7. Apply update automatically on validation pass
|
||||
|
||||
---
|
||||
|
||||
### Agent D: ESI Data Collector
|
||||
|
||||
**Purpose:** Pull official structured data directly from CCP's ESI API.
|
||||
|
||||
**Inputs:**
|
||||
- ESI API endpoints for ships, modules, items, skills
|
||||
- Update frequency: hourly for static data (independent of daily batch), daily for dynamic data (part of 02:00 UTC batch)
|
||||
|
||||
**Process:**
|
||||
1. Poll ESI API on schedule with proper rate limiting
|
||||
2. Extract structured game data
|
||||
3. Generate or update data-driven pages automatically
|
||||
4. Merge structured data with human-readable content from other sources
|
||||
5. Compute content hash and skip if unchanged since last poll
|
||||
6. Pass proposed changes to Validation Agent
|
||||
|
||||
---
|
||||
|
||||
### Agent E: Content Validation & Review Agent
|
||||
|
||||
**Purpose:** Automated quality control for all content changes. **Replaces all human review.**
|
||||
|
||||
**Validation Rules:**
|
||||
1. **Structural validation:** Markdown syntax, page hierarchy, metadata presence
|
||||
2. **Content validation:** Factual consistency, no broken references, completeness
|
||||
3. **Change validation:** Diff analysis, only expected changes applied, no unintended modifications
|
||||
4. **Cross-reference validation:** All internal links resolve correctly
|
||||
5. **TOS compliance:** Proper attribution included for all imported content
|
||||
|
||||
**Process:**
|
||||
1. Receive proposed change from upstream agent
|
||||
2. Run all validation checks
|
||||
3. Generate confidence score (0-100%)
|
||||
4. If score > 95%: Approve for publication
|
||||
5. If score 70-95%: Request regeneration with feedback
|
||||
6. If score <70%: Reject change and generate system alert
|
||||
|
||||
---
|
||||
|
||||
### Agent F: Numerical Validation Layer
|
||||
|
||||
**Purpose:** Rule-based validation for game data, separate from LLM validation. Catches LLM hallucinations in structured data.
|
||||
|
||||
**Validation Categories:**
|
||||
|
||||
| Data Type | Validation Rules | Source of Truth |
|
||||
|-----------|------------------|-----------------|
|
||||
| Ship stats | Base HP, velocity, slots, fitting stats within ±0% of ESI | ESI API |
|
||||
| Module stats | CPU, PG, range, damage multipliers | ESI API |
|
||||
| Skill requirements | Prerequisites match skill tree | ESI API |
|
||||
| Fitting calculations | Must pass CPU/PG budget checks | Local calculation |
|
||||
| Market data | Prices non-negative, volume non-negative | ESI API |
|
||||
| Links/IDs | All typeIDs resolve to valid entities | ESI API lookup |
|
||||
|
||||
**Process:**
|
||||
1. Extract all numerical values from proposed content
|
||||
2. Cross-reference against ESI API for game data
|
||||
3. Flag any discrepancies >0% for ship/module stats
|
||||
4. Reject content with invalid typeIDs or broken references
|
||||
5. Log all validation results for audit
|
||||
|
||||
**Override Rules:**
|
||||
- Numerical validation failures = auto-reject (no LLM override possible)
|
||||
- Historical content (archived ships/modules) flagged for manual review
|
||||
|
||||
---
|
||||
|
||||
### Agent G: Asset & Reference Handler
|
||||
|
||||
**Purpose:** Centralized management of all images, links, and external references.
|
||||
|
||||
**Process:**
|
||||
1. Receive all extracted images and references from other agents
|
||||
2. Download images to local storage (respecting copyright/attribution)
|
||||
3. Rewrite all image URLs to local wiki paths
|
||||
4. Rewrite all external links to reference original source
|
||||
5. Add source attribution footer to all pages
|
||||
6. Check for broken links on every update
|
||||
7. Maintain asset integrity across all pages
|
||||
|
||||
---
|
||||
|
||||
## 4. Model Intelligence Tiers
|
||||
|
||||
Different agents require different levels of LLM reasoning. Using appropriate models reduces cost and improves reliability.
|
||||
|
||||
| Agent | Tier | Model Requirements | Justification |
|
||||
|-------|------|--------------------|---------------|
|
||||
| A: Source Harvester | Low | Basic extraction model (e.g., GPT-4o-mini, Claude Haiku) | Template-based extraction, structured output format |
|
||||
| B: Patch Note Monitor | High | Strong reasoning model (e.g., Claude Sonnet, GPT-4o) | Requires understanding game mechanics to map changes to pages |
|
||||
| C: External Wiki Monitor | Low | Basic extraction model | Simple change detection and content extraction |
|
||||
| D: ESI Data Collector | None | No LLM needed | Pure API calls, structured data, programmatic transformation |
|
||||
| E: Content Validation | Medium | Balanced model (e.g., Claude Sonnet) | Needs semantic understanding but structured validation rules |
|
||||
| F: Numerical Validation | None | No LLM needed | Pure rule-based, deterministic validation |
|
||||
| G: Asset Handler | Low | Basic model for categorization | Mostly file operations, minimal reasoning |
|
||||
|
||||
**Recommended Model Stack:**
|
||||
- **High reasoning:** Claude 3.5 Sonnet / GPT-4o (Agents B, E)
|
||||
- **Low cost:** Claude 3.5 Haiku / GPT-4o-mini (Agents A, C, G)
|
||||
- **No LLM:** Agents D, F (programmatic only)
|
||||
|
||||
**Daily Batch Cost Estimate:**
|
||||
With daily updates (not continuous), typical daily operations:
|
||||
- ~10-20 patch note analyses (Agent B): ~$0.10-0.30
|
||||
- ~50-100 content validations (Agent E): ~$0.50-1.00
|
||||
- ~100-200 extractions (Agents A, C, G): ~$0.10-0.20
|
||||
- **Daily total: ~$0.70-1.50** (note: subscription tiers have rate limits and token caps; bulk operations like initial import may temporarily exceed these, requiring pay-per-use fallback)
|
||||
|
||||
---
|
||||
|
||||
## 5. Content Schema Per Page Type
|
||||
|
||||
Each page type has a template with required fields that Agent E validates structurally before semantic validation.
|
||||
|
||||
### Ship Page Template
|
||||
```yaml
|
||||
page_type: ship
|
||||
required_fields:
|
||||
- name: string
|
||||
- type_id: integer (ESI)
|
||||
- group: string (e.g., "Interceptor", "Battleship")
|
||||
- race: string (Caldari, Minmatar, Amarr, Gallente)
|
||||
- hull_stats:
|
||||
hp_shield: integer
|
||||
hp_armor: integer
|
||||
hp_structure: integer
|
||||
- fitting_stats:
|
||||
cpu_output: integer
|
||||
powergrid_output: integer
|
||||
high_slots: integer
|
||||
med_slots: integer
|
||||
low_slots: integer
|
||||
rig_slots: integer
|
||||
- velocity: integer
|
||||
- skill_requirements: list[{skill_id: integer, level: integer}]
|
||||
- description: string (prose, sourced from external wiki or generated)
|
||||
optional_fields:
|
||||
- role_bonus: string
|
||||
- ship_bonus: list[string]
|
||||
- capacitor_capacity: integer
|
||||
- targeting_range: integer
|
||||
- drone_bandwidth: integer
|
||||
- probe_launcher_fitting: boolean
|
||||
```
|
||||
|
||||
### Module Page Template
|
||||
```yaml
|
||||
page_type: module
|
||||
required_fields:
|
||||
- name: string
|
||||
- type_id: integer (ESI)
|
||||
- group: string (e.g., "Shield Booster", "Afterburner")
|
||||
- slot: string (high, mid, low, rig)
|
||||
- cpu_usage: integer
|
||||
- powergrid_usage: integer
|
||||
- description: string
|
||||
optional_fields:
|
||||
- duration: integer
|
||||
- range: integer
|
||||
- damage_multiplier: float
|
||||
- skill_requirements: list[{skill_id: integer, level: integer}]
|
||||
- meta_level: integer
|
||||
- tech_level: integer (1 or 2)
|
||||
```
|
||||
|
||||
### Mechanic/Guide Page Template
|
||||
```yaml
|
||||
page_type: mechanic
|
||||
required_fields:
|
||||
- title: string
|
||||
- summary: string (1-3 sentences)
|
||||
- categories: list[string]
|
||||
- source: string (eve-university | wckg | ccp | generated)
|
||||
- last_reviewed: date
|
||||
optional_fields:
|
||||
- related_ships: list[string]
|
||||
- related_modules: list[string]
|
||||
- related_mechanics: list[string]
|
||||
- difficulty: string (beginner | intermediate | advanced)
|
||||
```
|
||||
|
||||
### Validation Against Schema
|
||||
Agent E enforces:
|
||||
1. All `required_fields` present and non-empty
|
||||
2. All integer fields contain valid integers (no strings, no nulls)
|
||||
3. All `type_id` fields pass Agent F numerical validation against ESI
|
||||
4. All `skill_requirements` reference valid typeIDs
|
||||
5. Page type matches one of the defined templates (reject unknown types)
|
||||
|
||||
---
|
||||
|
||||
## 6. Agent Health Monitoring
|
||||
|
||||
LangGraph provides built-in checkpointing for state persistence, but agent-level health monitoring requires a separate heartbeat system.
|
||||
|
||||
**Heartbeat Protocol:**
|
||||
- Each LangGraph node (agent) sends a `HEARTBEAT` message to Redis every 60 seconds during active operation, every 5 minutes when idle
|
||||
- Heartbeat payload: `{ node_name, status: healthy|degraded|error, thread_id, last_completed_at, checkpoint_id }`
|
||||
- Heartbeat registry uses Redis with TTL (3x interval for stale, 10x for dead)
|
||||
|
||||
**LangGraph Checkpointing:**
|
||||
- LangGraph's `MemorySaver` or `PostgresSaver` persists graph state at each step
|
||||
- Workflows resume exactly where they left off after crashes
|
||||
- Checkpoint TTL configurable (24-48 hours for batch workflows, session-based for conversational)
|
||||
|
||||
**Staleness Detection:**
|
||||
- If no heartbeat received within 3x the expected interval → mark agent as `stale`
|
||||
- If no heartbeat received within 10x the expected interval → mark agent as `dead` and trigger critical alert
|
||||
- Stale nodes: LangGraph checkpoint indicates last state, new invocations wait for recovery
|
||||
- Dead nodes: halt dependent pipeline stages, escalate alert
|
||||
|
||||
**LangSmith Integration:**
|
||||
- Every LLM call, tool invocation, and state transition emits traces to LangSmith
|
||||
- QueryLangSmith audit logs for execution history, latency, token usage
|
||||
- Alerts configured via LangSmith webhooks for validation failures
|
||||
|
||||
**Alerting:**
|
||||
- Agent status transitions emit events to the audit log
|
||||
- Critical alerts (dead node, repeated validation failures, checkpoint gaps > threshold) notify via configured channel (webhook, email, etc.)
|
||||
|
||||
---
|
||||
|
||||
## 7. Standard Page Metadata
|
||||
|
||||
All pages will include standard frontmatter:
|
||||
```yaml
|
||||
source: eve-university | wckg | ccp | esi | generated
|
||||
source_url: https://...
|
||||
imported_date: 2026-04-16
|
||||
last_updated: 2026-04-16
|
||||
last_validated: 2026-04-16
|
||||
update_frequency: daily | weekly | monthly
|
||||
validation_score: 98
|
||||
categories: [ships, pvp, modules, industry]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. Implementation Phases
|
||||
|
||||
### Phase 0: Pre-Work & Compliance
|
||||
- Confirm scraping TOS with source wiki maintainers
|
||||
- Implement rate limiting and proper User-Agent headers
|
||||
- Define metadata schema and validation rules
|
||||
- Test content extraction on sample pages
|
||||
|
||||
### Phase 1: Foundation
|
||||
- Deploy PostgreSQL database via Docker (production configuration)
|
||||
- Deploy Redis instance for LangGraph checkpointing + heartbeat registry
|
||||
- Deploy Wiki.js via Docker (connected to PostgreSQL)
|
||||
- **Disable all human write permissions** - configure API-only write access
|
||||
- Configure Git storage backend for complete change history
|
||||
- Configure Git sync layer as single source of truth
|
||||
- Set up HTTPS and domain routing
|
||||
- Establish automated backup strategy
|
||||
- Deploy LangGraph with `StateGraph` defining all agent nodes and edges
|
||||
- Configure LangSmith for observability (tracing, audit logs)
|
||||
- Deploy agent heartbeat monitoring (Redis TTL registry)
|
||||
|
||||
### Phase 2: Content Pipeline
|
||||
- Deploy Source Harvester Agent
|
||||
- Deploy Validation Agent
|
||||
- Deploy Asset Handler Agent
|
||||
- Deploy ESI Data Collector Agent
|
||||
- Execute initial import with full validation pipeline
|
||||
- Establish content quality baseline
|
||||
|
||||
### Phase 2.5: Smoke Test
|
||||
- Run Agent A on 50 representative pages across all page types (ships, modules, mechanics, guides)
|
||||
- Pass all 50 pages through the full validation pipeline (Agents E + F + G)
|
||||
- Calibrate validation thresholds based on results (adjust confidence scoring weights)
|
||||
- Verify merge logic when ESI data and external wiki content overlap on same pages
|
||||
- Confirm Git sync round-trip: write → Git → Wiki.js render matches expected output
|
||||
- Identify and fix integration bugs before full import
|
||||
- Document baseline validation pass rate and failure patterns
|
||||
|
||||
### Phase 3: Automated Monitoring
|
||||
- Deploy Patch Note Monitor Agent
|
||||
- Implement LLM-based patch parsing and content generation
|
||||
- Configure validation thresholds
|
||||
- Test end-to-end update workflow
|
||||
|
||||
### Phase 4: External Change Tracking
|
||||
- Deploy External Wiki Monitor Agent
|
||||
- Configure source site monitoring
|
||||
- Implement change detection and merge logic
|
||||
- Set up system alerting for failures
|
||||
|
||||
### Phase 5: Major Expansion Handling
|
||||
- Create expansion detection webhook (CCP announces expansions 2-4 weeks ahead)
|
||||
- Build bulk update workflow for expansion releases
|
||||
- Implement "freeze" mode during expansion deployment (content locked until ESI stabilizes)
|
||||
- Create post-expansion audit job to verify all affected pages
|
||||
- Document expansion runbook for manual triggering
|
||||
|
||||
**Expansion Workflow:**
|
||||
1. Expansion announced → Create tracking ticket
|
||||
2. Expansion deploys → Freeze wiki updates, wait for ESI stability (typically 24-48h)
|
||||
3. Run bulk ESI sync → Update all ship/module/item pages
|
||||
4. Run Patch Note Agent → Process expansion notes, generate new pages
|
||||
5. Run full validation → All pages validated against new ESI data
|
||||
6. Unfreeze → Resume daily batch updates
|
||||
|
||||
---
|
||||
|
||||
## 9. Validation Questions
|
||||
|
||||
### Wiki Infrastructure
|
||||
468: 1. **Hosting requirements:** What server/container host will run this? (RAM/CPU allocation)
|
||||
469: 2. **Access & secrets management:** Plan for storing ESI credentials, Git credentials, and Wiki.js API tokens in a secrets manager (e.g., Vault, AWS Secrets Manager).
|
||||
470: 3. **Backup requirements:** How many days of backup retention are required?
|
||||
471: 4. **User access:** Will this wiki be public read-only, or require authentication?
|
||||
472: 5. **Storage:** How much content do you anticipate? (affects storage planning)
|
||||
|
||||
### Content Scope
|
||||
475: 6. **Priority domains:** Should we prioritize specific game aspects? (PVP, mining, industry, nullsec, etc.)
|
||||
476: 7. **Content age:** Should imported content include historical versions, or only current state?
|
||||
477: 8. **Completeness threshold:** What's an acceptable import percentage? (80% of pages vs. all)
|
||||
|
||||
### Agent Behavior
|
||||
480: 9. **Validation threshold:** What minimum validation score should be required for auto-approval? (Recommended: 95%)
|
||||
481: 10. **Conflict resolution:** If multiple sources have conflicting information, which source takes priority?
|
||||
482: 11. **Update frequency:** How fresh should content be? (real-time, daily, weekly)
|
||||
483: 12. **Alerting:** How should the system notify on validation failures or errors?
|
||||
|
||||
### Operational
|
||||
486: 13. **Monitoring access:** Do you have access to the Nginx Proxy Manager instance for SSL/proxy configuration?
|
||||
487: 14. **Container management:** Will you use Komodo or another container management platform, or manual Docker?
|
||||
488: 15. **Error handling:** Should the system pause and alert on repeated failures, or continue with skipped items?
|
||||
|
||||
### 10. Next Steps
|
||||
|
||||
Once questions are answered, I can:
|
||||
1. Provide detailed Docker Compose configuration for Wiki.js with read-only UI and secrets integration
|
||||
2. Design the LangGraph StateGraph specification (node definitions, edge conditions, state schema)
|
||||
3. Define the patch-note-to-wiki mapping schema
|
||||
4. Create the content import runbook for Agent A
|
||||
5. Implement the standard metadata schema and validation rules
|
||||
6. Configure LangSmith dashboards for wiki content monitoring
|
||||
Reference in New Issue
Block a user