Repository navigation
Version 1 visual guide
Generated from
docs/explanation/visual-guide.md. Edit that file in the repository: changes made in the wiki are overwritten.
This guide describes the complete first-version design agreed with Gihed Annabi. The product scope remains the source of product requirements. The diagrams explain how those requirements fit together; they do not mark unimplemented features as delivered.
Start with use cases, then the domain model and components. The sequence and state diagrams explain normal operation, failure handling, and decisions that require a person.
| Question | Diagram collection |
|---|---|
| Who can do what? | Use cases |
| What information belongs together? | Domain model |
| Which part does the work? | Components and system boundaries |
| How do sign-in, pairing, sync, and approval work? | Account and character sequences |
| How do scheduling, signup, publication, and raid night work? | Raid sequences |
| How do states and readiness decisions change? | State and decision models |
| What runs today? | Architecture and implementation status |
All views describe the intended version 1 unless their caption explicitly says current local development. Class diagrams describe domain concepts and multiplicities, not database tables or a final persistence schema. Component names describe responsibilities; they do not prescribe a separate service for every box. Messages in sequence diagrams are logical operations, not implemented application programming interface (API) routes.
Each picture links to its full-size Scalable Vector Graphics (SVG) export for zooming. Its editable Mermaid or PlantUML source appears directly below it. Use-case diagrams use Unified Modeling Language (UML) actors and use cases; other diagrams use Mermaid. The diagram maintenance guide explains how to regenerate and validate the exports.
- One Discord identity can approve many characters across multiple WoW accounts.
- A snapshot records what was observed. An incomplete scan does not prove a character has no raid save.
- Character ownership approval, signup availability, readiness, and roster assignment are separate decisions.
- The website and Discord bot update the same signup and apply the same community permissions.
- A published composition selects at most one character per player.
- Every required raid target is evaluated at the scheduled start, using the relevant realm's rules.
- A confirmed active lock blocks participation. An unknown verdict can receive a visible, reasoned officer exception.
- A schedule or snapshot change rechecks published selections; no automatic substitution occurs.
- Retry handling preserves one logical operation. A failed Discord message does not erase the saved signup or roster.
The diagrams expose these details without claiming a completed implementation:
- Validate exact realm reset, shared difficulty, extension, and encounter rules against supported WoW 3.3.5a realms.
- Define freshness windows per source and document what proves a complete saved-instance scan.
- Define the evidence and authorized review process for conflicting character claims. Website approval alone is not cryptographic proof of ownership, and a local file can be modified.
- Finalize companion pairing, secure credential storage, snapshot schema, and addon roster import format.
- Choose the scheduling and delivery mechanisms that implement the illustrated retries and reminders.
- Select the production hosting topology. The local Aspire view is not a production deployment plan.
These are engineering details inside the version 1 scope, not features deferred to a later release.
- Product scope
- Architecture
- Visual guide
- Diagram maintenance
- Review a pull request
- Design a screen
- Test the addon
- Set up Discord
- Provision the server
- Glossary
- API contracts
- Addon snapshot contract
- Project automation
- Work management specification
- Warmane lockout evidence
- Planning
-
Decisions
- Index
- Foundation and authentication
- Character synchronization
- Documentation publication
- Protected automatic squash merges
- Viewed files before approval
- Operator review before a peer
- Auto-merge when ready
- Merge with the workflow token
- Meaningful review comments
- Read queries from the write database
- Website session and API trust
- Interactive Server rendering with Radzen
- Scalar API reference
- GitHub Wiki mirror
- Coverage gate
- Work item hierarchy
- Penpot mockups
- Generated Penpot mockups
- Dark design system
- SonarCloud findings
- Addon roster import
- Discord role checks
- Discord servers at sign-in
- Community roles
- Work item classification
- Work management specification adoption
- OVH test environment
- Environment secrets
- PostgreSQL
- Companion pairing
- WoW addon in Lua
- Windows companion in Avalonia
- Companion in the Microsoft Store
- Workflows on a self-hosted runner