Skip to content

Add app.focPlatform schema and manifest extension #79

Description

@snissn

Goal

Add a first-class app.focPlatform THS and generated manifest extension so Token Host Builder can scaffold FOC Platform apps without overloading generic upload or CRUD fields.

Parent tracker: FIL-Builders/foc-platform#3
Platform spec source: FIL-Builders/foc-platform spec.md section 10.

Scope

Define and validate a platform-specific schema/manifest contract for:

  • payment mode: platformWallet, smartAccount, contractTreasury, userPays, hybrid
  • billing mode: prepaid, credit, quotaOnly, hybrid
  • coordinator mode: hosted, netlify, remote, worker, sdk, browser-assisted
  • default copies and CDN policy
  • account id source: wallet, platform user hash, API relay
  • required idempotency behavior
  • compact receipt mode
  • per-account/provider dataset strategy
  • contract mode: hand-written registry, generated FOC module, generic CRUD prototype

The generated manifest should expose enough metadata for generated UI, upload adapters, coordinators, and admin/read surfaces to know which FOC Platform mode they are running against.

Non-Goals

  • Do not implement the full FOC Platform registry lifecycle in this issue.
  • Do not claim generic CRUD output is production-equivalent to FocPlatformRegistry.
  • Do not change Filecoin upload adapter behavior except as needed to carry metadata.

Milestones

  1. Add schema/types/lint support for app.focPlatform.
  2. Emit the corresponding manifest extension during build.
  3. Add or update a reference FOC Platform example schema.
  4. Document how the extension maps to the FOC Platform spec.
  5. Add focused schema and build artifact tests.

Required Evidence

  • Schema validation tests for valid and invalid app.focPlatform configs.
  • CLI build artifact test proving the manifest extension is emitted.
  • Updated docs/example showing how a generated platform app opts in.

Completion Criteria

This issue is complete when Token Host Builder can validate, emit, and document the minimum app.focPlatform metadata needed by the FOC Platform spec without implying production registry semantics are already generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions