Skip to content

feat(scrolls): expose download progress across catalog - #70

Closed
IOHelpMe wants to merge 3 commits into
highcard-dev:masterfrom
IOHelpMe:marvin/hig-24-improve-fetching-scroll-progress-visibility
Closed

feat(scrolls): expose download progress across catalog#70
IOHelpMe wants to merge 3 commits into
highcard-dev:masterfrom
IOHelpMe:marvin/hig-24-improve-fetching-scroll-progress-visibility

Conversation

@IOHelpMe

@IOHelpMe IOHelpMe commented Jul 23, 2026

Copy link
Copy Markdown

Summary

  • instrument every published SteamCMD-based LGSM and Rust Scroll through the shared druid progress steamcmd adapter
  • route measurable Minecraft, Cuberite, Oxide, and Hytale HTTP payloads through the central druid progress download producer
  • give Forge and non-measurable Hytale work stable, truthful opaque installation phases instead of fake percentages
  • pin progress-capable procedure images to v0.1.258 instead of mutable stable tags
  • retarget embedded procedure images when publishing local or preview artifacts
  • make plain-HTTP local seeding use druid:local and druid:local-steamcmd
  • enforce catalog-wide classification so a newly published Scroll cannot silently bypass the progress contract

Dependency and merge order

This consumes the producers added by highcard-dev/druid-cli#97.

  1. release druid-cli#97 as v0.1.258
  2. merge this PR
  3. merge highcard-dev/monorepo#318

Validation

  • go test -count=1 ./...
  • bash -n scripts/push.sh
  • fake publication verifies embedded images for explicit preview targets and the plain-HTTP local seed path
  • catalog regression validates every released Scroll family
  • make -n k3d-build-pull-image confirms both required local images
  • git diff --check

End-to-end evidence

  • Cuberite exercised the real HTTP producer and reached Active
  • Project Zomboid exercised the real SteamCMD producer and completed installation
  • a realistic sparse SteamCMD trace verified speed, gated ETA, stall handling, and recovery without another multi-gigabyte game download

Backend and SPA PRs:

@druid-infra

Copy link
Copy Markdown
Collaborator
Error: This repo is not allowlisted for Atlantis.

@IOHelpMe

Copy link
Copy Markdown
Author

GPT-5.6 implementation is in 86ad46d2643953ed5907de35fc642b06718fdbd6.

Only the ARK update and auto-install procedures are instrumented. The wrapper preserves the existing LGSM/SteamCMD output and process result while emitting validated download/verify/install measurements consumed by highcard-dev/druid-cli#97.

Fresh verification:

  • go test ./... — passed
  • bash scripts/validate_all_scrolls.sh — the complete catalog passed
  • git diff --check — passed
  • fresh local ARK deployment — approximately 9m15s installation, 249 progress updates, then successful launch to Active

Merge order: highcard-dev/druid-cli#97 → this PR → highcard-dev/monorepo#318.

@IOHelpMe

Copy link
Copy Markdown
Author

@MarcStdt this is ready for review. GitHub did not allow IOHelpMe to create a formal review request on this cross-fork PR; it depends on highcard-dev/druid-cli#97 and should merge before highcard-dev/monorepo#318.

@IOHelpMe IOHelpMe changed the title feat(ark): report SteamCMD installation progress feat(scrolls): expose download progress across catalog Jul 23, 2026
@IOHelpMe

Copy link
Copy Markdown
Author

Follow-up after senior review:

  • expanded progress coverage from ARK to every published SteamCMD/HTTP-capable Scroll
  • added truthful opaque phases where a total is not measurable
  • removed mutable progress runtime tags, pinned the v0.1.258 contract, and fixed local/preview artifact retargeting
  • added catalog-wide and fake-publication regression coverage; full Scrolls Go suite passes

Merge gate: druid-cli#97 must be released as v0.1.258 before this PR is merged/published.

Latest fix commit: 90ef3b21.

@IOHelpMe

Copy link
Copy Markdown
Author

Closing because HIG-24 was deliberately reduced to the existing SnapshotProgress signal. The clean rewrite requires no Scroll catalog instrumentation, SteamCMD parsing, HTTP download wrappers, or Scroll-specific changes; the relevant implementation now lives only in druid-cli#97 and monorepo#318.

@IOHelpMe IOHelpMe closed this Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants