@wowok/agent-mcp 3.3.1 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chain-semantics/field-capability.js +1 -1
- package/dist/chain-semantics/freeze-map.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/guard-verbs.js +1 -1
- package/dist/chain-semantics/object-graph.js +1 -1
- package/dist/composition/audit.d.ts +5 -0
- package/dist/composition/audit.js +1 -1
- package/dist/composition/blueprint-view.d.ts +0 -1
- package/dist/composition/blueprint-view.js +1 -1
- package/dist/composition/compile.d.ts +4 -2
- package/dist/composition/compile.js +1 -1
- package/dist/composition/inflight.d.ts +8 -4
- package/dist/composition/inflight.js +1 -1
- package/dist/customer/industry-risks.js +1 -1
- package/dist/customer/user-preferences.js +1 -1
- package/dist/extensions/business-modules.d.ts +7 -2
- package/dist/extensions/business-modules.js +1 -1
- package/dist/extensions/industry-audit.spec.js +1 -1
- package/dist/extensions/industry-pack.d.ts +3 -2
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/modes.js +1 -1
- package/dist/graph/onchain/project-relationship.js +1 -1
- package/dist/knowledge/acquisition-flywheel.js +1 -1
- package/dist/knowledge/allocation-ledger.d.ts +4 -1
- package/dist/knowledge/allocation-ledger.js +1 -1
- package/dist/knowledge/allocation-puzzle.d.ts +1 -0
- package/dist/knowledge/allocation-puzzle.js +1 -1
- package/dist/knowledge/allocation-risk.d.ts +1 -1
- package/dist/knowledge/allocation-risk.js +1 -1
- package/dist/knowledge/arb-fund-facts.d.ts +5 -0
- package/dist/knowledge/arb-fund-facts.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +4 -3
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/plan.json +48 -2
- package/dist/knowledge/baselines/rules/reward.json +1 -1
- package/dist/knowledge/builtin-templates.d.ts +9 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/guard-bindings.js +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-field-cognition.js +1 -1
- package/dist/knowledge/guard-lint.js +1 -1
- package/dist/knowledge/guard-submission-brief.d.ts +5 -0
- package/dist/knowledge/guard-submission-brief.js +1 -1
- package/dist/knowledge/guard-submission-prompt.d.ts +2 -1
- package/dist/knowledge/guard-submission-prompt.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +1 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/industry-generalizer.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/industry-strategy.js +1 -1
- package/dist/knowledge/reward-ledger.js +1 -1
- package/dist/knowledge/reward-puzzle.d.ts +1 -1
- package/dist/knowledge/reward-risk.d.ts +1 -1
- package/dist/knowledge/scenario-modes.d.ts +2 -2
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/scenario-topology.js +1 -1
- package/dist/knowledge/strategy-manuals.js +1 -1
- package/dist/knowledge/template-index.d.ts +19 -0
- package/dist/knowledge/template-index.js +1 -0
- package/dist/knowledge/template-loader.d.ts +36 -0
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +7 -0
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/tool-constraints.js +1 -1
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/radar-core.d.ts +1 -0
- package/dist/participation/radar-core.js +1 -1
- package/dist/persona/defaults.js +1 -1
- package/dist/persona/topology-focus.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/game-theory.d.ts +4 -1
- package/dist/playbooks/service-build/game-theory.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +25 -1
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/migration-planner.js +1 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/pipeline-actions.d.ts +4 -1
- package/dist/playbooks/service-build/pipeline-actions.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/service-panorama.d.ts +4 -0
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/relationship/derivation.d.ts +1 -1
- package/dist/review/index.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +35 -0
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +46 -3
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/contact.js +1 -1
- package/dist/schema/call/guard.js +1 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/progress.d.ts +6 -3
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/repository.js +1 -1
- package/dist/schema/call/reward.d.ts +2 -2
- package/dist/schema/call/reward.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +8 -4
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/goal/index.d.ts +54 -0
- package/dist/schema/goal/planning.d.ts +86 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/local/index.d.ts +39 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/operations.d.ts +20 -5
- package/dist/schema/operations.js +1 -1
- package/dist/schema/query/bi.d.ts +2 -0
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +24 -12
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.d.ts +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +28 -3
- package/dist/schemas/benchmark_migration_operation.schema.json +87 -0
- package/dist/schemas/goal_operation.schema.json +94 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/onchain_operations.output.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +409 -119
- package/dist/schemas/onchain_operations_allocation.schema.json +290 -6
- package/dist/schemas/onchain_operations_arbitration.schema.json +2 -2
- package/dist/schemas/onchain_operations_contact.schema.json +2 -2
- package/dist/schemas/onchain_operations_demand.schema.json +3 -3
- package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -1
- package/dist/schemas/onchain_operations_guard.schema.json +63 -63
- package/dist/schemas/onchain_operations_machine.schema.json +1 -1
- package/dist/schemas/onchain_operations_order.schema.json +2 -2
- package/dist/schemas/onchain_operations_progress.schema.json +7 -3
- package/dist/schemas/onchain_operations_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_repository.schema.json +2 -2
- package/dist/schemas/onchain_operations_reward.schema.json +8 -8
- package/dist/schemas/onchain_operations_service.schema.json +20 -18
- package/dist/schemas/onchain_operations_treasury.schema.json +7 -7
- package/dist/schemas/query_toolkit.output.json +67 -53
- package/dist/schemas/workflow_operation.schema.json +1 -1
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/file-export.js +1 -1
- package/dist/tools/handlers/industry-pack.d.ts +1 -0
- package/dist/tools/handlers/industry-pack.js +1 -1
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +24 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/review-chain.d.ts +1 -1
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/handlers/schema-query.js +1 -1
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/registry/agent.js +1 -1
- package/dist/tools/wip-deploy-assist.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{classifyRelease,releaseBodyHash,releaseSentinelLine,stripReleaseSentinel}from'./release-sentinel.js';export const STRATEGY_MANUAL_FILENAME='strategy-manual.md';export const STRATEGY_MANUAL_VERSION=0x3;const MANUAL_KIND='strategy-manual';export function renderStrategyManual(a){const b=BUILTIN_STRATEGY_MANUALS[a];if(!b)return null;return releaseSentinelLine(MANUAL_KIND,b['version'],releaseBodyHash(b['body']))+'\x0a'+b['body'];}export function parseManualSentinel(a){return stripReleaseSentinel(a,MANUAL_KIND)['sentinel'];}export function classifyManualFile(a,b){const c=BUILTIN_STRATEGY_MANUALS[a];if(!c)return'user_file';const {sentinel:d,content:e}=stripReleaseSentinel(b,MANUAL_KIND);if(!d)return'user_file';return classifyRelease(d,e,c['version']);}export function getBuiltinStrategyManual(a){return BUILTIN_STRATEGY_MANUALS[a];}export function listBuiltinStrategyManualIndustries(){return Object['keys'](BUILTIN_STRATEGY_MANUALS);}const EDUCATION_MANUAL='#\x20Education\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20attendance-based\x20education\x20services\x20on\x20WoWok.\x0a>\x20Curated\x20from\x20the\x20K1\x20six-industry\x20commercial\x20handbook.\x20Figures\x20marked\x0a>\x20**[estimate]**\x20are\x20planning\x20estimates;\x20empirical\x20anchors\x20are\x20marked\x20**[K1]**.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x20live-class\x0aplatform\x27s\x2030%\x20take\x20+\x20service\x20fee\x20into\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x0adesign,\x20not\x20a\x20parameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x20you\x20ARE\x20the\x20aggregator\x0a(a\x20chain\x20or\x20a\x20multi-supplier\x20school\x20network)\x20you\x20may\x20charge\x20your\x20own\x20fee,\x20but\x0aonly\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x20before\x20ordering;\x20an\x20explicit\x0aNON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x20the\x20share\x20to\x20the\x0adeploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x20mandatory\x20transit\x0apool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x20which\x20calls\x0a`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x20Compete\x20on\x0aescrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aYou\x20are\x20not\x20selling\x20\x22crypto\x20payments\x22.\x20You\x20are\x20selling\x20the\x20one\x20guarantee\x0aparents\x20could\x20not\x20buy\x20anywhere:\x20**unearned\x20tuition\x20can\x20never\x20be\x20embezzled,\x20and\x0athe\x20parent\x20can\x20verify\x20that\x20on-chain\x20themselves.**\x0a\x0aThe\x20traditional\x20risk\x20stack\x20is\x20brutal:\x20parents\x20prepay\x20in\x20full,\x20the\x20incumbent\x0aplatform\x20takes\x2025–40%,\x20institutions\x20can\x20commingle\x20the\x20funds,\x20teachers\x20settle\x207–13\x20days\x0alater,\x20and\x20when\x20an\x20institution\x20collapses\x20(documented\x20cases\x20of\x20$500M+\x20in\x0aprepaid\x20tuition\x20unaccounted\x20for),\x20recovery\x20is\x2040–80%\x20at\x20best.\x20Regulators\x20require\x0acustody,\x20but\x20paper\x20custody\x20can\x20be\x20technically\x20hollowed\x20out\x20when\x20the\x20collecting\x0aentity\x20is\x20not\x20the\x20custodial\x20entity.\x0a\x0aYour\x20WoWok\x20structure\x20makes\x20the\x20failure\x20structurally\x20impossible:\x0a\x0a1.\x20Parent\x20prepays\x20into\x20an\x20Allocation\x20contract\x20—\x20funds\x20never\x20land\x20on\x20your\x20books.\x0a2.\x20Every\x20lesson\x27s\x20fee\x20releases\x20on\x20the\x20parent\x27s\x20attendance\x20signature\x0a\x20\x20\x20(`attendance_guard_signer`),\x20in\x20seconds.\x0a3.\x20Withdrawal\x20at\x20a\x20\x22withdrawn\x22\x20node\x20refunds\x20all\x20unearned\x20lessons\x20in\x20a\x20single\x0a\x20\x20\x20transaction,\x20with\x20no\x20institutional\x20cooperation\x20—\x20100%\x20recovery\x20by\x20design.\x0a4.\x20`setting_lock_duration`\x20locks\x20the\x20fee\x20schedule\x20(default\x2030\x20days).\x0a\x0aOne\x20sentence\x20for\x20every\x20landing\x20page:\x20*\x22Unearned\x20tuition\x20can\x20never\x20be\x20taken\x20—\x0aand\x20you\x20can\x20verify\x20that\x20sentence\x20yourself\x20on-chain.\x22*\x0a\x0aHonest\x20boundary,\x20always:\x20the\x20structure\x20prevents\x20fund\x20embezzlement.\x20It\x20does\x20not\x0aprevent\x20bad\x20teaching.\x20Say\x20so.\x20Overclaiming\x20destroys\x20the\x20only\x20moat\x20you\x20have:\x0averifiable\x20honesty.\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20AOV\x20(30-lesson\x20package)\x20|\x20¥3,000\x20**[K1]**\x20|\x0a|\x20Legacy\x20combined\x20fee\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x20Incumbent\x20live-class\x20platform\x2030%\x20≈\x20¥900/order\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20≈\x20$0.05–2.5\x20for\x20N+2\x20transactions\x20|\x0a|\x20Extra\x20per\x20order\x20|\x20≈\x20¥890\x20|\x0a|\x20Teacher\x20settlement\x20|\x207–13\x20days\x20→\x20seconds\x20|\x0a\x0aFormula:\x20extra\x20per\x20order\x20=\x20incumbent\x20fee\x20rate\x20×\x20AOV\x20−\x20(gas\x20+\x20keeper\x20amortization\x0a+\x20one-time\x20migration\x20cost).\x20That\x20incumbent\x20fee\x20is\x20the\x20number\x20being\x20displaced\x20—\x0ait\x20is\x20NOT\x20a\x20fee\x20you\x20charge;\x20under\x20direct\x20sales\x20your\x20own\x20default\x20payout\x20is\x20100%\x0aof\x20the\x20sale.\x20The\x20gas\x20line\x20is\x20noise\x20against\x20¥900\x20saved;\x20adoption\x0apays\x20on\x20essentially\x20the\x20first\x20package.\x20Price\x20in\x20fiat\x20terms\x20—\x20WOW\x20token\x0avolatility\x20must\x20never\x20enter\x20a\x20parent\x27s\x20tuition\x20decision.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Per-lesson\x20escrow\x20release**\x20(default).\x20Escrowed\x20package,\x201/N\x20release\x20per\x0a\x20\x20\x20attendance\x20signature.\x20Fits\x20every\x20attendance-based\x20scenario.\x0a2.\x20**Package\x20price\x20with\x20rate-based\x20release**.\x20¥3,000\x20class\x20packages;\x20refund\x0a\x20\x20\x20policy\x20declared\x20up\x20front;\x20compensation\x20fund\x20bound.\x0a3.\x20**Trial-class\x20conversion\x20price**.\x20One\x20escrowed\x20trial,\x20enrollment\x20balance\x0a\x20\x20\x20only\x20after\x20the\x20parent\x20signs;\x20pairs\x20with\x20referral\x20reward.\x20Never\x20run\x20trials\x0a\x20\x20\x20permanently\x20below\x20delivery\x20cost.\x0a\x0aPosture\x20guidance:\x0a\x0a-\x20**Volume**:\x20group-buy\x20and\x20early-bird\x20through\x20parent\x20KOC\x20communities;\x0a\x20\x20trial-class\x20discounts\x20as\x20the\x20cold-start\x20hook.\x20Never\x20below\x20per-lesson\x20cost.\x0a-\x20**Balanced**:\x20mix\x20institutional\x20B2B\x20direct\x20selling\x20with\x20community\x20KOC\x20growth.\x0a-\x20**Margin**:\x20sell\x20compliance\x20to\x20mid-size\x20institutions\x20as\x20a\x20moat\x20—\x20\x22I\x20locked\x0a\x20\x20tuition\x20into\x20an\x20on-chain\x20contract;\x20do\x20you\x20dare?\x22\x20is\x20*their*\x20sales\x20line\x20to\x0a\x20\x20parents.\x20BD\x20costs\x20¥1,500–3,000\x20per\x20signed\x20institution.\x0a\x0aRecorded/self-paced\x20courses\x20are\x20a\x20MISMATCH.\x20Route\x20them\x20to\x20the\x20subscription\x0amodel\x20(per-period\x20signed\x20charges\x20+\x20delivery\x20gate).\x20Do\x20not\x20sell\x20them\x20as\x0aattendance\x20escrow\x20—\x20the\x20mode-fit\x20check\x20is\x20a\x20standard\x20intake\x20action.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Service\x20with\x20the\x20education\x20blueprint:\x20`attendance_guard_signer`\x20at\x0a\x20\x20\x20\x20\x20\x20every\x20lesson\x20node,\x20rate-mode\x20Allocator\x20releasing\x20per\x20lesson.\x0a-\x20[\x20]\x20A\x20\x22withdrawn\x22\x20node\x20with\x20a\x20one-transaction\x20refund\x20Allocator\x20path.\x0a-\x20[\x20]\x20`setting_lock_duration`\x20on\x20the\x20fee\x20schedule.\x0a-\x20[\x20]\x20Arbitration\x20bound\x20+\x20compensation\x20fund\x20funded.\x0a-\x20[\x20]\x20Public\x20verification\x20view:\x20order,\x20Allocation\x20and\x20Payment\x20objects\x0a\x20\x20\x20\x20\x20\x20readable\x20by\x20the\x20parent\x20(reverse\x20readability\x20is\x20validated\x20in\x20K1).\x0a-\x20[\x20]\x20Target:\x20a\x20fully\x20configured\x20shop\x20in\x20≤10\x20guided\x20dialogues\x20(K1\x20validated\x2011).\x0a\x0a##\x205.\x20The\x2090-day\x20campaigns\x0a\x0a**Campaign\x20A\x20—\x20\x22Tuition\x20Transparency\x20Experiment\x22\x20(M1–M2).**\x20One\x20seed\x0ainstitution\x20runs\x20two\x20parallel\x20classes:\x20traditional\x20collection\x20vs\x20WoW\x0acustody.\x20Publish\x20everything:\x20parents\x20see\x20the\x20B-class\x20contract\x20balance\x20and\x0arelease\x20records.\x20At\x20the\x20week-4\x20parent\x20open\x20day,\x20demo\x20a\x20mid-course\x20withdrawal\x0arefund\x20live,\x20one\x20transaction.\x20KPI:\x201\x20anchor\x20institution,\x20≥30\x20escrow\x20orders,\x0aone\x20verifiable\x20case\x20piece,\x20parent\x20NPS\x20≥60.\x20Budget\x20$6–9K\x20**[estimate]**.\x0a\x0a**Campaign\x20B\x20—\x20\x22The\x20Regulatory\x20Answer\x22\x20(M2–M3).**\x20No\x20ads.\x20Publish\x20the\x0awhite-paper\x20*From\x20Paper\x20Custody\x20to\x20Protocol\x20Custody*,\x20route\x20it\x20to\x20local\x0aregulatory\x20discussions,\x20trade\x20media\x20and\x20parent\x20communities.\x20Frame:\x20\x22WoW\x20is\x0athe\x20technical\x20answer\x20to\x20custody\x20regulation,\x20not\x20its\x20object.\x22\x20Have\x20a\x2024-hour\x0aresponse\x20draft\x20ready\x20for\x20the\x20next\x20sector\x20failure\x20news\x20cycle\x20—\x20one\x20will\x20come.\x0aKPI:\x202\x20media\x20citations,\x203\x20inbound\x20institutions,\x20$0\x20ad\x20spend.\x0a\x0a##\x206.\x20Channels\x20in\x20order\x0a\x0a1.\x20Parent-rights\x20and\x20local\x20parent\x20KOC\x20groups\x20(¥30–80\x20per\x20paying\x20parent).\x0a2.\x20Institutional\x20direct\x20BD\x20—\x20supply\x20decides\x20the\x20two-sided\x20cold\x20start.\x0a3.\x20Industry\x20media\x20/\x20policy\x20white-papers\x20—\x20zero-cost\x20endorsement.\x0a4.\x20Paid\x20ads\x20—\x20do\x20not\x20use\x20in\x20the\x20first\x2090\x20days;\x20they\x20conflict\x20with\x20the\x20trust\x0a\x20\x20\x20narrative.\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Show\x20the\x20contract\x20balance\x20and\x20release\x20history\x20BEFORE\x20payment.\x0a-\x20The\x20live\x20withdrawal-refund\x20demo\x20is\x20the\x20trial-to-enrollment\x20closer.\x0a-\x20Renew\x20on\x20per-lesson\x20release\x20history\x20+\x20attendance\x20records;\x20use\x20sibling\x20and\x0a\x20\x20referral\x20rewards\x20rather\x20than\x20discounting.\x0a-\x20Institutions\x20can\x20recruit\x20teachers\x20with\x20\x22settlement\x20in\x20seconds\x22\x20—\x20the\x20same\x0a\x20\x20feature\x20sells\x20both\x20sides.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(weekly)\x0a\x0aTrack\x20headline\x20price\x20vs\x20escrow\x20structure,\x20arbitration\x20availability,\x0acompensation-fund\x20coverage,\x20release\x20granularity,\x20and\x20refund-window\x20terms.\x0aNever\x20respond\x20to\x20a\x20price\x20war\x20with\x20discounts:\x20respond\x20by\x20inviting\x20the\x20parent\x0ato\x20read\x20the\x20contract.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Recorded-only\x20products\x20route\x20to\x20subscription\x20—\x20never\x20disguised\x20as\x0a\x20\x20\x20attendance\x20courses.\x0a2.\x20Never\x20imply\x20the\x20structure\x20guarantees\x20teaching\x20quality.\x0a3.\x20All\x20external\x20material\x20carries\x20the\x20testnet\x20/\x20estimate\x20/\x20WOW-price\x0a\x20\x20\x20disclaimers.\x20Fiat-denominated\x20figures\x20only.\x0a',RENTAL_MANUAL='#\x20Rental\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20high-value\x20equipment\x20and\x20P2P\x20rentals\x20on\x0a>\x20WoWok.\x20Anchors\x20marked\x20**[k1rent]**\x20come\x20from\x20the\x20fully\x20executed\x20on-chain\x0a>\x20rental\x20pilot;\x20**[estimate]**\x20marks\x20planning\x20figures.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x27s\x2015.5%\x20host\x0acommission\x20+\x20guest\x20service\x20fee\x20into\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x0adesign,\x20not\x20a\x20parameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x20you\x20ARE\x20the\x20aggregator\x0a(a\x20chain,\x20an\x20equipment\x20fleet\x20operator,\x20a\x20hosting\x20consortium)\x20you\x20may\x20charge\x0ayour\x20own\x20fee,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x20before\x0aordering;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x0athe\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x0amandatory\x20transit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x0awhich\x20calls\x20`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x0aCompete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aRentals\x20are\x20a\x20dispute\x20business\x20that\x20pretends\x20to\x20be\x20a\x20utilization\x20business.\x0aThe\x20incumbent\x20stack\x20has\x20three\x20structural\x20holes:\x0a\x0a1.\x20**Fake\x20deposits.**\x20Card\x20pre-authorizations\x20are\x20not\x20real\x20deductions;\x2077%\x20of\x0a\x20\x20\x20hosts\x20collect\x20no\x20deposit\x20at\x20all\x20—\x20deterrence\x20is\x20zero.\x0a2.\x20**Evidence\x20asymmetry.**\x20Without\x20dated\x20pre-rental\x20photos,\x20damage-claim\x0a\x20\x20\x20rejection\x20runs\x2020%\x20→\x2070%;\x20even\x20paid\x20claims\x20are\x20discounted\x20for\x20depreciation\x0a\x20\x20\x20(60–85%\x20actually\x20paid).\x0a3.\x20**Slow,\x20weaponized\x20settlement.**\x20Refunds\x20take\x207–15\x20business\x20days;\x20review\x0a\x20\x20\x20extortion\x20($50–200\x20per\x20review)\x20shares\x20the\x20same\x20game\x20window\x20as\x20claims.\x0a\x0aWoWok\x20closes\x20all\x20three.\x20Rent\x20+\x20a\x20REAL\x20deposit\x20are\x20bundled\x20into\x20the\x20order\x20and\x0aescrowed\x20in\x20the\x20Allocation\x20contract.\x20A\x20pre-rental\x20WIP\x20hash\x20baseline\x20is\x0amandatory\x20at\x20the\x20handover_out\x20node.\x20On\x20return,\x20post-rental\x20WIP\x20is\x20compared\x20and\x0aexactly\x20one\x20of\x20three\x20mutually\x20exclusive\x20Allocator\x20paths\x20fires:\x20clean\x20return\x0a(deposit\x20back\x20in\x20full),\x20cancellation\x20(full\x20refund),\x20or\x20graded\x20damage\x0adeduction.\x20Settlement\x20is\x20a\x20single\x20allocation\x20transaction\x20—\x20≈3\x20seconds\x20on\x0ak1rent\x20**[k1rent]**\x20—\x20exact\x20to\x20the\x20cent.\x0a\x0aYour\x20sentence:\x20*\x22The\x20incumbent\x20platform\x20itself\x20admitted\x20the\x20evidence\x20crisis\x20—\x0awe\x20turned\x20it\x20into\x20structural\x20immunity,\x20and\x20the\x20deposit\x20is\x20real.\x22*\x0a\x0a##\x202.\x20The\x20k1rent\x20receipts\x20are\x20your\x20marketing\x0a\x0aThree\x20immutable\x20Payment\x20records\x20exist\x20from\x20the\x20pilot:\x0a\x0a-\x20`0x078b0834`\x20—\x20clean:\x202\x20rent\x20→\x20merchant,\x203\x20deposit\x20→\x20customer;\x0a-\x20`0xfac811d5`\x20—\x20cancellation:\x205\x20fully\x20→\x20customer;\x0a-\x20`0xe812ed37`\x20—\x20damage:\x203.5\x20→\x20merchant,\x201.5\x20→\x20customer.\x0a\x0aA\x20traditional\x20platform\x27s\x20\x22case\x20study\x22\x20cannot\x20be\x20independently\x20verified.\x20These\x0athree\x20can,\x20by\x20anyone,\x20forever.\x20Build\x20the\x20interactive\x20audit\x20page\x20around\x20the\x0a10-node\x20machine\x20+\x20three\x20paths\x20and\x20make\x20that\x20page\x20the\x20center\x20of\x20your\x0aacquisition.\x0a\x0a##\x203.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20AOV\x20(camera,\x203\x20days)\x20|\x20$200\x20|\x0a|\x20Legacy\x20host-side\x20commission\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2015.5%\x20≈\x20$31/order\x20|\x0a|\x20Full-cycle\x20WoW\x20cost\x20|\x20≈\x200.05\x20WOW\x20≈\x20¥0.35\x20(5–7\x20txns)\x20**[k1rent]**\x20|\x0a|\x20Deposit\x20refund\x20|\x207–15\x20business\x20days\x20→\x20≈3\x20seconds\x20|\x0a|\x20Insurance/arbitration\x20collapse\x20|\x20Incumbent\x20vehicle-rental\x20platform:\x20$750M\x20burden\x20|\x0a\x0aThat\x2015.5%\x20is\x20the\x20incumbent\x27s,\x20not\x20yours:\x20under\x20direct\x20sales\x20the\x20host\x27s\x20default\x0apayout\x20is\x20Rate\x2010000\x20to\x20the\x20host\x27s\x20own\x20Entity,\x20and\x20the\x20deposit\x20refund\x20is\x20a\x0aseparate\x20leg\x20to\x20the\x20customer.\x20Only\x20a\x20declared\x20third\x20party\x20(cleaning,\x20repair)\x0aever\x20earns\x20a\x20non-zero\x20share,\x20and\x20its\x20Entity\x20must\x20be\x20non-empty\x20and\x20visible\x20to\x20the\x0arenter\x20BEFORE\x20the\x20order\x20is\x20funded.\x0a\x0aPrice\x20floor:\x20rental\x20rate\x20must\x20cover\x20maintenance\x20+\x20depreciation\x20+\x0abracket-expected\x20damage.\x20The\x20deposit\x20is\x20never\x20lent\x20against\x20or\x20rehypothecated.\x0a\x0a##\x204.\x20Pricing\x20models\x0a\x0a1.\x20**Rent\x20+\x20deposit\x20bundled\x20escrow,\x20three-path\x20settlement**\x20(default\x20and\x0a\x20\x20\x20core).\x20Pre-rental\x20WIP\x20baseline\x20is\x20non-negotiable\x20—\x20without\x20it\x20the\x20damage\x0a\x20\x20\x20guard\x20cannot\x20pass\x20and\x20the\x20product\x20does\x20not\x20exist.\x0a2.\x20**Pre-agreed\x20graded\x20damage\x20brackets**\x20(light\x2020%\x20/\x20heavy\x2050%\x20/\x20total\x20100%)\x0a\x20\x20\x20for\x20continuous\x20damage\x20amounts\x20like\x20the\x20$347.50\x20case.\x20Brackets\x20are\x0a\x20\x20\x20disclosed\x20and\x20accepted\x20at\x20order\x20time;\x20micro-arbitration\x20only\x20assigns\x20the\x0a\x20\x20\x20bracket\x20—\x20it\x20never\x20improvises\x20amounts.\x0a3.\x20**Duration\x20discount\x20ladder**\x20(monthly\x2010%\x20/\x20quarterly\x2020%\x20/\x20annual\x2030%)\x0a\x20\x20\x20to\x20push\x20utilization,\x20never\x20below\x20maintenance\x20+\x20depreciation\x20per\x20period.\x0a\x0aPosture\x20guidance:\x20volume\x20plays\x20utilization\x20and\x20repeat\x20credits\x20(but\x20never\x0awaives\x20the\x20real\x20deposit);\x20margin\x20sells\x20premium\x20high-value\x20gear\x20on\x0averifiable\x20deposit\x20safety\x20and\x203-second\x20refunds;\x20balanced\x20runs\x20the\x2010-merchant\x0aseed\x20program.\x0a\x0a##\x205.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x2010-node\x20rental\x20machine\x20with\x20handover_out\x20baseline\x20node\x20and\x20return\x20node.\x0a-\x20[\x20]\x20WIP\x20hash\x20capture\x20guided\x20UX\x20at\x20both\x20handover\x20and\x20return\x20(this\x20is\x20the\x0a\x20\x20\x20\x20\x20\x20trust\x20moment\x20—\x20make\x20it\x20easy,\x20not\x20bureaucratic).\x0a-\x20[\x20]\x20Three\x20mutually\x20exclusive\x20Allocator\x20paths,\x20first-match\x20semantics.\x0a-\x20[\x20]\x20Independent\x20arbitration\x20permission\x20(see\x20red\x20line:\x20do\x20not\x20claim\x0a\x20\x20\x20\x20\x20\x20contract-enforced\x20independence\x20without\x20negative-test\x20backing).\x0a-\x20[\x20]\x20Keeper\x20auto-return\x20reminders\x20as\x20standard\x20onboarding,\x20$5–20/month\x0a\x20\x20\x20\x20\x20\x20transparently\x20priced.\x0a-\x20[\x20]\x20Compensation\x20fund\x20sized\x20for\x20the\x20high-value\x20inventory\x20tail.\x0a\x0a##\x206.\x20The\x2090-day\x20campaigns\x0a\x0a**Campaign\x20A\x20—\x20\x22Audit\x20This\x20Ledger\x20Yourself\x22\x20(M1).**\x20Publish\x20the\x20k1rent\x0aaudit\x20page\x20and\x20invite\x20anyone\x20to\x20audit\x20it.\x20Distribute\x20in\x20photography\x20forums,\x0acamera\x20second-hand\x20groups,\x20Reddit\x20r/photography,\x20Bilibili\x20gear\x20channels.\x20KPI:\x0a≥5,000\x20audit-page\x20UV,\x203\x20inbound\x20rental\x20merchants,\x201\x20organic\x20KOC\x20retelling.\x0aBudget\x20$1.5–2.5K\x20**[estimate]**.\x0a\x0a**Campaign\x20B\x20—\x20\x22Deposit\x20Protection\x20Program\x22\x20(M1–M3).**\x20Recruit\x2010\x20equipment\x0arental\x20merchants;\x20templated\x20build\x20≤10\x20dialogues;\x20keeper\x20subsidy\x20$20/mo\x20per\x0amerchant\x20plus\x20first-order\x20gas\x20subsidy\x20for\x203\x20months.\x20KPI:\x2010\x20published\x0aServices,\x20≥100\x20cumulative\x20orders,\x20zero\x20escalated\x20disputes\x20(everything\x20closed\x0aby\x20guard\x20or\x20on-chain\x20micro-arbitration).\x20Budget\x20$8–12K\x20**[estimate]**.\x0a\x0a##\x207.\x20Cold-start\x20mechanics\x0a\x0aSign\x20supply\x20first.\x20Equipment\x20owners\x20get\x20the\x20deposit-custody\x20sales\x20line;\x20\x22my\x0arule:\x20on-chain\x20deposit\x22\x20is\x20their\x20filter\x20for\x20serious\x20renters.\x20Owners\x20bring\x0ademand.\x20Targets:\x20camera/gear,\x20construction\x20machinery,\x20outdoor\x20equipment,\x20and\x0aP2P\x20hosts\x20—\x20high-value,\x20low-frequency,\x20damage-dispute-rich,\x20AOV\x20$100–500.\x0a\x0aIntercept\x20second-hand\x20marketplace\x20dispute\x20threads\x20with\x20one\x20line:\x20\x22this\x0adispute\x20could\x20not\x20have\x20happened\x20on\x20WoW\x22\x20—\x20plus\x20the\x20audit\x20link.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(biweekly)\x0a\x0aRent\x20price,\x20whether\x20the\x20deposit\x20is\x20actually\x20held\x20(vs\x20card\x20auth),\x20pre-rental\x0aevidence\x20requirement,\x20refund\x20speed,\x20arbitration\x20independence.\x20Cite\x0aopponents\x27\x20own\x20documents\x20(incumbent\x20policy\x20reversals\x20such\x20as\x20AI-image\x20claim\x0abans,\x20and\x20platform\x20shutdowns)\x20—\x20their\x20copy\x20outperforms\x20any\x20copy\x20you\x20could\x20write.\x0a\x0a##\x209.\x20Retention\x0a\x0a-\x20Show\x20historical\x20settlement\x20transactions\x20to\x20first-time\x20renters\x20before\x20they\x0a\x20\x20fund.\x0a-\x20Re-rental\x20via\x20accumulated\x20credit,\x20not\x20coupons.\x0a-\x20Keep\x20claims\x20structurally\x20separate\x20from\x20reviews\x20—\x20this\x20kills\x20review\x0a\x20\x20extortion\x20and\x20is\x20worth\x20saying\x20out\x20loud.\x0a\x0a##\x2010.\x20Red\x20lines\x0a\x0a1.\x20No\x20damage\x20deduction\x20without\x20a\x20pre-rental\x20baseline\x20(guard\x20must\x20fail).\x0a2.\x20\x22Contract-enforced\x22\x20arbitration\x20claims\x20require\x20negative-test\x20backing\x0a\x20\x20\x20first\x20(P-5\x20lesson).\x0a3.\x20Never\x20hide\x20the\x20keeper\x20subscription\x20cost.\x0a',FREELANCE_MANUAL='#\x20Freelance\x20(Services)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20project-based\x20freelancers\x20and\x20small\x20studios\x0a>\x20on\x20WoWok.\x20Anchors\x20from\x20the\x20K1\x20enterprise\x20talent-marketplace\x20analysis;\x0a>\x20**[estimate]**\x20marks\x20planning\x20figures.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x27s\x2015.4%\x20take\x0a(+\x20its\x203–7.99%\x20client-side\x20fee\x20and\x20contract\x20startup\x20fee)\x20into\x20an\x20allocator:\x20that\x0ashare\x20is\x20displaced\x20by\x20design,\x20not\x20a\x20parameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x0ayou\x20ARE\x20the\x20aggregator\x20(a\x20talent\x20agency,\x20a\x20multi-contract\x20orchestrator)\x20you\x20may\x0acharge\x20your\x20own\x20fee,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x0abefore\x20ordering;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x0aroutes\x20the\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x0ano\x20mandatory\x20transit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x0aleg,\x20which\x20calls\x20`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x0aCompete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aIncumbent\x20freelance\x20platforms\x20extract\x20on\x20four\x20axes\x20simultaneously:\x0a\x0a-\x2015.4%\x20take\x20(plus\x203–7.99%\x20client-side\x20fees\x20and\x20contract\x20startup\x20fees);\x0a-\x20Connects\x20bid-entry\x20costs\x20of\x20$48–120\x20for\x20a\x20first\x20order,\x20with\x20~60%\x20of\x0a\x20\x20proposals\x20getting\x20no\x20reply;\x0a-\x20up\x20to\x2027\x20days\x20from\x20delivery\x20to\x20settled\x20cash;\x0a-\x20arbitration\x20at\x20$337.50\x20per\x20party\x20—\x20which\x20makes\x20every\x20dispute\x20under\x20~$700\x0a\x20\x20structurally\x20unsolvable,\x20precisely\x20the\x20long-tail\x20amount\x20band;\x0a-\x20reputation\x20locked\x20inside\x20the\x20platform\x20(JSS),\x20plus\x2010-minute\x20screenshot\x0a\x20\x20surveillance\x20(Work\x20Diary).\x0a\x0aWoWok\x20flips\x20each\x20one:\x20escrow\x20at\x20signing,\x20WIP\x20delivery\x20anchoring,\x20acceptance\x0asignature\x20releasing\x20funds\x20in\x20seconds,\x2014-day\x20silence\x20auto-acceptance\x20via\x20time\x0aguard\x20+\x20keeper,\x20micro-arbitration\x20at\x20any\x20amount,\x20and\x20a\x20Passport\x20credential\x0athe\x20freelancer\x20carries\x20across\x20every\x20client\x20and\x20industry.\x0a\x0aYour\x20sentence:\x20*\x22The\x20incumbent\x20says\x20disputes\x20under\x20$700\x20aren\x27t\x20worth\x20solving.\x0aWe\x20say\x20every\x20one\x20is\x20—\x20and\x20your\x20reputation\x20is\x20your\x20asset,\x20not\x20their\x20hostage.\x22*\x0a\x0aPhilosophy\x20line\x20that\x20also\x20functions\x20as\x20a\x20filter:\x20**we\x20verify\x20outcomes,\x20we\x20do\x0anot\x20monitor\x20processes.**\x20Decline\x20hourly-surveillance\x20clients\x20happily.\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Milestone\x20contract\x20AOV\x20|\x20$1,000\x20|\x0a|\x20Legacy\x20take\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2015.4%\x20≈\x20$154\x20(+\x20client\x203–7.99%)\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20$0.01–0.6\x20across\x204–8\x20txns\x20|\x0a|\x20Arbitration\x20|\x20≈\x20$0.01\x20vs\x20$337.50/party\x20|\x0a|\x20Settlement\x20|\x20up\x20to\x2027\x20days\x20→\x20seconds\x20|\x0a\x0aA\x20single\x20$1,000\x20contract\x20retains\x20≈$153\x20that\x20used\x20to\x20leave;\x20adoption\x20pays\x20on\x0athe\x20first\x20escrowed\x20job.\x20That\x20$154\x20is\x20the\x20incumbent\x27s\x20cut,\x20not\x20a\x20line\x20in\x20your\x0aallocator\x20—\x20your\x20default\x20settlement\x20is\x20Rate\x2010000\x20to\x20your\x20own\x20Entity.\x20If\x20you\x0aare\x20an\x20agency\x20orchestrating\x20several\x20freelancers,\x20your\x20own\x20fee\x20must\x20be\x20an\x0aexplicit\x20Amount\x20or\x20Rate\x20leg\x20to\x20an\x20explicit\x20non-empty\x20Entity,\x20disclosed\x20before\x0athe\x20client\x20orders\x20—\x20never\x20an\x20implicit\x20remainder\x20and\x20never\x20a\x20`Surplus`\x20entry.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Milestone\x20escrow\x20with\x20acceptance\x20signature**\x20(default).\x20Every\x20milestone\x0a\x20\x20\x20objectively\x20verifiable;\x20`deliver_guard_wip`\x20anchors\x20the\x20delivery,\x0a\x20\x20\x20`accept_guard_signer`\x20releases,\x2014-day\x20time\x20guard\x20auto-accepts.\x0a2.\x20**Fixed-price\x20deliverable\x20with\x20revision\x20loops**\x20(logos,\x20translations,\x0a\x20\x20\x20articles).\x20Revision\x20rounds\x20modeled\x20as\x20machine\x20loops\x20—\x20cap\x20the\x20rounds\x20up\x0a\x20\x20\x20front.\x0a3.\x20**Demand-based\x20reverse\x20bidding**:\x20clients\x20post\x20Demands,\x20you\x20present\x20with\x0a\x20\x20\x20Passport/trust\x20gating;\x20zero\x20connect\x20fees,\x20no\x2060%-no-reply\x20graveyard.\x0a\x0aPosture\x20guidance:\x20volume\x20competes\x20on\x20Demand\x20participation\x20and\x20first-order\x0aspeed;\x20margin\x20positions\x20on\x20public\x20on-chain\x20delivery\x20history\x20and\x20refuses\x0aprocess\x20surveillance;\x20balanced\x20standardizes\x20milestone\x20templates\x20and\x20mixes\x0aDemand\x20with\x20referral\x20clients.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Service\x20priced\x20per\x20milestone\x20(3–5\x20splits\x20in\x20the\x20first\x20proposal\x20—\x20it\x0a\x20\x20\x20\x20\x20\x20de-risks\x20the\x20client\x20and\x20signals\x20professionalism).\x0a-\x20[\x20]\x20Escrow\x20before\x20any\x20work\x20starts.\x20Never\x20start\x20on\x20a\x20\x22trusted\x20client\x22\x0a\x20\x20\x20\x20\x20\x20promise.\x0a-\x20[\x20]\x20WIP\x20hashing\x20at\x20each\x20delivery;\x20acceptance\x20gate;\x2014-day\x20auto-accept\x20time\x0a\x20\x20\x20\x20\x20\x20guard\x20+\x20keeper.\x0a-\x20[\x20]\x20Arbitration\x20bound\x20even\x20on\x20small\x20jobs\x20—\x20the\x20cost\x20is\x20trivial\x20and\x20the\x0a\x20\x20\x20\x20\x20\x20availability\x20is\x20the\x20pitch.\x0a-\x20[\x20]\x20Passport\x20issuance\x20workflow\x20ready\x20before\x20leading\x20with\x20portability\x0a\x20\x20\x20\x20\x20\x20claims\x20(BUG-02\x20P0\x20dependency).\x0a\x0a##\x205.\x20Campaign\x20sequencing\x20(start\x20M2,\x20need\x20≥20\x20merchants\x20first)\x0a\x0a**\x22$699\x20Arbitration\x20Clinic\x22\x20(M2–M3).**\x20Publicly\x20accept\x20and\x20resolve\x20real\x0asub-$700\x20commercial\x20disputes\x20on-chain;\x20publish\x20a\x20weekly\x20micro-arbitration\x0adocumentary.\x20KPI:\x20≥10\x20closed\x20arbitrations,\x20≥3,000\x20average\x20reads\x20per\x20episode,\x0aarbitrator\x20pool\x20≥15.\x20Budget\x20$3–5K\x20**[estimate]**.\x0a\x0a**\x22Transparent\x20Income\x20Witnesses\x22\x20KOC\x20program.**\x20Sign\x205–8\x20mid-tier\x20(not\x0ahead-tier)\x20freelancers\x20who\x20publish\x20real\x20incumbent-vs-WoW\x20income\x20comparisons\x20at\x0aauditable\x20addresses.\x20KOL\x20settlement\x20auto-splits\x20via\x20Allocation\x20after\x20verified\x0afirst-order\x20conversion\x20—\x20no\x20monthly\x20net\x20terms.\x20KPI:\x20≥30\x20registered\x0afreelancers\x20per\x20KOC,\x20on-chain-verifiable\x20conversion\x20≥8%.\x20Budget\x20$6–10K\x0a**[estimate]**.\x0a\x0a##\x206.\x20Channels\x0a\x0ar/freelance,\x20Indie\x20Hackers,\x20digital-nomad\x20communities\x20(67%\x20of\x20Gen\x20Z\x20regard\x0amultiple\x20income\x20streams\x20as\x20essential\x20—\x20Passport\x20lands\x20here),\x20design\x20and\x0atranslation\x20verticals,\x20and\x20Demand\x20bounty\x20events\x20for\x20the\x20demand\x20side.\x0aEstimated\x20$3–8\x20per\x20registered\x20freelancer\x20**[estimate]**.\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Proposals\x20show\x20WIP\x20hashes\x20of\x20similar\x20completed\x20milestones.\x0a-\x20Always\x20propose\x20the\x20milestone\x20split\x20in\x20the\x20first\x20message.\x0a-\x20At\x20delivery,\x20explicitly\x20point\x20at\x20the\x20Passport\x20credential\x20earned:\x20every\x0a\x20\x20clean\x20completion\x20is\x20a\x20portable\x20asset.\x20That\x20sentence\x20is\x20the\x20retention\x20loop.\x0a-\x20Revision\x20scope\x20is\x20agreed\x20before\x20escrow,\x20never\x20negotiated\x20mid-delivery.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(biweekly)\x0a\x0aEffective\x20fee\x20after\x20tiered\x20cuts,\x20escrow\x20availability,\x20settlement\x20speed,\x0aarbitration\x20fee\x20floor,\x20reputation\x20portability.\x20Let\x20the\x20incumbent\x20platform\x27s\x20own\x0afee\x20adjustment\x20notices\x20carry\x20the\x20contrast\x20—\x20every\x20one\x20of\x20those\x20figures\x20is\x20theirs,\x0aand\x20none\x20of\x20them\x20is\x20a\x20default\x20you\x20inherit.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20No\x20work\x20before\x20milestone\x20escrow.\x0a2.\x20No\x20reputation-portability\x20claims\x20before\x20Passport\x20issuance\x20UX\x20is\x0a\x20\x20\x20production-ready.\x0a3.\x20Never\x20bid\x20below\x20the\x20minimum-rate\x20floor\x20to\x20win\x20volume\x20—\x20outcome\x0a\x20\x20\x20verification\x20is\x20a\x20premium\x20position.\x0a',SUBSCRIPTION_MANUAL='#\x20Subscription\x20/\x20Membership\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20creator\x20memberships,\x20newsletters\x20and\x20indie\x0a>\x20software\x20on\x20WoWok.\x20Anchors\x20from\x20the\x20K1\x20creator-membership\x20/\x20fan-subscription\x20/\x0a>\x20app-store-IAP\x20analysis.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20creator\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x20membership\x0aplatform\x27s\x2010%\x20(or\x20the\x20app\x20store\x27s\x2030%\x20IAP\x20cut)\x20into\x20an\x20allocator:\x20those\x0ashares\x20are\x20displaced\x20by\x20design,\x20not\x20parameters,\x20and\x20nobody\x20would\x20receive\x20them.\x0aIf\x20you\x20ARE\x20the\x20aggregator\x20(a\x20bundle\x20seller,\x20a\x20multi-creator\x20programme,\x20an\x0aapp\x20distributor\x20reselling\x20several\x20creators)\x20you\x20may\x20charge\x20your\x20own\x20fee,\x20but\x0aonly\x20with:\x20an\x20explicit\x20number\x20the\x20subscriber\x20can\x20compute\x20before\x20ordering;\x20an\x0aexplicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x20the\x20share\x20to\x0athe\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x20mandatory\x0atransit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x20which\x20calls\x0a`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x20Compete\x20on\x0aescrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aThe\x20subscription\x20industry\x20runs\x20on\x20institutional\x20dark\x20patterns:\x20incumbent\x0amembership\x20platforms\x20raised\x20fees\x20unilaterally\x20three\x20times\x20in\x20thirteen\x20years\x0a(5%\x20→\x208–12%\x20→\x2010%);\x20app-store\x20IAP\x20takes\x2030%\x20and\x20floats\x20payouts\x20for\x20up\x20to\x2075\x0adays;\x20consumers\x20underestimate\x20subscription\x20spend\x20by\x202.5×\x20and\x2042%\x20pay\x20for\x0aservices\x20they\x20do\x20not\x20use;\x20incumbent\x20cancellation\x20flows\x20ran\x204\x20pages\x20/\x206\x20clicks\x20/\x0a15\x20options\x20(FTC\x20$2.5B\x20settlement\x20context);\x20and\x20creators\x20who\x20stop\x20publishing\x0akeep\x20getting\x20paid\x20by\x20their\x20subscribers.\x0a\x0aYour\x20structure\x20makes\x20the\x20dark\x20patterns\x20impossible\x20rather\x20than\x20merely\x0adisclosed:\x0a\x0a-\x20`charge_guard_signer`\x20—\x20EVERY\x20period\x27s\x20charge\x20needs\x20the\x20subscriber\x27s\x0a\x20\x20explicit\x20signature.\x20No\x20auto-renewal\x20path\x20exists.\x0a-\x20`deliver_guard_wip`\x20—\x20without\x20delivered\x20value,\x20the\x20period\x27s\x20charge\x20cannot\x0a\x20\x20pass.\x20This\x20is\x20an\x20industry\x20blank:\x20no\x20incumbent\x20can\x20offer\x20it.\x0a-\x20`cancel_guard_signer`\x20—\x20cancellation\x20is\x20one\x20signature\x20(15\x20options\x20→\x201).\x0a-\x20Allocation\x20100%\x20→\x20creator,\x20frozen\x20at\x20publish.\x20The\x20thirteen-year\x20rate-ratchet\x0a\x20\x20history\x20cannot\x20repeat;\x20it\x20is\x20a\x20protocol\x20property,\x20not\x20a\x20promise.\x0a\x0aThe\x20per-period\x20signature\x20is\x20DELIBERATE\x20FRICTION.\x20Sell\x20it\x20correctly:\x20friction\x0ais\x20protection;\x20the\x20people\x20who\x20remain\x20after\x20signing\x20are\x20real\x20fans;\x20the\x20friction\x0ais\x20a\x20retention-quality\x20certificate.\x20Never\x20sneak\x20auto-renewal\x20back\x20in\x20to\x0aoptimize\x20conversion.\x0a\x0aYour\x20sentence:\x20*\x22Thirteen\x20years\x20of\x20unilateral\x20price\x20raises\x20cannot\x20exist\x20in\x20a\x0afrozen\x20contract\x20—\x20and\x20every\x20single\x20charge\x20is\x20one\x20you\x20signed\x20yourself.\x22*\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Creator\x20monthly\x20anchor\x20|\x20$100/month\x20($1,200/year)\x20|\x0a|\x20Legacy\x20take\x20(INCUMBENT\x20benchmarks,\x20displaced\x20—\x20not\x20parameters)\x20|\x20Incumbent\x20membership\x20platform\x2010%\x20≈\x20$10/month;\x20mobile\x20app-store\x20IAP\x2030%\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20$0.03–2\x20across\x2024\x20annual\x20txns\x20|\x0a|\x20Payout\x20|\x20IAP\x20up\x20to\x2075-day\x20float\x20→\x20seconds\x20per\x20period\x20|\x0a|\x20Extra\x20per\x20year\x20|\x20≈\x20$120\x20on\x20a\x20single\x20$100/mo\x20membership\x20|\x0a\x0aThose\x20two\x20percentages\x20are\x20the\x20incumbents\x27\x20numbers,\x20quoted\x20only\x20to\x20show\x20the\x20gap\x0athey\x20charge.\x20Under\x20direct\x20sales\x20neither\x20appears\x20in\x20your\x20payout:\x20the\x20default\x20is\x0aRate\x2010000\x20to\x20the\x20creator,\x20frozen\x20at\x20publish.\x20A\x20distributor\x20reselling\x20several\x0acreators\x20is\x20the\x20aggregator\x20case\x20—\x20its\x20own\x20fee\x20must\x20be\x20an\x20explicit\x20leg\x20to\x20an\x0aexplicit\x20non-empty\x20Entity,\x20disclosed\x20before\x20the\x20subscriber\x20signs,\x20and\x20never\x20an\x0aimplicit\x20remainder\x20or\x20a\x20`Surplus`\x20drain.\x0a\x0aFloor:\x20no\x20period\x20charge\x20passes\x20without\x20delivery\x20evidence.\x20The\x20creator\x20must\x0akeep\x20producing\x20—\x20that\x20obligation\x20is\x20the\x20subscriber\x27s\x20protection\x20and\x20the\x0aproduct\x27s\x20integrity.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Per-period\x20signed\x20charge\x20with\x20delivery\x20gate**\x20(default).\x20Monthly\x20or\x0a\x20\x20\x20chosen\x20cadence;\x20explicit\x20signature\x20each\x20period;\x20charge\x20blocked\x20without\x0a\x20\x20\x20delivery\x20proof;\x20one-signature\x20cancellation.\x0a2.\x20**Annual\x20prepay\x20released\x20per\x20period**.\x20Annual\x20cash\x20lands\x20in\x20escrow\x20and\x0a\x20\x20\x20releases\x20monthly\x20—\x20prepayment\x20with\x20structural\x20stoppage\x20protection\x20for\x0a\x20\x20\x20undelivered\x20months.\x0a3.\x20**Tiered\x20membership**.\x20Each\x20tier\x20maps\x20to\x20concrete\x20deliverables\x20and\x20its\x20own\x0a\x20\x20\x20delivery\x20guard;\x20up/downgrade\x20takes\x20effect\x20next\x20period\x20only.\x20Tier\x0a\x20\x20\x20deliverables\x20must\x20be\x20specific\x20enough\x20for\x20a\x20guard\x20to\x20evaluate.\x0a\x0aPosture\x20guidance:\x20volume\x20rides\x20the\x20consumer\x20\x22signing\x20movement\x22\x20with\x0afirst-month\x20pricing;\x20margin\x20serves\x20fewer\x20true\x20fans\x20at\x20premium\x20tiers\x20and\x0arefuses\x2030%\x20channels;\x20balanced\x20pairs\x20acquisition\x20tools\x20with\x20retention\x0arituals.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Billing-cycle\x20machine\x20with\x20charge\x20guard\x20+\x20delivery\x20gate\x20per\x20period.\x0a-\x20[\x20]\x20One-signature\x20cancellation\x20node;\x20confirm\x20there\x20is\x20exactly\x20one\x20path.\x0a-\x20[\x20]\x20Frozen\x20Allocation\x20100%\x20to\x20creator;\x20no\x20post-publish\x20fee\x20edit\x20surface.\x0a-\x20[\x20]\x20Annual\x20plan:\x20escrowed\x20prepay,\x20per-period\x20release,\x20undelivered-month\x0a\x20\x20\x20\x20\x20\x20refund\x20guaranteed\x20structurally.\x0a-\x20[\x20]\x20DRM/content\x20access\x20rules\x20declared\x20off-chain\x20where\x20applicable.\x0a\x0a##\x205.\x20The\x20\x22Signing\x20Movement\x22\x20campaign\x20(M2–M4)\x0a\x0aTwo\x20assets,\x20one\x20narrative:\x0a\x0a1.\x20**Consumer\x20side\x20—\x20subscription\x20checkup\x20widget.**\x20Input\x20your\x20subscription\x0a\x20\x20\x20list;\x20learn\x20how\x20much\x20you\x20annually\x20pay\x20for\x20unused\x20services\x20(cite\x20the\x202.5×\x0a\x20\x20\x20underestimate\x20and\x2042%\x20unused\x20figures).\x20KPI:\x20≥20,000\x20checkups.\x0a2.\x20**Creator\x20side\x20—\x20\x22100%\x20Arrival\x20Day\x22.**\x20One\x20day\x20each\x20month,\x20creators\x20post\x0a\x20\x20\x20their\x20on-chain\x20per-period\x20release\x20receipts.\x20KPI:\x2030\x20onboarded\x20creators.\x0a\x0aPlus\x20the\x20one-signature\x20cancellation\x20demo\x20video\x20(target\x20≥100K\x20views).\x20Launch\x0aagainst\x20FTC/platform\x20price-hike\x20news\x20cycles\x20—\x20they\x20recur\x20predictably;\x20keep\x0a24-hour\x20response\x20drafts.\x20Budget\x20$4–7K\x20**[estimate]**.\x0a\x0aCapture\x20education\x20recorded-course\x20overflow:\x20the\x20routing\x20rule\x20sends\x0arecorded/self-paced\x20courses\x20here\x20from\x20the\x20education\x20intake.\x0a\x0a##\x206.\x20Channels\x0a\x0aCreator\x20communities\x20(Discord,\x20membership-platform\x20forums\x20—\x20the\x20$131–180\x0amedian-monthly\x20creators\x20experience\x20the\x20incumbent\x27s\x2010–20%\x20fee\x20as\x20a\x20survival\x0aissue),\x20newsletter\x20and\x20indie-dev\x20circles\x20(incumbent\x20IAP\x2030%\x20+\x2075-day\x20float),\x0aHacker\x20News\x20and\x20the\x20anti-dark-pattern\x20audience.\x20$2–5\x20per\x20subscriber\x0a**[estimate]**.\x20Values\x20alignment\x20beats\x20ad\x20spend\x20in\x20this\x20segment.\x0a\x0a##\x207.\x20Retention\x0a\x0a-\x20Migrate\x20creators\x20one\x20tier\x20at\x20a\x20time;\x20show\x20per-period\x20release\x20receipts.\x0a-\x20Lead\x20with\x20the\x20unused-month\x20guarantee:\x20no\x20delivery,\x20no\x20charge.\x0a-\x20The\x20cancellation\x20demo\x20doubles\x20as\x20a\x20conversion\x20asset\x20—\x20trust\x20that\x20you\x20can\x0a\x20\x20leave\x20is\x20why\x20people\x20stay.\x0a-\x20Upgrade/downgrade\x20effective\x20next\x20period\x20keeps\x20accounting\x20and\x20guard\x20logic\x0a\x20\x20honest.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(weekly)\x0a\x0aTake\x20rate\x20and\x20unilateral-change\x20history,\x20charge\x20transparency,\x20cancellation\x0aclick\x20count,\x20stopped-creator\x20policy,\x20time-to-payout.\x20Contrast\x20the\x20FTC\x0asettlement\x20and\x20frozen\x20Allocation\x20—\x20opponent\x20documents,\x20not\x20your\x20adjectives.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Never\x20implement,\x20document,\x20or\x20imply\x20auto-renewal.\x0a2.\x20Never\x20charge\x20a\x20period\x20without\x20delivery\x20evidence.\x0a3.\x20Rate-lock\x20claims\x20exist\x20only\x20through\x20published\x20frozen\x20Allocation.\x0a',TRAVEL_MANUAL='#\x20Travel\x20(Custom\x20&\x20Multi-Segment)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20custom-trip\x20and\x20multi-segment\x20travel\x20studios\x0a>\x20on\x20WoWok.\x20This\x20is\x20a\x20tier-3\x20playbook:\x20the\x20economics\x20are\x20the\x20strongest\x20in\x20the\x0a>\x20catalog,\x20but\x20the\x20adoption\x20bottleneck\x20is\x20real.\x20Anchors\x20from\x20the\x20K1\x20global-OTA\x0a>\x20/\x20package-tour\x20analysis.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20OTA\x27s\x2025–36%\x20commission\x0ainto\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x20design,\x20not\x20a\x20parameter,\x20and\x0anobody\x20would\x20receive\x20it.\x20Travel\x20is\x20the\x20clearest\x20aggregator\x20case\x20—\x20if\x20you\x20ARE\x20the\x0aoperator\x20(an\x20agent\x20selling\x20hotels,\x20guides\x20and\x20drivers\x20it\x20did\x20not\x20supply),\x20your\x0aown\x20fee\x20is\x20allowed,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20traveler\x20can\x20compute\x0abefore\x20booking;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20per\x20leg\x20(an\x20empty\x20one\x0asilently\x20routes\x20the\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x0a`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x20mandatory\x20transit\x20pool\x20on\x20the\x20payout\x0apath\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x20which\x20calls\x20`balance::withdraw_all`\x20and\x0aso\x20doubles\x20as\x20draining\x20the\x20pool.\x20Compete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20Why\x20travel\x20is\x20deliberately\x20third\x20in\x20line\x0a\x0aGlobal\x20OTAs\x27\x20effective\x20hotel\x20commission\x20runs\x2025–36%\x20after\x20loyalty-tier\x0astacking,\x20the\x20merchant\x20model\x20floats\x20roughly\x20$134B/year\x20in\x20client\x20money,\x20VCC\x0amanual\x20settlement\x20takes\x202–6\x20weeks,\x20and\x20the\x20fund\x20waterfall\x20is\x20invisible:\x0atravelers\x20see\x20totals,\x20hotels\x20see\x20net\x20rates.\x20When\x20failures\x20happen\x20—\x20a\x20major\x0atour\x20operator\x27s\x20collapse\x20stranding\x20hundreds\x20of\x20thousands\x20of\x20customers,\x20tens\x20of\x0abillions\x20in\x20pandemic\x20refunds\x20—\x20relief\x20is\x20post-hoc;\x20EU261\x20compensates\x20flight\x0alegs\x20while\x20downstream\x20segments\x20simply\x20die.\x0a\x0aWoWok\x27s\x20answer\x20is\x20structurally\x20superior:\x20a\x20multi-segment\x20machine\x0a(`segment_D1..DN`)\x20releases\x20each\x20segment\x27s\x20fee\x20as\x20its\x20WIP\x20passes;\x20an\x0ainterrupted\x20node\x20refunds\x20undelivered\x20segments\x20in\x20one\x20transaction;\x20the\x20agent\x0aruns\x20a\x20second-level\x20Allocation\x20from\x20its\x20own\x20Treasury\x20so\x20the\x20waterfall\x20is\x0areadable\x20on-chain;\x20Treasury-scoped\x20Payments\x20can\x20compensate\x20across\x20segments.\x0a\x0aThe\x20bottleneck\x20is\x20adoption,\x20not\x20economics:\x20hotels\x20and\x20drivers\x20are\x20not\x20on\x0achain.\x20That\x20is\x20why\x20the\x20first\x20viable\x20form\x20is\x20the\x20**agent\x20as\x20the\x20single\x0aon-chain\x20counterparty**\x20—\x20agent↔client\x20custody\x20closes\x20the\x20trust\x20loop\x20alone,\x0aand\x20supplier\x20participation\x20grows\x20later\x20with\x20the\x20Passport\x20network.\x20Do\x20not\x0afront-load\x20this\x20industry\x20before\x20the\x20tier-1/2\x20reputation\x20network\x20exists.\x0a\x0aYour\x20sentence:\x20*\x22A\x20collapsed\x20tour\x20operator\x27s\x20stranded\x20millions\x20were\x20post-hoc\x0arelief.\x20The\x20same\x20money\x20in\x20custody\x20with\x20interruption\x20branches\x20is\x20pre-event\x0aisolation.\x22*\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20AOV\x20(5-segment\x20custom\x20trip)\x20|\x20$2,000\x20|\x0a|\x20Effective\x20legacy\x20commission\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2025–36%\x20≈\x20$350–720/trip\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20≈\x20$0.02–1\x20across\x202×segments+3\x20txns\x20|\x0a|\x20Settlement\x20|\x20VCC\x202–6\x20weeks\x20→\x20per-segment\x20seconds\x20|\x0a\x0aGas\x20is\x20noise\x20against\x20$350–700\x20saved\x20per\x20trip.\x20That\x20$350–720\x20is\x20the\x20OTA\x27s\x20cut,\x0anot\x20yours:\x20a\x20merchant\x27s\x20own\x20segments\x20pay\x20out\x20Rate\x2010000\x20to\x20the\x20merchant\x27s\x0aEntity,\x20and\x20an\x20aggregator\x27s\x20own\x20fee\x20must\x20be\x20one\x20explicit,\x20pre-order-disclosed\x0anumber\x20on\x20an\x20explicit\x20non-empty\x20Entity\x20—\x20never\x20`order\x20total\x20-\x20segment\x20sums`\x0aimplicitly\x20absorbed,\x20never\x20a\x20`Surplus`\x20remainder.\x20The\x20binding\x20constraint\x20is\x0asupplier\x20adoption;\x20never\x20pretend\x20otherwise.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Multi-leg\x20itinerary\x20with\x20per-segment\x20release**\x20(default\x20and\x20core).\x0a\x20\x20\x20Every\x20segment\x20has\x20WIP\x20evidence\x20and\x20its\x20own\x20Allocator\x20slice;\x20the\x0a\x20\x20\x20interrupted\x20path\x20refunds\x20undelivered\x20legs\x20in\x20one\x20transaction.\x0a2.\x20**Agent\x20single-counterparty\x20custody**\x20for\x20downstream\x20suppliers\x20not\x20yet\x20on\x0a\x20\x20\x20chain.\x20The\x20agent\x20escrows\x20against\x20the\x20client,\x20holds\x20correct\x20licensing\x20and\x0a\x20\x20\x20funds\x20compensation\x20coverage\x20sized\x20to\x20the\x20maximum\x20single\x20segment.\x0a3.\x20**Weather/condition-guaranteed\x20pricing**\x20via\x20quoted\x20guard\x20+\x20a\x20specified\x0a\x20\x20\x20evidence\x20repository\x20oracle;\x20auto-refund\x20on\x20trigger\x20—\x20test\x20the\x20trigger\x0a\x20\x20\x20source\x20before\x20selling\x20it.\x0a\x0aFIT\x20EXCLUSION:\x20do\x20not\x20sell\x20standard\x20standalone\x20flights\x20or\x20hotels.\x20The\x20WoW\x0avalue\x20there\x20is\x20weak;\x20the\x20fit\x20is\x20custom\x20and\x20packaged\x20multi-segment\x20trips\x0a(package-tour\x20archetype\x20fit:\x2010/10).\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Segment\x20machine\x20D1..DN\x20with\x20per-segment\x20WIP\x20gates\x20and\x20release\x0a\x20\x20\x20\x20\x20\x20Allocators.\x0a-\x20[\x20]\x20Explicit\x20interrupted\x20node\x20with\x20one-transaction\x20refund.\x0a-\x20[\x20]\x20Agent\x20Entity\x20with\x20own\x20Treasury\x20+\x20second-level\x20Allocation;\x20waterfall\x0a\x20\x20\x20\x20\x20\x20readable\x20by\x20the\x20buyer\x20BEFORE\x20payment.\x0a-\x20[\x20]\x20Per-leg\x20cancellation\x20policy\x20disclosed\x20at\x20sale;\x20refundable\x20vs\x0a\x20\x20\x20\x20\x20\x20non-refundable\x20legs\x20separated,\x20never\x20blurred.\x0a-\x20[\x20]\x20Compensation\x20fund\x20sized\x20for\x20the\x20maximum\x20single\x20segment.\x0a-\x20[\x20]\x20Weather/condition\x20guard\x20trigger\x20source\x20specified\x20and\x20tested.\x0a\x0a##\x205.\x20Pilot\x20playbook\x20(M4+)\x0a\x0a-\x20Pilot\x20with\x202–3\x20custom-trip\x20/\x20packaged-tour\x20studios\x20under\x20agent-only\x0a\x20\x20custody.\x20Budget\x20$10–15K\x20**[estimate]**.\x0a-\x20Asset\x201:\x20the\x20interactive\x20**$2,000\x20waterfall\x20visualization**\x20—\x20exactly\x20how\x0a\x20\x20the\x20trip\x20price\x20splits\x20to\x20hotel,\x20guide\x20and\x20agent,\x20readable\x20on-chain\x20before\x0a\x20\x20purchase.\x20No\x20OTA\x20on\x20earth\x20can\x20show\x20this.\x0a-\x20Asset\x202:\x20the\x20**weather-guard\x20auto-refund\x20demo**\x20—\x20converts\x20\x22escrow\x22\x20from\x20a\x0a\x20\x20word\x20into\x20a\x20visible\x20guarantee.\x0a-\x20Anchor\x20content\x20to\x20the\x20next\x20large\x20travel-failure\x20news\x20cycle;\x20the\x20structural\x0a\x20\x20contrast\x20(pre-event\x20isolation\x20vs\x20post-hoc\x20relief)\x20writes\x20itself.\x0a\x0a##\x206.\x20Competitor\x20watch\x20(monthly)\x0a\x0aEffective\x20commission\x20after\x20loyalty-tier\x20stacking,\x20waterfall\x20transparency,\x0aper-leg\x20cancellation\x20terms,\x20downstream\x20refund\x20handling\x20(the\x20EU261\x20gap),\x0asettlement\x20speed.\x20Travel\x20is\x20seasonal\x20and\x20contractual\x20—\x20monthly\x20is\x20sufficient;\x0aspend\x20the\x20attention\x20on\x20the\x20pilot\x20studios.\x0a\x0a##\x207.\x20Retention\x0a\x0a-\x20The\x20pre-trip\x20waterfall\x20inspection\x20is\x20the\x20sales\x20asset\x20AND\x20the\x20delivery\x0a\x20\x20promise\x20—\x20rebook\x20on\x20the\x20gap\x20between\x20the\x20two\x20being\x20zero.\x0a-\x20Interrupted-segment\x20one-transaction\x20refund\x20demonstrated\x20before\x20payment.\x0a-\x20Win\x20re-books\x20with\x20itinerary\x20history\x20and\x20per-leg\x20transparency,\x20not\x20points.\x0a\x0a##\x208.\x20Red\x20lines\x0a\x0a1.\x20No\x20standard\x20flight/hotel\x20resale\x20—\x20weak\x20fit,\x20damages\x20positioning.\x0a2.\x20No\x20large\x20cross-period\x20custody\x20marketing\x20before\x20stablecoin\x20bridging\x20is\x0a\x20\x20\x20ready;\x20price\x20in\x20fiat\x20terms.\x0a3.\x20Never\x20commingle\x20undelivered-segment\x20funds\x20with\x20operating\x20cash;\x20cross-leg\x0a\x20\x20\x20responsibility\x20disclosed,\x20never\x20blurred.\x0a',RETAIL_MANUAL='#\x20Retail\x20(Private-Domain\x20Commerce)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20sellers\x20who\x20already\x20own\x20traffic\x20—\x20DTC\x20sites,\x0a>\x20community\x20commerce\x20and\x20creator\x20stores\x20—\x20on\x20WoWok.\x20Tier-3\x20deliberately:\x20WoW\x0a>\x20replaces\x20the\x20trust\x20and\x20settlement\x20tax,\x20not\x20the\x20traffic.\x20Anchors\x20from\x20the\x0a>\x20K1\x20scale-marketplace\x20/\x20vertical-handmade\x20analysis.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20seller\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20marketplace\x27s\x2030–35%\x0acombined\x20burden\x20into\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x20design,\x20not\x20a\x0aparameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x20you\x20ARE\x20the\x20aggregator\x20(a\x20channel\x0aselling\x20several\x20sellers,\x20a\x20bundle,\x20a\x20live-commerce\x20host)\x20you\x20may\x20charge\x20your\x0aown\x20fee,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x20before\x0aordering;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x0athe\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x0amandatory\x20transit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x0awhich\x20calls\x20`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x0aCompete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20The\x20honest\x20admission\x20that\x20makes\x20the\x20pitch\x20work\x0a\x0aScale-marketplace\x20sellers\x20carry\x20a\x2030–35%\x20combined\x20burden\x20(8–15%\x20referral\x20+\x0afulfillment\x20+\x20Q4\x20storage\x20multipliers\x20+\x208–12%\x20TACoS),\x20wait\x2014\x20days\x20for\x0asettlement\x20under\x20DD+7\x20reserves\x20that\x20can\x20jump\x20to\x20DD+90\x20(new\x20sellers\x20commonly\x0aface\x20100%\x20reserves),\x20face\x20guarantee-program\x20rulings\x20that\x20default\x20to\x20the\x20buyer\x0aon\x20absence,\x20and\x20absorb\x20a\x2019.3%\x20return\x20rate\x20of\x20which\x20~9%\x20is\x20fraudulent.\x0aUnilateral\x20fee\x20increases\x20on\x20incumbent\x20handmade\x20marketplaces\x20(24.2%)\x20complete\x0athe\x20picture.\x0a\x0aWoWok\x20answers\x20with\x20escrow\x20released\x20on\x20the\x20receipt-confirmation\x20guard,\x0areturn-auth\x20gating\x20that\x20requires\x20dual-signed\x20or\x20logistics-repository\x20evidence,\x0aconfigurable\x20arbitration\x20voting\x20periods,\x20and\x20a\x20repository\x20provenance\x20chain.\x0a\x0aThe\x20honest\x20admission:\x20**WoW\x20does\x20not\x20sell\x20traffic.**\x20The\x20incumbent\x27s\x2040.5%\x0ashare\x20is\x20the\x20value\x20of\x20demand,\x20and\x20a\x20zero-traffic\x20seller\x20should\x20be\x20rejected\x20at\x0aintake.\x20The\x20filter\x20sentence\x20is\x20the\x20strategy:\x20*\x22Of\x20the\x2030%\x20you\x20pay\x20the\x0aincumbent\x20marketplace,\x20which\x20part\x20buys\x20traffic\x20and\x20which\x20buys\x20trust?\x20We\x20don\x27t\x0asell\x20traffic\x20—\x20trust\x20is\x20free,\x20and\x20the\x20whole\x20sale\x20is\x20yours.\x22*\x20Putting\x20the\x0aboundary\x20in\x20the\x20intake\x20questionnaire\x20raises\x20conversion\x20quality.\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Private-domain\x20AOV\x20|\x20$50\x20|\x0a|\x20Legacy\x20combined\x20burden\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2030–35%\x20≈\x20$300–350\x20per\x20$1,000\x20GMV\x20|\x0a|\x20WoW\x20cost\x20per\x20$1,000\x20GMV\x20|\x20gas\x20≈\x20$0.01–0.5\x20across\x204–6\x20txns\x20(<\x20$1)\x20|\x0a|\x20Settlement\x20|\x2014\x20days\x20+\x20reserve\x20risk\x20→\x20seconds\x20|\x0a|\x20Return\x20rate\x20/\x20fraud\x20share\x20|\x2019.3%\x20/\x209%\x20|\x0a\x0aThat\x20$300–350\x20is\x20the\x20marketplace\x27s\x20burden,\x20not\x20your\x20price:\x20your\x20default\x0asettlement\x20is\x20Rate\x2010000\x20to\x20your\x20own\x20Entity.\x20A\x20channel\x20that\x20resells\x20several\x0asellers\x20is\x20the\x20aggregator\x20case\x20and\x20may\x20charge\x20its\x20own\x20explicit,\x20disclosed\x20fee\x20to\x0aa\x20non-empty\x20Entity\x20—\x20never\x20an\x20implicit\x20remainder,\x20never\x20a\x20`Surplus`\x20drain.\x0a\x0aFloor:\x20never\x20price\x20below\x20COGS\x20+\x20shipping\x20+\x20expected-return\x20provision;\x0acompensation\x20coverage:\x203x\x20the\x20ORDER\x20at\x20buy\x20time\x20as\x20a\x20HARD\x20FLOOR\x20(the\x0achain-enforced\x20award\x20ceiling\x20per\x20arb.move,\x20checked\x20per\x20order\x20at\x20order\x0acreation\x20—\x20size\x20the\x20pool\x20for\x20the\x20typical\x20single\x20order),\x205x\x20as\x20a\x0aCONCURRENT-FLOW\x20recommendation\x20(tolerance\x20for\x20several\x20claims\x20against\x20the\x20one\x0apool).\x20The\x20economics\x20work\x20at\x20almost\x20any\x20AOV\x20—\x20traffic\x20availability\x20is\x20the\x0aonly\x20admission\x20criterion.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Escrow\x20released\x20on\x20confirmed\x20receipt**\x20(default).\x20Funds\x20release\x20seconds\x0a\x20\x20\x20after\x20the\x20receipt\x20guard;\x20`return_auth_guard`\x20requires\x20return\x20evidence;\x0a\x20\x20\x20repository\x20provenance\x20supports\x20authenticity\x20claims.\x0a2.\x20**Member/bundle\x20pricing\x20for\x20private\x20communities**.\x20Spend-threshold\x20and\x0a\x20\x20\x20member\x20pricing\x20via\x20rewards\x20inside\x20the\x20owned\x20channel\x20—\x20no\x20platform\x20TACoS.\x0a\x20\x20\x20Bundles\x20stay\x20escrowed\x20per\x20deliverable;\x20never\x20release\x20pre-shipment.\x0a\x0aPosture\x20guidance:\x20volume\x20converts\x20existing\x20flow\x20into\x20escrow\x20GMV\x20with\x0afirst-order\x20and\x20spend-threshold\x20rewards\x20(viable\x20only\x20because\x20gas\x20is\x20under\x20$1\x0aper\x20thousand\x20GMV);\x20margin\x20sells\x20provenance-authenticated\x20premium\x20goods\x20with\x0arepository\x20evidence;\x20balanced\x20pilots\x205–8\x20sellers\x20around\x20the\x20gas-bill\x20proof\x0aevent.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Order\x20→\x20escrow\x20→\x20shipment\x20→\x20receipt-guard\x20release,\x20seconds\x20latency.\x0a-\x20[\x20]\x20Return-auth\x20flow\x20requiring\x20dual\x20signature\x20or\x20logistics\x20repository\x0a\x20\x20\x20\x20\x20\x20record\x20(structurally\x20raises\x20fraud\x20cost\x20against\x20the\x209%\x20fraud\x20share).\x0a-\x20[\x20]\x20Arbitration\x20with\x20configured\x20voting\x20period;\x20no\x20auto-default\x20rulings.\x0a-\x20[\x20]\x20Compensation\x20fund:\x203x\x20typical\x20single\x20order\x20minimum\x20(award\x20ceiling,\x20enforced\x20per\x20order\x20at\x20buy),\x205x\x20recommended\x20for\x20concurrent\x20claims.\x0a-\x20[\x20]\x20Repository\x20provenance\x20chain\x20for\x20SKUs\x20where\x20authenticity\x20is\x20claimed.\x0a-\x20[\x20]\x20Intake\x20questionnaire\x20confirming\x20existing\x20traffic;\x20reject\x20zero-traffic\x0a\x20\x20\x20\x20\x20\x20applicants\x20explicitly.\x0a\x0a##\x205.\x20Pilot\x20playbook\x20(M4+)\x0a\x0a-\x20**\x22$1,000\x20GMV\x20Cost\x20Teardown\x22\x20livestream**:\x20the\x20same\x20shop\x27s\x20private-domain\x0a\x20\x20orders\x20run\x20through\x20WoW,\x20full-cycle\x20gas\x20bill\x20published\x20against\x20the\x20$300–350\x0a\x20\x20incumbent\x20burden\x20for\x20identical\x20GMV.\x20Numbers\x20in\x20fiat.\x0a-\x20**Fee-hike\x20refugee\x20targeting**:\x20recruit\x20directly\x20from\x20communities\x20hit\x20by\x20the\x0a\x20\x2024.2%\x20unilateral\x20fee\x20event\x20—\x20the\x20triggering\x20event\x20is\x20the\x20acquisition\x0a\x20\x20channel.\x0a-\x205–8\x20sellers\x20pilot,\x20budget\x20$6–10K\x20**[estimate]**.\x0a\x0a##\x206.\x20Channels\x0a\x0a1.\x20Existing\x20private-traffic\x20sellers\x20(DTC,\x20community\x20commerce,\x20We-commerce)\x0a\x20\x20\x20—\x20the\x20only\x20segment\x20that\x20passes\x20the\x20filter.\x0a2.\x20Incumbent\x20fee-hike\x20victim\x20communities.\x0a3.\x20Live\x20cost-comparison\x20events\x20and\x20their\x20replays.\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Make\x20receipt\x20confirmation\x20a\x20one-tap\x20moment\x20and\x20show\x20the\x20release\x20seconds\x0a\x20\x20later\x20—\x20the\x20speed\x20gap\x20to\x2014-day\x20+\x20reserve\x20settlement\x20is\x20visceral.\x0a-\x20Re-purchase\x20via\x20spend\x20cashback\x20and\x20repository-issued\x20provenance\x0a\x20\x20certificates.\x0a-\x20Show\x20return-averse\x20buyers\x20the\x20evidence-gated\x20return\x20flow\x20up\x20front;\x20it\x0a\x20\x20protects\x20them\x20as\x20much\x20as\x20the\x20seller.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(weekly)\x0a\x0aHeadline\x20price,\x20reserve\x20policy,\x20return-fraud\x20handling,\x20arbitration\x20default\x0abehavior,\x20provenance\x20evidence.\x20Retail\x20promotion\x20cycles\x20move\x20fast;\x20weekly\x0acadence.\x20Never\x20answer\x20a\x20price\x20war\x20—\x20answer\x20with\x20the\x20settlement\x20and\x20reserve\x0acontrast.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Never\x20promise\x20traffic.\x0a2.\x20No\x20auto-default\x20buyer-win\x20rulings;\x20the\x20arbitration\x20voting\x20period\x20must\x20be\x0a\x20\x20\x20configured.\x0a3.\x20Physical\x20authenticity\x20claims\x20require\x20repository\x20evidence\x20—\x20never\x20beyond\x0a\x20\x20\x20what\x20the\x20evidence\x20proves.\x0a',BUILTIN_STRATEGY_MANUALS={'education':{'industry':'education','version':STRATEGY_MANUAL_VERSION,'body':EDUCATION_MANUAL},'rental':{'industry':'rental','version':STRATEGY_MANUAL_VERSION,'body':RENTAL_MANUAL},'freelance':{'industry':'freelance','version':STRATEGY_MANUAL_VERSION,'body':FREELANCE_MANUAL},'subscription':{'industry':'subscription','version':STRATEGY_MANUAL_VERSION,'body':SUBSCRIPTION_MANUAL},'travel':{'industry':'travel','version':STRATEGY_MANUAL_VERSION,'body':TRAVEL_MANUAL},'retail':{'industry':'retail','version':STRATEGY_MANUAL_VERSION,'body':RETAIL_MANUAL}};
|
|
1
|
+
import{classifyRelease,releaseBodyHash,releaseSentinelLine,stripReleaseSentinel}from'./release-sentinel.js';export const STRATEGY_MANUAL_FILENAME='strategy-manual.md';export const STRATEGY_MANUAL_VERSION=0x3;const MANUAL_KIND='strategy-manual';export function renderStrategyManual(a){const b=BUILTIN_STRATEGY_MANUALS[a];if(!b)return null;return releaseSentinelLine(MANUAL_KIND,b['version'],releaseBodyHash(b['body']))+'\x0a'+b['body'];}export function parseManualSentinel(a){return stripReleaseSentinel(a,MANUAL_KIND)['sentinel'];}export function classifyManualFile(a,b){const c=BUILTIN_STRATEGY_MANUALS[a];if(!c)return'user_file';const {sentinel:d,content:e}=stripReleaseSentinel(b,MANUAL_KIND);if(!d)return'user_file';return classifyRelease(d,e,c['version']);}export function getBuiltinStrategyManual(a){return BUILTIN_STRATEGY_MANUALS[a];}export function listBuiltinStrategyManualIndustries(){return Object['keys'](BUILTIN_STRATEGY_MANUALS);}const EDUCATION_MANUAL='#\x20Education\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20attendance-based\x20education\x20services\x20on\x20WoWok.\x0a>\x20Curated\x20from\x20the\x20K1\x20six-industry\x20commercial\x20handbook.\x20Figures\x20marked\x0a>\x20**[estimate]**\x20are\x20planning\x20estimates;\x20empirical\x20anchors\x20are\x20marked\x20**[K1]**.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x20live-class\x0aplatform\x27s\x2030%\x20take\x20+\x20service\x20fee\x20into\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x0adesign,\x20not\x20a\x20parameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x20you\x20ARE\x20the\x20aggregator\x0a(a\x20chain\x20or\x20a\x20multi-supplier\x20school\x20network)\x20you\x20may\x20charge\x20your\x20own\x20fee,\x20but\x0aonly\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x20before\x20ordering;\x20an\x20explicit\x0aNON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x20the\x20share\x20to\x20the\x0adeploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x20mandatory\x20transit\x0apool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x20which\x20calls\x0a`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x20Compete\x20on\x0aescrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aYou\x20are\x20not\x20selling\x20\x22crypto\x20payments\x22.\x20You\x20are\x20selling\x20the\x20one\x20guarantee\x0aparents\x20could\x20not\x20buy\x20anywhere:\x20**unearned\x20tuition\x20can\x20never\x20be\x20embezzled,\x20and\x0athe\x20parent\x20can\x20verify\x20that\x20on-chain\x20themselves.**\x0a\x0aThe\x20traditional\x20risk\x20stack\x20is\x20brutal:\x20parents\x20prepay\x20in\x20full,\x20the\x20incumbent\x0aplatform\x20takes\x2025–40%,\x20institutions\x20can\x20commingle\x20the\x20funds,\x20teachers\x20settle\x207–13\x20days\x0alater,\x20and\x20when\x20an\x20institution\x20collapses\x20(documented\x20cases\x20of\x20$500M+\x20in\x0aprepaid\x20tuition\x20unaccounted\x20for),\x20recovery\x20is\x2040–80%\x20at\x20best.\x20Regulators\x20require\x0acustody,\x20but\x20paper\x20custody\x20can\x20be\x20technically\x20hollowed\x20out\x20when\x20the\x20collecting\x0aentity\x20is\x20not\x20the\x20custodial\x20entity.\x0a\x0aYour\x20WoWok\x20structure\x20makes\x20the\x20failure\x20structurally\x20impossible:\x0a\x0a1.\x20Parent\x20prepays\x20into\x20an\x20Allocation\x20contract\x20—\x20funds\x20never\x20land\x20on\x20your\x20books.\x0a2.\x20Every\x20lesson\x27s\x20fee\x20releases\x20on\x20the\x20parent\x27s\x20attendance\x20signature\x0a\x20\x20\x20(`attendance_guard_signer`),\x20in\x20seconds.\x0a3.\x20Withdrawal\x20at\x20a\x20\x22withdrawn\x22\x20node\x20refunds\x20all\x20unearned\x20lessons\x20in\x20a\x20single\x0a\x20\x20\x20transaction,\x20with\x20no\x20institutional\x20cooperation\x20—\x20100%\x20recovery\x20by\x20design.\x0a4.\x20`setting_lock_duration`\x20locks\x20the\x20fee\x20schedule\x20(default\x2030\x20days).\x0a\x0aOne\x20sentence\x20for\x20every\x20landing\x20page:\x20*\x22Unearned\x20tuition\x20can\x20never\x20be\x20taken\x20—\x0aand\x20you\x20can\x20verify\x20that\x20sentence\x20yourself\x20on-chain.\x22*\x0a\x0aHonest\x20boundary,\x20always:\x20the\x20structure\x20prevents\x20fund\x20embezzlement.\x20It\x20does\x20not\x0aprevent\x20bad\x20teaching.\x20Say\x20so.\x20Overclaiming\x20destroys\x20the\x20only\x20moat\x20you\x20have:\x0averifiable\x20honesty.\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20AOV\x20(30-lesson\x20package)\x20|\x20¥3,000\x20**[K1]**\x20|\x0a|\x20Legacy\x20combined\x20fee\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x20Incumbent\x20live-class\x20platform\x2030%\x20≈\x20¥900/order\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20≈\x20$0.05–2.5\x20for\x20N+2\x20transactions\x20|\x0a|\x20Extra\x20per\x20order\x20|\x20≈\x20¥890\x20|\x0a|\x20Teacher\x20settlement\x20|\x207–13\x20days\x20→\x20seconds\x20|\x0a\x0aFormula:\x20extra\x20per\x20order\x20=\x20incumbent\x20fee\x20rate\x20×\x20AOV\x20−\x20(gas\x20+\x20keeper\x20amortization\x0a+\x20one-time\x20migration\x20cost).\x20That\x20incumbent\x20fee\x20is\x20the\x20number\x20being\x20displaced\x20—\x0ait\x20is\x20NOT\x20a\x20fee\x20you\x20charge;\x20under\x20direct\x20sales\x20your\x20own\x20default\x20payout\x20is\x20100%\x0aof\x20the\x20sale.\x20The\x20gas\x20line\x20is\x20noise\x20against\x20¥900\x20saved;\x20adoption\x0apays\x20on\x20essentially\x20the\x20first\x20package.\x20Price\x20in\x20fiat\x20terms\x20—\x20WOW\x20token\x0avolatility\x20must\x20never\x20enter\x20a\x20parent\x27s\x20tuition\x20decision.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Per-lesson\x20escrow\x20release**\x20(default).\x20Escrowed\x20package,\x201/N\x20release\x20per\x0a\x20\x20\x20attendance\x20signature.\x20Fits\x20every\x20attendance-based\x20scenario.\x0a2.\x20**Package\x20price\x20with\x20rate-based\x20release**.\x20¥3,000\x20class\x20packages;\x20refund\x0a\x20\x20\x20policy\x20declared\x20up\x20front;\x20compensation\x20fund\x20bound.\x0a3.\x20**Trial-class\x20conversion\x20price**.\x20One\x20escrowed\x20trial,\x20enrollment\x20balance\x0a\x20\x20\x20only\x20after\x20the\x20parent\x20signs;\x20pairs\x20with\x20referral\x20reward.\x20Never\x20run\x20trials\x0a\x20\x20\x20permanently\x20below\x20delivery\x20cost.\x0a\x0aPosture\x20guidance:\x0a\x0a-\x20**Volume**:\x20group-buy\x20and\x20early-bird\x20through\x20parent\x20KOC\x20communities;\x0a\x20\x20trial-class\x20discounts\x20as\x20the\x20cold-start\x20hook.\x20Never\x20below\x20per-lesson\x20cost.\x0a-\x20**Balanced**:\x20mix\x20institutional\x20B2B\x20direct\x20selling\x20with\x20community\x20KOC\x20growth.\x0a-\x20**Margin**:\x20sell\x20compliance\x20to\x20mid-size\x20institutions\x20as\x20a\x20moat\x20—\x20\x22I\x20locked\x0a\x20\x20tuition\x20into\x20an\x20on-chain\x20contract;\x20do\x20you\x20dare?\x22\x20is\x20*their*\x20sales\x20line\x20to\x0a\x20\x20parents.\x20BD\x20costs\x20¥1,500–3,000\x20per\x20signed\x20institution.\x0a\x0aRecorded/self-paced\x20courses\x20are\x20a\x20MISMATCH.\x20Route\x20them\x20to\x20the\x20subscription\x0amodel\x20(per-period\x20signed\x20charges\x20+\x20delivery\x20gate).\x20Do\x20not\x20sell\x20them\x20as\x0aattendance\x20escrow\x20—\x20the\x20mode-fit\x20check\x20is\x20a\x20standard\x20intake\x20action.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Service\x20with\x20the\x20education\x20blueprint:\x20`attendance_guard_signer`\x20at\x0a\x20\x20\x20\x20\x20\x20every\x20lesson\x20node,\x20rate-mode\x20Allocator\x20releasing\x20per\x20lesson.\x0a-\x20[\x20]\x20A\x20\x22withdrawn\x22\x20node\x20with\x20a\x20one-transaction\x20refund\x20Allocator\x20path.\x0a-\x20[\x20]\x20`setting_lock_duration`\x20on\x20the\x20fee\x20schedule.\x0a-\x20[\x20]\x20Arbitration\x20bound\x20+\x20compensation\x20fund\x20funded.\x0a-\x20[\x20]\x20Public\x20verification\x20view:\x20order,\x20Allocation\x20and\x20Payment\x20objects\x0a\x20\x20\x20\x20\x20\x20readable\x20by\x20the\x20parent\x20(reverse\x20readability\x20is\x20validated\x20in\x20K1).\x0a-\x20[\x20]\x20Target:\x20a\x20fully\x20configured\x20shop\x20in\x20≤10\x20guided\x20dialogues\x20(K1\x20validated\x2011).\x0a\x0a##\x205.\x20The\x2090-day\x20campaigns\x0a\x0a**Campaign\x20A\x20—\x20\x22Tuition\x20Transparency\x20Experiment\x22\x20(M1–M2).**\x20One\x20seed\x0ainstitution\x20runs\x20two\x20parallel\x20classes:\x20traditional\x20collection\x20vs\x20WoW\x0acustody.\x20Publish\x20everything:\x20parents\x20see\x20the\x20B-class\x20contract\x20balance\x20and\x0arelease\x20records.\x20At\x20the\x20week-4\x20parent\x20open\x20day,\x20demo\x20a\x20mid-course\x20withdrawal\x0arefund\x20live,\x20one\x20transaction.\x20KPI:\x201\x20anchor\x20institution,\x20≥30\x20escrow\x20orders,\x0aone\x20verifiable\x20case\x20piece,\x20parent\x20NPS\x20≥60.\x20Budget\x20$6–9K\x20**[estimate]**.\x0a\x0a**Campaign\x20B\x20—\x20\x22The\x20Regulatory\x20Answer\x22\x20(M2–M3).**\x20No\x20ads.\x20Publish\x20the\x0awhite-paper\x20*From\x20Paper\x20Custody\x20to\x20Protocol\x20Custody*,\x20route\x20it\x20to\x20local\x0aregulatory\x20discussions,\x20trade\x20media\x20and\x20parent\x20communities.\x20Frame:\x20\x22WoW\x20is\x0athe\x20technical\x20answer\x20to\x20custody\x20regulation,\x20not\x20its\x20object.\x22\x20Have\x20a\x2024-hour\x0aresponse\x20draft\x20ready\x20for\x20the\x20next\x20sector\x20failure\x20news\x20cycle\x20—\x20one\x20will\x20come.\x0aKPI:\x202\x20media\x20citations,\x203\x20inbound\x20institutions,\x20$0\x20ad\x20spend.\x0a\x0a##\x206.\x20Channels\x20in\x20order\x0a\x0a1.\x20Parent-rights\x20and\x20local\x20parent\x20KOC\x20groups\x20(¥30–80\x20per\x20paying\x20parent).\x0a2.\x20Institutional\x20direct\x20BD\x20—\x20supply\x20decides\x20the\x20two-sided\x20cold\x20start.\x0a3.\x20Industry\x20media\x20/\x20policy\x20white-papers\x20—\x20zero-cost\x20endorsement.\x0a4.\x20Paid\x20ads\x20—\x20do\x20not\x20use\x20in\x20the\x20first\x2090\x20days;\x20they\x20conflict\x20with\x20the\x20trust\x0a\x20\x20\x20narrative.\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Show\x20the\x20contract\x20balance\x20and\x20release\x20history\x20BEFORE\x20payment.\x0a-\x20The\x20live\x20withdrawal-refund\x20demo\x20is\x20the\x20trial-to-enrollment\x20closer.\x0a-\x20Renew\x20on\x20per-lesson\x20release\x20history\x20+\x20attendance\x20records;\x20use\x20sibling\x20and\x0a\x20\x20referral\x20rewards\x20rather\x20than\x20discounting.\x0a-\x20Institutions\x20can\x20recruit\x20teachers\x20with\x20\x22settlement\x20in\x20seconds\x22\x20—\x20the\x20same\x0a\x20\x20feature\x20sells\x20both\x20sides.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(weekly)\x0a\x0aTrack\x20headline\x20price\x20vs\x20escrow\x20structure,\x20arbitration\x20availability,\x0acompensation-fund\x20coverage,\x20release\x20granularity,\x20and\x20refund-window\x20terms.\x0aNever\x20respond\x20to\x20a\x20price\x20war\x20with\x20discounts:\x20respond\x20by\x20inviting\x20the\x20parent\x0ato\x20read\x20the\x20contract.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Recorded-only\x20products\x20route\x20to\x20subscription\x20—\x20never\x20disguised\x20as\x0a\x20\x20\x20attendance\x20courses.\x0a2.\x20Never\x20imply\x20the\x20structure\x20guarantees\x20teaching\x20quality.\x0a3.\x20All\x20external\x20material\x20carries\x20the\x20testnet\x20/\x20estimate\x20/\x20WOW-price\x0a\x20\x20\x20disclaimers.\x20Fiat-denominated\x20figures\x20only.\x0a',RENTAL_MANUAL='#\x20Rental\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20high-value\x20equipment\x20and\x20P2P\x20rentals\x20on\x0a>\x20WoWok.\x20Anchors\x20marked\x20**[k1rent]**\x20come\x20from\x20the\x20fully\x20executed\x20on-chain\x0a>\x20rental\x20pilot;\x20**[estimate]**\x20marks\x20planning\x20figures.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x27s\x2015.5%\x20host\x0acommission\x20+\x20guest\x20service\x20fee\x20into\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x0adesign,\x20not\x20a\x20parameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x20you\x20ARE\x20the\x20aggregator\x0a(a\x20chain,\x20an\x20equipment\x20fleet\x20operator,\x20a\x20hosting\x20consortium)\x20you\x20may\x20charge\x0ayour\x20own\x20fee,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x20before\x0aordering;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x0athe\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x0amandatory\x20transit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x0awhich\x20calls\x20`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x0aCompete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aRentals\x20are\x20a\x20dispute\x20business\x20that\x20pretends\x20to\x20be\x20a\x20utilization\x20business.\x0aThe\x20incumbent\x20stack\x20has\x20three\x20structural\x20holes:\x0a\x0a1.\x20**Fake\x20deposits.**\x20Card\x20pre-authorizations\x20are\x20not\x20real\x20deductions;\x2077%\x20of\x0a\x20\x20\x20hosts\x20collect\x20no\x20deposit\x20at\x20all\x20—\x20deterrence\x20is\x20zero.\x0a2.\x20**Evidence\x20asymmetry.**\x20Without\x20dated\x20pre-rental\x20photos,\x20damage-claim\x0a\x20\x20\x20rejection\x20runs\x2020%\x20→\x2070%;\x20even\x20paid\x20claims\x20are\x20discounted\x20for\x20depreciation\x0a\x20\x20\x20(60–85%\x20actually\x20paid).\x0a3.\x20**Slow,\x20weaponized\x20settlement.**\x20Refunds\x20take\x207–15\x20business\x20days;\x20review\x0a\x20\x20\x20extortion\x20($50–200\x20per\x20review)\x20shares\x20the\x20same\x20game\x20window\x20as\x20claims.\x0a\x0aWoWok\x20closes\x20all\x20three.\x20Rent\x20+\x20a\x20REAL\x20deposit\x20are\x20bundled\x20into\x20the\x20order\x20and\x0aescrowed\x20in\x20the\x20Allocation\x20contract.\x20A\x20pre-rental\x20WIP\x20hash\x20baseline\x20is\x0amandatory\x20at\x20the\x20handover_out\x20node.\x20On\x20return,\x20post-rental\x20WIP\x20is\x20compared\x20and\x0aexactly\x20one\x20of\x20three\x20mutually\x20exclusive\x20Allocator\x20paths\x20fires:\x20clean\x20return\x0a(deposit\x20back\x20in\x20full),\x20cancellation\x20(full\x20refund),\x20or\x20graded\x20damage\x0adeduction.\x20Settlement\x20is\x20a\x20single\x20allocation\x20transaction\x20—\x20≈3\x20seconds\x20on\x0ak1rent\x20**[k1rent]**\x20—\x20exact\x20to\x20the\x20cent.\x0a\x0aYour\x20sentence:\x20*\x22The\x20incumbent\x20platform\x20itself\x20admitted\x20the\x20evidence\x20crisis\x20—\x0awe\x20turned\x20it\x20into\x20structural\x20immunity,\x20and\x20the\x20deposit\x20is\x20real.\x22*\x0a\x0a##\x202.\x20The\x20k1rent\x20receipts\x20are\x20your\x20marketing\x0a\x0aThree\x20immutable\x20Payment\x20records\x20exist\x20from\x20the\x20pilot:\x0a\x0a-\x20`0x078b0834`\x20—\x20clean:\x202\x20rent\x20→\x20merchant,\x203\x20deposit\x20→\x20customer;\x0a-\x20`0xfac811d5`\x20—\x20cancellation:\x205\x20fully\x20→\x20customer;\x0a-\x20`0xe812ed37`\x20—\x20damage:\x203.5\x20→\x20merchant,\x201.5\x20→\x20customer.\x0a\x0aA\x20traditional\x20platform\x27s\x20\x22case\x20study\x22\x20cannot\x20be\x20independently\x20verified.\x20These\x0athree\x20can,\x20by\x20anyone,\x20forever.\x20Build\x20the\x20interactive\x20audit\x20page\x20around\x20the\x0a10-node\x20machine\x20+\x20three\x20paths\x20and\x20make\x20that\x20page\x20the\x20center\x20of\x20your\x0aacquisition.\x0a\x0a##\x203.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20AOV\x20(camera,\x203\x20days)\x20|\x20$200\x20|\x0a|\x20Legacy\x20host-side\x20commission\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2015.5%\x20≈\x20$31/order\x20|\x0a|\x20Full-cycle\x20WoW\x20cost\x20|\x20≈\x200.05\x20WOW\x20≈\x20¥0.35\x20(5–7\x20txns)\x20**[k1rent]**\x20|\x0a|\x20Deposit\x20refund\x20|\x207–15\x20business\x20days\x20→\x20≈3\x20seconds\x20|\x0a|\x20Insurance/arbitration\x20collapse\x20|\x20Incumbent\x20vehicle-rental\x20platform:\x20$750M\x20burden\x20|\x0a\x0aThat\x2015.5%\x20is\x20the\x20incumbent\x27s,\x20not\x20yours:\x20under\x20direct\x20sales\x20the\x20host\x27s\x20default\x0apayout\x20is\x20Rate\x2010000\x20to\x20the\x20host\x27s\x20own\x20Entity,\x20and\x20the\x20deposit\x20refund\x20is\x20a\x0aseparate\x20leg\x20to\x20the\x20customer.\x20Only\x20a\x20declared\x20third\x20party\x20(cleaning,\x20repair)\x0aever\x20earns\x20a\x20non-zero\x20share,\x20and\x20its\x20Entity\x20must\x20be\x20non-empty\x20and\x20visible\x20to\x20the\x0arenter\x20BEFORE\x20the\x20order\x20is\x20funded.\x0a\x0aPrice\x20floor:\x20rental\x20rate\x20must\x20cover\x20maintenance\x20+\x20depreciation\x20+\x0abracket-expected\x20damage.\x20The\x20deposit\x20is\x20never\x20lent\x20against\x20or\x20rehypothecated.\x0a\x0a##\x204.\x20Pricing\x20models\x0a\x0a1.\x20**Rent\x20+\x20deposit\x20bundled\x20escrow,\x20three-path\x20settlement**\x20(default\x20and\x0a\x20\x20\x20core).\x20Pre-rental\x20WIP\x20baseline\x20is\x20non-negotiable\x20—\x20without\x20it\x20the\x20damage\x0a\x20\x20\x20guard\x20cannot\x20pass\x20and\x20the\x20product\x20does\x20not\x20exist.\x0a2.\x20**Pre-agreed\x20graded\x20damage\x20brackets**\x20(light\x2020%\x20/\x20heavy\x2050%\x20/\x20total\x20100%)\x0a\x20\x20\x20for\x20continuous\x20damage\x20amounts\x20like\x20the\x20$347.50\x20case.\x20Brackets\x20are\x0a\x20\x20\x20disclosed\x20and\x20accepted\x20at\x20order\x20time;\x20micro-arbitration\x20only\x20assigns\x20the\x0a\x20\x20\x20bracket\x20—\x20it\x20never\x20improvises\x20amounts.\x0a3.\x20**Duration\x20discount\x20ladder**\x20(monthly\x2010%\x20/\x20quarterly\x2020%\x20/\x20annual\x2030%)\x0a\x20\x20\x20to\x20push\x20utilization,\x20never\x20below\x20maintenance\x20+\x20depreciation\x20per\x20period.\x0a\x0aPosture\x20guidance:\x20volume\x20plays\x20utilization\x20and\x20repeat\x20credits\x20(but\x20never\x0awaives\x20the\x20real\x20deposit);\x20margin\x20sells\x20premium\x20high-value\x20gear\x20on\x0averifiable\x20deposit\x20safety\x20and\x203-second\x20refunds;\x20balanced\x20runs\x20the\x2010-merchant\x0aseed\x20program.\x0a\x0a##\x205.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x2010-node\x20rental\x20machine\x20with\x20handover_out\x20baseline\x20node\x20and\x20return\x20node.\x0a-\x20[\x20]\x20WIP\x20hash\x20capture\x20guided\x20UX\x20at\x20both\x20handover\x20and\x20return\x20(this\x20is\x20the\x0a\x20\x20\x20\x20\x20\x20trust\x20moment\x20—\x20make\x20it\x20easy,\x20not\x20bureaucratic).\x0a-\x20[\x20]\x20Three\x20mutually\x20exclusive\x20Allocator\x20paths,\x20first-match\x20semantics.\x0a-\x20[\x20]\x20Independent\x20arbitration\x20permission\x20(see\x20red\x20line:\x20do\x20not\x20claim\x0a\x20\x20\x20\x20\x20\x20contract-enforced\x20independence\x20without\x20negative-test\x20backing).\x0a-\x20[\x20]\x20Keeper\x20auto-return\x20reminders\x20as\x20standard\x20onboarding,\x20$5–20/month\x0a\x20\x20\x20\x20\x20\x20transparently\x20priced.\x0a-\x20[\x20]\x20Compensation\x20fund\x20sized\x20for\x20the\x20high-value\x20inventory\x20tail.\x0a\x0a##\x206.\x20The\x2090-day\x20campaigns\x0a\x0a**Campaign\x20A\x20—\x20\x22Audit\x20This\x20Ledger\x20Yourself\x22\x20(M1).**\x20Publish\x20the\x20k1rent\x0aaudit\x20page\x20and\x20invite\x20anyone\x20to\x20audit\x20it.\x20Distribute\x20in\x20photography\x20forums,\x0acamera\x20second-hand\x20groups,\x20Reddit\x20r/photography,\x20Bilibili\x20gear\x20channels.\x20KPI:\x0a≥5,000\x20audit-page\x20UV,\x203\x20inbound\x20rental\x20merchants,\x201\x20organic\x20KOC\x20retelling.\x0aBudget\x20$1.5–2.5K\x20**[estimate]**.\x0a\x0a**Campaign\x20B\x20—\x20\x22Deposit\x20Protection\x20Program\x22\x20(M1–M3).**\x20Recruit\x2010\x20equipment\x0arental\x20merchants;\x20templated\x20build\x20≤10\x20dialogues;\x20keeper\x20subsidy\x20$20/mo\x20per\x0amerchant\x20plus\x20first-order\x20gas\x20subsidy\x20for\x203\x20months.\x20KPI:\x2010\x20published\x0aServices,\x20≥100\x20cumulative\x20orders,\x20zero\x20escalated\x20disputes\x20(everything\x20closed\x0aby\x20guard\x20or\x20on-chain\x20micro-arbitration).\x20Budget\x20$8–12K\x20**[estimate]**.\x0a\x0a##\x207.\x20Cold-start\x20mechanics\x0a\x0aSign\x20supply\x20first.\x20Equipment\x20owners\x20get\x20the\x20deposit-custody\x20sales\x20line;\x20\x22my\x0arule:\x20on-chain\x20deposit\x22\x20is\x20their\x20filter\x20for\x20serious\x20renters.\x20Owners\x20bring\x0ademand.\x20Targets:\x20camera/gear,\x20construction\x20machinery,\x20outdoor\x20equipment,\x20and\x0aP2P\x20hosts\x20—\x20high-value,\x20low-frequency,\x20damage-dispute-rich,\x20AOV\x20$100–500.\x0a\x0aIntercept\x20second-hand\x20marketplace\x20dispute\x20threads\x20with\x20one\x20line:\x20\x22this\x0adispute\x20could\x20not\x20have\x20happened\x20on\x20WoW\x22\x20—\x20plus\x20the\x20audit\x20link.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(biweekly)\x0a\x0aRent\x20price,\x20whether\x20the\x20deposit\x20is\x20actually\x20held\x20(vs\x20card\x20auth),\x20pre-rental\x0aevidence\x20requirement,\x20refund\x20speed,\x20arbitration\x20independence.\x20Cite\x0aopponents\x27\x20own\x20documents\x20(incumbent\x20policy\x20reversals\x20such\x20as\x20AI-image\x20claim\x0abans,\x20and\x20platform\x20shutdowns)\x20—\x20their\x20copy\x20outperforms\x20any\x20copy\x20you\x20could\x20write.\x0a\x0a##\x209.\x20Retention\x0a\x0a-\x20Show\x20historical\x20settlement\x20transactions\x20to\x20first-time\x20renters\x20before\x20they\x0a\x20\x20fund.\x0a-\x20Re-rental\x20via\x20accumulated\x20credit,\x20not\x20coupons.\x0a-\x20Keep\x20claims\x20structurally\x20separate\x20from\x20reviews\x20—\x20this\x20kills\x20review\x0a\x20\x20extortion\x20and\x20is\x20worth\x20saying\x20out\x20loud.\x0a\x0a##\x2010.\x20Red\x20lines\x0a\x0a1.\x20No\x20damage\x20deduction\x20without\x20a\x20pre-rental\x20baseline\x20(guard\x20must\x20fail).\x0a2.\x20\x22Contract-enforced\x22\x20arbitration\x20claims\x20require\x20negative-test\x20backing\x0a\x20\x20\x20first\x20(P-5\x20lesson).\x0a3.\x20Never\x20hide\x20the\x20keeper\x20subscription\x20cost.\x0a',FREELANCE_MANUAL='#\x20Freelance\x20(Services)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20project-based\x20freelancers\x20and\x20small\x20studios\x0a>\x20on\x20WoWok.\x20Anchors\x20from\x20the\x20K1\x20enterprise\x20talent-marketplace\x20analysis;\x0a>\x20**[estimate]**\x20marks\x20planning\x20figures.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x27s\x2015.4%\x20take\x0a(+\x20its\x203–7.99%\x20client-side\x20fee\x20and\x20contract\x20startup\x20fee)\x20into\x20an\x20allocator:\x20that\x0ashare\x20is\x20displaced\x20by\x20design,\x20not\x20a\x20parameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x0ayou\x20ARE\x20the\x20aggregator\x20(a\x20talent\x20agency,\x20a\x20multi-contract\x20orchestrator)\x20you\x20may\x0acharge\x20your\x20own\x20fee,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x0abefore\x20ordering;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x0aroutes\x20the\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x0ano\x20mandatory\x20transit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x0aleg,\x20which\x20calls\x20`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x0aCompete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aIncumbent\x20freelance\x20platforms\x20extract\x20on\x20four\x20axes\x20simultaneously:\x0a\x0a-\x2015.4%\x20take\x20(plus\x203–7.99%\x20client-side\x20fees\x20and\x20contract\x20startup\x20fees);\x0a-\x20Connects\x20bid-entry\x20costs\x20of\x20$48–120\x20for\x20a\x20first\x20order,\x20with\x20~60%\x20of\x0a\x20\x20proposals\x20getting\x20no\x20reply;\x0a-\x20up\x20to\x2027\x20days\x20from\x20delivery\x20to\x20settled\x20cash;\x0a-\x20arbitration\x20at\x20$337.50\x20per\x20party\x20—\x20which\x20makes\x20every\x20dispute\x20under\x20~$700\x0a\x20\x20structurally\x20unsolvable,\x20precisely\x20the\x20long-tail\x20amount\x20band;\x0a-\x20reputation\x20locked\x20inside\x20the\x20platform\x20(JSS),\x20plus\x2010-minute\x20screenshot\x0a\x20\x20surveillance\x20(Work\x20Diary).\x0a\x0aWoWok\x20flips\x20each\x20one:\x20escrow\x20at\x20signing,\x20WIP\x20delivery\x20anchoring,\x20acceptance\x0asignature\x20releasing\x20funds\x20in\x20seconds,\x2014-day\x20silence\x20auto-acceptance\x20via\x20time\x0aguard\x20+\x20keeper,\x20micro-arbitration\x20at\x20any\x20amount,\x20and\x20a\x20Passport\x20credential\x0athe\x20freelancer\x20carries\x20across\x20every\x20client\x20and\x20industry.\x0a\x0aYour\x20sentence:\x20*\x22The\x20incumbent\x20says\x20disputes\x20under\x20$700\x20aren\x27t\x20worth\x20solving.\x0aWe\x20say\x20every\x20one\x20is\x20—\x20and\x20your\x20reputation\x20is\x20your\x20asset,\x20not\x20their\x20hostage.\x22*\x0a\x0aPhilosophy\x20line\x20that\x20also\x20functions\x20as\x20a\x20filter:\x20**we\x20verify\x20outcomes,\x20we\x20do\x0anot\x20monitor\x20processes.**\x20Decline\x20hourly-surveillance\x20clients\x20happily.\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Milestone\x20contract\x20AOV\x20|\x20$1,000\x20|\x0a|\x20Legacy\x20take\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2015.4%\x20≈\x20$154\x20(+\x20client\x203–7.99%)\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20$0.01–0.6\x20across\x204–8\x20txns\x20|\x0a|\x20Arbitration\x20|\x20≈\x20$0.01\x20vs\x20$337.50/party\x20|\x0a|\x20Settlement\x20|\x20up\x20to\x2027\x20days\x20→\x20seconds\x20|\x0a\x0aA\x20single\x20$1,000\x20contract\x20retains\x20≈$153\x20that\x20used\x20to\x20leave;\x20adoption\x20pays\x20on\x0athe\x20first\x20escrowed\x20job.\x20That\x20$154\x20is\x20the\x20incumbent\x27s\x20cut,\x20not\x20a\x20line\x20in\x20your\x0aallocator\x20—\x20your\x20default\x20settlement\x20is\x20Rate\x2010000\x20to\x20your\x20own\x20Entity.\x20If\x20you\x0aare\x20an\x20agency\x20orchestrating\x20several\x20freelancers,\x20your\x20own\x20fee\x20must\x20be\x20an\x0aexplicit\x20Amount\x20or\x20Rate\x20leg\x20to\x20an\x20explicit\x20non-empty\x20Entity,\x20disclosed\x20before\x0athe\x20client\x20orders\x20—\x20never\x20an\x20implicit\x20remainder\x20and\x20never\x20a\x20`Surplus`\x20entry.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Milestone\x20escrow\x20with\x20acceptance\x20signature**\x20(default).\x20Every\x20milestone\x0a\x20\x20\x20objectively\x20verifiable;\x20`deliver_guard_wip`\x20anchors\x20the\x20delivery,\x0a\x20\x20\x20`accept_guard_signer`\x20releases,\x2014-day\x20time\x20guard\x20auto-accepts.\x0a2.\x20**Fixed-price\x20deliverable\x20with\x20revision\x20loops**\x20(logos,\x20translations,\x0a\x20\x20\x20articles).\x20Revision\x20rounds\x20modeled\x20as\x20machine\x20loops\x20—\x20cap\x20the\x20rounds\x20up\x0a\x20\x20\x20front.\x0a3.\x20**Demand-based\x20reverse\x20bidding**:\x20clients\x20post\x20Demands,\x20you\x20present\x20with\x0a\x20\x20\x20Passport/trust\x20gating;\x20zero\x20connect\x20fees,\x20no\x2060%-no-reply\x20graveyard.\x0a\x0aPosture\x20guidance:\x20volume\x20competes\x20on\x20Demand\x20participation\x20and\x20first-order\x0aspeed;\x20margin\x20positions\x20on\x20public\x20on-chain\x20delivery\x20history\x20and\x20refuses\x0aprocess\x20surveillance;\x20balanced\x20standardizes\x20milestone\x20templates\x20and\x20mixes\x0aDemand\x20with\x20referral\x20clients.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Service\x20priced\x20per\x20milestone\x20(3–5\x20splits\x20in\x20the\x20first\x20proposal\x20—\x20it\x0a\x20\x20\x20\x20\x20\x20de-risks\x20the\x20client\x20and\x20signals\x20professionalism).\x0a-\x20[\x20]\x20Escrow\x20before\x20any\x20work\x20starts.\x20Never\x20start\x20on\x20a\x20\x22trusted\x20client\x22\x0a\x20\x20\x20\x20\x20\x20promise.\x0a-\x20[\x20]\x20WIP\x20hashing\x20at\x20each\x20delivery;\x20acceptance\x20gate;\x2014-day\x20auto-accept\x20time\x0a\x20\x20\x20\x20\x20\x20guard\x20+\x20keeper.\x0a-\x20[\x20]\x20Arbitration\x20bound\x20even\x20on\x20small\x20jobs\x20—\x20the\x20cost\x20is\x20trivial\x20and\x20the\x0a\x20\x20\x20\x20\x20\x20availability\x20is\x20the\x20pitch.\x0a-\x20[\x20]\x20Passport\x20issuance\x20workflow\x20ready\x20before\x20leading\x20with\x20portability\x0a\x20\x20\x20\x20\x20\x20claims\x20(BUG-02\x20P0\x20dependency).\x0a\x0a##\x205.\x20Campaign\x20sequencing\x20(start\x20M2,\x20need\x20≥20\x20merchants\x20first)\x0a\x0a**\x22$699\x20Arbitration\x20Clinic\x22\x20(M2–M3).**\x20Publicly\x20accept\x20and\x20resolve\x20real\x0asub-$700\x20commercial\x20disputes\x20on-chain;\x20publish\x20a\x20weekly\x20micro-arbitration\x0adocumentary.\x20KPI:\x20≥10\x20closed\x20arbitrations,\x20≥3,000\x20average\x20reads\x20per\x20episode,\x0aarbitrator\x20pool\x20≥15.\x20Budget\x20$3–5K\x20**[estimate]**.\x0a\x0a**\x22Transparent\x20Income\x20Witnesses\x22\x20KOC\x20program.**\x20Sign\x205–8\x20mid-tier\x20(not\x0ahead-tier)\x20freelancers\x20who\x20publish\x20real\x20incumbent-vs-WoW\x20income\x20comparisons\x20at\x0aauditable\x20addresses.\x20KOL\x20settlement\x20auto-splits\x20via\x20Allocation\x20after\x20verified\x0afirst-order\x20conversion\x20—\x20no\x20monthly\x20net\x20terms.\x20KPI:\x20≥30\x20registered\x0afreelancers\x20per\x20KOC,\x20on-chain-verifiable\x20conversion\x20≥8%.\x20Budget\x20$6–10K\x0a**[estimate]**.\x0a\x0a##\x206.\x20Channels\x0a\x0ar/freelance,\x20Indie\x20Hackers,\x20digital-nomad\x20communities\x20(67%\x20of\x20Gen\x20Z\x20regard\x0amultiple\x20income\x20streams\x20as\x20essential\x20—\x20Passport\x20lands\x20here),\x20design\x20and\x0atranslation\x20verticals,\x20and\x20Demand\x20bounty\x20events\x20for\x20the\x20demand\x20side.\x0aEstimated\x20$3–8\x20per\x20registered\x20freelancer\x20**[estimate]**.\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Proposals\x20show\x20WIP\x20hashes\x20of\x20similar\x20completed\x20milestones.\x0a-\x20Always\x20propose\x20the\x20milestone\x20split\x20in\x20the\x20first\x20message.\x0a-\x20At\x20delivery,\x20explicitly\x20point\x20at\x20the\x20Passport\x20credential\x20earned:\x20every\x0a\x20\x20clean\x20completion\x20is\x20a\x20portable\x20asset.\x20That\x20sentence\x20is\x20the\x20retention\x20loop.\x0a-\x20Revision\x20scope\x20is\x20agreed\x20before\x20escrow,\x20never\x20negotiated\x20mid-delivery.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(biweekly)\x0a\x0aEffective\x20fee\x20after\x20tiered\x20cuts,\x20escrow\x20availability,\x20settlement\x20speed,\x0aarbitration\x20fee\x20floor,\x20reputation\x20portability.\x20Let\x20the\x20incumbent\x20platform\x27s\x20own\x0afee\x20adjustment\x20notices\x20carry\x20the\x20contrast\x20—\x20every\x20one\x20of\x20those\x20figures\x20is\x20theirs,\x0aand\x20none\x20of\x20them\x20is\x20a\x20default\x20you\x20inherit.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20No\x20work\x20before\x20milestone\x20escrow.\x0a2.\x20No\x20reputation-portability\x20claims\x20before\x20Passport\x20issuance\x20UX\x20is\x0a\x20\x20\x20production-ready.\x0a3.\x20Never\x20bid\x20below\x20the\x20minimum-rate\x20floor\x20to\x20win\x20volume\x20—\x20outcome\x0a\x20\x20\x20verification\x20is\x20a\x20premium\x20position.\x0a',SUBSCRIPTION_MANUAL='#\x20Subscription\x20/\x20Membership\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20creator\x20memberships,\x20newsletters\x20and\x20indie\x0a>\x20software\x20on\x20WoWok.\x20Anchors\x20from\x20the\x20K1\x20creator-membership\x20/\x20fan-subscription\x20/\x0a>\x20app-store-IAP\x20analysis.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20creator\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20incumbent\x20membership\x0aplatform\x27s\x2010%\x20(or\x20the\x20app\x20store\x27s\x2030%\x20IAP\x20cut)\x20into\x20an\x20allocator:\x20those\x0ashares\x20are\x20displaced\x20by\x20design,\x20not\x20parameters,\x20and\x20nobody\x20would\x20receive\x20them.\x0aIf\x20you\x20ARE\x20the\x20aggregator\x20(a\x20bundle\x20seller,\x20a\x20multi-creator\x20programme,\x20an\x0aapp\x20distributor\x20reselling\x20several\x20creators)\x20you\x20may\x20charge\x20your\x20own\x20fee,\x20but\x0aonly\x20with:\x20an\x20explicit\x20number\x20the\x20subscriber\x20can\x20compute\x20before\x20ordering;\x20an\x0aexplicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x20the\x20share\x20to\x0athe\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x20mandatory\x0atransit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x20which\x20calls\x0a`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x20Compete\x20on\x0aescrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20What\x20you\x20are\x20really\x20selling\x0a\x0aThe\x20subscription\x20industry\x20runs\x20on\x20institutional\x20dark\x20patterns:\x20incumbent\x0amembership\x20platforms\x20raised\x20fees\x20unilaterally\x20three\x20times\x20in\x20thirteen\x20years\x0a(5%\x20→\x208–12%\x20→\x2010%);\x20app-store\x20IAP\x20takes\x2030%\x20and\x20floats\x20payouts\x20for\x20up\x20to\x2075\x0adays;\x20consumers\x20underestimate\x20subscription\x20spend\x20by\x202.5×\x20and\x2042%\x20pay\x20for\x0aservices\x20they\x20do\x20not\x20use;\x20incumbent\x20cancellation\x20flows\x20ran\x204\x20pages\x20/\x206\x20clicks\x20/\x0a15\x20options\x20(FTC\x20$2.5B\x20settlement\x20context);\x20and\x20creators\x20who\x20stop\x20publishing\x0akeep\x20getting\x20paid\x20by\x20their\x20subscribers.\x0a\x0aYour\x20structure\x20makes\x20the\x20dark\x20patterns\x20impossible\x20rather\x20than\x20merely\x0adisclosed:\x0a\x0a-\x20`charge_guard_signer`\x20—\x20EVERY\x20period\x27s\x20charge\x20needs\x20the\x20subscriber\x27s\x0a\x20\x20explicit\x20signature.\x20No\x20auto-renewal\x20path\x20exists.\x0a-\x20`deliver_guard_wip`\x20—\x20without\x20delivered\x20value,\x20the\x20period\x27s\x20charge\x20cannot\x0a\x20\x20pass.\x20This\x20is\x20an\x20industry\x20blank:\x20no\x20incumbent\x20can\x20offer\x20it.\x0a-\x20`cancel_guard_signer`\x20—\x20cancellation\x20is\x20one\x20signature\x20(15\x20options\x20→\x201).\x0a-\x20Allocation\x20100%\x20→\x20creator,\x20frozen\x20at\x20publish.\x20The\x20thirteen-year\x20rate-ratchet\x0a\x20\x20history\x20cannot\x20repeat;\x20it\x20is\x20a\x20protocol\x20property,\x20not\x20a\x20promise.\x0a\x0aThe\x20per-period\x20signature\x20is\x20DELIBERATE\x20FRICTION.\x20Sell\x20it\x20correctly:\x20friction\x0ais\x20protection;\x20the\x20people\x20who\x20remain\x20after\x20signing\x20are\x20real\x20fans;\x20the\x20friction\x0ais\x20a\x20retention-quality\x20certificate.\x20Never\x20sneak\x20auto-renewal\x20back\x20in\x20to\x0aoptimize\x20conversion.\x0a\x0aYour\x20sentence:\x20*\x22Thirteen\x20years\x20of\x20unilateral\x20price\x20raises\x20cannot\x20exist\x20in\x20a\x0afrozen\x20contract\x20—\x20and\x20every\x20single\x20charge\x20is\x20one\x20you\x20signed\x20yourself.\x22*\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Creator\x20monthly\x20anchor\x20|\x20$100/month\x20($1,200/year)\x20|\x0a|\x20Legacy\x20take\x20(INCUMBENT\x20benchmarks,\x20displaced\x20—\x20not\x20parameters)\x20|\x20Incumbent\x20membership\x20platform\x2010%\x20≈\x20$10/month;\x20mobile\x20app-store\x20IAP\x2030%\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20$0.03–2\x20across\x2024\x20annual\x20txns\x20|\x0a|\x20Payout\x20|\x20IAP\x20up\x20to\x2075-day\x20float\x20→\x20seconds\x20per\x20period\x20|\x0a|\x20Extra\x20per\x20year\x20|\x20≈\x20$120\x20on\x20a\x20single\x20$100/mo\x20membership\x20|\x0a\x0aThose\x20two\x20percentages\x20are\x20the\x20incumbents\x27\x20numbers,\x20quoted\x20only\x20to\x20show\x20the\x20gap\x0athey\x20charge.\x20Under\x20direct\x20sales\x20neither\x20appears\x20in\x20your\x20payout:\x20the\x20default\x20is\x0aRate\x2010000\x20to\x20the\x20creator,\x20frozen\x20at\x20publish.\x20A\x20distributor\x20reselling\x20several\x0acreators\x20is\x20the\x20aggregator\x20case\x20—\x20its\x20own\x20fee\x20must\x20be\x20an\x20explicit\x20leg\x20to\x20an\x0aexplicit\x20non-empty\x20Entity,\x20disclosed\x20before\x20the\x20subscriber\x20signs,\x20and\x20never\x20an\x0aimplicit\x20remainder\x20or\x20a\x20`Surplus`\x20drain.\x0a\x0aFloor:\x20no\x20period\x20charge\x20passes\x20without\x20delivery\x20evidence.\x20The\x20creator\x20must\x0akeep\x20producing\x20—\x20that\x20obligation\x20is\x20the\x20subscriber\x27s\x20protection\x20and\x20the\x0aproduct\x27s\x20integrity.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Per-period\x20signed\x20charge\x20with\x20delivery\x20gate**\x20(default).\x20Monthly\x20or\x0a\x20\x20\x20chosen\x20cadence;\x20explicit\x20signature\x20each\x20period;\x20charge\x20blocked\x20without\x0a\x20\x20\x20delivery\x20proof;\x20one-signature\x20cancellation.\x0a2.\x20**Annual\x20prepay\x20released\x20per\x20period**.\x20Annual\x20cash\x20lands\x20in\x20escrow\x20and\x0a\x20\x20\x20releases\x20monthly\x20—\x20prepayment\x20with\x20structural\x20stoppage\x20protection\x20for\x0a\x20\x20\x20undelivered\x20months.\x0a3.\x20**Tiered\x20membership**.\x20Each\x20tier\x20maps\x20to\x20concrete\x20deliverables\x20and\x20its\x20own\x0a\x20\x20\x20delivery\x20guard;\x20up/downgrade\x20takes\x20effect\x20next\x20period\x20only.\x20Tier\x0a\x20\x20\x20deliverables\x20must\x20be\x20specific\x20enough\x20for\x20a\x20guard\x20to\x20evaluate.\x0a\x0aPosture\x20guidance:\x20volume\x20rides\x20the\x20consumer\x20\x22signing\x20movement\x22\x20with\x0afirst-month\x20pricing;\x20margin\x20serves\x20fewer\x20true\x20fans\x20at\x20premium\x20tiers\x20and\x0arefuses\x2030%\x20channels;\x20balanced\x20pairs\x20acquisition\x20tools\x20with\x20retention\x0arituals.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Billing-cycle\x20machine\x20with\x20charge\x20guard\x20+\x20delivery\x20gate\x20per\x20period.\x0a-\x20[\x20]\x20One-signature\x20cancellation\x20node;\x20confirm\x20there\x20is\x20exactly\x20one\x20path.\x0a-\x20[\x20]\x20Frozen\x20Allocation\x20100%\x20to\x20creator;\x20no\x20post-publish\x20fee\x20edit\x20surface.\x0a-\x20[\x20]\x20Annual\x20plan:\x20escrowed\x20prepay,\x20per-period\x20release,\x20undelivered-month\x0a\x20\x20\x20\x20\x20\x20refund\x20guaranteed\x20structurally.\x0a-\x20[\x20]\x20DRM/content\x20access\x20rules\x20declared\x20off-chain\x20where\x20applicable.\x0a\x0a##\x205.\x20The\x20\x22Signing\x20Movement\x22\x20campaign\x20(M2–M4)\x0a\x0aTwo\x20assets,\x20one\x20narrative:\x0a\x0a1.\x20**Consumer\x20side\x20—\x20subscription\x20checkup\x20widget.**\x20Input\x20your\x20subscription\x0a\x20\x20\x20list;\x20learn\x20how\x20much\x20you\x20annually\x20pay\x20for\x20unused\x20services\x20(cite\x20the\x202.5×\x0a\x20\x20\x20underestimate\x20and\x2042%\x20unused\x20figures).\x20KPI:\x20≥20,000\x20checkups.\x0a2.\x20**Creator\x20side\x20—\x20\x22100%\x20Arrival\x20Day\x22.**\x20One\x20day\x20each\x20month,\x20creators\x20post\x0a\x20\x20\x20their\x20on-chain\x20per-period\x20release\x20receipts.\x20KPI:\x2030\x20onboarded\x20creators.\x0a\x0aPlus\x20the\x20one-signature\x20cancellation\x20demo\x20video\x20(target\x20≥100K\x20views).\x20Launch\x0aagainst\x20FTC/platform\x20price-hike\x20news\x20cycles\x20—\x20they\x20recur\x20predictably;\x20keep\x0a24-hour\x20response\x20drafts.\x20Budget\x20$4–7K\x20**[estimate]**.\x0a\x0aCapture\x20education\x20recorded-course\x20overflow:\x20the\x20routing\x20rule\x20sends\x0arecorded/self-paced\x20courses\x20here\x20from\x20the\x20education\x20intake.\x0a\x0a##\x206.\x20Channels\x0a\x0aCreator\x20communities\x20(Discord,\x20membership-platform\x20forums\x20—\x20the\x20$131–180\x0amedian-monthly\x20creators\x20experience\x20the\x20incumbent\x27s\x2010–20%\x20fee\x20as\x20a\x20survival\x0aissue),\x20newsletter\x20and\x20indie-dev\x20circles\x20(incumbent\x20IAP\x2030%\x20+\x2075-day\x20float),\x0aHacker\x20News\x20and\x20the\x20anti-dark-pattern\x20audience.\x20$2–5\x20per\x20subscriber\x0a**[estimate]**.\x20Values\x20alignment\x20beats\x20ad\x20spend\x20in\x20this\x20segment.\x0a\x0a##\x207.\x20Retention\x0a\x0a-\x20Migrate\x20creators\x20one\x20tier\x20at\x20a\x20time;\x20show\x20per-period\x20release\x20receipts.\x0a-\x20Lead\x20with\x20the\x20unused-month\x20guarantee:\x20no\x20delivery,\x20no\x20charge.\x0a-\x20The\x20cancellation\x20demo\x20doubles\x20as\x20a\x20conversion\x20asset\x20—\x20trust\x20that\x20you\x20can\x0a\x20\x20leave\x20is\x20why\x20people\x20stay.\x0a-\x20Upgrade/downgrade\x20effective\x20next\x20period\x20keeps\x20accounting\x20and\x20guard\x20logic\x0a\x20\x20honest.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(weekly)\x0a\x0aTake\x20rate\x20and\x20unilateral-change\x20history,\x20charge\x20transparency,\x20cancellation\x0aclick\x20count,\x20stopped-creator\x20policy,\x20time-to-payout.\x20Contrast\x20the\x20FTC\x0asettlement\x20and\x20frozen\x20Allocation\x20—\x20opponent\x20documents,\x20not\x20your\x20adjectives.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Never\x20implement,\x20document,\x20or\x20imply\x20auto-renewal.\x0a2.\x20Never\x20charge\x20a\x20period\x20without\x20delivery\x20evidence.\x0a3.\x20Rate-lock\x20claims\x20exist\x20only\x20through\x20published\x20frozen\x20Allocation.\x0a',TRAVEL_MANUAL='#\x20Travel\x20(Custom\x20&\x20Multi-Segment)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20custom-trip\x20and\x20multi-segment\x20travel\x20studios\x0a>\x20on\x20WoWok.\x20This\x20is\x20a\x20tier-3\x20playbook:\x20the\x20economics\x20are\x20the\x20strongest\x20in\x20the\x0a>\x20catalog,\x20but\x20the\x20adoption\x20bottleneck\x20is\x20real.\x20Anchors\x20from\x20the\x20K1\x20global-OTA\x0a>\x20/\x20package-tour\x20analysis.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20merchant\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20OTA\x27s\x2025–36%\x20commission\x0ainto\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x20design,\x20not\x20a\x20parameter,\x20and\x0anobody\x20would\x20receive\x20it.\x20Travel\x20is\x20the\x20clearest\x20aggregator\x20case\x20—\x20if\x20you\x20ARE\x20the\x0aoperator\x20(an\x20agent\x20selling\x20hotels,\x20guides\x20and\x20drivers\x20it\x20did\x20not\x20supply),\x20your\x0aown\x20fee\x20is\x20allowed,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20traveler\x20can\x20compute\x0abefore\x20booking;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20per\x20leg\x20(an\x20empty\x20one\x0asilently\x20routes\x20the\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x0a`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x20mandatory\x20transit\x20pool\x20on\x20the\x20payout\x0apath\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x20which\x20calls\x20`balance::withdraw_all`\x20and\x0aso\x20doubles\x20as\x20draining\x20the\x20pool.\x20Compete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20Why\x20travel\x20is\x20deliberately\x20third\x20in\x20line\x0a\x0aGlobal\x20OTAs\x27\x20effective\x20hotel\x20commission\x20runs\x2025–36%\x20after\x20loyalty-tier\x0astacking,\x20the\x20merchant\x20model\x20floats\x20roughly\x20$134B/year\x20in\x20client\x20money,\x20VCC\x0amanual\x20settlement\x20takes\x202–6\x20weeks,\x20and\x20the\x20fund\x20waterfall\x20is\x20invisible:\x0atravelers\x20see\x20totals,\x20hotels\x20see\x20net\x20rates.\x20When\x20failures\x20happen\x20—\x20a\x20major\x0atour\x20operator\x27s\x20collapse\x20stranding\x20hundreds\x20of\x20thousands\x20of\x20customers,\x20tens\x20of\x0abillions\x20in\x20pandemic\x20refunds\x20—\x20relief\x20is\x20post-hoc;\x20EU261\x20compensates\x20flight\x0alegs\x20while\x20downstream\x20segments\x20simply\x20die.\x0a\x0aWoWok\x27s\x20answer\x20is\x20structurally\x20superior:\x20a\x20multi-segment\x20machine\x0a(`segment_D1..DN`)\x20releases\x20each\x20segment\x27s\x20fee\x20as\x20its\x20WIP\x20passes;\x20an\x0ainterrupted\x20node\x20refunds\x20undelivered\x20segments\x20in\x20one\x20transaction;\x20the\x20agent\x0aruns\x20a\x20second-level\x20Allocation\x20from\x20its\x20own\x20Treasury\x20so\x20the\x20waterfall\x20is\x0areadable\x20on-chain;\x20Treasury-scoped\x20Payments\x20can\x20compensate\x20across\x20segments.\x0a\x0aThe\x20bottleneck\x20is\x20adoption,\x20not\x20economics:\x20hotels\x20and\x20drivers\x20are\x20not\x20on\x0achain.\x20That\x20is\x20why\x20the\x20first\x20viable\x20form\x20is\x20the\x20**agent\x20as\x20the\x20single\x0aon-chain\x20counterparty**\x20—\x20agent↔client\x20custody\x20closes\x20the\x20trust\x20loop\x20alone,\x0aand\x20supplier\x20participation\x20grows\x20later\x20with\x20the\x20Passport\x20network.\x20Do\x20not\x0afront-load\x20this\x20industry\x20before\x20the\x20tier-1/2\x20reputation\x20network\x20exists.\x0a\x0aYour\x20sentence:\x20*\x22A\x20collapsed\x20tour\x20operator\x27s\x20stranded\x20millions\x20were\x20post-hoc\x0arelief.\x20The\x20same\x20money\x20in\x20custody\x20with\x20interruption\x20branches\x20is\x20pre-event\x0aisolation.\x22*\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20AOV\x20(5-segment\x20custom\x20trip)\x20|\x20$2,000\x20|\x0a|\x20Effective\x20legacy\x20commission\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2025–36%\x20≈\x20$350–720/trip\x20|\x0a|\x20WoW\x20cost\x20|\x20gas\x20≈\x20$0.02–1\x20across\x202×segments+3\x20txns\x20|\x0a|\x20Settlement\x20|\x20VCC\x202–6\x20weeks\x20→\x20per-segment\x20seconds\x20|\x0a\x0aGas\x20is\x20noise\x20against\x20$350–700\x20saved\x20per\x20trip.\x20That\x20$350–720\x20is\x20the\x20OTA\x27s\x20cut,\x0anot\x20yours:\x20a\x20merchant\x27s\x20own\x20segments\x20pay\x20out\x20Rate\x2010000\x20to\x20the\x20merchant\x27s\x0aEntity,\x20and\x20an\x20aggregator\x27s\x20own\x20fee\x20must\x20be\x20one\x20explicit,\x20pre-order-disclosed\x0anumber\x20on\x20an\x20explicit\x20non-empty\x20Entity\x20—\x20never\x20`order\x20total\x20-\x20segment\x20sums`\x0aimplicitly\x20absorbed,\x20never\x20a\x20`Surplus`\x20remainder.\x20The\x20binding\x20constraint\x20is\x0asupplier\x20adoption;\x20never\x20pretend\x20otherwise.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Multi-leg\x20itinerary\x20with\x20per-segment\x20release**\x20(default\x20and\x20core).\x0a\x20\x20\x20Every\x20segment\x20has\x20WIP\x20evidence\x20and\x20its\x20own\x20Allocator\x20slice;\x20the\x0a\x20\x20\x20interrupted\x20path\x20refunds\x20undelivered\x20legs\x20in\x20one\x20transaction.\x0a2.\x20**Agent\x20single-counterparty\x20custody**\x20for\x20downstream\x20suppliers\x20not\x20yet\x20on\x0a\x20\x20\x20chain.\x20The\x20agent\x20escrows\x20against\x20the\x20client,\x20holds\x20correct\x20licensing\x20and\x0a\x20\x20\x20funds\x20compensation\x20coverage\x20sized\x20to\x20the\x20maximum\x20single\x20segment.\x0a3.\x20**Weather/condition-guaranteed\x20pricing**\x20via\x20quoted\x20guard\x20+\x20a\x20specified\x0a\x20\x20\x20evidence\x20repository\x20oracle;\x20auto-refund\x20on\x20trigger\x20—\x20test\x20the\x20trigger\x0a\x20\x20\x20source\x20before\x20selling\x20it.\x0a\x0aFIT\x20EXCLUSION:\x20do\x20not\x20sell\x20standard\x20standalone\x20flights\x20or\x20hotels.\x20The\x20WoW\x0avalue\x20there\x20is\x20weak;\x20the\x20fit\x20is\x20custom\x20and\x20packaged\x20multi-segment\x20trips\x0a(package-tour\x20archetype\x20fit:\x2010/10).\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Segment\x20machine\x20D1..DN\x20with\x20per-segment\x20WIP\x20gates\x20and\x20release\x0a\x20\x20\x20\x20\x20\x20Allocators.\x0a-\x20[\x20]\x20Explicit\x20interrupted\x20node\x20with\x20one-transaction\x20refund.\x0a-\x20[\x20]\x20Agent\x20Entity\x20with\x20own\x20Treasury\x20+\x20second-level\x20Allocation;\x20waterfall\x0a\x20\x20\x20\x20\x20\x20readable\x20by\x20the\x20buyer\x20BEFORE\x20payment.\x0a-\x20[\x20]\x20Per-leg\x20cancellation\x20policy\x20disclosed\x20at\x20sale;\x20refundable\x20vs\x0a\x20\x20\x20\x20\x20\x20non-refundable\x20legs\x20separated,\x20never\x20blurred.\x0a-\x20[\x20]\x20Compensation\x20fund\x20sized\x20for\x20the\x20maximum\x20single\x20segment.\x0a-\x20[\x20]\x20Weather/condition\x20guard\x20trigger\x20source\x20specified\x20and\x20tested.\x0a\x0a##\x205.\x20Pilot\x20playbook\x20(M4+)\x0a\x0a-\x20Pilot\x20with\x202–3\x20custom-trip\x20/\x20packaged-tour\x20studios\x20under\x20agent-only\x0a\x20\x20custody.\x20Budget\x20$10–15K\x20**[estimate]**.\x0a-\x20Asset\x201:\x20the\x20interactive\x20**$2,000\x20waterfall\x20visualization**\x20—\x20exactly\x20how\x0a\x20\x20the\x20trip\x20price\x20splits\x20to\x20hotel,\x20guide\x20and\x20agent,\x20readable\x20on-chain\x20before\x0a\x20\x20purchase.\x20No\x20OTA\x20on\x20earth\x20can\x20show\x20this.\x0a-\x20Asset\x202:\x20the\x20**weather-guard\x20auto-refund\x20demo**\x20—\x20converts\x20\x22escrow\x22\x20from\x20a\x0a\x20\x20word\x20into\x20a\x20visible\x20guarantee.\x0a-\x20Anchor\x20content\x20to\x20the\x20next\x20large\x20travel-failure\x20news\x20cycle;\x20the\x20structural\x0a\x20\x20contrast\x20(pre-event\x20isolation\x20vs\x20post-hoc\x20relief)\x20writes\x20itself.\x0a\x0a##\x206.\x20Competitor\x20watch\x20(monthly)\x0a\x0aEffective\x20commission\x20after\x20loyalty-tier\x20stacking,\x20waterfall\x20transparency,\x0aper-leg\x20cancellation\x20terms,\x20downstream\x20refund\x20handling\x20(the\x20EU261\x20gap),\x0asettlement\x20speed.\x20Travel\x20is\x20seasonal\x20and\x20contractual\x20—\x20monthly\x20is\x20sufficient;\x0aspend\x20the\x20attention\x20on\x20the\x20pilot\x20studios.\x0a\x0a##\x207.\x20Retention\x0a\x0a-\x20The\x20pre-trip\x20waterfall\x20inspection\x20is\x20the\x20sales\x20asset\x20AND\x20the\x20delivery\x0a\x20\x20promise\x20—\x20rebook\x20on\x20the\x20gap\x20between\x20the\x20two\x20being\x20zero.\x0a-\x20Interrupted-segment\x20one-transaction\x20refund\x20demonstrated\x20before\x20payment.\x0a-\x20Win\x20re-books\x20with\x20itinerary\x20history\x20and\x20per-leg\x20transparency,\x20not\x20points.\x0a\x0a##\x208.\x20Red\x20lines\x0a\x0a1.\x20No\x20standard\x20flight/hotel\x20resale\x20—\x20weak\x20fit,\x20damages\x20positioning.\x0a2.\x20No\x20large\x20cross-period\x20custody\x20marketing\x20before\x20stablecoin\x20bridging\x20is\x0a\x20\x20\x20ready;\x20price\x20in\x20fiat\x20terms.\x0a3.\x20Never\x20commingle\x20undelivered-segment\x20funds\x20with\x20operating\x20cash;\x20cross-leg\x0a\x20\x20\x20responsibility\x20disclosed,\x20never\x20blurred.\x0a',RETAIL_MANUAL='#\x20Retail\x20(Private-Domain\x20Commerce)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20sellers\x20who\x20already\x20own\x20traffic\x20—\x20DTC\x20sites,\x0a>\x20community\x20commerce\x20and\x20creator\x20stores\x20—\x20on\x20WoWok.\x20Tier-3\x20deliberately:\x20WoW\x0a>\x20replaces\x20the\x20trust\x20and\x20settlement\x20tax,\x20not\x20the\x20traffic.\x20Anchors\x20from\x20the\x0a>\x20K1\x20scale-marketplace\x20/\x20vertical-handmade\x20analysis.\x0a\x0a##\x20Business\x20model\x20—\x20direct\x20sales\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20merchant\x20pays\x20only\x20gas,\x20and\x20the\x20default\x0apayout\x20gives\x20the\x20seller\x20the\x20whole\x20sale.\x20Never\x20copy\x20the\x20marketplace\x27s\x2030–35%\x0acombined\x20burden\x20into\x20an\x20allocator:\x20that\x20share\x20is\x20displaced\x20by\x20design,\x20not\x20a\x0aparameter,\x20and\x20nobody\x20would\x20receive\x20it.\x20If\x20you\x20ARE\x20the\x20aggregator\x20(a\x20channel\x0aselling\x20several\x20sellers,\x20a\x20bundle,\x20a\x20live-commerce\x20host)\x20you\x20may\x20charge\x20your\x0aown\x20fee,\x20but\x20only\x20with:\x20an\x20explicit\x20number\x20the\x20buyer\x20can\x20compute\x20before\x0aordering;\x20an\x20explicit\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x0athe\x20share\x20to\x20the\x20deploying\x20AI\x20—\x20see\x20`ts-sdk/packages/wowok/src/w/local/index.ts:89-91`);\x20and\x20no\x0amandatory\x20transit\x20pool\x20on\x20the\x20payout\x20path\x20—\x20never\x20a\x20fee\x20via\x20a\x20`Surplus`\x20leg,\x0awhich\x20calls\x20`balance::withdraw_all`\x20and\x20so\x20doubles\x20as\x20draining\x20the\x20pool.\x0aCompete\x20on\x20escrow/arbitration\x20value,\x20not\x20price.\x0a\x0a##\x201.\x20The\x20honest\x20admission\x20that\x20makes\x20the\x20pitch\x20work\x0a\x0aScale-marketplace\x20sellers\x20carry\x20a\x2030–35%\x20combined\x20burden\x20(8–15%\x20referral\x20+\x0afulfillment\x20+\x20Q4\x20storage\x20multipliers\x20+\x208–12%\x20TACoS),\x20wait\x2014\x20days\x20for\x0asettlement\x20under\x20DD+7\x20reserves\x20that\x20can\x20jump\x20to\x20DD+90\x20(new\x20sellers\x20commonly\x0aface\x20100%\x20reserves),\x20face\x20guarantee-program\x20rulings\x20that\x20default\x20to\x20the\x20buyer\x0aon\x20absence,\x20and\x20absorb\x20a\x2019.3%\x20return\x20rate\x20of\x20which\x20~9%\x20is\x20fraudulent.\x0aUnilateral\x20fee\x20increases\x20on\x20incumbent\x20handmade\x20marketplaces\x20(24.2%)\x20complete\x0athe\x20picture.\x0a\x0aWoWok\x20answers\x20with\x20escrow\x20released\x20on\x20the\x20receipt-confirmation\x20guard,\x0areturn-auth\x20gating\x20that\x20requires\x20dual-signed\x20or\x20logistics-repository\x20evidence,\x0aconfigurable\x20arbitration\x20voting\x20periods,\x20and\x20a\x20repository\x20provenance\x20chain.\x0a\x0aThe\x20honest\x20admission:\x20**WoW\x20does\x20not\x20sell\x20traffic.**\x20The\x20incumbent\x27s\x2040.5%\x0ashare\x20is\x20the\x20value\x20of\x20demand,\x20and\x20a\x20zero-traffic\x20seller\x20should\x20be\x20rejected\x20at\x0aintake.\x20The\x20filter\x20sentence\x20is\x20the\x20strategy:\x20*\x22Of\x20the\x2030%\x20you\x20pay\x20the\x0aincumbent\x20marketplace,\x20which\x20part\x20buys\x20traffic\x20and\x20which\x20buys\x20trust?\x20We\x20don\x27t\x0asell\x20traffic\x20—\x20trust\x20is\x20free,\x20and\x20the\x20whole\x20sale\x20is\x20yours.\x22*\x20Putting\x20the\x0aboundary\x20in\x20the\x20intake\x20questionnaire\x20raises\x20conversion\x20quality.\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Private-domain\x20AOV\x20|\x20$50\x20|\x0a|\x20Legacy\x20combined\x20burden\x20(INCUMBENT\x20benchmark,\x20displaced\x20—\x20not\x20a\x20parameter)\x20|\x2030–35%\x20≈\x20$300–350\x20per\x20$1,000\x20GMV\x20|\x0a|\x20WoW\x20cost\x20per\x20$1,000\x20GMV\x20|\x20gas\x20≈\x20$0.01–0.5\x20across\x204–6\x20txns\x20(<\x20$1)\x20|\x0a|\x20Settlement\x20|\x2014\x20days\x20+\x20reserve\x20risk\x20→\x20seconds\x20|\x0a|\x20Return\x20rate\x20/\x20fraud\x20share\x20|\x2019.3%\x20/\x209%\x20|\x0a\x0aThat\x20$300–350\x20is\x20the\x20marketplace\x27s\x20burden,\x20not\x20your\x20price:\x20your\x20default\x0asettlement\x20is\x20Rate\x2010000\x20to\x20your\x20own\x20Entity.\x20A\x20channel\x20that\x20resells\x20several\x0asellers\x20is\x20the\x20aggregator\x20case\x20and\x20may\x20charge\x20its\x20own\x20explicit,\x20disclosed\x20fee\x20to\x0aa\x20non-empty\x20Entity\x20—\x20never\x20an\x20implicit\x20remainder,\x20never\x20a\x20`Surplus`\x20drain.\x0a\x0aFloor:\x20never\x20price\x20below\x20COGS\x20+\x20shipping\x20+\x20expected-return\x20provision;\x0acompensation\x20coverage:\x203x\x20the\x20ORDER\x20at\x20buy\x20time\x20as\x20a\x20HARD\x20FLOOR\x20(the\x0achain-enforced\x20award\x20ceiling\x20per\x20arb.move,\x20checked\x20per\x20order\x20at\x20order\x0acreation\x20—\x20size\x20the\x20pool\x20for\x20the\x20typical\x20single\x20order),\x205x\x20as\x20a\x0aCONCURRENT-FLOW\x20recommendation\x20(tolerance\x20for\x20several\x20claims\x20against\x20the\x20one\x0apool).\x20The\x20economics\x20work\x20at\x20almost\x20any\x20AOV\x20—\x20traffic\x20availability\x20is\x20the\x0aonly\x20admission\x20criterion.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Escrow\x20released\x20on\x20confirmed\x20receipt**\x20(default).\x20Funds\x20release\x20seconds\x0a\x20\x20\x20after\x20the\x20receipt\x20guard;\x20`return_auth_guard`\x20requires\x20return\x20evidence;\x0a\x20\x20\x20repository\x20provenance\x20supports\x20authenticity\x20claims.\x0a2.\x20**Member/bundle\x20pricing\x20for\x20private\x20communities**.\x20Spend-threshold\x20and\x0a\x20\x20\x20member\x20pricing\x20via\x20rewards\x20inside\x20the\x20owned\x20channel\x20—\x20no\x20platform\x20TACoS.\x0a\x20\x20\x20Bundles\x20stay\x20escrowed\x20per\x20deliverable;\x20never\x20release\x20pre-shipment.\x0a\x0aPosture\x20guidance:\x20volume\x20converts\x20existing\x20flow\x20into\x20escrow\x20GMV\x20with\x0afirst-order\x20and\x20spend-threshold\x20rewards\x20(viable\x20only\x20because\x20gas\x20is\x20under\x20$1\x0aper\x20thousand\x20GMV);\x20margin\x20sells\x20provenance-authenticated\x20premium\x20goods\x20with\x0arepository\x20evidence;\x20balanced\x20pilots\x205–8\x20sellers\x20around\x20the\x20gas-bill\x20proof\x0aevent.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Order\x20→\x20escrow\x20→\x20shipment\x20→\x20receipt-guard\x20release,\x20seconds\x20latency.\x0a-\x20[\x20]\x20Return-auth\x20flow\x20requiring\x20dual\x20signature\x20or\x20logistics\x20repository\x0a\x20\x20\x20\x20\x20\x20record\x20(structurally\x20raises\x20fraud\x20cost\x20against\x20the\x209%\x20fraud\x20share).\x0a-\x20[\x20]\x20Arbitration\x20with\x20configured\x20voting\x20period;\x20no\x20auto-default\x20rulings.\x0a-\x20[\x20]\x20Compensation\x20fund:\x203x\x20typical\x20single\x20order\x20minimum\x20(award\x20ceiling,\x20enforced\x20per\x20order\x20at\x20buy),\x205x\x20recommended\x20for\x20concurrent\x20claims.\x0a-\x20[\x20]\x20Repository\x20provenance\x20chain\x20for\x20SKUs\x20where\x20authenticity\x20is\x20claimed.\x0a-\x20[\x20]\x20Intake\x20questionnaire\x20confirming\x20existing\x20traffic;\x20reject\x20zero-traffic\x0a\x20\x20\x20\x20\x20\x20applicants\x20explicitly.\x0a\x0a##\x205.\x20Pilot\x20playbook\x20(M4+)\x0a\x0a-\x20**\x22$1,000\x20GMV\x20Cost\x20Teardown\x22\x20livestream**:\x20the\x20same\x20shop\x27s\x20private-domain\x0a\x20\x20orders\x20run\x20through\x20WoW,\x20full-cycle\x20gas\x20bill\x20published\x20against\x20the\x20$300–350\x0a\x20\x20incumbent\x20burden\x20for\x20identical\x20GMV.\x20Numbers\x20in\x20fiat.\x0a-\x20**Fee-hike\x20refugee\x20targeting**:\x20recruit\x20directly\x20from\x20communities\x20hit\x20by\x20the\x0a\x20\x2024.2%\x20unilateral\x20fee\x20event\x20—\x20the\x20triggering\x20event\x20is\x20the\x20acquisition\x0a\x20\x20channel.\x0a-\x205–8\x20sellers\x20pilot,\x20budget\x20$6–10K\x20**[estimate]**.\x0a\x0a##\x206.\x20Channels\x0a\x0a1.\x20Existing\x20private-traffic\x20sellers\x20(DTC,\x20community\x20commerce,\x20We-commerce)\x0a\x20\x20\x20—\x20the\x20only\x20segment\x20that\x20passes\x20the\x20filter.\x0a2.\x20Incumbent\x20fee-hike\x20victim\x20communities.\x0a3.\x20Live\x20cost-comparison\x20events\x20and\x20their\x20replays.\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Make\x20receipt\x20confirmation\x20a\x20one-tap\x20moment\x20and\x20show\x20the\x20release\x20seconds\x0a\x20\x20later\x20—\x20the\x20speed\x20gap\x20to\x2014-day\x20+\x20reserve\x20settlement\x20is\x20visceral.\x0a-\x20Re-purchase\x20via\x20spend\x20cashback\x20and\x20repository-issued\x20provenance\x0a\x20\x20certificates.\x0a-\x20Show\x20return-averse\x20buyers\x20the\x20evidence-gated\x20return\x20flow\x20up\x20front;\x20it\x0a\x20\x20protects\x20them\x20as\x20much\x20as\x20the\x20seller.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(weekly)\x0a\x0aHeadline\x20price,\x20reserve\x20policy,\x20return-fraud\x20handling,\x20arbitration\x20default\x0abehavior,\x20provenance\x20evidence.\x20Retail\x20promotion\x20cycles\x20move\x20fast;\x20weekly\x0acadence.\x20Never\x20answer\x20a\x20price\x20war\x20—\x20answer\x20with\x20the\x20settlement\x20and\x20reserve\x0acontrast.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Never\x20promise\x20traffic.\x0a2.\x20No\x20auto-default\x20buyer-win\x20rulings;\x20the\x20arbitration\x20voting\x20period\x20must\x20be\x0a\x20\x20\x20configured.\x0a3.\x20Physical\x20authenticity\x20claims\x20require\x20repository\x20evidence\x20—\x20never\x20beyond\x0a\x20\x20\x20what\x20the\x20evidence\x20proves.\x0a',LICENSING_MANUAL='#\x20Licensing\x20(IP\x20/\x20Royalty\x20&\x20Metered\x20Asset\x20Licenses)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20rights-holders\x20and\x20asset\x20licensors\x20on\x20WoWok\x20—\x0a>\x20royalty-stream\x20sales\x20and\x20tiered/metered\x20digital-asset\x20licenses.\x20Tier-3\x20and\x20a\x0a>\x20D12\x20批\x204\x20NEW\x20industry:\x20content\x20traces\x20to\x20the\x20catalog-expansion\x20research\x20and\x0a>\x20the\x20two\x20benchmark\x20product\x20studies,\x20NOT\x20the\x20K1\x20six-industry\x20handbook.\x20The\x0a>\x20defining\x20value\x20is\x20a\x20frozen,\x20auditable\x20proceeds\x20split;\x20the\x20defining\x20honesty\x0a>\x20boundary\x20is\x20what\x20the\x20chain\x20does\x20NOT\x20enforce\x20(a\x20live\x20auction,\x20a\x20metered\x20cap).\x0a\x0a##\x20Business\x20model\x20—\x20grant\x20a\x20right,\x20split\x20the\x20proceeds\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20licensor\x20pays\x20only\x20gas.\x20A\x20license\x20sale\x20is\x0aa\x20Service\x20buy\x20whose\x20proceeds\x20are\x20split\x20by\x20an\x20Allocation\x20Rate\x20plan\x20(bps\x20summing\x0ato\x2010000)\x20across\x20the\x20rights-holders\x20—\x20seller\x20/\x20writer\x20/\x20publisher\x20/\x20platform\x20—\x0afrozen\x20at\x20publish\x20and\x20readable\x20on-chain\x20by\x20every\x20recipient.\x20The\x20granted\x20rights\x0a(territory,\x20term,\x20media,\x20caps,\x20exclusivity)\x20are\x20anchored\x20as\x20a\x20WIP\x20terms\x20hash\x20so\x0athe\x20grant\x20is\x20provable,\x20not\x20prose.\x20Never\x20copy\x20an\x20incumbent\x27s\x20opaque\x20take\x20rate\x0ainto\x20the\x20split\x20as\x20a\x20hidden\x20remainder:\x20if\x20you\x20charge\x20a\x20platform/aggregator\x20fee\x20it\x0amust\x20be\x20an\x20explicit\x20Rate\x20leg\x20to\x20a\x20NON-EMPTY\x20recipient\x20Entity\x20(an\x20empty\x20one\x0asilently\x20routes\x20the\x20share\x20to\x20the\x20deploying\x20AI),\x20never\x20a\x20`Surplus`\x20drain.\x0a\x0a##\x201.\x20The\x20honest\x20boundary\x20that\x20makes\x20the\x20pitch\x20credible\x0a\x0aTwo\x20mechanisms\x20buyers\x20EXPECT\x20here\x20do\x20not\x20exist\x20on-chain,\x20and\x20saying\x20so\x20is\x20the\x0astrategy:\x0a\x0a-\x20**🔴\x20There\x20is\x20no\x20on-chain\x20auction.**\x20No\x20bid\x20ledger,\x20no\x20ascending-price\x20state,\x0a\x20\x20no\x20highest-bidder\x20resolver.\x20A\x20competitive\x20sale\x20is\x20modeled\x20as:\x20the\x20winner\x20is\x0a\x20\x20resolved\x20OFF-CHAIN,\x20then\x20settles\x20on-chain\x20like\x20any\x20buyer\x20(escrow\x20→\x0a\x20\x20inspection\x20window\x20→\x20frozen\x20split).\x20Optionally\x20gate\x20buy\x20with\x20an\x20allowlist\x20Guard\x0a\x20\x20carrying\x20the\x20attested\x20winner\x20address.\x20Never\x20market\x20a\x20chain-run\x20auction.\x0a-\x20**🔴\x20There\x20is\x20no\x20usage\x20meter.**\x20A\x20\x22limited\x20to\x20N\x20streams/sales\x22\x20cap\x20can\x20only\x20be\x0a\x20\x20an\x20ATTESTED\x20Repository\x20counter\x20that\x20a\x20forward\x20guard\x20reads\x20(a\x20count-where\x0a\x20\x20query)\x20—\x20the\x20count\x20is\x20only\x20as\x20trustworthy\x20as\x20its\x20write-guard,\x20never\x20an\x20oracle\x0a\x20\x20feed.\x20Disclose\x20a\x20cap\x20as\x20a\x20contractual\x20term,\x20not\x20chain-enforced\x20metering.\x0a\x0aWhat\x20the\x20chain\x20DOES\x20enforce,\x20and\x20leads\x20with:\x20the\x20**split**\x20(frozen\x20Allocation),\x0a**territory**\x20(buy-guard\x20allowlist),\x20**term\x20/\x20inspection\x20window**\x20(time-lock\x0aforward\x20guard),\x20and\x20**provenance**\x20(WIP\x20terms\x20hash).\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Royalty-auction\x20incumbent\x20fees\x20|\x20no\x20listing\x20fee;\x20buyer\x20premium\x20on\x20the\x20winning\x20bid\x20(benchmark\x20published\x20terms)\x20|\x0a|\x20Asset-license\x20incumbent\x20take\x20|\x20free\x20tier\x20~30%\x20platform\x20share;\x20paid\x20producer\x20tier\x20~$19.99/mo\x20for\x20100%;\x20producer\x20keeps\x20~50%\x20publishing\x20(benchmark\x20published\x20terms)\x20|\x0a|\x20WoW\x20per-grant\x20cost\x20|\x20gas\x20≈\x20$0.01–1\x20across\x20buy\x20+\x20settlement\x20+\x20split\x20txns\x20|\x0a|\x20Settlement\x20|\x20quarterly\x20statement\x20+\x20payment\x20lag\x20→\x20seconds\x20after\x20the\x20inspection\x20window\x20|\x0a\x0aAnchors\x20are\x20the\x20benchmark\x20products\x27\x20published\x20fee\x20terms,\x20not\x20invented\x20numbers;\x0acarry\x20the\x20fiat\x20/\x20estimate\x20/\x20WOW-price\x20disclaimers.\x20Floor:\x20never\x20price\x20a\x20grant\x0abelow\x20the\x20rights-holders\x27\x20declared\x20split;\x20keep\x20the\x20compensation\x20fund\x20covered\x20as\x0athe\x20reporting-honesty\x20backstop.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Royalty\x20split\x20escrow**\x20(default).\x20Purchase\x20escrowed;\x20proceeds\x20split\x20per\x0a\x20\x20\x20rights-holder\x20via\x20a\x20frozen\x20Allocation\x20Rate\x20plan;\x20release\x20only\x20after\x20the\x0a\x20\x20\x20inspection-window\x20Guard\x20passes;\x20recurring\x20royalty\x20rides\x20periodic\x20pool\x0a\x20\x20\x20top-ups\x20(order_renew)\x20with\x20a\x20period-N\x20once-key\x20(identifier\x20255).\x0a2.\x20**Tiered\x20license\x20grant**.\x20Each\x20scope\x20tier\x20(basic\x20/\x20premium\x20/\x20unlimited\x20/\x0a\x20\x20\x20exclusive)\x20is\x20a\x20WIP\x20product\x20with\x20its\x20own\x20price\x20+\x20terms\x20hash;\x20the\x20split\x20is\x0a\x20\x20\x20identical\x20across\x20tiers;\x20🔴\x20per-tier\x20caps\x20are\x20attested,\x20not\x20metered.\x0a3.\x20**Off-chain-resolved\x20competitive\x20sale**.\x20Winner\x20resolved\x20off-chain,\x20settled\x0a\x20\x20\x20on-chain;\x20the\x20trust\x20value\x20is\x20in\x20the\x20settlement,\x20never\x20the\x20bidding.\x0a\x0aPosture\x20guidance:\x20volume\x20wins\x20the\x20long\x20tail\x20of\x20indie\x20producers\x20with\x20the\x0a100%-transparent\x20split;\x20margin\x20sells\x20high-value\x20catalogs\x20on\x20verifiable-split\x20+\x0aescrowed\x20settlement;\x20balanced\x20seeds\x20a\x20few\x20catalogs\x20around\x20the\x20audit-page\x20proof.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20License\x20terms\x20(territory,\x20term,\x20media,\x20caps,\x20exclusivity)\x20anchored\x20as\x20a\x0a\x20\x20\x20\x20\x20\x20WIP\x20hash\x20BEFORE\x20the\x20grant.\x0a-\x20[\x20]\x20Allocation\x20Rate\x20split\x20summing\x20to\x2010000\x20across\x20rights-holders;\x20any\x0a\x20\x20\x20\x20\x20\x20platform\x20fee\x20is\x20an\x20explicit\x20Rate\x20leg\x20to\x20a\x20non-empty\x20Entity.\x0a-\x20[\x20]\x20Inspection-window\x20time-lock\x20Guard\x20(`tpl_time_lock_progress`)\x20on\x20the\x0a\x20\x20\x20\x20\x20\x20settlement\x20forward;\x20duration\x20is\x20an\x20immutable\x20table\x20constant\x20—\x20pair\x20with\x20an\x0a\x20\x20\x20\x20\x20\x20off-chain\x20keeper\x20for\x20timeout\x20advancement.\x0a-\x20[\x20]\x20Territory\x20allowlist\x20buy-guard\x20(`pattern.identity_check_allowlist`)\x20where\x0a\x20\x20\x20\x20\x20\x20the\x20grant\x20is\x20territory-scoped.\x0a-\x20[\x20]\x20Arbitration\x20bound\x20for\x20scope/royalty\x20disputes;\x20compensation\x20fund\x20covered.\x0a-\x20[\x20]\x20Usage\x20cap\x20(if\x20any)\x20recorded\x20as\x20an\x20attested\x20Repository\x20counter\x20with\x20a\x0a\x20\x20\x20\x20\x20\x20guard\x20count-where\x20gate\x20—\x20disclosed\x20as\x20attested,\x20never\x20as\x20metered.\x0a-\x20[\x20]\x20R-M1-11:\x20no\x20\x27refunded\x27/\x27cancelled\x27\x20fund\x20terminals\x20—\x20refunds\x20route\x20via\x20the\x0a\x20\x20\x20\x20\x20\x20Allocator\x20triggered\x20by\x20a\x20business\x20state\x20(e.g.\x20inspection_failed).\x0a\x0a##\x205.\x20Pilot\x20playbook\x20(M4+)\x0a\x0a-\x20**\x22Read\x20your\x20split\x20yourself\x22\x20demo**:\x20a\x20real\x20catalog\x27s\x20frozen\x20Allocation\x20shown\x0a\x20\x20as\x20an\x20interactive\x20audit\x20page;\x20rights-holders\x20read\x20their\x20share\x20on-chain\x20instead\x0a\x20\x20of\x20waiting\x20for\x20a\x20quarterly\x20PDF.\x20Numbers\x20in\x20fiat.\x0a-\x20**Royalty-transparency\x20news-cycle\x20riding**:\x20every\x20opaque-statement\x20or\x0a\x20\x20unpaid-royalty\x20story\x20is\x20a\x20zero-ad\x20opening\x20for\x20the\x20auditable-split\x20narrative.\x0a-\x20A\x20few\x20seed\x20producers/catalogs,\x20keeper\x20+\x20first-grant\x20gas\x20subsidy,\x20budget\x0a\x20\x20**[estimate]**.\x0a\x0a##\x206.\x20Channels\x0a\x0a1.\x20Indie\x20producer\x20/\x20rights-holder\x20communities\x20—\x20the\x20fee-\x20and\x20opacity-fatigued\x0a\x20\x20\x20long\x20tail.\x0a2.\x20Music/IP\x20royalty-transparency\x20news\x20cycles.\x0a3.\x20On-chain\x20case\x20marketing\x20(the\x20auditable-split\x20page\x20and\x20its\x20replays).\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Show\x20the\x20frozen\x20split\x20and\x20the\x20inspection-window\x20Guard\x20before\x20the\x20buyer\x0a\x20\x20commits\x20—\x20the\x20readability\x20gap\x20to\x20an\x20opaque\x20quarterly\x20statement\x20is\x20the\x20pitch.\x0a-\x20Convert\x20rights-holders\x20with\x20\x22your\x20share\x20is\x20on-chain,\x20not\x20a\x20PDF.\x22\x0a-\x20Retain\x20via\x20per-period\x20royalty\x20release\x20history\x20+\x20the\x20terms-hash\x20provenance\x0a\x20\x20record.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(monthly)\x0a\x0aTake\x20rate\x20/\x20buyer\x20premium,\x20split\x20transparency,\x20settlement\x20speed,\x20whether\x20caps\x0aare\x20enforced\x20or\x20prose,\x20reporting\x20cadence.\x20Licensing\x20deals\x20are\x20slower\x20and\x20larger\x0athan\x20retail;\x20monthly\x20cadence.\x20Never\x20answer\x20on\x20price\x20—\x20answer\x20with\x20the\x0asplit-transparency\x20and\x20settlement-speed\x20contrast,\x20and\x20the\x20honest\x20boundary.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Never\x20present\x20a\x20usage\x20cap\x20as\x20chain-enforced\x20metering\x20—\x20it\x20is\x20an\x20attested\x0a\x20\x20\x20counter\x20at\x20best.\x0a2.\x20Never\x20present\x20an\x20off-chain-resolved\x20sale\x20as\x20an\x20on-chain\x20auction.\x0a3.\x20Never\x20imply\x20the\x20chain\x20verifies\x20the\x20underlying\x20royalty\x20accounting;\x20it\x20splits\x0a\x20\x20\x20what\x20it\x20is\x20told,\x20backed\x20by\x20compensation\x20+\x20arbitration.\x0a4.\x20Royalty/stream\x20copy\x20must\x20never\x20promise\x20investment\x20returns\x20or\x20promote\x20token\x0a\x20\x20\x20price\x20(L-01).\x0a',CROWDFUNDING_MANUAL='#\x20Crowdfunding\x20(All-or-Nothing\x20Threshold\x20&\x20Flexible\x20Keep-It-All)\x20Merchant\x20Strategy\x20Manual\x0a\x0a>\x20Built-in\x20tactical\x20playbook\x20for\x20creators\x20and\x20project\x20owners\x20raising\x20funds\x20on\x0a>\x20WoWok\x20—\x20all-or-nothing\x20threshold\x20campaigns\x20and\x20flexible\x20keep-it-all\x0a>\x20fundraising.\x20Tier-3\x20and\x20a\x20D12\x20批\x207\x20NEW\x20industry:\x20content\x20traces\x20to\x20the\x0a>\x20catalog-expansion\x20research\x20(§11.3\x20/\x20§13),\x20NOT\x20the\x20K1\x20six-industry\x20handbook.\x0a>\x20The\x20defining\x20value\x20is\x20an\x20automatic,\x20provable\x20per-contributor\x20refund\x20on\x20a\x0a>\x20missed\x20campaign;\x20the\x20defining\x20honesty\x20boundary\x20is\x20that\x20the\x20funding\x20threshold\x0a>\x20is\x20an\x20AGGREGATE\x20READ\x20over\x20writer-bound\x20rows,\x20never\x20a\x20chain-verified\x0a>\x20total-custody\x20proof,\x20and\x20the\x20chain\x20never\x20guarantees\x20project\x20delivery.\x0a\x0a##\x20Business\x20model\x20—\x20escrow\x20each\x20contribution,\x20release\x20or\x20refund\x20at\x20deadline\x0a\x0aWoWok\x20takes\x20no\x20platform\x20commission;\x20a\x20project\x20owner\x20pays\x20only\x20gas.\x20Every\x0acontribution\x20is\x20escrowed\x20in\x20its\x20OWN\x20Allocation\x20(never\x20pooled\x20into\x20one\x20pot),\x20with\x0athe\x20escrow\x20anchored\x20to\x20the\x20funder\x27s\x20own\x20Order\x20—\x20so\x20attribution\x20survives\x20and\x20a\x0amissed\x20campaign\x20refunds\x20each\x20funder\x20their\x20own\x20money\x20automatically.\x20On\x20the\x0adeadline\x20the\x20settlement\x20Guard\x20reads\x20the\x20campaign\x27s\x20aggregate\x20raise\x20(a\x20shared\x0aRepository\x20summed\x20with\x20a\x20count/sum-where\x20query)\x20and\x20decides:\x20threshold\x20met\x20→\x0arelease\x20to\x20the\x20project;\x20threshold\x20missed\x20→\x20refund\x20every\x20contributor.\x20The\x20two\x0alegs\x20are\x20mutually\x20exclusive\x20(release\x20XOR\x20refund),\x20so\x20exactly\x20one\x20fires.\x0a\x0a##\x201.\x20The\x20honest\x20boundary\x20that\x20makes\x20the\x20pitch\x20credible\x0a\x0aThree\x20things\x20funders\x20EXPECT\x20here\x20that\x20the\x20chain\x20does\x20NOT\x20do,\x20and\x20saying\x20so\x20is\x0athe\x20strategy:\x0a\x0a-\x20**🔴\x20The\x20threshold\x20is\x20an\x20aggregate\x20read,\x20not\x20total\x20custody.**\x20The\x20funding\x20total\x0a\x20\x20is\x20a\x20read-only\x20sum\x20over\x20writer-bound\x20contribution\x20rows.\x20Each\x20row\x20is\x20bound\x20to\x0a\x20\x20its\x20funder\x20(a\x20funder\x20can\x20only\x20record\x20their\x20own\x20contribution),\x20but\x20the\x20aggregate\x0a\x20\x20is\x20NOT\x20an\x20independent\x20re-computation\x20of\x20every\x20escrow\x20balance,\x20and\x20roster\x0a\x20\x20completeness\x20is\x20keeper-attested.\x20Disclose\x20the\x20boundary;\x20never\x20call\x20it\x20a\x0a\x20\x20chain-verified\x20custody\x20proof.\x0a-\x20**🔴\x20Funds\x20are\x20locked\x20until\x20the\x20deadline.**\x20All-or-nothing\x20means\x20no\x20early\x0a\x20\x20withdrawal\x20—\x20a\x20funder\x20cannot\x20pull\x20their\x20contribution\x20before\x20the\x20campaign\x20ends.\x0a\x20\x20This\x20is\x20inherent,\x20and\x20must\x20be\x20stated\x20up\x20front.\x0a-\x20**🔴\x20The\x20chain\x20does\x20not\x20guarantee\x20delivery.**\x20After\x20a\x20successful\x20raise,\x20project\x0a\x20\x20delivery\x20is\x20backed\x20only\x20by\x20the\x20compensation\x20fund\x20+\x20arbitration,\x20not\x20by\x20the\x0a\x20\x20escrow\x20mechanic.\x0a\x0aWhat\x20the\x20chain\x20DOES\x20enforce,\x20and\x20leads\x20with:\x20**unpooled\x20per-contributor\x20escrow**,\x0athe\x20**aggregate\x20threshold\x20read**,\x20the\x20**deadline\x20time-lock**,\x20and\x20the\x20**two-leg\x0arelease/refund\x20settlement**.\x0a\x0a##\x202.\x20Economics\x20to\x20memorize\x0a\x0a|\x20Anchor\x20|\x20Value\x20|\x0a|---|---|\x0a|\x20Reward-crowdfunding\x20incumbent\x20take\x20|\x20~5%\x20platform\x20fee\x20+\x20~3–5%\x20payment\x20processing\x20(benchmark\x20published\x20terms)\x20|\x0a|\x20Donation-crowdfunding\x20incumbent\x20take\x20|\x20~0%\x20platform\x20fee,\x20~2.9%\x20+\x20per-donation\x20processing\x20(qualify\x20\x22~0%\x20platform\x20fee\x20—\x20network\x20costs\x20apply\x22)\x20|\x0a|\x20WoW\x20per-campaign\x20cost\x20|\x20gas\x20≈\x20$0.01–1\x20per\x20contribution\x20+\x20settlement/refund\x20txns;\x20keeper\x20batch\x20amortized\x20across\x20funders\x20|\x0a|\x20Refund\x20on\x20a\x20missed\x20campaign\x20|\x20manual/held\x20weeks\x20→\x20automatic\x20at\x20deadline\x20via\x20the\x20two-leg\x20Guard\x20|\x0a\x0aAnchors\x20are\x20the\x20benchmark\x20platforms\x27\x20published\x20fee\x20terms,\x20not\x20invented\x20numbers;\x0acarry\x20the\x20fiat\x20/\x20estimate\x20/\x20WOW-price\x20disclaimers.\x20Floor:\x20never\x20release\x20funds\x0abelow\x20the\x20declared\x20threshold;\x20keep\x20the\x20compensation\x20fund\x20covered\x20as\x20the\x20delivery\x0abackstop\x20on\x20a\x20successful\x20raise.\x0a\x0a##\x203.\x20Pricing\x20models\x0a\x0a1.\x20**Threshold\x20escrow\x20release**\x20(default,\x20all-or-nothing).\x20Per-contributor\x0a\x20\x20\x20escrow;\x20release\x20to\x20the\x20project\x20only\x20if\x20the\x20aggregate\x20threshold\x20is\x20met\x20at\x0a\x20\x20\x20deadline;\x20otherwise\x20automatic\x20per-contributor\x20refund\x20via\x20the\x20two-leg\x20Guard.\x0a2.\x20**Flexible\x20keep-it-all**.\x20Same\x20unpooled\x20escrow\x20+\x20attribution,\x20but\x20the\x20release\x0a\x20\x20\x20leg\x20has\x20no\x20aggregate\x20gate\x20—\x20the\x20project\x20keeps\x20whatever\x20it\x20raises.\x20🔴\x20The\x0a\x20\x20\x20no-refund\x20posture\x20MUST\x20be\x20disclosed\x20up\x20front;\x20never\x20blur\x20it\x20with\x20the\x0a\x20\x20\x20all-or-nothing\x20model\x20in\x20one\x20listing.\x0a\x0aPosture\x20guidance:\x20volume\x20wins\x20the\x20long\x20tail\x20of\x20creators\x20with\x20the\x20automatic-refund\x0aguarantee;\x20margin\x20sells\x20large\x20raises\x20on\x20the\x20verifiable-threshold\x20+\x20unpooled\x0aescrow\x20moat\x20(and\x20absorbs\x20the\x20KYC/AML\x20diligence);\x20balanced\x20seeds\x20a\x20few\x20campaigns\x0aaround\x20the\x20live-aggregate\x20proof\x20page.\x0a\x0a##\x204.\x20Build\x20checklist\x0a\x0a-\x20[\x20]\x20Campaign\x20terms\x20+\x20funding\x20goal\x20+\x20deadline\x20anchored\x20as\x20a\x20WIP\x20hash\x20BEFORE\x0a\x20\x20\x20\x20\x20\x20launch.\x0a-\x20[\x20]\x20Each\x20contribution\x20escrowed\x20in\x20its\x20OWN\x20Allocation,\x20for_object\x20bound\x20to\x20the\x0a\x20\x20\x20\x20\x20\x20funder\x27s\x20Order\x20—\x20NEVER\x20pooled\x20(no\x20balance\x20join\x20across\x20funders).\x0a-\x20[\x20]\x20Shared\x20campaign\x20Repository\x20with\x20one\x20writer-bound\x20numeric\x20row\x20per\x0a\x20\x20\x20\x20\x20\x20contribution\x20(identity\x20leaf:\x20order.owner\x20==\x20Signer\x20/\x20order.agent\x20has\x0a\x20\x20\x20\x20\x20\x20Signer);\x20existence-is-not-trust\x20—\x20an\x20unbound\x20write_guard\x20makes\x20the\x0a\x20\x20\x20\x20\x20\x20aggregate\x20forgeable\x20(R-X1-17).\x0a-\x20[\x20]\x20Threshold\x20gate\x20=\x20a\x20settlement\x20Guard\x20reading\x20the\x20aggregate\x20(sum-where\x201174)\x0a\x20\x20\x20\x20\x20\x20against\x20the\x20goal\x20constant,\x20ANDed\x20with\x20Clock\x20>=\x20deadline\x0a\x20\x20\x20\x20\x20\x20(`tpl_time_lock_progress`,\x20query\x201280,\x20node-ENTRY\x20anchored).\x0a-\x20[\x20]\x20Two-leg\x20escrow\x20exit\x20(D-BUG-2\x20polarity):\x20release\x20leg\x20→\x20project\x20Entity\x0a\x20\x20\x20\x20\x20\x20gated\x20[aggregate\x20>=\x20threshold,\x20clock\x20>=\x20deadline];\x20refund\x20leg\x20→\x20for_object\x0a\x20\x20\x20\x20\x20\x20gated\x20[aggregate\x20<\x20threshold,\x20clock\x20>=\x20deadline].\x20Exactly\x20one\x20satisfiable.\x0a-\x20[\x20]\x20Keeper\x20batch\x20settlement\x20on\x20a\x20missed\x20campaign:\x20enumerate\x20contributors\x20via\x0a\x20\x20\x20\x20\x20\x20find-where\x20(1176)\x20/\x20keys-where\x20(1177),\x20advance\x20each\x20refund\x20leg\x20in\x20one\x20PTB.\x0a-\x20[\x20]\x20Arbitration\x20bound\x20for\x20delivery/non-delivery\x20disputes;\x20compensation\x20fund\x0a\x20\x20\x20\x20\x20\x20covered\x20on\x20a\x20successful\x20raise.\x0a-\x20[\x20]\x20R-M1-11:\x20no\x20\x27refunded\x27/\x27cancelled\x27\x20fund\x20terminals\x20—\x20the\x20refund\x20leg\x20routes\x0a\x20\x20\x20\x20\x20\x20via\x20the\x20Allocator\x20triggered\x20by\x20the\x20missed-threshold\x20state\x20at\x20deadline.\x0a\x0a##\x205.\x20Pilot\x20playbook\x20(M4+)\x0a\x0a-\x20**\x22Read\x20the\x20raise\x20yourself\x22\x20demo**:\x20a\x20real\x20campaign\x27s\x20live\x20aggregate\x20shown\x20as\x20an\x0a\x20\x20interactive\x20page;\x20then\x20a\x20dry-run\x20missed-threshold\x20auto-refund\x20in\x20public\x20—\x20every\x0a\x20\x20contributor\x20refunded\x20at\x20deadline\x20with\x20zero\x20manual\x20intervention.\x20Numbers\x20in\x20fiat.\x0a-\x20**Crowdfunding-transparency\x20news-cycle\x20riding**:\x20every\x20held-funds\x20or\x0a\x20\x20opaque-total\x20story\x20is\x20a\x20zero-ad\x20opening\x20for\x20the\x20readable-aggregate\x20+\x0a\x20\x20auto-refund\x20narrative.\x0a-\x20A\x20few\x20seed\x20creators,\x20keeper\x20+\x20first-campaign\x20gas\x20subsidy,\x20budget\x20**[estimate]**.\x0a\x0a##\x206.\x20Channels\x0a\x0a1.\x20Creator\x20/\x20indie-project\x20communities\x20burned\x20by\x20held\x20or\x20slowly-returned\x20funds.\x0a2.\x20Crowdfunding-transparency\x20news\x20cycles.\x0a3.\x20On-chain\x20case\x20marketing\x20(the\x20live-aggregate\x20+\x20auto-refund\x20page\x20and\x20its\x20replays).\x0a\x0a##\x207.\x20Conversion\x20and\x20retention\x0a\x0a-\x20Show\x20the\x20live\x20aggregate\x20read\x20and\x20the\x20two-leg\x20settlement\x20Guard\x20before\x20the\x20funder\x0a\x20\x20commits\x20—\x20the\x20automatic-refund\x20gap\x20to\x20a\x20held-funds\x20incumbent\x20is\x20the\x20pitch.\x0a-\x20Convert\x20backers\x20with\x20\x22a\x20missed\x20campaign\x20refunds\x20you\x20automatically\x20at\x20deadline,\x0a\x20\x20on-chain.\x22\x0a-\x20Retain\x20via\x20per-campaign\x20settlement\x20history\x20+\x20the\x20terms-hash\x20provenance\x20record.\x0a\x0a##\x208.\x20Competitor\x20watch\x20(monthly)\x0a\x0aPlatform\x20take\x20rate,\x20whether\x20a\x20missed\x20campaign\x20refunds\x20automatically,\x20custody\x0amodel\x20(pooled\x20vs\x20per-backer),\x20threshold\x20transparency,\x20settlement\x20speed\x20after\x0adeadline.\x20Never\x20answer\x20on\x20price\x20—\x20answer\x20with\x20the\x20auto-refund\x20+\x20unpooled-escrow\x0acontrast,\x20and\x20the\x20honest\x20aggregate\x20boundary.\x0a\x0a##\x209.\x20Red\x20lines\x0a\x0a1.\x20Never\x20present\x20the\x20funding\x20threshold\x20as\x20a\x20chain-verified\x20total-custody\x20proof\x20—\x0a\x20\x20\x20it\x20is\x20an\x20aggregate\x20read\x20over\x20writer-bound\x20rows.\x0a2.\x20Never\x20present\x20a\x20flexible\x20keep-it-all\x20campaign\x20as\x20all-or-nothing,\x20or\x20blur\x20the\x0a\x20\x20\x20refund\x20posture\x20between\x20the\x20two\x20models.\x0a3.\x20Never\x20imply\x20the\x20chain\x20guarantees\x20project\x20delivery;\x20escrow\x20+\x20threshold\x20+\x20refund\x0a\x20\x20\x20are\x20enforced,\x20delivery\x20is\x20backed\x20only\x20by\x20compensation\x20+\x20arbitration.\x0a4.\x20Crowdfunding\x20copy\x20must\x20never\x20promise\x20investment\x20returns,\x20yield,\x20or\x20token-price\x0a\x20\x20\x20appreciation\x20(L-01).\x0a5.\x20Pooled\x20cross-border\x20fundraising\x20may\x20trigger\x20securities\x20/\x20money-transmission\x20/\x0a\x20\x20\x20KYC-AML\x20rules\x20—\x20flag\x20for\x20compliance,\x20do\x20not\x20automate\x20around\x20them\x20(L-05).\x0a',BUILTIN_STRATEGY_MANUALS={'education':{'industry':'education','version':STRATEGY_MANUAL_VERSION,'body':EDUCATION_MANUAL},'rental':{'industry':'rental','version':STRATEGY_MANUAL_VERSION,'body':RENTAL_MANUAL},'freelance':{'industry':'freelance','version':STRATEGY_MANUAL_VERSION,'body':FREELANCE_MANUAL},'subscription':{'industry':'subscription','version':STRATEGY_MANUAL_VERSION,'body':SUBSCRIPTION_MANUAL},'travel':{'industry':'travel','version':STRATEGY_MANUAL_VERSION,'body':TRAVEL_MANUAL},'retail':{'industry':'retail','version':STRATEGY_MANUAL_VERSION,'body':RETAIL_MANUAL},'licensing':{'industry':'licensing','version':STRATEGY_MANUAL_VERSION,'body':LICENSING_MANUAL},'crowdfunding':{'industry':'crowdfunding','version':STRATEGY_MANUAL_VERSION,'body':CROWDFUNDING_MANUAL}};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface IndexableTemplate {
|
|
2
|
+
id: string;
|
|
3
|
+
industry: string;
|
|
4
|
+
product_ref?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function productRefPatterns(productRef: string): RegExp[];
|
|
7
|
+
export interface TemplateDiscoveryIndex {
|
|
8
|
+
byProductRef: Map<string, string>;
|
|
9
|
+
byTag: Map<string, string[]>;
|
|
10
|
+
byIndustry: Map<string, string[]>;
|
|
11
|
+
productRefMatchers: Array<{
|
|
12
|
+
id: string;
|
|
13
|
+
patterns: RegExp[];
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export declare function buildTemplateIndex(templates: readonly IndexableTemplate[]): TemplateDiscoveryIndex;
|
|
17
|
+
export declare function resolveByProductRef(index: TemplateDiscoveryIndex, text: string): string | undefined;
|
|
18
|
+
export declare function resolveByTag(index: TemplateDiscoveryIndex, tag: string): string[];
|
|
19
|
+
export declare function getDiscoveryIndex(): TemplateDiscoveryIndex;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{TEMPLATE_TAGS}from'./builtin-templates.js';import{listTemplates}from'./template-loader.js';export function productRefPatterns(a){const b=new Set([a]);return a['includes']('-')&&(b['add'](a['replace'](/-/g,'.')),b['add'](a['replace'](/-/g,'\x20'))),[...b]['map'](c=>new RegExp('\x5cb'+c['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+'\x5cb','i'));}function pushUnique(a,b,c){const d=a['get'](b);if(d){if(!d['includes'](c))d['push'](c);}else a['set'](b,[c]);}export function buildTemplateIndex(a){const b=new Map(),c=new Map(),d=new Map(),e=[];for(const f of a){if(f['product_ref']){const g=f['product_ref']['toLowerCase']();if(!b['has'](g))b['set'](g,f['id']);e['push']({'id':f['id'],'patterns':productRefPatterns(f['product_ref'])});}pushUnique(d,f['industry'],f['id']);for(const h of TEMPLATE_TAGS[f['id']]??[]){pushUnique(c,h['toLowerCase'](),f['id']);}}for(const i of c['values']())i['sort']();for(const j of d['values']())j['sort']();return{'byProductRef':b,'byTag':c,'byIndustry':d,'productRefMatchers':e};}export function resolveByProductRef(a,b){const c=b['toLowerCase']();for(const e of a['productRefMatchers']){if(e['patterns']['some'](f=>f['test'](c)))return e['id'];}return undefined;}export function resolveByTag(a,b){return a['byTag']['get'](b['toLowerCase']())??[];}export function getDiscoveryIndex(){return buildTemplateIndex(listTemplates()['templates']);}
|
|
@@ -147,6 +147,42 @@ export declare const TemplateFrontmatterSchema: z.ZodObject<{
|
|
|
147
147
|
none: "none";
|
|
148
148
|
review_reward: "review_reward";
|
|
149
149
|
}>>;
|
|
150
|
+
after_sales_mode: z.ZodOptional<z.ZodEnum<{
|
|
151
|
+
none: "none";
|
|
152
|
+
return: "return";
|
|
153
|
+
exchange: "exchange";
|
|
154
|
+
warranty: "warranty";
|
|
155
|
+
}>>;
|
|
156
|
+
acceptance_mode: z.ZodOptional<z.ZodEnum<{
|
|
157
|
+
none: "none";
|
|
158
|
+
agent: "agent";
|
|
159
|
+
milestone: "milestone";
|
|
160
|
+
contest: "contest";
|
|
161
|
+
bounty: "bounty";
|
|
162
|
+
}>>;
|
|
163
|
+
installment_mode: z.ZodOptional<z.ZodEnum<{
|
|
164
|
+
none: "none";
|
|
165
|
+
deposit_balance: "deposit_balance";
|
|
166
|
+
milestone_n: "milestone_n";
|
|
167
|
+
}>>;
|
|
168
|
+
affiliate_mode: z.ZodOptional<z.ZodEnum<{
|
|
169
|
+
none: "none";
|
|
170
|
+
commission: "commission";
|
|
171
|
+
}>>;
|
|
172
|
+
crowdfunding_mode: z.ZodOptional<z.ZodEnum<{
|
|
173
|
+
threshold: "threshold";
|
|
174
|
+
none: "none";
|
|
175
|
+
flexible: "flexible";
|
|
176
|
+
}>>;
|
|
177
|
+
compensation_fund_policy: z.ZodOptional<z.ZodEnum<{
|
|
178
|
+
allowed: "allowed";
|
|
179
|
+
forbidden: "forbidden";
|
|
180
|
+
}>>;
|
|
181
|
+
reentry_kind: z.ZodOptional<z.ZodEnum<{
|
|
182
|
+
none: "none";
|
|
183
|
+
"review-loop": "review-loop";
|
|
184
|
+
"paid-cycle": "paid-cycle";
|
|
185
|
+
}>>;
|
|
150
186
|
}, z.core.$strict>;
|
|
151
187
|
export type TemplateFrontmatter = z.infer<typeof TemplateFrontmatterSchema>;
|
|
152
188
|
export interface IndustryTemplate extends TemplateFrontmatter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{copyFileSync,existsSync,mkdirSync,readdirSync,readFileSync,renameSync,rmdirSync,statSync,writeFileSync}from'node:fs';import{join,relative,sep}from'node:path';import{z}from'zod';import{getWowokDataDir,getWowokIndustryDir}from'@wowok/wowok';import{SUPPORTED_INDUSTRIES}from'../customer/user-preferences.js';import{isRegisteredIndustry}from'./industry-registry.js';import{BUILTIN_TEMPLATES,BUILTIN_TEMPLATES_VERSION}from'./builtin-templates.js';import{releaseBodyHash,releaseSentinelLine,stripReleaseSentinel}from'./release-sentinel.js';export const TEMPLATES_SUBDIR='templates';export function resolveTemplatesDir(){return process['env']['WOWOK_TEMPLATES_DIR']||getWowokIndustryDir();}function resolveLegacyTemplatesDir(){return process['env']['WOWOK_LEGACY_TEMPLATES_DIR']||join(getWowokDataDir(),'templates');}const MachineEdgeSchema=z['object']({'prev':z['string'](),'forward':z['string']()['min'](0x1)['optional'](),'operator':z['enum'](['merchant','order_payer'])['optional'](),'permission_index':z['number']()['int']()['min'](0x3e8)['optional'](),'guard_key':z['string']()['min'](0x1)['optional']()}),MachineNodeSchema=z['object']({'name':z['string']()['min'](0x1),'role':z['string']()['min'](0x1),'operator':z['enum'](['merchant','order_payer'])['optional'](),'semantic_role':z['enum'](['draft','active','delivered','final','cancelled'])['optional'](),'optional':z['boolean']()['optional'](),'threshold':z['number']()['int']()['min'](0x0)['optional'](),'from':z['array'](z['union']([z['string'](),MachineEdgeSchema]))['optional']()}),GuardRefSchema=z['object']({'template_id':z['string']()['regex'](/^(pattern\.[a-z0-9_]+|tpl_[a-z0-9_]+)$/,'guard\x20template_id\x20must\x20be\x20a\x20\x27pattern.*\x27\x20design\x20pattern\x20or\x20\x27tpl_*\x27\x20guard\x20template'),'host':z['enum'](['service','machine','reward','repository','arbitration']),'purpose':z['string']()['min'](0x1),'key':z['string']()['min'](0x1)['optional'](),'policy':z['object']({'name':z['string']()['min'](0x1)['optional'](),'description':z['string']()['min'](0x1)['optional'](),'id_from':z['string']()['min'](0x1)['optional'](),'value_type':z['string']()['min'](0x1)['optional']()})['optional']()}),ConditionalGuardEmissionSchema=z['object']({'guard_key':z['string']()['min'](0x1),'param':z['string']()['min'](0x1),'values':z['array'](z['string']()['min'](0x1))['min'](0x2),'emit_value':z['string']()['min'](0x1),'question':z['string']()['min'](0x1)})['strict'](),AllocatorRowSchema=z['object']({'track':z['enum'](['settlement','refund']),'recipient':z['enum'](['entity','guard_identifier','signer']),'recipient_key':z['string']()['min'](0x1)['optional'](),'mode':z['enum'](['amount','rate','surplus']),'value':z['union']([z['string'](),z['number']()])['optional'](),'value_from':z['string']()['optional'](),'fix':z['union']([z['string'](),z['number']()])['optional'](),'fix_from':z['string']()['optional'](),'guard_key':z['string']()['min'](0x1)['optional'](),'note':z['string']()['optional']()})['strict'](),AllocatorSchema=z['object']({'recipient':z['enum'](['signer','entity','fixed']),'recipient_key':z['string']()['min'](0x1)['optional'](),'refund_track':z['enum'](['order_anchored'])['optional'](),'count':z['number']()['int']()['positive'](),'mode':z['enum'](['amount','rate','surplus']),'once_per_order':z['boolean']()['optional'](),'rows':z['array'](AllocatorRowSchema)['optional'](),'description':z['string']()['min'](0x1)})['strict'](),IndustryNameSchema=z['string']()['regex'](/^[a-z][a-z0-9_]*$/,'industry\x20must\x20be\x20lowercase\x20snake_case\x20(a-z,\x200-9,\x20_)')['refine'](a=>isRegisteredIndustry(a),{'message':'unknown\x20industry\x20—\x20register\x20it\x20first\x20via\x20an\x20industry\x20pack\x20'+'(industry_pack_operation\x20action=\x27scaffold\x27)\x20or\x20the\x20industry\x20generalizer;\x20'+('builtin\x20industries:\x20'+SUPPORTED_INDUSTRIES['join'](',\x20'))});export const TemplateFrontmatterSchema=z['object']({'id':z['string']()['regex'](/^[a-z][a-z0-9_-]*\/[a-z][a-z0-9_-]*$/,'id\x20must\x20be\x20\x27<industry>/<variant>\x27'),'industry':IndustryNameSchema,'variant':z['string']()['regex'](/^[a-z][a-z0-9_-]*$/),'product_ref':z['string']()['regex'](/^[a-z][a-z0-9._-]*$/,'product_ref\x20must\x20be\x20a\x20lowercase\x20product\x20slug')['optional'](),'archetype':z['enum'](['leader','challenger']),'phase':z['number']()['int']()['min'](0x1)['max'](0x3),'machine_shape':z['array'](MachineNodeSchema)['min'](0x1),'guards':z['array'](GuardRefSchema),'allocator':AllocatorSchema,'fee_params':z['record'](z['string'](),z['union']([z['number'](),z['string']()])),'trust_mechanisms':z['array'](z['string']()),'keeper_dependencies':z['array'](z['string']()),'recommended_role':z['enum'](['merchant','supplier','both']),'role_rationale':z['string']()['min'](0x1),'differences':z['array'](z['string']()),'user_inputs':z['array'](z['string']()),'key_risk':z['string']()['min'](0x1)['max'](0x12c,'key_risk\x20must\x20be\x20a\x20one-line\x20risk\x20statement\x20(<=\x20300\x20chars)\x20—\x20rules\x20and\x20doctrine\x20do\x20not\x20belong\x20in\x20this\x20field')['refine'](a=>!/STANDING RULE|TECHNOLOGY PROVIDER|NOT A PARTY TO THE DEAL|Full text:/i['test'](a),{'message':'key_risk\x20carries\x20an\x20instruction-block\x20fragment\x20(STANDING\x20RULE\x20/\x20provider\x20doctrine\x20/\x20\x27Full\x20text:\x27\x20reference)\x20—\x20keep\x20doctrine\x20in\x20body\x20prose\x20or\x20playbooks,\x20not\x20in\x20this\x20field'}),'build_notes':z['array'](z['string']()),'evidence_refs':z['array'](z['string']())['optional'](),'conditional_guards':z['array'](ConditionalGuardEmissionSchema)['optional'](),'time_anchors':z['record'](z['string'](),z['string']())['optional'](),'payment_model':z['enum'](['milestone','subscription','escrow'])['optional'](),'arbitration_mode':z['enum'](['none','merchant_pick','mutual_pick','third_party'])['optional'](),'reward_claim_policy':z['object']({'kind':z['enum'](['once','periodic','capped']),'min_claim_interval_ms':z['number']()['optional'](),'max_total_per_recipient':z['string']()['optional']()})['optional'](),'review_mode':z['enum'](['none','review','review_reward'])['optional']()})['strict']();import{validateAllocatorRows}from'./template-validation.js';export{validateAllocatorRows};export function platformShareBps(a){const b=Object['keys'](a)['find'](c=>/(?:platform|commission|service_fee)[a-z_]*_bps$/['test'](c)&&!/^attributed_/['test'](c)&&typeof a[c]==='number');return b!==undefined?a[b]:undefined;}export function parseTemplateFile(a){const b=a['replace'](/^\uFEFF/,'')['replace'](/^<!-- builtin:[a-z0-9-]+:v\d+:[0-9a-f]+ -->\r?\n/,''),c=b['split'](/\r?\n/);if(c[0x0]?.['trim']()!=='---')throw new Error('template\x20must\x20start\x20with\x20a\x20\x27---\x27\x20frontmatter\x20block');let d=-0x1;for(let f=0x1;f<c['length'];f++){if(c[f]['trim']()==='---'){d=f;break;}}if(d===-0x1)throw new Error('unterminated\x20frontmatter\x20block\x20(missing\x20closing\x20\x27---\x27)');const e={};for(let g=0x1;g<d;g++){const h=c[g];if(!h['trim']()||h['trim']()['startsWith']('#'))continue;const j=h['indexOf'](':');if(j===-0x1)throw new Error('invalid\x20frontmatter\x20line\x20'+(g+0x1)+':\x20\x27'+h['trim']()+'\x27\x20(expected\x20\x27key:\x20value\x27)');const k=h['slice'](0x0,j)['trim'](),l=h['slice'](j+0x1)['trim']();if(!k)throw new Error('invalid\x20frontmatter\x20line\x20'+(g+0x1)+':\x20empty\x20key');if(l['startsWith']('[')||l['startsWith']('{'))try{e[k]=JSON['parse'](l);}catch(m){throw new Error('frontmatter\x20key\x20\x27'+k+'\x27\x20is\x20not\x20valid\x20JSON:\x20'+m['message']);}else/^-?\d+(\.\d+)?$/['test'](l)?e[k]=Number(l):e[k]=l;}return{'frontmatter':e,'body':c['slice'](d+0x1)['join']('\x0a')['trim']()};}function frontmatterLine(a,b){if(typeof b==='number')return a+':\x20'+b;if(typeof b==='string')return a+':\x20'+b;return a+':\x20'+JSON['stringify'](b);}export const TEMPLATE_SENTINEL_KIND='industry-template';export function canonicalTemplateContent(a){const b=[['id',a['id']],['industry',a['industry']],['variant',a['variant']],['product_ref',a['product_ref']],['archetype',a['archetype']],['phase',a['phase']],['recommended_role',a['recommended_role']],['role_rationale',a['role_rationale']],['key_risk',a['key_risk']],['machine_shape',a['machine_shape']],['guards',a['guards']],['allocator',a['allocator']],['fee_params',a['fee_params']],['trust_mechanisms',a['trust_mechanisms']],['keeper_dependencies',a['keeper_dependencies']],['differences',a['differences']],['user_inputs',a['user_inputs']],['build_notes',a['build_notes']],...a['evidence_refs']?[['evidence_refs',a['evidence_refs']]]:[],...a['conditional_guards']?[['conditional_guards',a['conditional_guards']]]:[],...a['time_anchors']?[['time_anchors',a['time_anchors']]]:[],...a['payment_model']?[['payment_model',a['payment_model']]]:[],...a['arbitration_mode']?[['arbitration_mode',a['arbitration_mode']]]:[],...a['review_mode']?[['review_mode',a['review_mode']]]:[],...a['reward_claim_policy']?[['reward_claim_policy',a['reward_claim_policy']]]:[]],c=['---',...b['map'](([e,f])=>frontmatterLine(e,f)),'---'],d=['','#\x20'+a['industry']+'\x20/\x20'+a['variant']+'\x20('+a['archetype']+')','','>\x20Industry\x20archetype\x20template.\x20Editable\x20and\x20migratable:\x20the\x20frontmatter\x20is','>\x20zod-validated\x20on\x20every\x20load;\x20the\x20body\x20is\x20free-form\x20guidance\x20for\x20the\x20AI.','','##\x20Key\x20risk','',a['key_risk'],'','##\x20Differences\x20vs\x20the\x20sibling\x20variant','',...a['differences']['map'](e=>'-\x20'+e),'','##\x20User\x20inputs\x20(inject\x20at\x20build\x20time)','',...a['user_inputs']['map'](e=>'-\x20'+e),'','##\x20Risk-avoidance\x20checklist\x20(R1-R10)','',...a['trust_mechanisms']['map'](e=>'-\x20'+e),'','##\x20Build\x20notes','',...a['build_notes']['map'](e=>'-\x20'+e),''];return[...c,...d]['join']('\x0a');}export function renderTemplateFile(a){const b=canonicalTemplateContent(a);return releaseSentinelLine(TEMPLATE_SENTINEL_KIND,BUILTIN_TEMPLATES_VERSION,releaseBodyHash(b))+'\x0a'+b;}export function matchBuiltinTemplateFile(a){const b=relative(resolveTemplatesDir(),a);if(!b||b['startsWith']('..'))return null;const c=b['split'](sep);if(c['length']!==0x3||c[0x1]!==TEMPLATES_SUBDIR||!c[0x2]['endsWith']('.md'))return null;const d=c[0x2]['slice'](0x0,-'.md'['length']);return BUILTIN_TEMPLATES['find'](e=>e['industry']===c[0x0]&&e['variant']===d)??null;}let seeded=![];function migrateLegacyTemplates(a){const b=resolveLegacyTemplatesDir();if(b===a)return;if(!existsSync(b))return;try{for(const c of readdirSync(b,{'withFileTypes':!![]})){if(!c['isDirectory']())continue;const d=join(b,c['name']),e=join(a,c['name'],TEMPLATES_SUBDIR);for(const g of readdirSync(d,{'withFileTypes':!![]})){if(!g['isFile']()||!g['name']['endsWith']('.md'))continue;const h=join(e,g['name']);if(existsSync(h))continue;mkdirSync(e,{'recursive':!![]}),renameSync(join(d,g['name']),h);}try{rmdirSync(d);}catch{}}try{rmdirSync(b);}catch{}}catch{}}export function seedBuiltinTemplates(){const a=[],b=resolveTemplatesDir();migrateLegacyTemplates(b);for(const c of BUILTIN_TEMPLATES){const d=join(b,c['industry'],TEMPLATES_SUBDIR),e=join(d,c['variant']+'.md'),f=canonicalTemplateContent(c),g={'template':c['id'],'status':'written','path':e};try{if(!existsSync(e))mkdirSync(d,{'recursive':!![]}),writeFileSync(e,renderTemplateFile(c),'utf-8');else{const h=readFileSync(e,'utf-8'),{sentinel:i,content:j}=stripReleaseSentinel(h,TEMPLATE_SENTINEL_KIND);!i?j===f?(writeFileSync(e,renderTemplateFile(c),'utf-8'),g['status']='restamped',g['detail']='body\x20matches\x20canonical\x20but\x20no\x20sentinel\x20present;\x20sentinel\x20header\x20added,\x20body\x20untouched'):(g['status']='skipped_user_file',g['detail']='template\x20file\x20exists\x20without\x20builtin\x20sentinel\x20and\x20body\x20differs\x20from\x20canonical;\x20leaving\x20user\x20file\x20untouched'):j===f?i['version']!==BUILTIN_TEMPLATES_VERSION||releaseBodyHash(j)!==i['hash']?(writeFileSync(e,renderTemplateFile(c),'utf-8'),g['status']='restamped',g['detail']='body\x20matches\x20canonical\x20but\x20sentinel\x20stale/wrong;\x20header\x20refreshed,\x20body\x20untouched'):g['status']='current':(g['status']='skipped_modified',g['detail']='body\x20differs\x20from\x20canonical;\x20not\x20overwritten\x20by\x20seeding\x20—\x20use\x20repair_builtin_templates\x20(preview→confirm)\x20to\x20reseed');}}catch(k){g['status']='error',g['detail']=k['message'];}a['push'](g);}return a;}export function summarizeTemplateDiff(a,b){let c,d;try{c=parseTemplateFile(a);}catch(g){return'on-disk\x20file\x20is\x20not\x20parseable\x20('+g['message']+');\x20full\x20content\x20will\x20be\x20replaced';}try{d=parseTemplateFile(b);}catch{return'canonical\x20render\x20is\x20not\x20parseable\x20(code\x20defect);\x20full\x20content\x20will\x20be\x20replaced';}const e=[],f=new Set([...Object['keys'](c['frontmatter']),...Object['keys'](d['frontmatter'])]);for(const h of[...f]['sort']()){const i=h in c['frontmatter'],j=h in d['frontmatter'];if(i&&!j)e['push']('-'+h);else{if(!i&&j)e['push']('+'+h);else{if(JSON['stringify'](c['frontmatter'][h])!==JSON['stringify'](d['frontmatter'][h]))e['push']('~'+h);}}}return c['body']!==d['body']&&e['push']('~body\x20('+c['body']['split']('\x0a')['length']+'\x20->\x20'+d['body']['split']('\x0a')['length']+'\x20lines)'),e['length']>0x0?e['join'](',\x20'):'whitespace/ordering\x20only';}export function repairBuiltinTemplates(a){const b=[],c=resolveTemplatesDir(),d=a?.['backup']!==![],e=a?.['dryRun']===!![],f=new Set(a?.['includeUserEdited']??[]);for(const g of BUILTIN_TEMPLATES){const h=join(c,g['industry'],TEMPLATES_SUBDIR),i=join(h,g['variant']+'.md');if(!existsSync(i))continue;const j=canonicalTemplateContent(g);let k=null,l='';const m={'template':g['id'],'status':'would_update','path':i};try{const p=stripReleaseSentinel(readFileSync(i,'utf-8'),TEMPLATE_SENTINEL_KIND);k=p['sentinel'],l=p['content'];}catch(q){m['status']='error',m['detail']=q['message'],b['push'](m);continue;}if(l===j)continue;let n;if(k){if(k['version']>BUILTIN_TEMPLATES_VERSION){m['status']='error',m['detail']='newer\x20release\x20on\x20disk\x20(sentinel\x20v'+k['version']+'\x20>\x20running\x20catalog\x20v'+BUILTIN_TEMPLATES_VERSION+')\x20—\x20'+'repair\x20would\x20DOWNGRADE\x20and\x20lose\x20the\x20newer\x20release\x27s\x20content;\x20refused.\x20Upgrade\x20the\x20MCP\x20server\x20instead',b['push'](m);continue;}if(releaseBodyHash(l)!==k['hash']){if(!f['has'](g['id']))continue;n='sentinel-body\x20hash\x20mismatch\x20(sentinel\x20v'+k['version']+'\x20no\x20longer\x20binds\x20the\x20body)\x20'+'reseeded\x20under\x20EXPLICIT\x20include_user_edited\x20authorization';}else n='untouched\x20older\x20release\x20(sentinel\x20v'+k['version']+',\x20current\x20v'+BUILTIN_TEMPLATES_VERSION+')';}else{let r;try{r=String(parseTemplateFile(l)['frontmatter']['id']??'');}catch{continue;}if(r!==g['id'])continue;n='legacy\x20sentinel-less\x20builtin\x20file';}const o=summarizeTemplateDiff(l,j);if(e){m['status']='would_update',m['detail']=n+'\x20would\x20be\x20reseeded\x20from\x20BUILTIN_TEMPLATES\x20('+g['id']+')\x20—\x20diff\x20vs\x20canonical:\x20'+o+(d?';\x20previous\x20body\x20would\x20be\x20saved\x20as\x20<file>.bak':'')+'\x20—\x20execute\x20with\x20authorize=true\x20after\x20the\x20user\x20explicitly\x20confirms',b['push'](m);continue;}try{if(d)copyFileSync(i,i+'.bak');writeFileSync(i,renderTemplateFile(g),'utf-8'),cache['delete'](i),m['status']='updated',m['detail']=n+'\x20reseeded\x20from\x20BUILTIN_TEMPLATES\x20('+g['id']+')\x20—\x20diff\x20was:\x20'+o+(d?';\x20previous\x20body\x20saved\x20as\x20<file>.bak':'');}catch(s){m['status']='error',m['detail']=s['message'];}b['push'](m);}return b;}export function builtinTemplateDrift(a){const b=new Set(a?.['includeUserEdited']??[]),c=[],d=resolveTemplatesDir();for(const e of BUILTIN_TEMPLATES){const f=join(d,e['industry'],TEMPLATES_SUBDIR,e['variant']+'.md');if(!existsSync(f)){c['push']({'template':e['id'],'path':f,'state':'missing','repairable':!![],'detail':'no\x20file\x20on\x20disk;\x20seeding\x20will\x20create\x20it'});continue;}const g=canonicalTemplateContent(e);let h=null,i='';try{const k=stripReleaseSentinel(readFileSync(f,'utf-8'),TEMPLATE_SENTINEL_KIND);h=k['sentinel'],i=k['content'];}catch(l){c['push']({'template':e['id'],'path':f,'state':'modified','repairable':![],'detail':'unreadable:\x20'+l['message']});continue;}if(i===g)continue;const j=summarizeTemplateDiff(i,g);if(!h){let m;try{m=String(parseTemplateFile(i)['frontmatter']['id']??'');}catch{m=undefined;}m===e['id']?c['push']({'template':e['id'],'path':f,'state':'modified','repairable':!![],'detail':'legacy\x20sentinel-less\x20builtin\x20file\x20—\x20seeding\x20never\x20rewrites\x20it\x20and\x20no\x20sentinel\x20proves\x20provenance;\x20repair\x20can\x20reseed\x20—\x20diff\x20vs\x20canonical:\x20'+j}):c['push']({'template':e['id'],'path':f,'state':'modified','repairable':![],'detail':'no\x20release\x20sentinel\x20and\x20id\x20\x27'+(m??'<unparseable>')+'\x27\x20does\x20not\x20match\x20the\x20builtin\x20id\x20—\x20a\x20user\x20file\x20occupies\x20this\x20path;\x20never\x20touched\x20(rename\x20it\x20to\x20free\x20the\x20slot)'});continue;}if(releaseBodyHash(i)===h['hash'])h['version']>BUILTIN_TEMPLATES_VERSION?c['push']({'template':e['id'],'path':f,'state':'modified','repairable':![],'detail':'newer\x20release\x20(sentinel\x20v'+h['version']+'\x20>\x20running\x20catalog\x20v'+BUILTIN_TEMPLATES_VERSION+')\x20—\x20'+'repair\x20would\x20DOWNGRADE\x20and\x20lose\x20the\x20newer\x20release\x27s\x20content;\x20repairable:\x20false.\x20'+'Upgrade\x20the\x20MCP\x20server\x20to\x20match\x20—\x20diff\x20vs\x20canonical:\x20'+j}):c['push']({'template':e['id'],'path':f,'state':'modified','repairable':!![],'detail':'untouched\x20older\x20release\x20(sentinel\x20v'+h['version']+',\x20current\x20v'+BUILTIN_TEMPLATES_VERSION+')\x20—\x20repair\x20can\x20upgrade\x20—\x20diff\x20vs\x20canonical:\x20'+j});else{const n=b['has'](e['id']);c['push']({'template':e['id'],'path':f,'state':'modified','repairable':n,'detail':n?'sentinel-body\x20hash\x20mismatch\x20(sentinel\x20v'+h['version']+'\x20no\x20longer\x20binds\x20the\x20body)\x20—\x20reseedable\x20under\x20the\x20explicit\x20include_user_edited\x20authorization\x20for\x20this\x20id\x20—\x20diff\x20vs\x20canonical:\x20'+j:'user-edited\x20body\x20—\x20kept\x20by\x20design;\x20repair\x20never\x20overwrites\x20user\x20edits\x20—\x20diff\x20vs\x20canonical:\x20'+j});}}return c;}const cache=new Map();export function reloadTemplates(){cache['clear'](),seeded=![];}export function loadAndValidate(a){const b=readFileSync(a,'utf-8');let c;try{c=parseTemplateFile(b);}catch(f){throw new Error('template\x20\x27'+a+'\x27\x20failed\x20to\x20parse:\x20'+f['message']);}const d=TemplateFrontmatterSchema['safeParse'](c['frontmatter']);if(!d['success']){const g=d['error']['issues']['map'](h=>(h['path']['join']('.')||'<root>')+':\x20'+h['message'])['join'](';\x20');throw new Error('template\x20\x27'+a+'\x27\x20failed\x20validation:\x20'+g);}const e=validateAllocatorRows(d['data']);if(e['length']>0x0)throw new Error('template\x20\x27'+a+'\x27\x20failed\x20allocator-row\x20validation:\x20'+e['join'](';\x20'));return{...d['data'],'body':c['body'],'source_path':a};}function templateFilesOnDisk(a){const b=[];if(!existsSync(a))return b;for(const c of readdirSync(a,{'withFileTypes':!![]})){if(!c['isDirectory']())continue;const d=join(a,c['name'],TEMPLATES_SUBDIR);if(!existsSync(d))continue;for(const e of readdirSync(d,{'withFileTypes':!![]})){if(e['isFile']()&&e['name']['endsWith']('.md'))b['push'](join(d,e['name']));}}return b['sort']();}export function listTemplates(){!seeded&&(seedBuiltinTemplates(),seeded=!![]);const a=resolveTemplatesDir(),b=[],c=[],d=new Set();for(const e of templateFilesOnDisk(a)){d['add'](e);try{const f=statSync(e)['mtimeMs'],g=cache['get'](e);if(g&&g['mtimeMs']===f){b['push'](g['template']);continue;}const h=loadAndValidate(e);cache['set'](e,{'mtimeMs':f,'template':h}),b['push'](h);}catch(i){cache['delete'](e),c['push'](i['message']);}}for(const j of[...cache['keys']()]){if(!d['has'](j))cache['delete'](j);}return b['sort']((k,l)=>k['id']['localeCompare'](l['id'])),{'templates':b,'errors':c};}export function getTemplate(a){return listTemplates()['templates']['find'](b=>b['id']===a);}export function getTemplatesByIndustry(a){return listTemplates()['templates']['filter'](b=>b['industry']===a);}
|
|
1
|
+
import{copyFileSync,existsSync,mkdirSync,readdirSync,readFileSync,renameSync,rmdirSync,statSync,writeFileSync}from'node:fs';import{join,relative,sep}from'node:path';import{z}from'zod';import{getWowokDataDir,getWowokIndustryDir}from'@wowok/wowok';import{SUPPORTED_INDUSTRIES}from'../customer/user-preferences.js';import{isRegisteredIndustry}from'./industry-registry.js';import{BUILTIN_TEMPLATES,BUILTIN_TEMPLATES_VERSION}from'./builtin-templates.js';import{releaseBodyHash,releaseSentinelLine,stripReleaseSentinel}from'./release-sentinel.js';export const TEMPLATES_SUBDIR='templates';export function resolveTemplatesDir(){return process['env']['WOWOK_TEMPLATES_DIR']||getWowokIndustryDir();}function resolveLegacyTemplatesDir(){return process['env']['WOWOK_LEGACY_TEMPLATES_DIR']||join(getWowokDataDir(),'templates');}const MachineEdgeSchema=z['object']({'prev':z['string'](),'forward':z['string']()['min'](0x1)['optional'](),'operator':z['enum'](['merchant','order_payer'])['optional'](),'permission_index':z['number']()['int']()['min'](0x3e8)['optional'](),'guard_key':z['string']()['min'](0x1)['optional']()}),MachineNodeSchema=z['object']({'name':z['string']()['min'](0x1),'role':z['string']()['min'](0x1),'operator':z['enum'](['merchant','order_payer'])['optional'](),'semantic_role':z['enum'](['draft','active','delivered','final','cancelled'])['optional'](),'optional':z['boolean']()['optional'](),'threshold':z['number']()['int']()['min'](0x0)['optional'](),'from':z['array'](z['union']([z['string'](),MachineEdgeSchema]))['optional']()}),GuardRefSchema=z['object']({'template_id':z['string']()['regex'](/^(pattern\.[a-z0-9_]+|tpl_[a-z0-9_]+)$/,'guard\x20template_id\x20must\x20be\x20a\x20\x27pattern.*\x27\x20design\x20pattern\x20or\x20\x27tpl_*\x27\x20guard\x20template'),'host':z['enum'](['service','machine','reward','repository','arbitration']),'purpose':z['string']()['min'](0x1),'key':z['string']()['min'](0x1)['optional'](),'policy':z['object']({'name':z['string']()['min'](0x1)['optional'](),'description':z['string']()['min'](0x1)['optional'](),'id_from':z['string']()['min'](0x1)['optional'](),'value_type':z['string']()['min'](0x1)['optional']()})['optional']()}),ConditionalGuardEmissionSchema=z['object']({'guard_key':z['string']()['min'](0x1),'param':z['string']()['min'](0x1),'values':z['array'](z['string']()['min'](0x1))['min'](0x2),'emit_value':z['string']()['min'](0x1),'question':z['string']()['min'](0x1)})['strict'](),AllocatorRowSchema=z['object']({'track':z['enum'](['settlement','refund']),'recipient':z['enum'](['entity','guard_identifier','signer']),'recipient_key':z['string']()['min'](0x1)['optional'](),'mode':z['enum'](['amount','rate','surplus']),'value':z['union']([z['string'](),z['number']()])['optional'](),'value_from':z['string']()['optional'](),'fix':z['union']([z['string'](),z['number']()])['optional'](),'fix_from':z['string']()['optional'](),'guard_key':z['string']()['min'](0x1)['optional'](),'note':z['string']()['optional']()})['strict'](),AllocatorSchema=z['object']({'recipient':z['enum'](['signer','entity','fixed']),'recipient_key':z['string']()['min'](0x1)['optional'](),'refund_track':z['enum'](['order_anchored'])['optional'](),'count':z['number']()['int']()['positive'](),'mode':z['enum'](['amount','rate','surplus']),'once_per_order':z['boolean']()['optional'](),'rows':z['array'](AllocatorRowSchema)['optional'](),'description':z['string']()['min'](0x1)})['strict'](),IndustryNameSchema=z['string']()['regex'](/^[a-z][a-z0-9_]*$/,'industry\x20must\x20be\x20lowercase\x20snake_case\x20(a-z,\x200-9,\x20_)')['refine'](a=>isRegisteredIndustry(a),{'message':'unknown\x20industry\x20—\x20register\x20it\x20first\x20via\x20an\x20industry\x20pack\x20'+'(industry_pack_operation\x20action=\x27scaffold\x27)\x20or\x20the\x20industry\x20generalizer;\x20'+('builtin\x20industries:\x20'+SUPPORTED_INDUSTRIES['join'](',\x20'))});export const TemplateFrontmatterSchema=z['object']({'id':z['string']()['regex'](/^[a-z][a-z0-9_-]*\/[a-z][a-z0-9_-]*$/,'id\x20must\x20be\x20\x27<industry>/<variant>\x27'),'industry':IndustryNameSchema,'variant':z['string']()['regex'](/^[a-z][a-z0-9_-]*$/),'product_ref':z['string']()['regex'](/^[a-z][a-z0-9._-]*$/,'product_ref\x20must\x20be\x20a\x20lowercase\x20product\x20slug')['optional'](),'archetype':z['enum'](['leader','challenger']),'phase':z['number']()['int']()['min'](0x1)['max'](0x3),'machine_shape':z['array'](MachineNodeSchema)['min'](0x1),'guards':z['array'](GuardRefSchema),'allocator':AllocatorSchema,'fee_params':z['record'](z['string'](),z['union']([z['number'](),z['string']()])),'trust_mechanisms':z['array'](z['string']()),'keeper_dependencies':z['array'](z['string']()),'recommended_role':z['enum'](['merchant','supplier','both']),'role_rationale':z['string']()['min'](0x1),'differences':z['array'](z['string']()),'user_inputs':z['array'](z['string']()),'key_risk':z['string']()['min'](0x1)['max'](0x12c,'key_risk\x20must\x20be\x20a\x20one-line\x20risk\x20statement\x20(<=\x20300\x20chars)\x20—\x20rules\x20and\x20doctrine\x20do\x20not\x20belong\x20in\x20this\x20field')['refine'](a=>!/STANDING RULE|TECHNOLOGY PROVIDER|NOT A PARTY TO THE DEAL|Full text:/i['test'](a),{'message':'key_risk\x20carries\x20an\x20instruction-block\x20fragment\x20(STANDING\x20RULE\x20/\x20provider\x20doctrine\x20/\x20\x27Full\x20text:\x27\x20reference)\x20—\x20keep\x20doctrine\x20in\x20body\x20prose\x20or\x20playbooks,\x20not\x20in\x20this\x20field'}),'build_notes':z['array'](z['string']()),'evidence_refs':z['array'](z['string']())['optional'](),'conditional_guards':z['array'](ConditionalGuardEmissionSchema)['optional'](),'time_anchors':z['record'](z['string'](),z['string']())['optional'](),'payment_model':z['enum'](['milestone','subscription','escrow'])['optional'](),'arbitration_mode':z['enum'](['none','merchant_pick','mutual_pick','third_party'])['optional'](),'reward_claim_policy':z['object']({'kind':z['enum'](['once','periodic','capped']),'min_claim_interval_ms':z['number']()['optional'](),'max_total_per_recipient':z['string']()['optional']()})['optional'](),'review_mode':z['enum'](['none','review','review_reward'])['optional'](),'after_sales_mode':z['enum'](['none','return','exchange','warranty'])['optional'](),'acceptance_mode':z['enum'](['none','milestone','contest','bounty','agent'])['optional'](),'installment_mode':z['enum'](['none','deposit_balance','milestone_n'])['optional'](),'affiliate_mode':z['enum'](['none','commission'])['optional'](),'crowdfunding_mode':z['enum'](['none','threshold','flexible'])['optional'](),'compensation_fund_policy':z['enum'](['allowed','forbidden'])['optional'](),'reentry_kind':z['enum'](['none','review-loop','paid-cycle'])['optional']()})['strict']();import{validateAllocatorRows}from'./template-validation.js';export{validateAllocatorRows};export function platformShareBps(a){const b=Object['keys'](a)['find'](c=>/(?:platform|commission|service_fee)[a-z_]*_bps$/['test'](c)&&!/^attributed_/['test'](c)&&typeof a[c]==='number');return b!==undefined?a[b]:undefined;}export function parseTemplateFile(a){const b=a['replace'](/^\uFEFF/,'')['replace'](/^<!-- builtin:[a-z0-9-]+:v\d+:[0-9a-f]+ -->\r?\n/,''),c=b['split'](/\r?\n/);if(c[0x0]?.['trim']()!=='---')throw new Error('template\x20must\x20start\x20with\x20a\x20\x27---\x27\x20frontmatter\x20block');let d=-0x1;for(let f=0x1;f<c['length'];f++){if(c[f]['trim']()==='---'){d=f;break;}}if(d===-0x1)throw new Error('unterminated\x20frontmatter\x20block\x20(missing\x20closing\x20\x27---\x27)');const e={};for(let g=0x1;g<d;g++){const h=c[g];if(!h['trim']()||h['trim']()['startsWith']('#'))continue;const j=h['indexOf'](':');if(j===-0x1)throw new Error('invalid\x20frontmatter\x20line\x20'+(g+0x1)+':\x20\x27'+h['trim']()+'\x27\x20(expected\x20\x27key:\x20value\x27)');const k=h['slice'](0x0,j)['trim'](),l=h['slice'](j+0x1)['trim']();if(!k)throw new Error('invalid\x20frontmatter\x20line\x20'+(g+0x1)+':\x20empty\x20key');if(l['startsWith']('[')||l['startsWith']('{'))try{e[k]=JSON['parse'](l);}catch(m){throw new Error('frontmatter\x20key\x20\x27'+k+'\x27\x20is\x20not\x20valid\x20JSON:\x20'+m['message']);}else/^-?\d+(\.\d+)?$/['test'](l)?e[k]=Number(l):e[k]=l;}return{'frontmatter':e,'body':c['slice'](d+0x1)['join']('\x0a')['trim']()};}function frontmatterLine(a,b){if(typeof b==='number')return a+':\x20'+b;if(typeof b==='string')return a+':\x20'+b;return a+':\x20'+JSON['stringify'](b);}export const TEMPLATE_SENTINEL_KIND='industry-template';export function canonicalTemplateContent(a){const b=[['id',a['id']],['industry',a['industry']],['variant',a['variant']],['product_ref',a['product_ref']],['archetype',a['archetype']],['phase',a['phase']],['recommended_role',a['recommended_role']],['role_rationale',a['role_rationale']],['key_risk',a['key_risk']],['machine_shape',a['machine_shape']],['guards',a['guards']],['allocator',a['allocator']],['fee_params',a['fee_params']],['trust_mechanisms',a['trust_mechanisms']],['keeper_dependencies',a['keeper_dependencies']],['differences',a['differences']],['user_inputs',a['user_inputs']],['build_notes',a['build_notes']],...a['evidence_refs']?[['evidence_refs',a['evidence_refs']]]:[],...a['conditional_guards']?[['conditional_guards',a['conditional_guards']]]:[],...a['time_anchors']?[['time_anchors',a['time_anchors']]]:[],...a['payment_model']?[['payment_model',a['payment_model']]]:[],...a['arbitration_mode']?[['arbitration_mode',a['arbitration_mode']]]:[],...a['review_mode']?[['review_mode',a['review_mode']]]:[],...a['after_sales_mode']?[['after_sales_mode',a['after_sales_mode']]]:[],...a['acceptance_mode']?[['acceptance_mode',a['acceptance_mode']]]:[],...a['installment_mode']?[['installment_mode',a['installment_mode']]]:[],...a['affiliate_mode']?[['affiliate_mode',a['affiliate_mode']]]:[],...a['crowdfunding_mode']?[['crowdfunding_mode',a['crowdfunding_mode']]]:[],...a['reward_claim_policy']?[['reward_claim_policy',a['reward_claim_policy']]]:[],...a['compensation_fund_policy']?[['compensation_fund_policy',a['compensation_fund_policy']]]:[],...a['reentry_kind']&&a['reentry_kind']!=='none'?[['reentry_kind',a['reentry_kind']]]:[]],c=['---',...b['map'](([e,f])=>frontmatterLine(e,f)),'---'],d=['','#\x20'+a['industry']+'\x20/\x20'+a['variant']+'\x20('+a['archetype']+')','','>\x20Industry\x20archetype\x20template.\x20Editable\x20and\x20migratable:\x20the\x20frontmatter\x20is','>\x20zod-validated\x20on\x20every\x20load;\x20the\x20body\x20is\x20free-form\x20guidance\x20for\x20the\x20AI.','','##\x20Key\x20risk','',a['key_risk'],'','##\x20Differences\x20vs\x20the\x20sibling\x20variant','',...a['differences']['map'](e=>'-\x20'+e),'','##\x20User\x20inputs\x20(inject\x20at\x20build\x20time)','',...a['user_inputs']['map'](e=>'-\x20'+e),'','##\x20Risk-avoidance\x20checklist\x20(R1-R10)','',...a['trust_mechanisms']['map'](e=>'-\x20'+e),'','##\x20Build\x20notes','',...a['build_notes']['map'](e=>'-\x20'+e),''];return[...c,...d]['join']('\x0a');}export function renderTemplateFile(a){const b=canonicalTemplateContent(a);return releaseSentinelLine(TEMPLATE_SENTINEL_KIND,BUILTIN_TEMPLATES_VERSION,releaseBodyHash(b))+'\x0a'+b;}export function matchBuiltinTemplateFile(a){const b=relative(resolveTemplatesDir(),a);if(!b||b['startsWith']('..'))return null;const c=b['split'](sep);if(c['length']!==0x3||c[0x1]!==TEMPLATES_SUBDIR||!c[0x2]['endsWith']('.md'))return null;const d=c[0x2]['slice'](0x0,-'.md'['length']);return BUILTIN_TEMPLATES['find'](e=>e['industry']===c[0x0]&&e['variant']===d)??null;}let seeded=![];function migrateLegacyTemplates(a){const b=resolveLegacyTemplatesDir();if(b===a)return;if(!existsSync(b))return;try{for(const c of readdirSync(b,{'withFileTypes':!![]})){if(!c['isDirectory']())continue;const d=join(b,c['name']),e=join(a,c['name'],TEMPLATES_SUBDIR);for(const g of readdirSync(d,{'withFileTypes':!![]})){if(!g['isFile']()||!g['name']['endsWith']('.md'))continue;const h=join(e,g['name']);if(existsSync(h))continue;mkdirSync(e,{'recursive':!![]}),renameSync(join(d,g['name']),h);}try{rmdirSync(d);}catch{}}try{rmdirSync(b);}catch{}}catch{}}export function seedBuiltinTemplates(){const a=[],b=resolveTemplatesDir();migrateLegacyTemplates(b);for(const c of BUILTIN_TEMPLATES){const d=join(b,c['industry'],TEMPLATES_SUBDIR),e=join(d,c['variant']+'.md'),f=canonicalTemplateContent(c),g={'template':c['id'],'status':'written','path':e};try{if(!existsSync(e))mkdirSync(d,{'recursive':!![]}),writeFileSync(e,renderTemplateFile(c),'utf-8');else{const h=readFileSync(e,'utf-8'),{sentinel:i,content:j}=stripReleaseSentinel(h,TEMPLATE_SENTINEL_KIND);!i?j===f?(writeFileSync(e,renderTemplateFile(c),'utf-8'),g['status']='restamped',g['detail']='body\x20matches\x20canonical\x20but\x20no\x20sentinel\x20present;\x20sentinel\x20header\x20added,\x20body\x20untouched'):(g['status']='skipped_user_file',g['detail']='template\x20file\x20exists\x20without\x20builtin\x20sentinel\x20and\x20body\x20differs\x20from\x20canonical;\x20leaving\x20user\x20file\x20untouched'):j===f?i['version']!==BUILTIN_TEMPLATES_VERSION||releaseBodyHash(j)!==i['hash']?(writeFileSync(e,renderTemplateFile(c),'utf-8'),g['status']='restamped',g['detail']='body\x20matches\x20canonical\x20but\x20sentinel\x20stale/wrong;\x20header\x20refreshed,\x20body\x20untouched'):g['status']='current':(g['status']='skipped_modified',g['detail']='body\x20differs\x20from\x20canonical;\x20not\x20overwritten\x20by\x20seeding\x20—\x20use\x20repair_builtin_templates\x20(preview→confirm)\x20to\x20reseed');}}catch(k){g['status']='error',g['detail']=k['message'];}a['push'](g);}return a;}export function summarizeTemplateDiff(a,b){let c,d;try{c=parseTemplateFile(a);}catch(g){return'on-disk\x20file\x20is\x20not\x20parseable\x20('+g['message']+');\x20full\x20content\x20will\x20be\x20replaced';}try{d=parseTemplateFile(b);}catch{return'canonical\x20render\x20is\x20not\x20parseable\x20(code\x20defect);\x20full\x20content\x20will\x20be\x20replaced';}const e=[],f=new Set([...Object['keys'](c['frontmatter']),...Object['keys'](d['frontmatter'])]);for(const h of[...f]['sort']()){const i=h in c['frontmatter'],j=h in d['frontmatter'];if(i&&!j)e['push']('-'+h);else{if(!i&&j)e['push']('+'+h);else{if(JSON['stringify'](c['frontmatter'][h])!==JSON['stringify'](d['frontmatter'][h]))e['push']('~'+h);}}}return c['body']!==d['body']&&e['push']('~body\x20('+c['body']['split']('\x0a')['length']+'\x20->\x20'+d['body']['split']('\x0a')['length']+'\x20lines)'),e['length']>0x0?e['join'](',\x20'):'whitespace/ordering\x20only';}export function repairBuiltinTemplates(a){const b=[],c=resolveTemplatesDir(),d=a?.['backup']!==![],e=a?.['dryRun']===!![],f=new Set(a?.['includeUserEdited']??[]);for(const g of BUILTIN_TEMPLATES){const h=join(c,g['industry'],TEMPLATES_SUBDIR),i=join(h,g['variant']+'.md');if(!existsSync(i))continue;const j=canonicalTemplateContent(g);let k=null,l='';const m={'template':g['id'],'status':'would_update','path':i};try{const p=stripReleaseSentinel(readFileSync(i,'utf-8'),TEMPLATE_SENTINEL_KIND);k=p['sentinel'],l=p['content'];}catch(q){m['status']='error',m['detail']=q['message'],b['push'](m);continue;}if(l===j)continue;let n;if(k){if(k['version']>BUILTIN_TEMPLATES_VERSION){m['status']='error',m['detail']='newer\x20release\x20on\x20disk\x20(sentinel\x20v'+k['version']+'\x20>\x20running\x20catalog\x20v'+BUILTIN_TEMPLATES_VERSION+')\x20—\x20'+'repair\x20would\x20DOWNGRADE\x20and\x20lose\x20the\x20newer\x20release\x27s\x20content;\x20refused.\x20Upgrade\x20the\x20MCP\x20server\x20instead',b['push'](m);continue;}if(releaseBodyHash(l)!==k['hash']){if(!f['has'](g['id']))continue;n='sentinel-body\x20hash\x20mismatch\x20(sentinel\x20v'+k['version']+'\x20no\x20longer\x20binds\x20the\x20body)\x20'+'reseeded\x20under\x20EXPLICIT\x20include_user_edited\x20authorization';}else n='untouched\x20older\x20release\x20(sentinel\x20v'+k['version']+',\x20current\x20v'+BUILTIN_TEMPLATES_VERSION+')';}else{let r;try{r=String(parseTemplateFile(l)['frontmatter']['id']??'');}catch{continue;}if(r!==g['id'])continue;n='legacy\x20sentinel-less\x20builtin\x20file';}const o=summarizeTemplateDiff(l,j);if(e){m['status']='would_update',m['detail']=n+'\x20would\x20be\x20reseeded\x20from\x20BUILTIN_TEMPLATES\x20('+g['id']+')\x20—\x20diff\x20vs\x20canonical:\x20'+o+(d?';\x20previous\x20body\x20would\x20be\x20saved\x20as\x20<file>.bak':'')+'\x20—\x20execute\x20with\x20authorize=true\x20after\x20the\x20user\x20explicitly\x20confirms',b['push'](m);continue;}try{if(d)copyFileSync(i,i+'.bak');writeFileSync(i,renderTemplateFile(g),'utf-8'),cache['delete'](i),m['status']='updated',m['detail']=n+'\x20reseeded\x20from\x20BUILTIN_TEMPLATES\x20('+g['id']+')\x20—\x20diff\x20was:\x20'+o+(d?';\x20previous\x20body\x20saved\x20as\x20<file>.bak':'');}catch(s){m['status']='error',m['detail']=s['message'];}b['push'](m);}return b;}export function builtinTemplateDrift(a){const b=new Set(a?.['includeUserEdited']??[]),c=[],d=resolveTemplatesDir();for(const e of BUILTIN_TEMPLATES){const f=join(d,e['industry'],TEMPLATES_SUBDIR,e['variant']+'.md');if(!existsSync(f)){c['push']({'template':e['id'],'path':f,'state':'missing','repairable':!![],'detail':'no\x20file\x20on\x20disk;\x20seeding\x20will\x20create\x20it'});continue;}const g=canonicalTemplateContent(e);let h=null,i='';try{const k=stripReleaseSentinel(readFileSync(f,'utf-8'),TEMPLATE_SENTINEL_KIND);h=k['sentinel'],i=k['content'];}catch(l){c['push']({'template':e['id'],'path':f,'state':'modified','repairable':![],'detail':'unreadable:\x20'+l['message']});continue;}if(i===g)continue;const j=summarizeTemplateDiff(i,g);if(!h){let m;try{m=String(parseTemplateFile(i)['frontmatter']['id']??'');}catch{m=undefined;}m===e['id']?c['push']({'template':e['id'],'path':f,'state':'modified','repairable':!![],'detail':'legacy\x20sentinel-less\x20builtin\x20file\x20—\x20seeding\x20never\x20rewrites\x20it\x20and\x20no\x20sentinel\x20proves\x20provenance;\x20repair\x20can\x20reseed\x20—\x20diff\x20vs\x20canonical:\x20'+j}):c['push']({'template':e['id'],'path':f,'state':'modified','repairable':![],'detail':'no\x20release\x20sentinel\x20and\x20id\x20\x27'+(m??'<unparseable>')+'\x27\x20does\x20not\x20match\x20the\x20builtin\x20id\x20—\x20a\x20user\x20file\x20occupies\x20this\x20path;\x20never\x20touched\x20(rename\x20it\x20to\x20free\x20the\x20slot)'});continue;}if(releaseBodyHash(i)===h['hash'])h['version']>BUILTIN_TEMPLATES_VERSION?c['push']({'template':e['id'],'path':f,'state':'modified','repairable':![],'detail':'newer\x20release\x20(sentinel\x20v'+h['version']+'\x20>\x20running\x20catalog\x20v'+BUILTIN_TEMPLATES_VERSION+')\x20—\x20'+'repair\x20would\x20DOWNGRADE\x20and\x20lose\x20the\x20newer\x20release\x27s\x20content;\x20repairable:\x20false.\x20'+'Upgrade\x20the\x20MCP\x20server\x20to\x20match\x20—\x20diff\x20vs\x20canonical:\x20'+j}):c['push']({'template':e['id'],'path':f,'state':'modified','repairable':!![],'detail':'untouched\x20older\x20release\x20(sentinel\x20v'+h['version']+',\x20current\x20v'+BUILTIN_TEMPLATES_VERSION+')\x20—\x20repair\x20can\x20upgrade\x20—\x20diff\x20vs\x20canonical:\x20'+j});else{const n=b['has'](e['id']);c['push']({'template':e['id'],'path':f,'state':'modified','repairable':n,'detail':n?'sentinel-body\x20hash\x20mismatch\x20(sentinel\x20v'+h['version']+'\x20no\x20longer\x20binds\x20the\x20body)\x20—\x20reseedable\x20under\x20the\x20explicit\x20include_user_edited\x20authorization\x20for\x20this\x20id\x20—\x20diff\x20vs\x20canonical:\x20'+j:'user-edited\x20body\x20—\x20kept\x20by\x20design;\x20repair\x20never\x20overwrites\x20user\x20edits\x20—\x20diff\x20vs\x20canonical:\x20'+j});}}return c;}const cache=new Map();export function reloadTemplates(){cache['clear'](),seeded=![];}export function loadAndValidate(a){const b=readFileSync(a,'utf-8');let c;try{c=parseTemplateFile(b);}catch(f){throw new Error('template\x20\x27'+a+'\x27\x20failed\x20to\x20parse:\x20'+f['message']);}const d=TemplateFrontmatterSchema['safeParse'](c['frontmatter']);if(!d['success']){const g=d['error']['issues']['map'](h=>(h['path']['join']('.')||'<root>')+':\x20'+h['message'])['join'](';\x20');throw new Error('template\x20\x27'+a+'\x27\x20failed\x20validation:\x20'+g);}const e=validateAllocatorRows(d['data']);if(e['length']>0x0)throw new Error('template\x20\x27'+a+'\x27\x20failed\x20allocator-row\x20validation:\x20'+e['join'](';\x20'));return{...d['data'],'body':c['body'],'source_path':a};}function templateFilesOnDisk(a){const b=[];if(!existsSync(a))return b;for(const c of readdirSync(a,{'withFileTypes':!![]})){if(!c['isDirectory']())continue;const d=join(a,c['name'],TEMPLATES_SUBDIR);if(!existsSync(d))continue;for(const e of readdirSync(d,{'withFileTypes':!![]})){if(e['isFile']()&&e['name']['endsWith']('.md'))b['push'](join(d,e['name']));}}return b['sort']();}export function listTemplates(){!seeded&&(seedBuiltinTemplates(),seeded=!![]);const a=resolveTemplatesDir(),b=[],c=[],d=new Set();for(const e of templateFilesOnDisk(a)){d['add'](e);try{const f=statSync(e)['mtimeMs'],g=cache['get'](e);if(g&&g['mtimeMs']===f){b['push'](g['template']);continue;}const h=loadAndValidate(e);cache['set'](e,{'mtimeMs':f,'template':h}),b['push'](h);}catch(i){cache['delete'](e),c['push'](i['message']);}}for(const j of[...cache['keys']()]){if(!d['has'](j))cache['delete'](j);}return b['sort']((k,l)=>k['id']['localeCompare'](l['id'])),{'templates':b,'errors':c};}export function getTemplate(a){return listTemplates()['templates']['find'](b=>b['id']===a);}export function getTemplatesByIndustry(a){return listTemplates()['templates']['filter'](b=>b['industry']===a);}
|