Skip to content
df12 Productions Marrakesh Express Daemon
Roadmap

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.

Supported

Shipped and evidenced. The capability is implemented for the scope named here and backed by tests or verification.

Partial

Real code exists, but only for the narrower behaviour called out. Compatibility, routing, or subsystem parity remains incomplete.

Planned

The design may already be specific, but the runtime work is not yet complete. Detailed docs do not imply shipped feature coverage.

01

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

Supported

Byte-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.

Codec Verified

Handshake validation

Supported

Protocol identifier verification. Version negotiation. Preamble structure validation. Rejection of malformed handshakes before domain logic executes.

Protocol

Login transaction routing

Partial

Transaction ID 0x006B dispatch. Credential validation. Session establishment. Token generation. Reply frame construction. Authentication failure handling.

Auth
02

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

Planned

Transaction 0x012C (user list). Delta updates on join/leave. Icon and colour assignment. Idle detection. Away status propagation.

Presence

Public chat broadcast

Planned

Transaction 0x0069 (chat send). Public lobby auto-join semantics. Join and leave notifications. XOR-aware outbound text. Message history persistence. Rate limiting.

Chat XOR

Private messaging

Planned

Direct messages modelled as private chats. Invite, accept, and decline flows. Group-chat membership via persisted tables. Subject updates. Delivery confirmation and history retention.

Chat
03

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

Planned

Transaction 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.

Files

Download initiation

Planned

Download and upload negotiation over transfer sockets. Resume support for partial transfers. Object-store streaming. Move, rename, delete, GetFileInfo, SetFileInfo, MakeFileAlias, DownloadFolder, and UploadFolder behaviour.

Transfer

News hierarchy

Planned

Bundles 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.

News
04

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

Planned

Transaction 0x015E (create user). Password hashing. Permission assignment. Quota allocation. Account activation. Email verification (optional).

Admin

Permission management

Planned

Transaction 0x0160 (modify user). Privilege bitmap editing. Role assignment. Capability delegation. Permission inheritance. Audit logging.

Admin

Server configuration interface

Planned

Transaction 0x0168 (server settings). MOTD editing. Banner customisation. Port configuration. Rate limit tuning. Feature toggles.

Config

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.