Skip to content

feat(shell-desktop): surface hard-currency handling in local runtime flows #899

@hansjm10

Description

@hansjm10

Problem

The content schema now supports resource economy classification, including hard currencies, but local shell/runtime flows do not currently make that distinction visible or actionable. Sample or debug content can mark a resource as hard while the desktop shell still treats it like ordinary local progression.

That may be acceptable for offline/dev-only scenarios, but it should be explicit. Otherwise shell behavior can blur the boundary between client-authoritative soft progression and currencies that are meant to be server-authoritative or ledger-mediated.

Proposed solution

Define how desktop shell and local runtime tooling should handle resources classified as hard currency.

Possible approaches:

  • Render a clear hard-currency indicator in shell/debug UI.
  • Gate hard-currency mutation commands behind an explicit dev/test mode.
  • Add diagnostics warnings when local-only flows mutate hard-currency resources.
  • Document that content-sample hard currencies are local simulation fixtures when used in shell-only contexts.
  • Add validation or tooling checks for packs that mark resources as hard but do not configure a ledger/server integration path.

Acceptance criteria

  • Shell/debug UI exposes when a resource is classified as hard currency.
  • Local mutation of hard-currency resources is either explicitly allowed in dev mode or reported as a diagnostic warning.
  • Tests cover snapshot/rendering or diagnostics behavior for hard vs soft resources.
  • Documentation explains expected hard-currency behavior in local shell, tests, and production-integrated runtimes.
  • The behavior is distinct from the already-completed schema classification work in feat(schema): classify hard vs soft currencies #400.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions