Catalog npm
PACKAGE EXPLORERView in registry

@0xhoneyjar/quests-protocol

npm

Sealed wire-format schemas for quest engagement — substrate-graded step submission + verdict (instance-1 · cycle 2026-05-03). Future shapes: quest defs, completion criteria, badges, raffles, completion events.

effectfreesideprotocolquestsschema
Versions collected3
Direct dependencies2From release 0.1.2
Last observed21 Oct, 08:56 UTC

README

Current package documentation

packages/protocol — sealed quest schemas

Wire-format contracts for quest engagement. Bridges every freeside-quests consumer (worlds, ruggy, dashboards, future MCP wrappers) to a single coherent vocabulary.

Contract version: 1.0.0 · authority: Effect Schema · sealed.

Current contents

Cycle 2026-05-03 substrate-integration (instance-1) lands the substrate-step submission/verdict pair — the over-the-wire envelope for substrate-graded activity steps in cubquests-interface.

exportpurpose
SubstrateStepSubmissionGateway → Kafka → construct. Discriminated payload (essay/url/structured), trace correlation, lowercased EVM wallet, contract-version stamping.
SubstrateStepVerdictConstruct → Kafka → resolution listener. Status (APPROVED / REJECTED / NEEDS_HUMAN), confidence on [0,1], human-readable reasoning, optional per-construct dimensions.
SubstrateStepPayloadDiscriminated union of supported submission shapes. Additive minor bumps.
VerdictStatusLiteral union — terminal states + human-routing.
SUBSTRATE_STEP_CONTRACT_VERSION"1.0.0" — semver string for wire-format compatibility checks.

Three boundaries validate against these schemas:

  1. freeside-quests/apps/api gateway — validates inbound submission, wraps in Hounfour CompletionRequest, publishes to Kafka.
  2. Substrate construct (e.g. 0xHoneyJar/construct-lore-essay-grader) — validates narrower per-construct input; emits verdict back into the result topic.
  3. freeside-quests/apps/worker resolution listener — validates inbound verdict before any DB update, badge issuance, or Discord ping.

Doctrine

Substrate-graded steps are a primitive of the substrate-construct convention. See ~/vault/wiki/concepts/substrate-mental-model-for-product-builders.md — the operator authors lore + grading instructions; the construct enforces them. The protocol package owns the seam.

Future shapes

Source: world-sprawl/cubquests/ + world-sprawl/cubquests-dashboard/. Per ../../docs/EXTRACTION-MAP.md. Not yet shipped:

filepurpose
quest.schema.tsQuest definition — title, description, completion criteria, rewards, partner attribution, dates
completion-criteria.schema.tsTyped completion criteria (held NFT count, trait match, social action, onchain action, partner-specific)
badge.schema.tsBadge definition + issuance criteria + visual asset references
raffle.schema.tsRaffle entry + draw + winner schemas
event.schema.tsQuest-completion NATS event shape (quests.completion.{world}.{quest_id}). NEW.
webhook-payload.schema.tsHMAC-signed webhook payload format. NEW.
types.tsBranded TS types — QuestId, BadgeId, CompletionEventId, PartnerSlug

Governance

Same as freeside-worlds/packages/protocol/VERSIONING.md — imported verbatim from loa-constructs/.claude/schemas/VERSIONING.md. Enum-locked, additive-only minors. Major bumps require new file + migration plan + stable $id.

Consumers

  • freeside-quests/packages/engine — substrate-step dispatch validates against these schemas
  • freeside-quests/packages/ports/ — type ports off these schemas (post-extraction)
  • freeside-quests/packages/adapters/quest-engine-client.ts — validates over wire (post-extraction)
  • freeside-quests/packages/mcp-tools/ — agent-callable surface (post-extraction)
  • world-sprawl/cubquests-dashboard/ — impl validates inputs/outputs against these (post-extraction)
  • 0xHoneyJar/freeside-ruggy — consumes event schemas + completion fan-out (post-extraction)
  • freeside-worlds — world manifests reference compose_with: freeside-quests
  • (future worlds) Purupuru Year 2, Honey Port, Mibera — typed access via ports

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 3

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.2Registry latest4 May 20262
0.1.14 May 20262
0.1.04 May 20262

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
0xhoneyjar/freeside-quests

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 08:56 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:813e25c1fccfbe6a5a7e59d1bacf28906448043a1c6e6b72829a83a7e2d6ac44