Marvia-17
One distribution layer for every reusable capability
Extensions are one asset type among fifteen. Connectors, knowledge packs, templates, presets, blueprints and report templates all ship through the same publish, review, install and update path.
manifest-first
Every asset is described by a validated manifest before it exists anywhere else.
capability-driven
Assets declare capabilities and permissions; discovery and gating read those declarations.
versioned-everything
Assets, manifests, packs and collections are semver'd and immutable once published.
registry-discovery
Nothing is hardcoded. Categories, collections and listings resolve from registries.
Asset registry
Fifteen asset types across four categories
Adding a type is a registry entry, never new distribution code.
core
- Extension
- Capability bundle running on the extension platform.
- Connector
- Provider adapter for the connector platform.
- Knowledge Pack
- Curated knowledge objects and relations.
- Learning Pack
- Courses, lessons and exercises for the academy.
- Automation Packplanned
- Prebuilt workflows and scheduled commands.
- Prompt Packplanned
- Versioned prompt sets for the AI router.
design
- Template
- Page and content templates built on fixed schemas.
- Dashboard Preset
- Widget layout preset for the workspace dashboard.
- Widget Pack
- Additional widgets for the dashboard registry.
- Theme Packplanned
- Token overrides within the design system contract.
development
- Developer Tool
- Tooling for extension and connector authors.
- Starter Kit
- Opinionated scaffold for a new asset.
- Blueprint
- Reference architecture wired to kernel patterns.
content
- Content Template
- Schema-driven content structure for the content engine.
- Report Template
- Fixed-section report preset for the report engine.
Publishers
Six tiers, one identity
A publisher is a workspace identity; verification is granted in the platform console and is revocable.
Tiers
- Individual
- Solo creator with a personal profile.
- Organization
- Team publishing under one workspace identity.
- Official Team
- Marvia-approved, first-party assets.
- Verified
- Identity-verified publisher with a trust badge.
- Enterprise
- Business entity with contractual support terms.
- Community
- Open contributor; assets carry a community label.
Profile
- avatar
- Square identity image resolved from storage.
- name
- Display name shown on every listing.
- description
- Short profile summary, plain text.
- tier
- One of the six publisher tiers.
- verification
- unverified · pending · verified · revoked.
- assets
- Published asset ids owned by this publisher.
- downloads
- Lifetime install count across all assets.
- rating
- Weighted average rating with review count.
- revenue
- Creator net, read from the monetization platform.
- supportUrl
- Where users report problems.
- documentationUrl
- Canonical docs entry point.
- — A publisher identity is a workspace identity; there is no separate account system.
- — Verification is granted in the platform console and is revocable.
- — Official assets can only be published by the official team tier.
- — Revenue figures are read from the monetization platform, never stored twice.
Manifest and versioning
Manifest-first, fail-closed
An asset without a valid manifest cannot be published, installed or discovered.
Fields
- id
- Globally unique, immutable.
- name
- Human-readable display name.
- slug
- URL-friendly, unique per publisher.
- version
- Semantic version MAJOR.MINOR.PATCH.
- publisher
- Publisher identity id.
- type
- One of the registered asset types.
- category
- core · design · development · content.
- capabilities
- Declared capabilities the asset provides.
- dependencies?
- Other asset ids with version ranges.
- permissions
- Permissions requested at install time.
- license
- SPDX id or a named commercial licence.
- pricing
- Pricing model id resolved by monetization.
- compatibility
- Minimum (and optional maximum) kernel version.
- channel
- stable · beta · alpha.
- tags?
- Curation and collection membership.
- keywords?
- Search boosting terms.
Example manifest
id: seo-audit-pro
name: SEO Audit Pro
slug: seo-audit-pro
version: 1.4.2
publisher: pub_official_marvia
type: extension
category: core
capabilities: [snapshot.read, report.findings]
dependencies: [core-crawler@^2.0.0]
permissions: [snapshot.read, report.write]
license: MIT
pricing: usage-based
compatibility: { minVersion: 1.0.0 }
channel: stable
tags: [seo, audit]
keywords: [crawl, technical-seo]Release channels
- — MAJOR signals a breaking change and requires migration notes.
- — A published version is immutable; a fix is a new patch version.
- — Deprecation marks a version end-of-life with a replacement pointer.
- — Rollback reinstalls the previous compatible version without data loss.
Discovery
Registry-driven search, collections and ranking
Ranking inputs are declared weights, and a listing the workspace cannot install is filtered out rather than shown disabled.
Methods
- categories
- Twenty-plus predefined categories derived from the asset type registry.
- search
- Universal search across assets, publishers, collections and tags.
- collections
- Curated groups maintained by the platform or a publisher.
- featured
- Editorial slots surfaced on the marketplace home.
- trending
- Algorithmic ranking over installs, retention and recency.
- source
- Official versus community filtering.
Facets
Trending weights
- installs.7d
- 0.4
- retention.30d
- 0.3
- rating
- 0.2
- recency
- 0.1
Packs
- capability-pack
- Extensions + Connectors + Knowledge Objects
- experience-pack
- Templates + Dashboard Presets + Widget Packs
- configuration-pack
- Configuration presets applied at install time
- — Installing a pack installs every member atomically; a partial install rolls back.
- — A pack version pins each member version explicitly.
- — Uninstalling a pack leaves members that another pack still requires.
Publishing workflow
Automated validation before any human review
A rejection carries a reason and returns the asset to draft; approval and publication stay separate so releases can be scheduled.
Review checklist
- manifest
- Manifest schema validates and the version is new.
- permissions
- Requested permissions are justified by declared capabilities.
- dependencies
- Dependencies resolve without conflicts at the declared range.
- security
- Vulnerability scan is clean for bundled code and dependencies.
- behaviour
- No malicious behaviour, no undeclared network egress.
- quality
- Docs, support link and screenshots are present.
Validation engine
- manifest-schemaautomated
- Structural and semantic manifest validation.
- permission-auditautomated
- Requested permissions match declared capabilities.
- dependency-resolutionautomated
- No cycles, no conflicting version ranges.
- vulnerability-scanautomated
- Known CVEs in bundled dependencies.
- behaviour-scanautomated
- Static detection of undeclared egress or eval.
- compatibilityautomated
- Kernel version range is satisfiable.
- signatureplanned
- Publisher signature verification.
- — Validation is fail-closed: an unresolved check blocks publication.
- — Every scan result is written to the hash-chained audit trail.
- — A vulnerability found after publication can quarantine a version instantly.
Installation and updates
Resolve, authorize, acquire, verify, configure, enable
Installation is workspace-scoped, and rollback to the last known-good version is always available.
01
resolve
Resolve the manifest, dependencies and compatibility range.
02
authorize
Present requested permissions; installation stops without consent.
03
acquire
Charge through the monetization platform when the asset is paid.
04
verify
Check integrity and scan results before activation.
05
configure
Apply configuration presets and required settings.
06
enable
Register artifacts with the owning platform registry.
Update engine
- — A major update must ship migration notes and a rollback target.
- — Breaking changes are blocked when a dependent asset pins the old range.
- — A failed update rolls back to the previous version automatically.
Installation rules
- — Installation is workspace-scoped; nothing installs globally.
- — Uninstall removes artifacts but retains produced data until purged explicitly.
- — Rollback is always available to the last known-good version.
Licensing and analytics
Prices are declared here; charges happen in monetization
Entitlement is checked at install and again at enable; an expired entitlement disables an asset rather than deleting it.
Licence kinds
- open-source
- SPDX licence, free to install, source published.
- free
- No cost, proprietary terms.
- one-time
- Single purchase, perpetual use of the purchased major.
- subscription
- Recurring entitlement checked at runtime.
- usage-based
- Metered through the monetization platform per operation.
- enterprise
- Contractual terms, seat-bound, invoiced.
- — Entitlement is checked at install and again at enable; it is never cached indefinitely.
- — An expired entitlement disables the asset rather than deleting it.
- — Refunds revoke the entitlement through the monetization refund engine.
- — The marketplace never charges directly; it declares a price and delegates.
Revenue metrics
- — Publisher analytics are aggregated; no workspace is identifiable.
- — Revenue numbers are read from the monetization ledger, never recomputed.
- — Metrics are eventually consistent and stamped with their computation time.
Publisher dashboard
- Active installations
- metric
- 30-day retention
- chart
- Version adoption
- chart
- View to install conversion
- metric
- Revenue and payouts
- table
- Ratings and reviews
- list
- Crash reports
- list
Permissions and SDK
Eight permissions and a ten-function SDK
No SDK function writes a balance, an entitlement or a ledger row directly.
Permissions
- marketplace.browse
- View listings, collections and publisher profiles.
- marketplace.install
- Install and enable an asset in the workspace.
- marketplace.purchase
- Buy a paid asset through the monetization platform.
- marketplace.publish
- Submit an asset for validation and review.
- marketplace.review
- Approve or reject submitted assets.
- marketplace.curate
- Manage collections, featured slots and categories.
- marketplace.analytics
- Read publisher analytics and revenue reports.
- marketplace.moderate
- Quarantine, deprecate or delist a published asset.
SDK surface
- publishAsset(manifest): Promise<AssetId>
- Submit a validated manifest for review.
- installAsset(assetId, version?): Promise<InstallResult>
- Install into the current workspace.
- updateAsset(assetId): Promise<Version>
- Move an installation to the newest compatible version.
- uninstallAsset(assetId): Promise<void>
- Remove artifacts and revoke permissions.
- rollbackAsset(assetId, version): Promise<Version>
- Return to a known-good version.
- registerCollection(name, assetIds): CollectionId
- Create or update a curated group.
- searchAssets(query, facets?): Listing[]
- Query the registry with declared facets.
- getEntitlement(assetId): Entitlement
- Read the current licence state.
- getAnalytics(assetId, range): AnalyticsReport
- Aggregated publisher metrics.
- checkUpdates(): UpdateCandidate[]
- List available updates with breaking-change flags.
- — No SDK function writes a balance, an entitlement or a ledger row directly.
- — Every SDK call is permission-checked against the caller's workspace role.
- — Publishing without a valid manifest throws before any network call.
Surfaces and standards
Six surfaces, one performance contract
The marketplace becomes Marvia's primary distribution layer without a second install path appearing anywhere.
Surfaces
- Marketplace home
- Featured, trending, categories and collections.
- Asset detail
- Manifest summary, permissions, versions, reviews and install action.
- Publisher profile
- Tier, verification, assets, downloads and support links.
- Installed assets
- Workspace inventory with update, disable and rollback actions.
- Publisher studio
- Draft, submit, version and monitor owned assets.
- Marketplace console
- Review queue, curation, moderation and scan results.
Performance
- — Search is lazy and incremental; nothing loads the full catalogue.
- — Long lists virtualise; only visible rows render.
- — Listing metadata is cached and revalidated in the background.
- — Update checks run off the critical path and never block navigation.
Deliverables
- — Marketplace platform (discovery and installation)
- — Publisher platform (creation and management)
- — Validation engine
- — Discovery engine (search and collections)
- — Installation and update engines
- — Review workflow
- — Licensing framework
- — Analytics dashboard
- — Marketplace console
- — SDK and documentation