Where the road goes next

Roadmap

What we’re building for Arctic Heritage, what’s holding each piece up, and the latest work on it. Updated automatically with every change we ship.

  • In Progress 0
  • Blocked 1
  • Planned 21
  • Done 12

Decisions

  • Done AH-090 Plugin breakage on game updates is accepted no commits yet
    Status
    Done
    Blockers
    None

    Like every plugin that patches game memory, ours may break on game updates. We handle it with signature scanning, a verified-build allowlist, automated checks against every new game build, and a test server before each release. Players are version-locked to the last verified ATS build (via Steam's previous-version branches) until fixes ship together.

  • Done AH-091 Mod distribution: aggregate on the player's PC no commits yet
    Status
    Done
    Blockers
    None
    Depends on
    AH-026, AH-027

    We publish a manifest, not mods. The installer downloads each free mod from its official source, verifies the pinned version and checksum, and merges them locally into deterministic packs (LLCC-style P0..Pn) that must match the server's export byte for byte. Paid mods are never downloaded; the installer only checks they are present. Mods whose authors grant permission may also be hosted by us.

Foundation

  • Done AH-001 Convoy server 3 commits · 17 hours ago
    Status
    Done
    Blockers
    None

    ATS dedicated server in its own container: 128 player slots (g_max_convoy_size), modded session, self-update on restart, status reporter every 30 seconds.

    Lesson learned: editing optional_mod flags in the server export breaks joining ("Data not compatible with the server"); the server checks the package list against the map data.

    Recent work

    1. cda548d Fix job extraction for real game config order; add reprocessing
    2. b83e69b Add reusable optional-flag tool for server package exports
    3. 837b75b Add arcticheritage.net homepage and live convoy server status
  • Done AH-002 Telemetry protocol and offline simulator 8 commits · 22 hours ago
    Status
    Done
    Blockers
    None

    NDJSON protocol v1, signed hash-chained journal format, simulator with replay server so every consumer can be developed without driving.

    Recent work

    1. 72ea376 Run the API as a LAN service, add Windows smoke test, update design
    2. 8ab3bfc Add the Rust telemetry plugin (SCS SDK 1.15)
    3. 4f02618 Add driver client: enrollment, journal sync and live follow
    4. 429d2aa Add API enrollment, verified session sync and job extraction
    5. e2a62c9 Add journal, offline catch-up and signed telemetry integrity
    6. 8cbf74d Add telemetry protocol v1, design doc and offline simulator
    7. 2bdce92 Add SCS telemetry SDK 1.15 reference
    8. 6f38122 Scaffold Arctic Heritage monorepo
  • Done AH-003 Telemetry plugin (Rust) 2 commits · 22 hours ago
    Status
    Done
    Blockers
    None

    All SCS SDK 1.15 channels, configurations and events; signed journal; local TCP stream. First live session on 2026-10-03.

    Recent work

    1. 72ea376 Run the API as a LAN service, add Windows smoke test, update design
    2. 8ab3bfc Add the Rust telemetry plugin (SCS SDK 1.15)
  • Done AH-004 Driver client 5 commits · 27 min ago
    Status
    Done
    Blockers
    None

    ah-client: DPAPI-protected install key, enrollment, journal sync with catch-up, live follow, full-rate record.

    Recent work

    1. 7e0003c Re-link enrolled PCs with driver codes; grant the Driver role
    2. 5e3d1c4 Add ah-client record for full-rate live recordings
    3. 4f02618 Add driver client: enrollment, journal sync and live follow
    4. 429d2aa Add API enrollment, verified session sync and job extraction
    5. 6f38122 Scaffold Arctic Heritage monorepo
  • Done AH-005 API: enrollment, session sync, jobs 11 commits · 27 min ago
    Status
    Done
    Blockers
    None

    Verified session sync, job extraction with plausibility flags, reprocessing from stored chunks, convoy server status.

    Recent work

    1. 7e0003c Re-link enrolled PCs with driver codes; grant the Driver role
    2. 6066a84 Add Discord login, driver accounts, enrollment codes and delivery posts
    3. 35a1402 Add roadmap guardrails: required Refs and ROADMAP.md validation
    4. 136eb99 Add the public roadmap page driven by ROADMAP.md and git history
    5. cda548d Fix job extraction for real game config order; add reprocessing
    6. ba89a37 Redirect www.arcticheritage.net to the bare domain
    7. 86149e5 Add the Join page, mobile menu and public-exposure hardening
    8. 837b75b Add arcticheritage.net homepage and live convoy server status

    and 3 earlier commits

  • Done AH-006 Website: homepage and Join page 10 commits · 32 min ago
    Status
    Done
    Blockers
    None

    arcticheritage.net via Cloudflare Tunnel: live server status, recent deliveries, a Join page generated from the server's package export.

    Recent work

    1. b1153e1 Show the driver on delivery lists
    2. 6066a84 Add Discord login, driver accounts, enrollment codes and delivery posts
    3. 859a949 Fix the roadmap item collapse icon
    4. 136eb99 Add the public roadmap page driven by ROADMAP.md and git history
    5. f7b5d87 Update server package list for game 1.61.3
    6. ba89a37 Redirect www.arcticheritage.net to the bare domain
    7. 86149e5 Add the Join page, mobile menu and public-exposure hardening
    8. 78a21e1 Tell players how to see the 128-player server

    and 2 earlier commits

  • Done AH-007 Infrastructure 9 commits · 41 min ago
    Status
    Done
    Blockers
    None

    Dev VM (Fedora), Postgres with nightly backups, website/API service, Gitea with GitHub mirror.

    Recent work

    1. 35a1402 Add roadmap guardrails: required Refs and ROADMAP.md validation
    2. cda548d Fix job extraction for real game config order; add reprocessing
    3. b83e69b Add reusable optional-flag tool for server package exports
    4. 837b75b Add arcticheritage.net homepage and live convoy server status
    5. e0a3b37 Exclude the Windows-only smoke test from pyright
    6. 72ea376 Run the API as a LAN service, add Windows smoke test, update design
    7. 8cbf74d Add telemetry protocol v1, design doc and offline simulator
    8. 4e3aed4 Run Postgres backup as a systemd user timer

    and 1 earlier commits

Now

  • Done AH-010 Public roadmap page 3 commits · 1 hour ago
    Status
    Done
    Blockers
    None

    This page: generated from ROADMAP.md and the git log, with status, blockers and recent commits per item. Doubles as the working plan for contributors and AI agents.

    Recent work

    1. 4bc1a99 Mark the public roadmap page done
    2. 859a949 Fix the roadmap item collapse icon
    3. 136eb99 Add the public roadmap page driven by ROADMAP.md and git history
  • Blocked AH-011 Join page matches the server's required mods no commits yet
    Status
    Blocked
    Blockers
    Marking paid truck mods optional by editing the export breaks joining; need another way (or accept them as required)
    Depends on
    AH-001, AH-006

    The server currently runs the unedited export (only Alaska NTTF and the Cargo Add-On are optional), but the Join page still shows the earlier 19 required / 28 optional split.

  • Planned AH-012 First real-drive fixture no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-002

    Gzip support in ah-telemetry-sim, then store the 2026-10-03 Prudhoe Bay to Mikkelsen Bay recording as the first fixture from the real game.

  • Done AH-013 Discord integration 6 commits · 21 min ago
    Status
    Done
    Blockers
    None
    Depends on
    AH-005

    Done: log in with Discord (members of the Arctic Heritage Discord only), account page, one-time enrollment codes that link a PC to the driver, delivery posts to #deliveries, driver names on the site, ah-client enroll --code re-links an already enrolled PC (client 0.1.1), and the Driver role (created by the bot) after a first verified delivery.

    Log in with Discord (replaces the enrollment code), driver accounts linked to installs, delivery posts, roles. The bot is registered and already in the Discord, waiting on the backend.

    Recent work

    1. bcb22b6 Mark Discord integration done
    2. 7e0003c Re-link enrolled PCs with driver codes; grant the Driver role
    3. b1153e1 Show the driver on delivery lists
    4. 6066a84 Add Discord login, driver accounts, enrollment codes and delivery posts
    5. ac3ec9f Roadmap: unblock Discord, add internal tooling items
    6. 6f38122 Scaffold Arctic Heritage monorepo
  • Planned AH-014 Live map and stream overlays no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-004, AH-005

    Client relays live position and status over WebSocket; MapLibre live map on the website; local OBS overlay from the player's own stream.

  • Planned AH-015 Server, Drivers, Convoys and Tracker pages no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-006

    Replace the remaining "coming soon" pages: server details, leaderboards from verified jobs, convoy schedule, tracker download and how verification works.

Internal tooling

  • Done AH-030 Roadmap guardrails 5 commits · 41 min ago
    Status
    Done
    Blockers
    None
    Depends on
    AH-010

    A commit hook that rejects commits without a valid Refs: AH-NNN line, and a format check on ROADMAP.md (known IDs, valid statuses, no duplicate IDs), so tracking cannot drift.

    Recent work

    1. 35a1402 Add roadmap guardrails: required Refs and ROADMAP.md validation
    2. ac3ec9f Roadmap: unblock Discord, add internal tooling items
    3. 837b75b Add arcticheritage.net homepage and live convoy server status
    4. 4f02618 Add driver client: enrollment, journal sync and live follow
    5. 6f38122 Scaffold Arctic Heritage monorepo
  • Planned AH-031 Continuous integration 1 commit · 1 hour ago
    Status
    Planned
    Blockers
    Choose where CI runs (Gitea Actions runner on the VM, or GitHub Actions)
    Depends on
    AH-030

    Every push: Python and Rust checks and tests, the Windows plugin DLL, and client wheels as downloadable artifacts. Foundation for game-update checks (AH-023) and the installer (AH-028).

    Recent work

    1. ac3ec9f Roadmap: unblock Discord, add internal tooling items
  • Planned AH-032 One-command deploys 1 commit · 1 hour ago
    Status
    Planned
    Blockers
    None
    Depends on
    AH-031

    ops/deploy: update, migrate, restart, health-check and roll back automatically for the website/API; the same for convoy server package deploys.

    Recent work

    1. ac3ec9f Roadmap: unblock Discord, add internal tooling items
  • Planned AH-033 Scale back the Discord bot's permissions 1 commit · 24 min ago
    Status
    Planned
    Blockers
    Waiting for the Discord server setup to finish
    Depends on
    AH-013

    The bot has Administrator for the initial server setup. Afterwards, reduce it to the permissions its features use (Send Messages, Embed Links, Manage Roles, plus any added later) and rotate the bot token.

    Recent work

    1. cc68097 Roadmap: scale back the bot's Administrator permission after setup

Discord

  • Planned AH-034 Discord server layout as code 2 commits · 9 min ago
    Status
    Planned
    Blockers
    Final sign-off on roles, channels and onboarding
    Depends on
    AH-013

    The server's roles, categories, channels, permissions and onboarding defined in ops/discord/layout.yaml and applied by a script with a preview mode; never deletes unless told to; every change logged to #bot-log. Roles: Admin, Moderator, Convoy Host, VTC Representative, Partnered VTC (+ one role per partner VTC), Sponsor, Streamer, Driver, Member, and self-assigned Convoy Pings / Server Status / Stream Pings.

    A #suggestions forum with required topic tags (Convoys, Website, VTC System, Tracker & Bot, Mods) and moderator-only status tags (Under review, Planned, Declined, Done). Later the bot links Planned suggestions to roadmap items and marks them Done when the item ships.

    Recent work

    1. 6d6bf58 Roadmap: suggestions forum with topic and status tags
    2. e1d8e5c Roadmap: Discord layout, bot commands, mod list, streams, convoy events
  • Planned AH-035 Bot service and slash commands 3 commits · 10 min ago
    Status
    Planned
    Blockers
    None
    Depends on
    AH-013, AH-034

    discord.py bot sharing the API's database. First commands: /link, /profile, /leaderboard, /lastjob, /server, /mods, /online, /roadmap, /announce. VTC commands are read-only (/vtc info, /vtc roster, /vtc stats) except /vtc invite @driver, which creates the same pending invite as the website (AH-039) and DMs the invitee a link. Dispatch, truck and economy commands come with AH-020 to AH-022.

    Recent work

    1. 7b6703d Roadmap: VTC management on the website, read-only VTC info in Discord
    2. e1d8e5c Roadmap: Discord layout, bot commands, mod list, streams, convoy events
    3. 6f38122 Scaffold Arctic Heritage monorepo
  • Planned AH-036 Mod list in Discord, generated automatically 1 commit · 14 min ago
    Status
    Planned
    Blockers
    None
    Depends on
    AH-035, AH-006

    A pinned message in #how-to-join built from the same data as the website's Join page (the server's package export + mods.json), edited in place after every package deploy.

    Recent work

    1. e1d8e5c Roadmap: Discord layout, bot commands, mod list, streams, convoy events
  • Planned AH-037 Live stream notifications (#live-now) 1 commit · 14 min ago
    Status
    Planned
    Blockers
    Twitch/YouTube developer apps to register
    Depends on
    AH-035

    Twitch EventSub webhooks, YouTube push notifications + Data API, polling for Kick and others. Posts carry the stream URL (Discord's native preview) plus a branded embed that updates while live and turns into a "was live" summary with the recording link.

    Recent work

    1. e1d8e5c Roadmap: Discord layout, bot commands, mod list, streams, convoy events
  • Planned AH-038 Convoy events 1 commit · 14 min ago
    Status
    Planned
    Blockers
    None
    Depends on
    AH-035, AH-015

    /convoy create|list|rsvp|start|end: Discord scheduled event, branded announcement with a cover image generated from the brand pack's event templates, website schedule entry, and an automatic post-convoy summary from telemetry.

    Recent work

    1. e1d8e5c Roadmap: Discord layout, bot commands, mod list, streams, convoy events
  • Planned AH-039 VTC management on the website 1 commit · 10 min ago
    Status
    Planned
    Blockers
    None
    Depends on
    AH-013, AH-034

    VTCs are managed on arcticheritage.net: owners and managers create their VTC (name, tag, logo, description, links, recruiting status) and manage the roster and ranks. Invites, from the website or /vtc invite in Discord, appear as an Accept / Decline prompt on the invitee's next login; the inviter is notified either way. Partnered VTC Discord roles are synced from the website roster. Discord only displays VTC information.

    Recent work

    1. 7b6703d Roadmap: VTC management on the website, read-only VTC info in Discord

Later

  • Planned AH-020 Reactive economy no commits yet
    Status
    Planned
    Blockers
    Decide: our own GDC-style economy mod, or GDC's mod with our layer on top

    Supply and demand driven by verified deliveries. Live layer on the server (price index, shortages, surpluses) plus a periodically regenerated, legitimately optional in-game mod, the same pattern GDC's Companion App uses. Goal: owner-operator status is hard to reach but the gameplay loop stays rewarding.

  • Planned AH-021 Dispatch system no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-020

    Contract board priced from the economy model; drivers claim contracts, matching verified deliveries complete them, bonuses paid in the community economy.

  • Planned AH-022 VTC company trucks (LLT pilot) no commits yet
    Status
    Planned
    Blockers
    Decide how to handle truck ownership (an injected truck could be sold)
    Depends on
    AH-021, AH-023

    Company assigns a truck (injected into the save while the game is closed); the SDK input device locks the parking brake/ignition on unassigned loads; company fuel card and maintenance charged to the VTC account.

  • Planned AH-023 Plugin memory module and release pipeline no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-003, AH-025

    Signature-scanned memory patches behind a verified-build allowlist; CI watches Steam for new ATS builds and checks every signature offline before players update.

  • Planned AH-024 Steam session detection no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-003

    Detect which convoy server a player is on through Steam (as LLCC's client does), for accurate online lists.

  • Planned AH-025 Test server no commits yet
    Status
    Planned
    Blockers
    None

    A second convoy server and test profile for smoke-testing every game update, plugin build and mod pack before release.

  • Planned AH-026 Mod manifest no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-001

    Every free mod in the server's set: author, official source, pinned version, checksum, pack placement, and any redistribution permission granted.

  • Planned AH-027 Deterministic pack builder no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-026

    Merges pinned mods into P0..Pn packs that build byte-identical on every PC, so locally built packs match the server's export.

  • Planned AH-028 Installer no commits yet
    Status
    Planned
    Blockers
    None
    Depends on
    AH-004, AH-026, AH-027

    End-of-roadmap installer: client and plugin, enrollment, convoy size setting, mod download and local pack build, load order, version lock, and a "ready to join" check against the server.

Generated from our project plan at revision 6d6bf58.