Development roadmap
The roadmap sequences work across four phases: Wireframe migration, Presence and chat, File services, and Administration. Items are organised into phases, steps, and measurable tasks with acceptance criteria and explicit dependencies. Timeframes are intentionally omitted — this is a hobby project with production-grade ambitions, not a sprint backlog with a burn-down chart.
How to read roadmap status
The design set is broader than the currently shipped runtime. Some subsystems already have detailed schemas, ADRs, and verification notes even when the transport wiring still sits on the roadmap. The status badges below are therefore part of the product story, not decorative metadata.
Shipped and evidenced. The capability is implemented for the scope named here and backed by tests or verification.
Real code exists, but only for the narrower behaviour called out. Compatibility, routing, or subsystem parity remains incomplete.
The design may already be specific, but the runtime work is not yet complete. Detailed docs do not imply shipped feature coverage.
Phase 1: Wireframe Migration
Establish the transport layer and protocol codec. Migrate core transaction handling from the legacy codebase to the hexagonal architecture. Verify correctness through property-based testing and formal models.
Transaction codec implementation
SupportedByte-level frame parsing and serialisation for the current routed subset, with shared big-endian header handling, XOR detection and decoding, and multi-fragment reassembly across the protocol surface.
Handshake validation
SupportedProtocol identifier verification. Version negotiation. Preamble structure validation. Rejection of malformed handshakes before domain logic executes.
Login transaction routing
PartialTransaction ID 0x006B dispatch. Credential validation. Session establishment. Token generation. Reply frame construction. Authentication failure handling.
Phase 2: Presence and Chat
User presence tracking, public and private chat, and broadcast notifications. The schema work already covers lobby semantics, invite flows, membership tables, subjects, and persisted history, but most of that transport wiring still belongs to this phase rather than to current runtime support.
User list synchronisation
PlannedTransaction 0x012C (user list). Delta updates on join/leave. Icon and colour assignment. Idle detection. Away status propagation.
Public chat broadcast
PlannedTransaction 0x0069 (chat send). Public lobby auto-join semantics. Join and leave notifications. XOR-aware outbound text. Message history persistence. Rate limiting.
Private messaging
PlannedDirect messages modelled as private chats. Invite, accept, and decline flows. Group-chat membership via persisted tables. Subject updates. Delivery confirmation and history retention.
Phase 3: File Services
File transfer, news hierarchies, and folder navigation. The design already splits file bytes into object storage while keeping hierarchy, aliases, comments, drop-box flags, and ACLs in the database. This phase wires that richer model into the runtime and verifies the resulting permission and threading invariants.
File listing and navigation
PlannedTransaction 0x00C8 (get file list). FileNode tree traversal. Metadata and comment encoding. Alias visibility. Drop-box hiding and upload-only visibility rules. Folder and per-file ACL filtering.
Download initiation
PlannedDownload and upload negotiation over transfer sockets. Resume support for partial transfers. Object-store streaming. Move, rename, delete, GetFileInfo, SetFileInfo, MakeFileAlias, DownloadFolder, and UploadFolder behaviour.
News hierarchy
PlannedBundles versus categories. Recursive path resolution. Article parent, previous, next, and first-child pointers. Read and unread assumptions. Category visibility and posting rights. Reply posting remains explicit implementation work.
Phase 4: Administration
User account management, permission administration, server configuration, and logging. Implement the privilege escalation model and audit trail. Verify access control invariants.
User account creation
PlannedTransaction 0x015E (create user). Password hashing. Permission assignment. Quota allocation. Account activation. Email verification (optional).
Permission management
PlannedTransaction 0x0160 (modify user). Privilege bitmap editing. Role assignment. Capability delegation. Permission inheritance. Audit logging.
Server configuration interface
PlannedTransaction 0x0168 (server settings). MOTD editing. Banner customisation. Port configuration. Rate limit tuning. Feature toggles.
Completed items retain their acceptance criteria and evidence references so the roadmap doubles as a decision log. Each entry links to the relevant ADRs and verification artefacts.
Contributing
Proposals for new features follow the ADR process. Implementations require property-based tests and formal verification where applicable.