@wowok/agent-mcp 3.1.7 → 3.2.1
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/config/exposure.d.ts +2 -2
- package/dist/config/judgment.d.ts +5 -5
- package/dist/config/rule-engine.d.ts +5 -5
- package/dist/customer/user-preferences.d.ts +2 -2
- package/dist/evaluation/arbitration-game.js +1 -1
- package/dist/evaluation/capability.d.ts +1 -1
- package/dist/evaluation/extract.js +1 -1
- package/dist/evaluation/match-operation.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/extensions/registry.js +1 -1
- package/dist/extensions/types.d.ts +1 -0
- package/dist/graph/onchain/analyze.js +1 -1
- package/dist/graph/onchain/analyze.spec.js +1 -1
- package/dist/graph/onchain/edge-schema.js +1 -1
- package/dist/graph/onchain/extract.js +1 -1
- package/dist/graph/onchain/facts.js +1 -1
- package/dist/graph/onchain/field-manifest.js +1 -1
- package/dist/graph/onchain/project-relationship.js +1 -1
- package/dist/graph/onchain/sdk-batch.d.ts +1 -0
- package/dist/graph/onchain/sdk-batch.js +1 -1
- package/dist/graph/onchain/sdk-dataplane.d.ts +1 -0
- package/dist/graph/onchain/sdk-dataplane.js +1 -1
- package/dist/graph/onchain/types.d.ts +1 -1
- package/dist/harness/recover.js +1 -1
- package/dist/keeper/KeeperScan.d.ts +2 -1
- package/dist/keeper/KeeperScan.js +1 -1
- package/dist/keeper/detectors.d.ts +9 -0
- package/dist/keeper/detectors.js +1 -1
- package/dist/keeper/keeper.spec.js +1 -1
- package/dist/keeper/types.d.ts +1 -1
- package/dist/keeper/types.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 +2 -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/allocation-templates.d.ts +1 -1
- package/dist/knowledge/allocation-templates.js +1 -1
- package/dist/knowledge/arb-risk.d.ts +3 -1
- package/dist/knowledge/arb-risk.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/arbitration-risk.js +1 -1
- package/dist/knowledge/arbitration-templates.d.ts +1 -0
- package/dist/knowledge/arbitration-templates.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +13 -2
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/allocation.json +50 -1
- package/dist/knowledge/baselines/rules/arb.json +20 -1
- package/dist/knowledge/baselines/rules/arbitration.json +27 -0
- package/dist/knowledge/baselines/rules/guard.json +75 -2
- package/dist/knowledge/baselines/rules/machine.json +38 -13
- package/dist/knowledge/baselines/rules/order.json +2 -2
- package/dist/knowledge/builtin-templates.d.ts +3 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/discount-threshold.d.ts +15 -0
- package/dist/knowledge/discount-threshold.js +1 -0
- package/dist/knowledge/event-semantics.js +1 -1
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-anchor-reach.d.ts +19 -0
- package/dist/knowledge/guard-anchor-reach.js +1 -0
- package/dist/knowledge/guard-bindings.js +1 -1
- package/dist/knowledge/guard-design-patterns.d.ts +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-ledger.js +1 -1
- package/dist/knowledge/guard-lint.js +1 -1
- package/dist/knowledge/guard-render.d.ts +6 -0
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-submission-prompt.d.ts +6 -0
- 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/guard-translation.js +1 -1
- package/dist/knowledge/index.d.ts +6 -6
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-generalizer.d.ts +38 -1
- package/dist/knowledge/industry-generalizer.js +1 -1
- package/dist/knowledge/industry-registry.d.ts +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/industry-strategy.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/machine-ledger.js +1 -1
- package/dist/knowledge/machine-risk.js +1 -1
- package/dist/knowledge/machine-templates.js +1 -1
- package/dist/knowledge/onchain-constants.d.ts +2 -2
- package/dist/knowledge/onchain-constants.js +1 -1
- package/dist/knowledge/order-ledger.js +1 -1
- package/dist/knowledge/order-templates.js +1 -1
- package/dist/knowledge/permission-ledger.js +1 -1
- package/dist/knowledge/release-sentinel.d.ts +12 -0
- package/dist/knowledge/release-sentinel.js +1 -0
- package/dist/knowledge/repository-write-semantics.d.ts +27 -0
- package/dist/knowledge/repository-write-semantics.js +1 -0
- package/dist/knowledge/rule-node-analyzers.d.ts +6 -0
- package/dist/knowledge/rule-node-analyzers.js +1 -1
- package/dist/knowledge/safety-rules.d.ts +5 -1
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +20 -1
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/service-allocation-semantics.d.ts +36 -0
- package/dist/knowledge/service-allocation-semantics.js +1 -0
- package/dist/knowledge/strategy-manuals.d.ts +4 -6
- package/dist/knowledge/strategy-manuals.js +1 -1
- package/dist/knowledge/template-loader.d.ts +48 -12
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +26 -0
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/allocation-advice.d.ts +38 -0
- package/dist/participation/allocation-advice.js +1 -0
- package/dist/participation/arbitrator-interest.js +1 -1
- package/dist/participation/customer-interest.js +1 -1
- package/dist/participation/merchant-interest.js +1 -1
- package/dist/participation/radar-core.d.ts +2 -0
- package/dist/persona/types.d.ts +3 -2
- package/dist/persona/types.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/intent-analyzer.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +70 -63
- 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/mode-actions.d.ts +17 -1
- package/dist/playbooks/service-build/mode-actions.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/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.js +1 -0
- package/dist/playbooks/service-build/reverse-mapping.js +1 -1
- package/dist/playbooks/service-build/semantic-graph.d.ts +1 -0
- package/dist/playbooks/service-build/semantic-graph.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.d.ts +2 -0
- package/dist/playbooks/service-build/service-quote.js +1 -0
- package/dist/relationship/derivation.d.ts +1 -1
- package/dist/review/index.js +1 -1
- package/dist/role/profiles.js +1 -1
- package/dist/role/types.d.ts +2 -0
- package/dist/role/types.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +30 -8
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +10 -7
- package/dist/schema/call/arbitration.d.ts +1 -1
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +5 -5
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +5 -9
- package/dist/schema/call/bridge.js +1 -1
- package/dist/schema/call/contact.d.ts +1 -1
- package/dist/schema/call/demand.d.ts +1 -1
- package/dist/schema/call/guard.d.ts +15 -15
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +58 -2
- package/dist/schema/call/machine.js +1 -1
- package/dist/schema/call/order.d.ts +1 -1
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/payment.d.ts +1 -1
- package/dist/schema/call/payment.js +1 -1
- package/dist/schema/call/permission.d.ts +1 -1
- package/dist/schema/call/personal.d.ts +1 -1
- package/dist/schema/call/progress.d.ts +1 -1
- package/dist/schema/call/proof.d.ts +2 -2
- package/dist/schema/call/repository.d.ts +1 -1
- package/dist/schema/call/reward.d.ts +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +87 -25
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/call/treasury.d.ts +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/common/tokentype-short-probe.spec.js +1 -0
- package/dist/schema/evaluation/index.d.ts +14 -82
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/goal/index.d.ts +8 -41
- package/dist/schema/goal/planning.d.ts +22 -57
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +15 -0
- package/dist/schema/industry-pack/modes.d.ts +15 -0
- package/dist/schema/industry-pack/modes.js +1 -1
- package/dist/schema/intent-radar/index.d.ts +5 -20
- package/dist/schema/intent-radar/index.js +1 -1
- package/dist/schema/interaction/index.d.ts +1 -1
- package/dist/schema/keeper/index.d.ts +3 -0
- package/dist/schema/keeper/index.js +1 -1
- package/dist/schema/local/index.d.ts +577 -18
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +140 -20
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +97 -35
- package/dist/schema/operations.js +1 -1
- package/dist/schema/persona/index.d.ts +811 -916
- package/dist/schema/persona/index.js +1 -1
- package/dist/schema/query/bi.d.ts +161 -8
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +49 -30
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +2 -2
- package/dist/schema/workflow/index.d.ts +2 -2
- package/dist/schema-query-impl/index.d.ts +1 -0
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +8 -4
- package/dist/schemas/account_operation.schema.json +1 -1
- package/dist/schemas/benchmark_migration_operation.output.json +116 -2
- package/dist/schemas/benchmark_migration_operation.schema.json +2 -10
- package/dist/schemas/bridge_operation.output.json +2 -2
- package/dist/schemas/bridge_operation.schema.json +2 -10
- package/dist/schemas/evaluation_operation.output.json +2 -0
- package/dist/schemas/evaluation_operation.schema.json +9 -70
- package/dist/schemas/goal_operation.schema.json +6 -39
- package/dist/schemas/index.json +7 -1
- package/dist/schemas/industry_pack_operation.output.json +87 -4
- package/dist/schemas/intent_radar.output.json +6 -20
- package/dist/schemas/intent_radar.schema.json +1 -0
- package/dist/schemas/keeper_operation.output.json +2 -2
- package/dist/schemas/keeper_operation.schema.json +9 -4
- package/dist/schemas/local_cache_operation.output.json +1536 -0
- package/dist/schemas/local_cache_operation.schema.json +101 -0
- package/dist/schemas/local_history_operation.output.json +2 -2
- package/dist/schemas/local_info_operation.output.json +2 -2
- package/dist/schemas/local_mark_operation.output.json +53 -38
- package/dist/schemas/local_mark_operation.schema.json +1 -0
- package/dist/schemas/messenger_operation.output.json +2 -2
- package/dist/schemas/messenger_operation.schema.json +358 -35
- package/dist/schemas/monitor_events.output.json +2 -2
- package/dist/schemas/monitor_subscription.output.json +2 -2
- package/dist/schemas/onchain_events.output.json +2 -2
- package/dist/schemas/onchain_operations.output.json +6 -6
- package/dist/schemas/onchain_operations.schema.json +237 -64
- package/dist/schemas/onchain_operations_allocation.schema.json +12 -11
- package/dist/schemas/onchain_operations_arbitration.schema.json +16 -16
- package/dist/schemas/onchain_operations_machine.schema.json +27 -5
- package/dist/schemas/onchain_operations_order.schema.json +1 -1
- package/dist/schemas/onchain_operations_payment.schema.json +3 -3
- package/dist/schemas/onchain_operations_reward.schema.json +2 -2
- package/dist/schemas/onchain_operations_service.schema.json +174 -24
- package/dist/schemas/onchain_operations_treasury.schema.json +2 -2
- package/dist/schemas/onchain_table_data.output.json +68 -4
- package/dist/schemas/persona_operation.output.json +11 -88
- package/dist/schemas/persona_operation.schema.json +4 -32
- package/dist/schemas/query_toolkit.output.json +331 -26
- package/dist/schemas/query_toolkit.schema.json +66 -2
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/bridge.js +1 -1
- package/dist/tools/handlers/dispatch-expectations.spec.js +1 -1
- package/dist/tools/handlers/keeper.d.ts +1 -1
- package/dist/tools/handlers/local.d.ts +1 -0
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/messenger.d.ts +9 -2
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/name-resolution.d.ts +4 -0
- package/dist/tools/handlers/name-resolution.js +1 -0
- package/dist/tools/handlers/name-resolution.spec.js +1 -0
- package/dist/tools/handlers/onchain-name-registration.d.ts +37 -0
- package/dist/tools/handlers/onchain-name-registration.js +1 -0
- package/dist/tools/handlers/onchain-name-registration.spec.js +1 -0
- package/dist/tools/handlers/onchain.d.ts +1 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.d.ts +1 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/schema-query.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/move-fn-index.gen.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/local.js +1 -1
- package/dist/tools/sanitize-description-roundtrip.spec.js +1 -0
- package/dist/tools/sanitize-output.d.ts +1 -0
- package/dist/tools/sanitize-output.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
- package/dist/knowledge/alloc-audit-policy.spec.js +0 -1
- package/dist/knowledge/event-semantics.spec.js +0 -1
- package/dist/knowledge/facts-sync.spec.js +0 -1
- package/dist/knowledge/guard-design-patterns.spec.js +0 -1
- package/dist/knowledge/guard-eval.spec.js +0 -1
- package/dist/knowledge/rule-node-analyzers.spec.d.ts +0 -1
- package/dist/knowledge/rule-node-analyzers.spec.js +0 -1
- package/dist/knowledge/safety-rules.extract-amount.spec.d.ts +0 -1
- package/dist/knowledge/safety-rules.extract-amount.spec.js +0 -1
- package/dist/knowledge/template-loader.spec.d.ts +0 -1
- package/dist/knowledge/template-loader.spec.js +0 -1
- package/dist/knowledge/template-scanner.spec.d.ts +0 -1
- package/dist/knowledge/template-scanner.spec.js +0 -1
- /package/dist/{knowledge/alloc-audit-policy.spec.d.ts → playbooks/service-build/reverse-mapping-refund-p0-5.spec.d.ts} +0 -0
- /package/dist/{knowledge/event-semantics.spec.d.ts → schema/common/tokentype-short-probe.spec.d.ts} +0 -0
- /package/dist/{knowledge/facts-sync.spec.d.ts → tools/handlers/name-resolution.spec.d.ts} +0 -0
- /package/dist/{knowledge/guard-design-patterns.spec.d.ts → tools/handlers/onchain-name-registration.spec.d.ts} +0 -0
- /package/dist/{knowledge/guard-eval.spec.d.ts → tools/sanitize-description-roundtrip.spec.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ROLE_MOVE_MECHANISMS}from'../role/profiles.js';import{SUPPORTED_INDUSTRIES}from'../persona/types.js';const LEVER_WHITELIST=new Set(ROLE_MOVE_MECHANISMS);export const INDUSTRY_STRATEGIES=[{'industry':'education','benchmark':'MOOC\x20/\x20live-class\x20incumbents','priority_tier':0x1,'launch_window':'M1–M3','pricing':{'default_model_id':'per_lesson_escrow','models':[{'id':'per_lesson_escrow','name':'Per-lesson\x20escrow\x20release','applicable_when':'Attendance-based\x20tutoring/courses\x20delivered\x20in\x20N\x20lessons\x20(the\x20core\x20education\x20fit).','upside':'Prepaid\x20tuition\x20never\x20lands\x20with\x20the\x20institution;\x20each\x20lesson\x20fee\x20releases\x20on\x20the\x20parent\x27s\x20attendance\x20signature\x20in\x20seconds;\x20withdrawal\x20refunds\x20unearned\x20lessons\x20in\x20one\x20transaction.','risks':'Requires\x20an\x20attendance-confirmable\x20scenario;\x20purely\x20recorded/self-paced\x20courses\x20are\x20a\x20mismatch\x20(route\x20to\x20subscription).','wowok_levers':['Allocator','Guard','Machine','Order'],'recommended':!![]},{'id':'package_prepaid_raterelease','name':'Package\x20price\x20with\x20rate-based\x20release','applicable_when':'30-lesson\x20packages\x20/\x20term\x20packages\x20where\x20the\x20family\x20pays\x20once\x20up\x20front.','upside':'High\x20AOV\x20(~¥3,000\x20anchor)\x20while\x20funds\x20release\x201/N\x20per\x20completed\x20lesson\x20—\x20the\x20\x27unearned\x20tuition\x20can\x20never\x20be\x20embezzled\x27\x20guarantee\x20is\x20verifiable\x20on-chain.','risks':'Must\x20declare\x20refund\x20policy\x20up\x20front;\x20setting_lock_duration\x20should\x20lock\x20the\x20fee\x20schedule\x20(default\x2030\x20days).','wowok_levers':['Allocator','Guard','CompensationFund','Arbitration']},{'id':'trial_then_enroll','name':'Trial-class\x20conversion\x20price','applicable_when':'Cold-start\x20acquisition\x20of\x20parents\x20via\x20a\x20single\x20low-commitment\x20trial\x20lesson.','upside':'Trial\x20class\x20in\x20escrow,\x20remainder\x20only\x20after\x20the\x20parent\x20signs\x20enrollment;\x20pairs\x20with\x20referral\x20reward.','risks':'Trial\x20discount\x20must\x20stay\x20above\x20hard\x20delivery\x20cost;\x20not\x20a\x20perpetual\x20loss\x20leader.','wowok_levers':['Reward','Allocator','Guard']}]},'postures':{'volume':{'posture':'volume','thesis':'Maximize\x20enrolled\x20families\x20via\x20group-buy\x20/\x20early-bird\x20and\x20KOC\x20parent\x20communities;\x20trust\x20transparency\x20is\x20the\x20conversion\x20weapon.','tradeoffs':'Lower\x20per-seat\x20margin;\x20heavier\x20campaign/operations\x20load\x20in\x20M1–M2.','guardrails':['Never\x20discount\x20below\x20per-lesson\x20delivery\x20cost','Keep\x20arbitration\x20bound\x20and\x20compensation\x20fund\x20covered\x20at\x20every\x20promo\x20tier','Per-lesson\x20escrow\x20release\x20is\x20mandatory\x20even\x20on\x20discounted\x20packages']},'balanced':{'posture':'balanced','thesis':'Mix\x20institutional\x20direct\x20sales\x20(high-AOV\x20compliance\x20positioning)\x20with\x20parent-community\x20KOC\x20growth.','tradeoffs':'Slower\x20than\x20pure\x20volume,\x20lower\x20margin\x20ceiling\x20than\x20premium\x20small-class.','guardrails':['Per-lesson\x20escrow\x20release\x20mandatory','Refund\x20policy\x20declared\x20before\x20payment','Recorded-only\x20products\x20routed\x20to\x20subscription,\x20not\x20sold\x20as\x20attendance\x20courses']},'margin':{'posture':'margin','thesis':'Sell\x20compliance\x20itself\x20to\x20mid-size\x20institutions:\x20on-chain\x20custody\x20as\x20a\x20competitive\x20moat,\x20premium\x20positioning\x20to\x20burned-by-failure\x20parents.','tradeoffs':'Long\x20BD\x20cycles\x20(¥1,500–3,000\x20cost\x20per\x20signed\x20institution),\x20few\x20but\x20large\x20accounts.','guardrails':['Do\x20not\x20soften\x20escrow/fund\x20requirements\x20to\x20win\x20a\x20large\x20account','\x27Protocol\x20custody\x27\x20claims\x20need\x20the\x20locked\x20fee\x20schedule\x20to\x20back\x20them']}},'competitor_watch':{'dimensions':['headline\x20price\x20vs\x20escrow\x20structure','arbitration\x20availability','compensation\x20fund\x20coverage','per-lesson\x20release\x20granularity','refund-window\x20terms'],'cadence':'weekly','cadence_days':0x7,'differentiation':['Compete\x20on\x20verifiable\x20fund\x20safety\x20(parents\x20can\x20read\x20the\x20Allocation\x20themselves),\x20never\x20on\x20headline\x20discount','Lead\x20with\x20\x27teacher\x20settlement\x20in\x20seconds\x27\x20to\x20attract\x20teachers\x20as\x20well\x20as\x20parents']},'acquisition':{'channels':[{'channel':'Parent-rights\x20/\x20local\x20parent\x20KOC\x20communities','priority':0x1,'rationale':'The\x20angry\x20stock\x20from\x20tuition-failure\x20cases\x20concentrates\x20here;\x20trust\x20products\x20sell\x20through\x20trusted\x20channels\x20(¥30–80\x20per\x20paying\x20parent).'},{'channel':'Institutional\x20direct\x20BD\x20(1:1)','priority':0x2,'rationale':'Supply\x20side\x20decides\x20the\x20two-sided\x20cold\x20start;\x20one\x20institution\x20brings\x20its\x20whole\x20parent\x20base.'},{'channel':'Industry\x20media\x20/\x20policy\x20white-papers','priority':0x3,'rationale':'Zero-ad\x20spend\x20endorsement\x20during\x20the\x20next\x20regulatory\x20news\x20cycle.'},{'channel':'Paid\x20ads','priority':0x4,'rationale':'Conflicts\x20with\x20the\x20trust\x20narrative;\x20do\x20not\x20use\x20within\x20the\x20first\x2090\x20days.'}],'campaign_paradigm':'Two\x2090-day\x20campaigns:\x20(A)\x20\x27tuition\x20transparency\x20experiment\x27\x20—\x20two\x20parallel\x20classes,\x20traditional\x20vs\x20escrow,\x20open\x20on-chain\x20comparison,\x20parent\x20open-day\x20live\x20withdrawal\x20refund\x20demo;\x20(B)\x20\x27regulatory\x20answer\x27\x20white-paper\x20on\x20protocol\x20custody,\x20no\x20ads.','reward_orientation':'Milestone\x20(course\x20completion)\x20reward\x20+\x20referral\x20cashback;\x20trial-class\x20discount\x20as\x20the\x20cold-start\x20hook.','discount_orientation':'Early-bird\x20and\x20group-buy\x20only\x20during\x20campaign\x20windows;\x20student-aid\x20discount\x20as\x20targeted,\x20not\x20blanket,\x20price\x20cuts.'},'conversion_retention':['Show\x20the\x20escrow\x20contract\x20balance\x20and\x20per-lesson\x20release\x20records\x20before\x20payment\x20(on-chain\x20verification\x20page).','Convert\x20trial\x20families\x20with\x20the\x20live\x20\x27unearned\x20funds\x20are\x20still\x20yours\x27\x20demonstration.','Renew\x20via\x20per-lesson\x20release\x20history\x20+\x20attendance\x20record;\x20sibling/referral\x20reward\x20beats\x20discounting.'],'unit_economics':{'formula':'extra\x20per\x20order\x20=\x20legacy\x20platform\x20fee\x20rate\x20×\x20AOV\x20−\x20(WoW\x20gas\x20+\x20keeper\x20amortization\x20+\x20one-time\x20migration\x20cost)','anchors':[{'metric':'AOV\x20anchor\x20(30-lesson\x20package)','value':'¥3,000'},{'metric':'Legacy\x20combined\x20fee','value':'Incumbent\x20live-class\x20platform\x2030%\x20≈\x20¥900/order'},{'metric':'WoW\x20per-order\x20cost\x20(N+2\x20txns)','value':'gas\x20≈\x20$0.05–2.5'},{'metric':'Extra\x20earnings\x20per\x20order','value':'≈\x20¥890'}],'target_margin_pct_min':0x19,'cost_floor':'Never\x20price\x20a\x20package\x20below\x20total\x20teacher-cost-per-lesson\x20×\x20lessons;\x20compensation\x20fund\x20must\x20stay\x20covered.','breakeven_note':'Migration/setup\x20cost\x20amortizes\x20over\x20the\x20first\x20package;\x20gas\x20is\x20negligible\x20vs\x20¥900\x20saved.'},'success_patterns':[{'pattern':'Run\x20the\x20parallel-class\x20transparency\x20experiment\x20with\x20one\x20anchor\x20institution\x20and\x20open\x20all\x20escrow\x20data.','evidence':'KPI:\x201\x20anchor,\x20≥30\x20escrow\x20orders,\x20verifiable\x20case\x20piece,\x20parent\x20NPS\x20≥60.'},{'pattern':'Sign\x20institutions\x20through\x20direct\x20BD\x20and\x20let\x20each\x20bring\x20its\x20parent\x20base.','evidence':'90-day\x20gate:\x20≥10\x20institutions\x20beyond\x20the\x20seed;\x20BD\x20cost\x20¥1,500–3,000\x20each.'},{'pattern':'Ship\x20the\x20≤10-dialogue\x20templated\x20onboarding\x20(attendance\x20guard\x20+\x20rate\x20release\x20+\x20lock\x20duration).','evidence':'K1/04\x20validated\x20education\x20shop\x20build\x20in\x2011\x20dialogues.'},{'pattern':'Hold\x20the\x2090-day\x20quality\x20gate\x20before\x20scaling\x20spend.','evidence':'Gate:\x20≥20\x20published\x20Services\x20across\x20tier-1\x20industries,\x20>25%\x20first-to-repeat\x20rate,\x20100%\x20on-chain\x20dispute\x20closure.'}],'red_lines':['Route\x20recorded/self-paced\x20courses\x20to\x20subscription\x20—\x20never\x20sell\x20them\x20as\x20attendance\x20escrow.','Never\x20imply\x20the\x20structure\x20prevents\x20bad\x20teaching;\x20it\x20prevents\x20fund\x20embezzlement\x20(honest\x20boundary).','Marketing\x20figures\x20are\x20fiat-denominated;\x20carry\x20the\x20testnet/estimate/WOW-price\x20disclaimers.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§3','wiki/market/K1/01\x20(education\x20industry\x20analysis)']},{'industry':'rental','benchmark':'Short-stay\x20/\x20vehicle-rental\x20incumbents','priority_tier':0x1,'launch_window':'M1–M3','pricing':{'default_model_id':'rent_deposit_bundled_escrow','models':[{'id':'rent_deposit_bundled_escrow','name':'Rent\x20+\x20deposit\x20bundled\x20escrow,\x20three-path\x20settlement','applicable_when':'High-value\x20low-frequency\x20rentals\x20(camera\x20gear,\x20machinery,\x20outdoor\x20equipment)\x20and\x20P2P\x20stays\x20with\x20damage\x20disputes.','upside':'Rent\x20and\x20real\x20deposit\x20(not\x20a\x20card\x20auth)\x20are\x20escrowed;\x20three\x20mutually\x20exclusive\x20Allocator\x20paths\x20(clean\x20return\x20/\x20cancellation\x20/\x20graded\x20damage)\x20settle\x20in\x20one\x20~3-second\x20transaction.','risks':'Pre-rental\x20WIP\x20baseline\x20is\x20mandatory\x20—\x20without\x20it\x20the\x20damage\x20guard\x20cannot\x20pass\x20and\x20the\x20value\x20proposition\x20collapses.','wowok_levers':['Allocator','Guard','Machine','WIP','Arbitration'],'recommended':!![]},{'id':'graded_damage_allocator','name':'Pre-agreed\x20graded\x20damage\x20deduction','applicable_when':'Continuous\x20damage\x20amounts\x20(e.g.\x20$347.50\x20claims)\x20need\x20fairness\x20ex\x20ante.','upside':'Light\x2020%\x20/\x20heavy\x2050%\x20/\x20total\x20100%\x20brackets\x20fixed\x20before\x20rental;\x20micro-arbitration\x20only\x20for\x20bracket\x20assignment.','risks':'Brackets\x20must\x20be\x20disclosed\x20and\x20accepted\x20at\x20order\x20time.','wowok_levers':['Allocator','Guard','Arbitration']},{'id':'duration_discount','name':'Long-duration\x20discount\x20ladder','applicable_when':'Idle\x20inventory\x20with\x20low\x20marginal\x20wear\x20cost.','upside':'Monthly\x2010%\x20/\x20quarterly\x2020%\x20/\x20annual\x2030%\x20ladder\x20raises\x20utilization\x20without\x20touching\x20deposit\x20safety.','risks':'Discount\x20must\x20remain\x20above\x20maintenance+depreciation\x20cost\x20per\x20period.','wowok_levers':['Reward','Allocator']}]},'postures':{'volume':{'posture':'volume','thesis':'Win\x20utilization\x20and\x20repeat\x20rentals\x20via\x20credit-accumulation\x20rewards\x20and\x20long-duration\x20discounts;\x20lead\x20supply-side\x20signup\x20with\x20deposit\x20escrow\x20as\x20the\x20filter.','tradeoffs':'Thinner\x20per-rental\x20margin;\x20keeper\x20subsidy\x20in\x20seed\x20months.','guardrails':['Pre-rental\x20WIP\x20baseline\x20guard\x20never\x20skipped\x20even\x20for\x20promo\x20rentals','Deposit\x20must\x20be\x20really\x20funded\x20(no\x20zero-deposit\x20waivers\x20in\x20volume\x20mode)']},'balanced':{'posture':'balanced','thesis':'Seed\x20~10\x20vertical\x20merchants\x20with\x20templated\x20builds;\x20balance\x20utilization\x20promos\x20against\x20the\x20verified-case\x20marketing\x20asset.','tradeoffs':'Moderate\x20growth,\x20moderate\x20subsidy\x20($20/mo\x20keeper\x20per\x20seed\x20merchant).','guardrails':['All\x20three\x20settlement\x20paths\x20configured\x20on\x20every\x20published\x20service','Independent\x20arbitration\x20bound']},'margin':{'posture':'margin','thesis':'Premium\x20positioning\x20for\x20high-value\x20equipment:\x20renters\x20pay\x20for\x20real,\x20on-chain-verifiable\x20deposit\x20safety\x20and\x203-second\x20returns.','tradeoffs':'Smaller\x20renter\x20pool;\x20longer\x20trust-building\x20cycle.','guardrails':['Never\x20shorten\x20evidence\x20requirements\x20to\x20speed\x20up\x20a\x20premium\x20rental','Damage\x20brackets\x20stay\x20pre-agreed\x20—\x20no\x20discretionary\x20deductions']}},'competitor_watch':{'dimensions':['rent\x20price','whether\x20deposit\x20is\x20actually\x20held\x20(vs\x20card\x20auth)','pre-rental\x20evidence\x20requirement','refund\x20speed','arbitration\x20independence'],'cadence':'biweekly','cadence_days':0xe,'differentiation':['The\x20three\x20k1rent\x20Payment\x20transactions\x20are\x20the\x20marketing:\x20anyone\x20can\x20audit\x20them','Damage\x20claims\x20cannot\x20be\x20weaponized\x20via\x20reviews\x20—\x20settlement\x20is\x20independent\x20of\x20the\x20rating\x20system']},'acquisition':{'channels':[{'channel':'Vertical\x20communities\x20(photography\x20/\x20machinery\x20/\x20outdoor\x20KOC\x20groups)','priority':0x1,'rationale':'Damage-dispute\x20pain\x20is\x20concentrated\x20here\x20(¥50–120\x20per\x20renter-side\x20user).'},{'channel':'Competitors\x27\x20official\x20documents','priority':0x2,'rationale':'Cite\x20incumbent\x20policy\x20reversals\x20(e.g.\x20AI-image\x20claim\x20bans)\x20and\x20shutdowns\x20—\x20opponent\x20copy\x20is\x20the\x20best\x20copy.'},{'channel':'On-chain\x20case\x20marketing\x20(auditable\x20rental\x20page)','priority':0x3,'rationale':'\x27Audit\x20this\x20rental\x20yourself\x27\x20open\x20day.'},{'channel':'Second-hand\x20marketplace\x20dispute\x20threads','priority':0x4,'rationale':'Intercept\x20existing\x20pain\x20(\x27this\x20dispute\x20could\x20not\x20happen\x20on\x20WoW\x27).'}],'campaign_paradigm':'(A)\x20\x27Audit\x20this\x20ledger\x20yourself\x27\x20open\x20day\x20around\x20the\x20k1rent\x2010-node\x20machine\x20+\x20three\x20payments;\x20(B)\x20recruit\x2010\x20seed\x20merchants,\x20keeper\x20+\x20first-order\x20gas\x20subsidy\x20for\x203\x20months.','reward_orientation':'Credit\x20accumulation\x20across\x20rentals\x20+\x20referral\x20cashback;\x20rewards\x20tied\x20to\x20verified\x20completed\x20rentals,\x20not\x20signups.','discount_orientation':'Duration\x20ladder\x20(monthly/quarterly/annual);\x20no\x20blanket\x20price\x20cuts.'},'conversion_retention':['Make\x20pre-rental\x20WIP\x20capture\x20a\x20guided,\x20frictionless\x20step\x20—\x20it\x20is\x20the\x20trust\x20moment,\x20not\x20paperwork.','Show\x20historical\x20settlement\x20transactions\x20to\x20first-time\x20renters\x20before\x20they\x20fund.','Re-rental\x20via\x20accumulated\x20credit;\x20long-duration\x20discount\x20ladder\x20for\x20inventory\x20utilization.'],'unit_economics':{'formula':'extra\x20per\x20order\x20=\x20legacy\x20commission\x20rate\x20×\x20rental\x20value\x20−\x20(WoW\x20gas\x20+\x20keeper\x20$5–20/mo\x20amortization)','anchors':[{'metric':'AOV\x20anchor\x20(camera,\x203\x20days)','value':'$200'},{'metric':'Legacy\x20host-side\x20commission','value':'15.5%\x20≈\x20$31/order'},{'metric':'WoW\x20full-cycle\x20cost\x20(k1rent\x20empirical)','value':'≈\x200.05\x20WOW\x20≈\x20¥0.35\x20(5–7\x20txns)'},{'metric':'Deposit\x20refund\x20speed','value':'7–15\x20business\x20days\x20→\x20≈3\x20seconds'}],'target_margin_pct_min':0x1e,'cost_floor':'Rental\x20price\x20must\x20cover\x20maintenance\x20+\x20depreciation\x20+\x20bracket-expected\x20damage;\x20deposit\x20never\x20lent\x20against.','breakeven_note':'At\x20$200\x20AOV\x20the\x20saved\x20$31\x20commission\x20dwarfs\x20gas\x20and\x20keeper\x20cost\x20from\x20the\x20first\x20order.'},'success_patterns':[{'pattern':'Publish\x20the\x20three\x20immutable\x20settlement\x20Payments\x20(clean\x20/\x20cancel\x20/\x20damage)\x20as\x20an\x20interactive\x20audit\x20page.','evidence':'KPI:\x20≥5,000\x20audit-page\x20UV,\x203\x20inbound\x20merchants,\x201\x20organic\x20KOC\x20retelling.'},{'pattern':'Onboard\x2010\x20equipment-rental\x20merchants\x20from\x20the\x20vertical\x20template\x20within\x203\x20months.','evidence':'Gate:\x2010\x20published\x20Services,\x20≥100\x20cumulative\x20orders,\x20zero\x20escalated\x20disputes\x20(all\x20closed\x20via\x20guard\x20or\x20micro-arbitration).'},{'pattern':'Enforce\x20pre-rental\x20WIP\x20baseline\x20as\x20a\x20hard\x20node,\x20turning\x20the\x2020%→70%\x20claim\x20rejection\x20curve\x20upside\x20down.','evidence':'Without\x20baseline\x20evidence\x20traditional\x20platforms\x20reject\x2020%;\x20with\x20missing-date\x20evidence\x20they\x20reject\x2070%.'},{'pattern':'Make\x20keeper\x20auto-return\x20reminders\x20standard\x20onboarding,\x20priced\x20transparently\x20at\x20$5–20/mo.','evidence':'Honest-boundary\x20requirement\x20from\x20k1rent\x20rollout.'}],'red_lines':['Never\x20claim\x20\x27contract-enforced\x27\x20arbitration\x20independence\x20without\x20negative-test\x20backing\x20(P-5\x20lesson).','Damage\x20deduction\x20without\x20pre-rental\x20baseline\x20is\x20forbidden\x20(guard\x20must\x20fail).','Never\x20hide\x20the\x20keeper\x20subscription\x20cost.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§4','wiki/market/K1/01\x20(rental\x20industry\x20analysis)']},{'industry':'freelance','benchmark':'Enterprise\x20talent-marketplace\x20incumbent','priority_tier':0x2,'launch_window':'M2–M4','pricing':{'default_model_id':'milestone_escrow_accept','models':[{'id':'milestone_escrow_accept','name':'Milestone\x20escrow\x20with\x20acceptance\x20signature','applicable_when':'Project-based\x20design/translation/dev/copy\x20work\x20deliverable\x20in\x20milestones.','upside':'Funds\x20escrowed\x20at\x20signing;\x20deliver_guard_wip\x20anchors\x20each\x20delivery;\x20client\x20acceptance\x20signature\x20releases\x20in\x20seconds;\x2014-day\x20silence\x20auto-accepts\x20via\x20time\x20guard\x20+\x20keeper.','risks':'Milestones\x20must\x20be\x20objectively\x20verifiable;\x20vague\x20acceptance\x20criteria\x20invite\x20disputes.','wowok_levers':['Allocator','Guard','Machine','WIP','Progress'],'recommended':!![]},{'id':'fixed_deliverable','name':'Fixed-price\x20deliverable\x20with\x20revision\x20loops','applicable_when':'Single-deliverable\x20jobs\x20(logo,\x20translation,\x20article).','upside':'Revision\x20rounds\x20modeled\x20as\x20machine\x20loops;\x20micro-arbitration\x20available\x20at\x20ANY\x20amount.','risks':'Cap\x20revision\x20rounds\x20up\x20front\x20to\x20avoid\x20scope\x20creep.','wowok_levers':['Machine','Guard','Arbitration']},{'id':'demand_reverse_match','name':'Demand-based\x20reverse\x20bidding','applicable_when':'Client\x20posts\x20a\x20Demand\x20and\x20freelancers\x20present;\x20discovery\x20without\x20connect\x20fees.','upside':'Zero\x20bid-entry\x20cost\x20(vs\x20$48–120\x20first-order\x20Connects\x20burn)\x20and\x20~60%\x20zero-reply\x20proposals\x20avoided.','risks':'Presenter\x20quality\x20gating\x20via\x20passport/trust\x20evidence.','wowok_levers':['Demand','DemandPresenter','Passport','Guard']}]},'postures':{'volume':{'posture':'volume','thesis':'Win\x20order\x20count\x20through\x20Demand\x20participation\x20and\x20first-order\x20speed;\x20carry\x20portable\x20Passport\x20reputation\x20across\x20clients.','tradeoffs':'Smaller\x20milestones,\x20more\x20concurrent\x20clients.','guardrails':['Every\x20milestone\x20escrowed\x20before\x20work\x20starts','Never\x20start\x20work\x20on\x20an\x20unescrowed\x20\x27trusted\x20client\x27\x20promise']},'balanced':{'posture':'balanced','thesis':'Mix\x20Demand\x20bidding\x20with\x20referral\x20clients;\x20standardize\x20milestone\x20templates\x20to\x20cut\x20admin\x20time.','tradeoffs':'Moderate\x20pipeline;\x20time\x20invested\x20in\x20WIP\x20evidence\x20discipline.','guardrails':['Auto-accept\x20time\x20guard\x20configured','Arbitration\x20bound\x20even\x20on\x20small\x20jobs\x20(cost\x20is\x20trivial)']},'margin':{'posture':'margin','thesis':'Premium\x20positioning\x20via\x20public\x20on-chain\x20delivery\x20history\x20and\x20WIP\x20quality;\x20refuse\x20hourly-monitoring\x20clients.','tradeoffs':'Fewer,\x20larger\x20projects;\x20longer\x20sales\x20conversation.','guardrails':['Never\x20accept\x20work\x20that\x20requires\x20process\x20surveillance\x20(philosophy\x20mismatch)','Milestone\x20granularity\x20protects\x20margin\x20—\x20no\x20all-or-nothing\x20delivery']}},'competitor_watch':{'dimensions':['effective\x20fee\x20after\x20tiered\x20cuts','escrow\x20availability','settlement\x20speed','arbitration\x20fee\x20floor','reputation\x20portability'],'cadence':'biweekly','cadence_days':0xe,'differentiation':['Portable\x20Passport\x20credentials\x20vs\x20locked\x20JSS','Arbitration\x20at\x20sub-$700\x20values\x20—\x20the\x20exact\x20segment\x20incumbents\x20structurally\x20abandon','Outcome\x20verification\x20(WIP)\x20instead\x20of\x20screen\x20monitoring']},'acquisition':{'channels':[{'channel':'r/freelance,\x20Indie\x20Hackers,\x20nomad\x20communities','priority':0x1,'rationale':'Fee-fatigued\x20mid/long-tail\x20freelancers;\x20est.\x20$3–8\x20per\x20registered\x20freelancer.'},{'channel':'Design/translation\x20vertical\x20communities','priority':0x2,'rationale':'High\x20milestone-delivery\x20fit.'},{'channel':'Demand\x20reverse-match\x20events','priority':0x3,'rationale':'Crack\x20the\x20demand\x20side\x20with\x20real\x20bounties.'},{'channel':'KOC\x20income-transparency\x20program','priority':0x4,'rationale':'5–8\x20mid-tier\x20creators\x20publishing\x20incumbent-platform\x20vs\x20WoW\x20income\x20with\x20auditable\x20addresses\x20after\x20≥20\x20merchants\x20exist.'}],'campaign_paradigm':'\x27$699\x20Arbitration\x20Clinic\x27\x20(M2–M3,\x20only\x20after\x20≥20\x20merchants):\x20publicly\x20resolve\x20sub-$700\x20disputes\x20on-chain,\x20weekly\x20micro-arbitration\x20documentary;\x20KOC\x20transparent-income\x20program\x20with\x20on-chain\x20settlement.','reward_orientation':'Referral\x20and\x20repeat-client\x20rewards;\x20KOC\x20payouts\x20auto-split\x20via\x20Allocation\x20after\x20verified\x20first-order\x20conversion.','discount_orientation':'No\x20fee-discounting\x20narrative\x20—\x20the\x20platform\x20fee\x20is\x20already\x20~0;\x20compete\x20on\x20escrow/arbitration\x20value.'},'conversion_retention':['Convert\x20prospects\x20by\x20showing\x20WIP\x20hashes\x20of\x20similar\x20completed\x20milestones.','Propose\x203–5\x20milestone\x20splits\x20in\x20the\x20first\x20proposal\x20—\x20it\x20signals\x20professionalism\x20and\x20de-risks\x20the\x20client.','Retain\x20via\x20Passport:\x20every\x20clean\x20completion\x20is\x20a\x20portable\x20credential,\x20explicitly\x20say\x20so\x20at\x20delivery.'],'unit_economics':{'formula':'extra\x20per\x20order\x20=\x20legacy\x20fee\x20rate\x20×\x20contract\x20value\x20+\x20avoided\x20connect/arbitration\x20fees\x20−\x20WoW\x20gas','anchors':[{'metric':'AOV\x20anchor\x20(milestone\x20contract)','value':'$1,000'},{'metric':'Legacy\x20take\x20rate','value':'Incumbent\x20talent\x20marketplace\x2015.4%\x20≈\x20$154\x20(+\x20client\x203–7.99%)'},{'metric':'Bid\x20entry\x20cost','value':'Connects\x20$48–120\x20first-order;\x20~60%\x20of\x20proposals\x20get\x20no\x20reply'},{'metric':'WoW\x20cost\x20(4–8\x20txns)','value':'gas\x20≈\x20$0.01–0.6;\x20arbitration\x20≈\x20$0.01\x20vs\x20$337.50/party'},{'metric':'Settlement\x20speed','value':'up\x20to\x2027\x20days\x20→\x20seconds\x20on\x20acceptance\x20signature'}],'target_margin_pct_min':0x28,'cost_floor':'Milestone\x20price\x20must\x20cover\x20the\x20quoted\x20hours\x20at\x20the\x20freelancer\x27s\x20minimum\x20hourly\x20rate;\x20no\x20unpaid\x20spec\x20work\x20beyond\x20one\x20proposal.','breakeven_note':'One\x20$1,000\x20contract\x20saves\x20≈$153\x20—\x20adoption\x20pays\x20on\x20the\x20first\x20escrowed\x20job.'},'success_patterns':[{'pattern':'Run\x20the\x20\x27$699\x20Arbitration\x20Clinic\x27\x20with\x20≥10\x20closed\x20micro-arbitrations\x20and\x20publish\x20weekly\x20documentaries.','evidence':'KPI:\x20avg\x20read\x20≥3,000/episode;\x20arbitrator\x20pool\x20≥15.'},{'pattern':'Sign\x205–8\x20mid-tier\x20KOCs\x20with\x20income-guarantee\x20top-ups,\x20settled\x20on-chain\x20after\x20conversion.','evidence':'KPI:\x20≥30\x20registered\x20freelancers\x20per\x20KOC;\x20on-chain\x20conversion\x20≥8%.'},{'pattern':'Standardize\x20the\x2014-day\x20silence\x20auto-acceptance\x20guard\x20on\x20every\x20service.','evidence':'Eliminates\x20the\x20\x27client\x20disappears,\x20funds\x20locked\x27\x20failure\x20mode\x20without\x20weakening\x20buyer\x20protection.'},{'pattern':'Turn\x20down\x20hourly-surveillance\x20clients\x20explicitly.','evidence':'Outcome\x20verification\x20philosophy\x20is\x20the\x20differentiation\x20against\x20Work\x20Diary\x20monitoring.'}],'red_lines':['Do\x20not\x20start\x20work\x20before\x20the\x20milestone\x20is\x20escrowed.','Do\x20not\x20promote\x20reputation\x20portability\x20(Passport)\x20before\x20the\x20issuance\x20UX\x20is\x20production-ready.','Never\x20bid\x20below\x20minimum-rate\x20floor\x20to\x20win\x20volume.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§5','wiki/market/K1/01\x20(freelance\x20industry\x20analysis)']},{'industry':'travel','benchmark':'Global\x20OTA\x20/\x20package-tour\x20incumbents','priority_tier':0x3,'launch_window':'M4+','pricing':{'default_model_id':'multi_segment_release','models':[{'id':'multi_segment_release','name':'Multi-leg\x20itinerary\x20with\x20per-segment\x20release','applicable_when':'Custom/multi-segment\x20packaged\x20trips\x20by\x20small\x20studios\x20(package-tour\x20archetype\x20fit\x2010/10).','upside':'segment_D1..DN\x20machine;\x20each\x20segment\x27s\x20WIP\x20releases\x20its\x20fee;\x20interrupted\x20segments\x20refund\x20in\x20one\x20transaction;\x20fund\x20waterfall\x20fully\x20auditable.','risks':'Sub-providers\x20(hotels/drivers)\x20need\x20not\x20be\x20on-chain\x20initially\x20—\x20the\x20agent\x20is\x20the\x20single\x20on-chain\x20counterparty;\x20adoption\x20bottleneck\x20is\x20why\x20travel\x20is\x20tier\x203.','wowok_levers':['Machine','Allocator','Treasury','Guard','WIP'],'recommended':!![]},{'id':'agent_single_custody','name':'Agent\x20single-counterparty\x20custody','applicable_when':'Downstream\x20suppliers\x20are\x20not\x20on-chain\x20yet.','upside':'Agent↔client\x20escrow\x20closes\x20the\x20trust\x20loop\x20alone;\x20supplier\x20participation\x20grows\x20with\x20network\x20effects.','risks':'Agent\x20must\x20hold\x20correct\x20licensing\x20and\x20fund\x20the\x20compensation\x20coverage.','wowok_levers':['Allocator','Treasury','CompensationFund','Arbitration']},{'id':'weather_guarantee','name':'Weather/condition-guarded\x20pricing','applicable_when':'Weather-sensitive\x20segments\x20can\x20reference\x20an\x20evidence\x20repository.','upside':'Auto-refund\x20triggers\x20via\x20quoted\x20guard\x20+\x20repository\x20oracle\x20—\x20a\x20feature\x20no\x20OTA\x20offers.','risks':'Guard\x20trigger\x20source\x20must\x20be\x20specified\x20and\x20tested\x20before\x20sale.','wowok_levers':['Guard','Allocator','Repository']}]},'postures':{'volume':{'posture':'volume','thesis':'Postpone;\x20volume\x20play\x20only\x20after\x20tier-1/2\x20Passport\x20network\x20lowers\x20cold-start\x20cost.','tradeoffs':'High\x20coordination\x20cost\x20across\x20sub-providers.','guardrails':['Never\x20sell\x20standard\x20standalone\x20flights/hotels\x20(weak\x20WoW\x20value)','Undelivered\x20segments\x20always\x20refundable\x20via\x20the\x20interrupted\x20path']},'balanced':{'posture':'balanced','thesis':'Pilot\x20with\x202–3\x20custom-trip\x20studios\x20on\x20single-counterparty\x20custody;\x20prove\x20the\x20waterfall\x20story.','tradeoffs':'Few\x20pilots,\x20heavy\x20case-building\x20effort\x20($10–15K\x20pilot\x20budget).','guardrails':['Fund\x20waterfall\x20visible\x20to\x20the\x20buyer\x20before\x20payment','Cancellation\x20policy\x20per\x20leg\x20declared\x20up\x20front']},'margin':{'posture':'margin','thesis':'Premium\x20bespoke\x20itineraries\x20priced\x20on\x20trust\x20architecture\x20and\x20transparent\x20waterfall,\x20not\x20OTA\x20discounting.','tradeoffs':'Small\x20high-AOV\x20audience.','guardrails':['Refundable\x20vs\x20non-refundable\x20legs\x20separated\x20explicitly','Never\x20commingle\x20undelivered-segment\x20funds\x20with\x20operating\x20cash']}},'competitor_watch':{'dimensions':['effective\x20commission\x20after\x20Preferred/Genius','waterfall\x20transparency','cancellation\x20terms\x20per\x20leg','downstream\x20refund\x20handling\x20(e.g.\x20EU261\x20gaps)','settlement\x20speed'],'cadence':'monthly','cadence_days':0x1e,'differentiation':['The\x20$2,000\x20waterfall\x20split\x20across\x20hotel/guide/agent\x20is\x20inspectable\x20before\x20purchase','Pre-event\x20isolation\x20vs\x20Thomas-Cook-style\x20post-hoc\x20relief']},'acquisition':{'channels':[{'channel':'Custom-trip\x20studio\x20direct\x20partnerships','priority':0x1,'rationale':'Only\x20segment\x20with\x2010/10\x20fit;\x202–3\x20pilot\x20studios.'},{'channel':'Travel-industry\x20failure\x20news\x20cycles','priority':0x2,'rationale':'Collapsed\x20tour\x20operators\x20/\x20pandemic\x20refund\x20stories\x20anchor\x20pre-isolation\x20demand.'},{'channel':'Waterfall/weather\x20demo\x20content','priority':0x3,'rationale':'Interactive\x20fund-split\x20and\x20auto-refund\x20demos.'}],'campaign_paradigm':'\x27Transparent\x20waterfall\x27\x20demo\x20($2,000\x20split\x20readable\x20on-chain)\x20+\x20weather-guard\x20auto-refund\x20demo;\x20$10–15K\x20for\x202–3\x20studio\x20pilots,\x20M4–M6.','reward_orientation':'Referral\x20commission\x20for\x20repeat/referral\x20custom\x20trips;\x20flash-sale\x20rewards\x20only\x20for\x20off-peak\x20clearance.','discount_orientation':'Early-bird\x20/\x20group\x20/\x20member\x20pricing\x20within\x20seasons;\x20never\x20discount\x20by\x20hiding\x20non-refundable\x20legs.'},'conversion_retention':['Sell\x20the\x20pre-trip\x20inspection\x20of\x20the\x20entire\x20fund\x20waterfall\x20as\x20the\x20core\x20asset.','Convert\x20with\x20the\x20interrupted-segment\x20one-transaction\x20refund\x20demo.','Re-book\x20via\x20itinerary\x20history\x20and\x20per-leg\x20transparency,\x20not\x20loyalty\x20points.'],'unit_economics':{'formula':'extra\x20per\x20trip\x20=\x20effective\x20OTA\x20commission\x20×\x20trip\x20value\x20−\x20(WoW\x20gas\x20across\x202×segments+3\x20txns)','anchors':[{'metric':'AOV\x20anchor\x20(5-segment\x20custom\x20trip)','value':'$2,000'},{'metric':'Effective\x20legacy\x20commission','value':'25–36%\x20≈\x20$350–720/trip'},{'metric':'WoW\x20cost','value':'gas\x20≈\x20$0.02–1'},{'metric':'Settlement\x20speed','value':'VCC\x202–6\x20weeks\x20→\x20per-segment\x20seconds'}],'target_margin_pct_min':0x23,'cost_floor':'Never\x20collect\x20funds\x20for\x20unbooked\x20legs\x20without\x20the\x20interrupted\x20refund\x20path;\x20compensation\x20coverage\x20sized\x20for\x20max\x20single-segment\x20value.','breakeven_note':'Gas\x20is\x20noise\x20against\x20$350–700\x20saved\x20per\x20trip;\x20the\x20binding\x20constraint\x20is\x20supplier\x20adoption,\x20not\x20economics.'},'success_patterns':[{'pattern':'Pilot\x202–3\x20custom-trip\x20studios\x20with\x20agent-only\x20custody\x20first.','evidence':'Avoids\x20the\x20sub-provider\x20on-chain\x20bottleneck\x20that\x20justifies\x20tier-3\x20timing.'},{'pattern':'Ship\x20the\x20interactive\x20$2,000\x20waterfall\x20visualization\x20as\x20the\x20sales\x20asset.','evidence':'Buys\x20on\x20chain-visible\x20split\x20—\x20unique\x20vs\x20every\x20OTA.'},{'pattern':'Use\x20a\x20weather\x20repository\x20guard\x20for\x20automatic\x20segment\x20refund\x20in\x20one\x20marketed\x20demo.','evidence':'Converts\x20an\x20abstract\x20\x27escrow\x27\x20claim\x20into\x20a\x20visible\x20guarantee.'}],'red_lines':['Do\x20not\x20enter\x20standard\x20flight/hotel\x20resale\x20—\x20WoW\x20value\x20is\x20weak\x20there.','Never\x20market\x20large\x20cross-period\x20custody\x20before\x20stablecoin\x20bridging\x20is\x20ready.','Cross-leg\x20responsibility\x20must\x20be\x20disclosed,\x20not\x20blurred.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§7','wiki/market/K1/01\x20(travel\x20industry\x20analysis)']},{'industry':'retail','benchmark':'Scale\x20marketplace\x20/\x20vertical\x20handmade\x20incumbents','priority_tier':0x3,'launch_window':'M4+','pricing':{'default_model_id':'receipt_confirmed_escrow','models':[{'id':'receipt_confirmed_escrow','name':'Escrow\x20released\x20on\x20confirmed\x20receipt','applicable_when':'Private-traffic\x20sellers\x20(DTC\x20site\x20/\x20community\x20commerce)\x20who\x20already\x20own\x20demand.','upside':'Funds\x20release\x20seconds\x20after\x20receipt\x20guard;\x20return_auth_guard\x20gates\x20fraudulent\x20returns;\x20provenance\x20via\x20repository\x20chain.','risks':'Zero-traffic\x20sellers\x20are\x20a\x20deliberate\x20mismatch\x20—\x20WoW\x20does\x20not\x20replace\x20marketplace\x20demand\x20generation.','wowok_levers':['Allocator','Guard','Repository','Arbitration','CompensationFund'],'recommended':!![]},{'id':'member_bundle_pricing','name':'Member/bundle\x20pricing\x20for\x20private\x20communities','applicable_when':'Community-commerce\x20sellers\x20with\x20repeat\x20purchase\x20cadence.','upside':'Spend-threshold\x20and\x20member\x20pricing\x20via\x20rewards\x20instead\x20of\x20platform\x20TACoS.','risks':'Bundles\x20must\x20still\x20be\x20escrowed\x20per\x20deliverable;\x20no\x20pre-shipment\x20release.','wowok_levers':['Reward','Allocator']}]},'postures':{'volume':{'posture':'volume','thesis':'Turn\x20existing\x20private-traffic\x20flow\x20into\x20escrow\x20GMV;\x20first-order\x20and\x20spend-threshold\x20rewards\x20maximize\x20repeat.','tradeoffs':'Thin\x20unit\x20margin\x20—\x20viable\x20only\x20because\x20gas\x20is\x20<$1\x20per\x20$1,000\x20GMV.','guardrails':['Receipt\x20confirmation\x20guard\x20never\x20bypassed','Compensation\x20fund\x20coverage\x20ratio\x20default\x205×\x20max\x20single\x20order']},'balanced':{'posture':'balanced','thesis':'Pilot\x205–8\x20private-domain\x20sellers;\x20use\x20the\x20gas-bill\x20livestream\x20as\x20the\x20core\x20proof\x20asset.','tradeoffs':'Moderate\x20growth\x20gated\x20by\x20existing\x20audience\x20size.','guardrails':['Return-auth\x20evidence\x20(dual\x20signature\x20/\x20logistics\x20repository)\x20required','Configurable\x20arbitration\x20voting\x20period']},'margin':{'posture':'margin','thesis':'Premium\x20provenance/proven-authenticity\x20selling:\x20repository\x20chain\x20+\x20escrow\x20as\x20anti-counterfeit\x20proof.','tradeoffs':'Niche\x20audience;\x20authenticity\x20verification\x20operations\x20cost.','guardrails':['Never\x20claim\x20authenticity\x20beyond\x20what\x20repository\x20evidence\x20proves','No\x20reserve-period\x20exposure\x20of\x20funds\x20to\x20the\x20seller\x20pre-receipt']}},'competitor_watch':{'dimensions':['headline\x20price','settlement\x20reserve\x20policy','return-fraud\x20handling','arbitration\x20default\x20rulings','provenance\x20evidence'],'cadence':'weekly','cadence_days':0x7,'differentiation':['Settlement\x20in\x20seconds\x20vs\x2014\x20days\x20+\x20DD+90\x20reserve\x20risk','Return\x20fraud\x20requires\x20dual-signed/logistics\x20evidence\x20instead\x20of\x20A-to-z\x20default\x20buyer\x20wins','\x27You\x20pay\x2030%\x20for\x20traffic\x20or\x20trust\x20—\x20we\x20provide\x20trust,\x20you\x20bring\x20traffic\x27']},'acquisition':{'channels':[{'channel':'Existing\x20private-traffic\x20sellers\x20(DTC,\x20community,\x20We-commerce)','priority':0x1,'rationale':'\x27Have\x20traffic,\x20trust\x20is\x20expensive\x27\x20is\x20the\x20filter;\x20zero-traffic\x20sellers\x20are\x20turned\x20away\x20at\x20intake.'},{'channel':'Fee-hike\x20refugee\x20targeting','priority':0x2,'rationale':'24.2%\x20fee-increase\x20victim\x20communities\x20on\x20incumbent\x20handmade\x20marketplaces.'},{'channel':'Live\x20gas-bill\x20comparison\x20events','priority':0x3,'rationale':'\x27$1,000\x20GMV\x20cost\x20teardown\x27:\x20same\x20shop,\x20WoW\x20vs\x20scale-marketplace\x20incumbent\x20$300–350.'}],'campaign_paradigm':'\x27$1,000\x20GMV\x20cost\x27\x20livestream\x20with\x20public\x20full-cycle\x20gas\x20accounting;\x20targeted\x20fee-hike\x20refugee\x20recruitment;\x20$6–10K\x20pilot\x20for\x205–8\x20sellers,\x20M4–M6.','reward_orientation':'First-order\x20discount\x20+\x20spend\x20cashback\x20+\x20spend-threshold\x20rewards\x20inside\x20the\x20owned\x20community.','discount_orientation':'Threshold/limited/member\x20discounts\x20only;\x20no\x20marketplace-style\x20bidding\x20wars.'},'conversion_retention':['Make\x20receipt-confirmation\x20the\x20one-tap\x20trust\x20moment;\x20show\x20release\x20seconds\x20later.','Re-purchase\x20via\x20spend\x20cashback\x20and\x20provenance\x20certificates.','Convert\x20return-averse\x20buyers\x20with\x20the\x20return-auth\x20evidence\x20flow\x20up\x20front.'],'unit_economics':{'formula':'extra\x20per\x20$1,000\x20GMV\x20=\x20legacy\x20combined\x20burden\x20−\x20WoW\x20gas\x20(4–6\x20txns)','anchors':[{'metric':'AOV\x20anchor\x20(private\x20domain)','value':'$50'},{'metric':'Legacy\x20combined\x20burden','value':'Scale-marketplace\x20incumbent\x2030–35%\x20≈\x20$300–350\x20per\x20$1,000\x20GMV'},{'metric':'WoW\x20cost\x20per\x20$1,000\x20GMV','value':'gas\x20≈\x20$0.01–0.5\x20(<\x20$1)'},{'metric':'Return\x20rate\x20/\x20fraud\x20share','value':'19.3%\x20returns\x20/\x209%\x20fraudulent\x20under\x20incumbent\x20flow'}],'target_margin_pct_min':0x14,'cost_floor':'Never\x20price\x20below\x20COGS\x20+\x20shipping\x20+\x20expected-return-provision;\x20fund\x20coverage\x205×\x20max\x20single\x20order.','breakeven_note':'Economics\x20work\x20at\x20almost\x20any\x20AOV;\x20traffic\x20availability\x20is\x20the\x20only\x20admission\x20criterion.'},'success_patterns':[{'pattern':'Use\x20the\x20honest-boundary\x20intake\x20questionnaire\x20to\x20reject\x20zero-traffic\x20sellers.','evidence':'Raises\x20conversion\x20quality;\x20WoW\x20does\x20not\x20sell\x20traffic\x20(the\x20incumbent\x27s\x20traffic-share\x20value\x20stays\x20with\x20the\x20incumbent).\x20'},{'pattern':'Run\x20the\x20public\x20\x27$1,000\x20GMV\x20gas\x20bill\x27\x20livestream\x20with\x20the\x20same\x20shop\x27s\x20orders.','evidence':'Contrasts\x20$300–350\x20incumbent\x20burden\x20vs\x20<$1\x20on-chain\x20cost.'},{'pattern':'Enforce\x20dual-signature/logistics\x20return\x20evidence\x20to\x20structurally\x20raise\x20fraud\x20cost.','evidence':'Targets\x20the\x209%\x20fraudulent\x20share\x20of\x20the\x2019.3%\x20return\x20rate.'},{'pattern':'Recruit\x20incumbent\x20fee-hike\x20refugees\x20directly\x20from\x20victim\x20communities.','evidence':'24.2%\x20unilateral\x20fee\x20increase\x20is\x20the\x20triggering\x20event.'}],'red_lines':['Never\x20promise\x20traffic\x20—\x20WoW\x20is\x20trust\x20infrastructure,\x20not\x20a\x20marketplace\x20demand\x20source.','No\x20auto-default\x20buyer-win\x20rulings;\x20arbitration\x20voting\x20period\x20must\x20be\x20configured.','Physical\x20authenticity\x20claims\x20require\x20repository\x20evidence.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§8','wiki/market/K1/01\x20(retail\x20industry\x20analysis)']},{'industry':'subscription','benchmark':'Creator\x20membership\x20/\x20direct\x20fan-subscription\x20/\x20app-store\x20IAP\x20incumbents','priority_tier':0x2,'launch_window':'M2–M4','pricing':{'default_model_id':'per_period_signed_charge','models':[{'id':'per_period_signed_charge','name':'Per-period\x20signed\x20charge\x20with\x20delivery\x20gate','applicable_when':'Creator\x20memberships,\x20newsletters,\x20indie\x20software\x20—\x20recurring\x20digital\x20value.','upside':'charge_guard_signer\x20requires\x20explicit\x20signature\x20every\x20period;\x20deliver_guard_wip\x20blocks\x20the\x20charge\x20when\x20no\x20value\x20was\x20delivered;\x20cancel\x20is\x20one\x20signature;\x20100%\x20Allocation\x20to\x20creator.','risks':'The\x20per-period\x20signature\x20is\x20deliberate\x20friction\x20—\x20sell\x20it\x20as\x20the\x20feature;\x20do\x20not\x20sneak\x20in\x20any\x20auto-renewal\x20path.','wowok_levers':['Guard','Allocator','Machine','Reward'],'recommended':!![]},{'id':'annual_prepaid_period_release','name':'Annual\x20prepay\x20released\x20per\x20period','applicable_when':'Loyal\x20fans\x20wanting\x20a\x20yearly\x20plan;\x20creator\x20wants\x20upfront\x20cash.','upside':'Annual\x20funds\x20escrow\x20and\x20release\x20monthly\x20to\x20the\x20creator\x20—\x20prepaid\x20but\x20protected\x20if\x20the\x20creator\x20stops.','risks':'Stoppage\x20refunds\x20for\x20undelivered\x20months\x20must\x20be\x20structurally\x20guaranteed.','wowok_levers':['Allocator','Guard']},{'id':'tiered_membership','name':'Tiered\x20membership\x20with\x20escalating\x20deliverables','applicable_when':'Creators\x20with\x20multiple\x20value\x20tiers\x20(membership-tier\x20style).','upside':'Each\x20tier\x20maps\x20to\x20its\x20own\x20delivery\x20guard;\x20upgrades/downgrades\x20take\x20effect\x20next\x20period\x20only.','risks':'Tier\x20deliverables\x20must\x20be\x20concrete\x20enough\x20for\x20the\x20delivery\x20guard\x20to\x20evaluate.','wowok_levers':['Machine','Guard','WIP']}]},'postures':{'volume':{'posture':'volume','thesis':'Subscriber\x20count\x20first\x20via\x20the\x20\x27signing\x20movement\x27\x20consumer\x20tool\x20and\x20first-month\x20pricing;\x20keep\x20100%\x20pass-through\x20as\x20the\x20wedge.','tradeoffs':'Conversion\x20funnel\x20includes\x20the\x20signature\x20friction\x20—\x20lean\x20into\x20it\x20as\x20qualification.','guardrails':['Never\x20reintroduce\x20auto-renewal\x20to\x20optimize\x20conversion','Delivery\x20gate\x20on\x20every\x20charge']},'balanced':{'posture':'balanced','thesis':'Balance\x20acquisition\x20(subscription\x20checkup\x20tool)\x20with\x20retention\x20(100%\x20arrival\x20day\x20rituals).','tradeoffs':'Moderate\x20growth;\x20investment\x20in\x20per-period\x20value\x20proof.','guardrails':['Fee\x20schedule\x20frozen\x20at\x20publish','Cancellation\x20one\x20signature,\x20no\x20retention\x20dark\x20patterns']},'margin':{'posture':'margin','thesis':'Fewer,\x20higher-paying\x20true\x20fans;\x20per-period\x20signing\x20filters\x20for\x20committed\x20members\x20and\x20supports\x20premium\x20tiers.','tradeoffs':'Smaller\x20list,\x20higher\x20ARPU.','guardrails':['No\x20IAP-style\x2030%\x20channel\x20accepted\x20—\x20direct\x20settlement\x20is\x20the\x20product','Stoppage\x20protection\x20advertised\x20and\x20enforced']}},'competitor_watch':{'dimensions':['take\x20rate\x20and\x20unilateral\x20change\x20history','charge\x20transparency','cancellation\x20click\x20count','stopped-creator\x20policy','time-to-payout'],'cadence':'weekly','cadence_days':0x7,'differentiation':['13\x20years\x20/\x20three\x20unilateral\x20incumbent\x20price\x20rises\x20are\x20structurally\x20impossible\x20(published\x20allocation\x20is\x20frozen)','Charge\x20without\x20delivery\x20cannot\x20pass\x20—\x20an\x20industry\x20blank','15-option\x20cancel\x20maze\x20→\x20one\x20signature\x20(FTC\x20$2.5B\x20settlement\x20context)']},'acquisition':{'channels':[{'channel':'Creator\x20communities\x20(Discord,\x20membership-platform\x20forums)','priority':0x1,'rationale':'Survival-line\x20creators\x20($131–180\x20median\x20monthly)\x20feel\x20the\x2010–20%\x20fee\x20directly\x20($2–5\x20per\x20subscriber).'},{'channel':'Newsletter\x20/\x20indie-dev\x20circles','priority':0x2,'rationale':'App-store\x20IAP\x2030%\x20+\x2075-day\x20payout\x20float\x20pain.'},{'channel':'Hacker\x20News\x20/\x20anti-dark-pattern\x20audience','priority':0x3,'rationale':'Values\x20alignment\x20beats\x20ad\x20spend.'}],'campaign_paradigm':'\x27Signing\x20Movement\x27\x20(M2–M4):\x20consumer-side\x20subscription\x20checkup\x20widget\x20(2.5×\x20spend\x20underestimate\x20/\x2042%\x20unused\x20data)\x20+\x20creator\x20\x27100%\x20arrival\x20day\x27\x20monthly\x20chain-receipt\x20posts;\x20$4–7K,\x20keyed\x20to\x20FTC/price-hike\x20news\x20cycles.','reward_orientation':'Loyalty\x20+\x20referral\x20rewards\x20only;\x20first-month\x20price\x20as\x20the\x20single\x20acquisition\x20discount.','discount_orientation':'Annual\x20/\x20team\x20/\x20upgrade\x20discounts\x20—\x20never\x20discount\x20by\x20hiding\x20renewal\x20terms.'},'conversion_retention':['Onboard\x20creators\x20by\x20migrating\x20one\x20tier\x20first\x20and\x20showing\x20the\x20per-period\x20release\x20receipts.','Retain\x20with\x20the\x20\x27unused\x20month\x27\x20guarantee:\x20no\x20delivery\x20→\x20no\x20charge.','Convert\x20fans\x20with\x20the\x20cancellation\x20demo\x20(15\x20options\x20→\x201\x20signature).'],'unit_economics':{'formula':'extra\x20per\x20year\x20=\x20legacy\x20take\x20rate\x20×\x20annual\x20subscription\x20revenue\x20−\x20WoW\x20gas\x20(2\x20txns/period)','anchors':[{'metric':'Monthly\x20anchor','value':'$100/month\x20($1,200/year)'},{'metric':'Legacy\x20take','value':'Incumbent\x20membership\x20platform\x2010%\x20≈\x20$10/month;\x20mobile\x20app-store\x20IAP\x2030%'},{'metric':'WoW\x20annual\x20cost\x20(12\x20periods)','value':'gas\x20≈\x20$0.03–2/year'},{'metric':'Payout\x20speed','value':'IAP\x20up\x20to\x2075-day\x20float\x20→\x20seconds\x20each\x20period'}],'target_margin_pct_min':0x3c,'cost_floor':'Creator\x20must\x20keep\x20delivering\x20per-period\x20value;\x20no\x20charge\x20passes\x20without\x20delivery\x20evidence.','breakeven_note':'≈$120/year\x20extra\x20on\x20a\x20single\x20$100/month\x20membership.'},'success_patterns':[{'pattern':'Ship\x20the\x20subscription-checkup\x20widget\x20before\x20creator\x20outreach.','evidence':'KPI:\x20≥20,000\x20checkups;\x20consumer\x20demand\x20pulls\x20creators.'},{'pattern':'Run\x20monthly\x20\x27100%\x20arrival\x20day\x27\x20with\x20public\x20chain\x20receipts.','evidence':'30\x20creators\x20onboard\x20target;\x20turns\x20payout\x20into\x20recurring\x20proof.'},{'pattern':'Publish\x20the\x20one-signature\x20cancellation\x20video.','evidence':'KPI:\x20≥100K\x20views\x20—\x20contrast\x20with\x20the\x204-page/6-click/15-option\x20incumbent\x20flow.'},{'pattern':'Capture\x20education\x20recorded-course\x20overflow\x20traffic.','evidence':'Routing\x20rule:\x20recorded\x20courses\x20→\x20subscription,\x20keeping\x20both\x20fits\x20clean.'}],'red_lines':['Never\x20implement\x20or\x20imply\x20auto-renewal\x20—\x20every\x20period\x20is\x20signed.','Never\x20charge\x20a\x20period\x20without\x20delivery\x20evidence.','No\x20rate\x20lock\x20claims\x20except\x20through\x20published\x20frozen\x20Allocation.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§6','wiki/market/K1/01\x20(subscription\x20industry\x20analysis)']}];const STRATEGY_BY_INDUSTRY=new Map(INDUSTRY_STRATEGIES['map'](a=>[a['industry'],a]));export function registerIndustryStrategy(a){STRATEGY_BY_INDUSTRY['set'](a['industry'],a);}export function unregisterIndustryStrategy(a){const b=INDUSTRY_STRATEGIES['find'](c=>c['industry']===a);if(b)return STRATEGY_BY_INDUSTRY['set'](a,b),!![];return STRATEGY_BY_INDUSTRY['delete'](a);}export function getIndustryStrategy(a){return STRATEGY_BY_INDUSTRY['get'](a['toLowerCase']());}export function listIndustryStrategies(){return SUPPORTED_INDUSTRIES['map'](a=>STRATEGY_BY_INDUSTRY['get'](a))['filter'](a=>a!==undefined);}export function stageFromOrderCount(a){if(a>=0x32)return'optimization';if(a>=0x14)return'mature';if(a>=0x5)return'growing';return'cold_start';}export function recommendStrategy(a,b='balanced',c,d){const e=getIndustryStrategy(a);if(!e||e['pricing']['models']['length']===0x0)return null;const f=c??(d?.['order_count']!==undefined?stageFromOrderCount(d['order_count']):'cold_start');let g=e['pricing']['models']['find'](j=>j['id']===e['pricing']['default_model_id'])??e['pricing']['models'][0x0];if(b==='volume'){const j=e['pricing']['models']['find'](k=>/(?:^|_)(discount|trial|first|bundle|member)(?:_|$)/i['test'](k['id']))??g;g=j;}else{if(b==='margin'&&e['pricing']['models']['length']>0x1){const k=e['pricing']['models']['find'](l=>/premium|graded|tiered|guarantee|prepaid/i['test'](l['id']));if(k)g=k;}}const h=[],i=(l,m)=>{if(l&&h['length']<0x3)h['push'](m);};return i(f==='cold_start','Cold\x20start:\x20publish\x20the\x20service\x20with\x20the\x20\x22'+g['name']+'\x22\x20model\x20and\x20bound\x20Arbitration\x20+\x20compensation\x20fund\x20first;\x20seed\x20the\x20anchor\x20trust\x20case\x20before\x20discounting.'),d?.['dispute_rate']!==undefined&&i(d['dispute_rate']>0.05,'Dispute\x20rate\x20'+(d['dispute_rate']*0x64)['toFixed'](0x1)+'%\x20exceeds\x205%:\x20tighten\x20pre-delivery\x20evidence\x20guards\x20and\x20pause\x20promotions\x20until\x20closure\x20is\x20back\x20on-chain.'),d?.['repeat_customer_rate']!==undefined&&i(d['repeat_customer_rate']<0.25&&f!=='cold_start','Repeat\x20rate\x20'+(d['repeat_customer_rate']*0x64)['toFixed'](0x0)+'%\x20is\x20below\x20the\x2025%\x20K1\x20gate:\x20add\x20a\x20repeat/referral\x20reward\x20and\x20review\x20post-delivery\x20follow-up\x20rather\x20than\x20cutting\x20price.'),d?.['order_count']!==undefined&&i(b==='volume'&&d['order_count']>=0x5&&d['order_count']<0x32,'Growing\x20stage\x20under\x20volume\x20posture:\x20run\x20the\x20cataloged\x20acquisition\x20campaign\x20('+(e['acquisition']['channels'][0x0]?.['channel']??'top\x20channel')+')\x20with\x20reward—not\x20blanket\x20discount—orientation.'),i(h['length']===0x0,b+'\x20posture:\x20hold\x20the\x20\x22'+g['name']+'\x22\x20model,\x20run\x20the\x20'+e['competitor_watch']['cadence']+'\x20competitor\x20watch\x20('+e['competitor_watch']['dimensions']['slice'](0x0,0x3)['join'](',\x20')+'),\x20and\x20keep\x20all\x20guardrails:\x20'+e['postures'][b]['guardrails'][0x0]),{'industry':e['industry'],'posture':b,'stage':f,'pricing_model_id':g['id'],'pricing_model_name':g['name'],'actions':h['slice'](0x0,0x3)};}export function validateStrategyLevers(a){const b=[];for(const c of a['pricing']['models']){for(const d of c['wowok_levers']){!LEVER_WHITELIST['has'](d)&&b['push'](a['industry']+'.'+c['id']+':\x20unknown\x20WoW\x20lever\x20\x27'+d+'\x27');}}return b;}
|
|
1
|
+
import{ROLE_MOVE_MECHANISMS}from'../role/profiles.js';import{SUPPORTED_INDUSTRIES}from'../persona/types.js';const LEVER_WHITELIST=new Set(ROLE_MOVE_MECHANISMS);export const INDUSTRY_STRATEGIES=[{'industry':'education','benchmark':'MOOC\x20/\x20live-class\x20incumbents','priority_tier':0x1,'launch_window':'M1–M3','pricing':{'default_model_id':'per_lesson_escrow','models':[{'id':'per_lesson_escrow','name':'Per-lesson\x20escrow\x20release','applicable_when':'Attendance-based\x20tutoring/courses\x20delivered\x20in\x20N\x20lessons\x20(the\x20core\x20education\x20fit).','upside':'Prepaid\x20tuition\x20never\x20lands\x20with\x20the\x20institution;\x20each\x20lesson\x20fee\x20releases\x20on\x20the\x20parent\x27s\x20attendance\x20signature\x20in\x20seconds;\x20withdrawal\x20refunds\x20unearned\x20lessons\x20in\x20one\x20transaction.','risks':'Requires\x20an\x20attendance-confirmable\x20scenario;\x20purely\x20recorded/self-paced\x20courses\x20are\x20a\x20mismatch\x20(route\x20to\x20subscription).','wowok_levers':['Allocator','Guard','Machine','Order'],'recommended':!![]},{'id':'package_prepaid_raterelease','name':'Package\x20price\x20with\x20rate-based\x20release','applicable_when':'30-lesson\x20packages\x20/\x20term\x20packages\x20where\x20the\x20family\x20pays\x20once\x20up\x20front.','upside':'High\x20AOV\x20(~¥3,000\x20anchor)\x20while\x20funds\x20release\x201/N\x20per\x20completed\x20lesson\x20—\x20the\x20\x27unearned\x20tuition\x20can\x20never\x20be\x20embezzled\x27\x20guarantee\x20is\x20verifiable\x20on-chain.','risks':'Must\x20declare\x20refund\x20policy\x20up\x20front;\x20setting_lock_duration\x20should\x20lock\x20the\x20fee\x20schedule\x20(default\x2030\x20days).','wowok_levers':['Allocator','Guard','CompensationFund','Arbitration']},{'id':'trial_then_enroll','name':'Trial-class\x20conversion\x20price','applicable_when':'Cold-start\x20acquisition\x20of\x20parents\x20via\x20a\x20single\x20low-commitment\x20trial\x20lesson.','upside':'Trial\x20class\x20in\x20escrow,\x20remainder\x20only\x20after\x20the\x20parent\x20signs\x20enrollment;\x20pairs\x20with\x20referral\x20reward.','risks':'Trial\x20discount\x20must\x20stay\x20above\x20hard\x20delivery\x20cost;\x20not\x20a\x20perpetual\x20loss\x20leader.','wowok_levers':['Reward','Allocator','Guard']}]},'postures':{'volume':{'posture':'volume','thesis':'Maximize\x20enrolled\x20families\x20via\x20group-buy\x20/\x20early-bird\x20and\x20KOC\x20parent\x20communities;\x20trust\x20transparency\x20is\x20the\x20conversion\x20weapon.','tradeoffs':'Lower\x20per-seat\x20margin;\x20heavier\x20campaign/operations\x20load\x20in\x20M1–M2.','guardrails':['Never\x20discount\x20below\x20per-lesson\x20delivery\x20cost','Keep\x20arbitration\x20bound\x20and\x20compensation\x20fund\x20covered\x20at\x20every\x20promo\x20tier','Per-lesson\x20escrow\x20release\x20is\x20mandatory\x20even\x20on\x20discounted\x20packages']},'balanced':{'posture':'balanced','thesis':'Mix\x20institutional\x20direct\x20sales\x20(high-AOV\x20compliance\x20positioning)\x20with\x20parent-community\x20KOC\x20growth.','tradeoffs':'Slower\x20than\x20pure\x20volume,\x20lower\x20margin\x20ceiling\x20than\x20premium\x20small-class.','guardrails':['Per-lesson\x20escrow\x20release\x20mandatory','Refund\x20policy\x20declared\x20before\x20payment','Recorded-only\x20products\x20routed\x20to\x20subscription,\x20not\x20sold\x20as\x20attendance\x20courses']},'margin':{'posture':'margin','thesis':'Sell\x20compliance\x20itself\x20to\x20mid-size\x20institutions:\x20on-chain\x20custody\x20as\x20a\x20competitive\x20moat,\x20premium\x20positioning\x20to\x20burned-by-failure\x20parents.','tradeoffs':'Long\x20BD\x20cycles\x20(¥1,500–3,000\x20cost\x20per\x20signed\x20institution),\x20few\x20but\x20large\x20accounts.','guardrails':['Do\x20not\x20soften\x20escrow/fund\x20requirements\x20to\x20win\x20a\x20large\x20account','\x27Protocol\x20custody\x27\x20claims\x20need\x20the\x20locked\x20fee\x20schedule\x20to\x20back\x20them']}},'competitor_watch':{'dimensions':['headline\x20price\x20vs\x20escrow\x20structure','arbitration\x20availability','compensation\x20fund\x20coverage','per-lesson\x20release\x20granularity','refund-window\x20terms'],'cadence':'weekly','cadence_days':0x7,'differentiation':['Compete\x20on\x20verifiable\x20fund\x20safety\x20(parents\x20can\x20read\x20the\x20Allocation\x20themselves),\x20never\x20on\x20headline\x20discount','Lead\x20with\x20\x27teacher\x20settlement\x20in\x20seconds\x27\x20to\x20attract\x20teachers\x20as\x20well\x20as\x20parents']},'acquisition':{'channels':[{'channel':'Parent-rights\x20/\x20local\x20parent\x20KOC\x20communities','priority':0x1,'rationale':'The\x20angry\x20stock\x20from\x20tuition-failure\x20cases\x20concentrates\x20here;\x20trust\x20products\x20sell\x20through\x20trusted\x20channels\x20(¥30–80\x20per\x20paying\x20parent).'},{'channel':'Institutional\x20direct\x20BD\x20(1:1)','priority':0x2,'rationale':'Supply\x20side\x20decides\x20the\x20two-sided\x20cold\x20start;\x20one\x20institution\x20brings\x20its\x20whole\x20parent\x20base.'},{'channel':'Industry\x20media\x20/\x20policy\x20white-papers','priority':0x3,'rationale':'Zero-ad\x20spend\x20endorsement\x20during\x20the\x20next\x20regulatory\x20news\x20cycle.'},{'channel':'Paid\x20ads','priority':0x4,'rationale':'Conflicts\x20with\x20the\x20trust\x20narrative;\x20do\x20not\x20use\x20within\x20the\x20first\x2090\x20days.'}],'campaign_paradigm':'Two\x2090-day\x20campaigns:\x20(A)\x20\x27tuition\x20transparency\x20experiment\x27\x20—\x20two\x20parallel\x20classes,\x20traditional\x20vs\x20escrow,\x20open\x20on-chain\x20comparison,\x20parent\x20open-day\x20live\x20withdrawal\x20refund\x20demo;\x20(B)\x20\x27regulatory\x20answer\x27\x20white-paper\x20on\x20protocol\x20custody,\x20no\x20ads.','reward_orientation':'Milestone\x20(course\x20completion)\x20reward\x20+\x20referral\x20cashback;\x20trial-class\x20discount\x20as\x20the\x20cold-start\x20hook.','discount_orientation':'Early-bird\x20and\x20group-buy\x20only\x20during\x20campaign\x20windows;\x20student-aid\x20discount\x20as\x20targeted,\x20not\x20blanket,\x20price\x20cuts.'},'conversion_retention':['Show\x20the\x20escrow\x20contract\x20balance\x20and\x20per-lesson\x20release\x20records\x20before\x20payment\x20(on-chain\x20verification\x20page).','Convert\x20trial\x20families\x20with\x20the\x20live\x20\x27unearned\x20funds\x20are\x20still\x20yours\x27\x20demonstration.','Renew\x20via\x20per-lesson\x20release\x20history\x20+\x20attendance\x20record;\x20sibling/referral\x20reward\x20beats\x20discounting.'],'unit_economics':{'formula':'extra\x20per\x20order\x20=\x20legacy\x20platform\x20fee\x20rate\x20×\x20AOV\x20−\x20(WoW\x20gas\x20+\x20keeper\x20amortization\x20+\x20one-time\x20migration\x20cost)','anchors':[{'metric':'AOV\x20anchor\x20(30-lesson\x20package)','value':'¥3,000'},{'metric':'Legacy\x20combined\x20fee','value':'Incumbent\x20live-class\x20platform\x2030%\x20≈\x20¥900/order'},{'metric':'WoW\x20per-order\x20cost\x20(N+2\x20txns)','value':'gas\x20≈\x20$0.05–2.5'},{'metric':'Extra\x20earnings\x20per\x20order','value':'≈\x20¥890'}],'target_margin_pct_min':0x19,'cost_floor':'Never\x20price\x20a\x20package\x20below\x20total\x20teacher-cost-per-lesson\x20×\x20lessons;\x20compensation\x20fund\x20must\x20stay\x20covered.','breakeven_note':'Migration/setup\x20cost\x20amortizes\x20over\x20the\x20first\x20package;\x20gas\x20is\x20negligible\x20vs\x20¥900\x20saved.'},'success_patterns':[{'pattern':'Run\x20the\x20parallel-class\x20transparency\x20experiment\x20with\x20one\x20anchor\x20institution\x20and\x20open\x20all\x20escrow\x20data.','evidence':'KPI:\x201\x20anchor,\x20≥30\x20escrow\x20orders,\x20verifiable\x20case\x20piece,\x20parent\x20NPS\x20≥60.'},{'pattern':'Sign\x20institutions\x20through\x20direct\x20BD\x20and\x20let\x20each\x20bring\x20its\x20parent\x20base.','evidence':'90-day\x20gate:\x20≥10\x20institutions\x20beyond\x20the\x20seed;\x20BD\x20cost\x20¥1,500–3,000\x20each.'},{'pattern':'Ship\x20the\x20≤10-dialogue\x20templated\x20onboarding\x20(attendance\x20guard\x20+\x20rate\x20release\x20+\x20lock\x20duration).','evidence':'K1/04\x20validated\x20education\x20shop\x20build\x20in\x2011\x20dialogues.'},{'pattern':'Hold\x20the\x2090-day\x20quality\x20gate\x20before\x20scaling\x20spend.','evidence':'Gate:\x20≥20\x20published\x20Services\x20across\x20tier-1\x20industries,\x20>25%\x20first-to-repeat\x20rate,\x20100%\x20on-chain\x20dispute\x20closure.'}],'red_lines':['Route\x20recorded/self-paced\x20courses\x20to\x20subscription\x20—\x20never\x20sell\x20them\x20as\x20attendance\x20escrow.','Never\x20imply\x20the\x20structure\x20prevents\x20bad\x20teaching;\x20it\x20prevents\x20fund\x20embezzlement\x20(honest\x20boundary).','Marketing\x20figures\x20are\x20fiat-denominated;\x20carry\x20the\x20testnet/estimate/WOW-price\x20disclaimers.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§3','wiki/market/K1/01\x20(education\x20industry\x20analysis)']},{'industry':'rental','benchmark':'Short-stay\x20/\x20vehicle-rental\x20incumbents','priority_tier':0x1,'launch_window':'M1–M3','pricing':{'default_model_id':'rent_deposit_bundled_escrow','models':[{'id':'rent_deposit_bundled_escrow','name':'Rent\x20+\x20deposit\x20bundled\x20escrow,\x20three-path\x20settlement','applicable_when':'High-value\x20low-frequency\x20rentals\x20(camera\x20gear,\x20machinery,\x20outdoor\x20equipment)\x20and\x20P2P\x20stays\x20with\x20damage\x20disputes.','upside':'Rent\x20and\x20real\x20deposit\x20(not\x20a\x20card\x20auth)\x20are\x20escrowed;\x20three\x20mutually\x20exclusive\x20Allocator\x20paths\x20(clean\x20return\x20/\x20cancellation\x20/\x20graded\x20damage)\x20settle\x20in\x20one\x20~3-second\x20transaction.','risks':'Pre-rental\x20WIP\x20baseline\x20is\x20mandatory\x20—\x20without\x20it\x20the\x20damage\x20guard\x20cannot\x20pass\x20and\x20the\x20value\x20proposition\x20collapses.','wowok_levers':['Allocator','Guard','Machine','WIP','Arbitration'],'recommended':!![]},{'id':'graded_damage_allocator','name':'Pre-agreed\x20graded\x20damage\x20deduction','applicable_when':'Continuous\x20damage\x20amounts\x20(e.g.\x20$347.50\x20claims)\x20need\x20fairness\x20ex\x20ante.','upside':'Light\x2020%\x20/\x20heavy\x2050%\x20/\x20total\x20100%\x20brackets\x20fixed\x20before\x20rental;\x20micro-arbitration\x20only\x20for\x20bracket\x20assignment.','risks':'Brackets\x20must\x20be\x20disclosed\x20and\x20accepted\x20at\x20order\x20time.','wowok_levers':['Allocator','Guard','Arbitration']},{'id':'duration_discount','name':'Long-duration\x20discount\x20ladder','applicable_when':'Idle\x20inventory\x20with\x20low\x20marginal\x20wear\x20cost.','upside':'Monthly\x2010%\x20/\x20quarterly\x2020%\x20/\x20annual\x2030%\x20ladder\x20raises\x20utilization\x20without\x20touching\x20deposit\x20safety.','risks':'Discount\x20must\x20remain\x20above\x20maintenance+depreciation\x20cost\x20per\x20period.','wowok_levers':['Reward','Allocator']}]},'postures':{'volume':{'posture':'volume','thesis':'Win\x20utilization\x20and\x20repeat\x20rentals\x20via\x20credit-accumulation\x20rewards\x20and\x20long-duration\x20discounts;\x20lead\x20supply-side\x20signup\x20with\x20deposit\x20escrow\x20as\x20the\x20filter.','tradeoffs':'Thinner\x20per-rental\x20margin;\x20keeper\x20subsidy\x20in\x20seed\x20months.','guardrails':['Pre-rental\x20WIP\x20baseline\x20guard\x20never\x20skipped\x20even\x20for\x20promo\x20rentals','Deposit\x20must\x20be\x20really\x20funded\x20(no\x20zero-deposit\x20waivers\x20in\x20volume\x20mode)']},'balanced':{'posture':'balanced','thesis':'Seed\x20~10\x20vertical\x20merchants\x20with\x20templated\x20builds;\x20balance\x20utilization\x20promos\x20against\x20the\x20verified-case\x20marketing\x20asset.','tradeoffs':'Moderate\x20growth,\x20moderate\x20subsidy\x20($20/mo\x20keeper\x20per\x20seed\x20merchant).','guardrails':['All\x20three\x20settlement\x20paths\x20configured\x20on\x20every\x20published\x20service','Independent\x20arbitration\x20bound']},'margin':{'posture':'margin','thesis':'Premium\x20positioning\x20for\x20high-value\x20equipment:\x20renters\x20pay\x20for\x20real,\x20on-chain-verifiable\x20deposit\x20safety\x20and\x203-second\x20returns.','tradeoffs':'Smaller\x20renter\x20pool;\x20longer\x20trust-building\x20cycle.','guardrails':['Never\x20shorten\x20evidence\x20requirements\x20to\x20speed\x20up\x20a\x20premium\x20rental','Damage\x20brackets\x20stay\x20pre-agreed\x20—\x20no\x20discretionary\x20deductions']}},'competitor_watch':{'dimensions':['rent\x20price','whether\x20deposit\x20is\x20actually\x20held\x20(vs\x20card\x20auth)','pre-rental\x20evidence\x20requirement','refund\x20speed','arbitration\x20independence'],'cadence':'biweekly','cadence_days':0xe,'differentiation':['The\x20three\x20k1rent\x20Payment\x20transactions\x20are\x20the\x20marketing:\x20anyone\x20can\x20audit\x20them','Damage\x20claims\x20cannot\x20be\x20weaponized\x20via\x20reviews\x20—\x20settlement\x20is\x20independent\x20of\x20the\x20rating\x20system']},'acquisition':{'channels':[{'channel':'Vertical\x20communities\x20(photography\x20/\x20machinery\x20/\x20outdoor\x20KOC\x20groups)','priority':0x1,'rationale':'Damage-dispute\x20pain\x20is\x20concentrated\x20here\x20(¥50–120\x20per\x20renter-side\x20user).'},{'channel':'Competitors\x27\x20official\x20documents','priority':0x2,'rationale':'Cite\x20incumbent\x20policy\x20reversals\x20(e.g.\x20AI-image\x20claim\x20bans)\x20and\x20shutdowns\x20—\x20opponent\x20copy\x20is\x20the\x20best\x20copy.'},{'channel':'On-chain\x20case\x20marketing\x20(auditable\x20rental\x20page)','priority':0x3,'rationale':'\x27Audit\x20this\x20rental\x20yourself\x27\x20open\x20day.'},{'channel':'Second-hand\x20marketplace\x20dispute\x20threads','priority':0x4,'rationale':'Intercept\x20existing\x20pain\x20(\x27this\x20dispute\x20could\x20not\x20happen\x20on\x20WoW\x27).'}],'campaign_paradigm':'(A)\x20\x27Audit\x20this\x20ledger\x20yourself\x27\x20open\x20day\x20around\x20the\x20k1rent\x2010-node\x20machine\x20+\x20three\x20payments;\x20(B)\x20recruit\x2010\x20seed\x20merchants,\x20keeper\x20+\x20first-order\x20gas\x20subsidy\x20for\x203\x20months.','reward_orientation':'Credit\x20accumulation\x20across\x20rentals\x20+\x20referral\x20cashback;\x20rewards\x20tied\x20to\x20verified\x20completed\x20rentals,\x20not\x20signups.','discount_orientation':'Duration\x20ladder\x20(monthly/quarterly/annual);\x20no\x20blanket\x20price\x20cuts.'},'conversion_retention':['Make\x20pre-rental\x20WIP\x20capture\x20a\x20guided,\x20frictionless\x20step\x20—\x20it\x20is\x20the\x20trust\x20moment,\x20not\x20paperwork.','Show\x20historical\x20settlement\x20transactions\x20to\x20first-time\x20renters\x20before\x20they\x20fund.','Re-rental\x20via\x20accumulated\x20credit;\x20long-duration\x20discount\x20ladder\x20for\x20inventory\x20utilization.'],'unit_economics':{'formula':'extra\x20per\x20order\x20=\x20legacy\x20commission\x20rate\x20×\x20rental\x20value\x20−\x20(WoW\x20gas\x20+\x20keeper\x20$5–20/mo\x20amortization)','anchors':[{'metric':'AOV\x20anchor\x20(camera,\x203\x20days)','value':'$200'},{'metric':'Legacy\x20host-side\x20commission','value':'15.5%\x20≈\x20$31/order'},{'metric':'WoW\x20full-cycle\x20cost\x20(k1rent\x20empirical)','value':'≈\x200.05\x20WOW\x20≈\x20¥0.35\x20(5–7\x20txns)'},{'metric':'Deposit\x20refund\x20speed','value':'7–15\x20business\x20days\x20→\x20≈3\x20seconds'}],'target_margin_pct_min':0x1e,'cost_floor':'Rental\x20price\x20must\x20cover\x20maintenance\x20+\x20depreciation\x20+\x20bracket-expected\x20damage;\x20deposit\x20never\x20lent\x20against.','breakeven_note':'At\x20$200\x20AOV\x20the\x20saved\x20$31\x20commission\x20dwarfs\x20gas\x20and\x20keeper\x20cost\x20from\x20the\x20first\x20order.'},'success_patterns':[{'pattern':'Publish\x20the\x20three\x20immutable\x20settlement\x20Payments\x20(clean\x20/\x20cancel\x20/\x20damage)\x20as\x20an\x20interactive\x20audit\x20page.','evidence':'KPI:\x20≥5,000\x20audit-page\x20UV,\x203\x20inbound\x20merchants,\x201\x20organic\x20KOC\x20retelling.'},{'pattern':'Onboard\x2010\x20equipment-rental\x20merchants\x20from\x20the\x20vertical\x20template\x20within\x203\x20months.','evidence':'Gate:\x2010\x20published\x20Services,\x20≥100\x20cumulative\x20orders,\x20zero\x20escalated\x20disputes\x20(all\x20closed\x20via\x20guard\x20or\x20micro-arbitration).'},{'pattern':'Enforce\x20pre-rental\x20WIP\x20baseline\x20as\x20a\x20hard\x20node,\x20turning\x20the\x2020%→70%\x20claim\x20rejection\x20curve\x20upside\x20down.','evidence':'Without\x20baseline\x20evidence\x20traditional\x20platforms\x20reject\x2020%;\x20with\x20missing-date\x20evidence\x20they\x20reject\x2070%.'},{'pattern':'Make\x20keeper\x20auto-return\x20reminders\x20standard\x20onboarding,\x20priced\x20transparently\x20at\x20$5–20/mo.','evidence':'Honest-boundary\x20requirement\x20from\x20k1rent\x20rollout.'}],'red_lines':['Never\x20claim\x20\x27contract-enforced\x27\x20arbitration\x20independence\x20without\x20negative-test\x20backing\x20(P-5\x20lesson).','Damage\x20deduction\x20without\x20pre-rental\x20baseline\x20is\x20forbidden\x20(guard\x20must\x20fail).','Never\x20hide\x20the\x20keeper\x20subscription\x20cost.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§4','wiki/market/K1/01\x20(rental\x20industry\x20analysis)']},{'industry':'freelance','benchmark':'Enterprise\x20talent-marketplace\x20incumbent','priority_tier':0x2,'launch_window':'M2–M4','pricing':{'default_model_id':'milestone_escrow_accept','models':[{'id':'milestone_escrow_accept','name':'Milestone\x20escrow\x20with\x20acceptance\x20signature','applicable_when':'Project-based\x20design/translation/dev/copy\x20work\x20deliverable\x20in\x20milestones.','upside':'Funds\x20escrowed\x20at\x20signing;\x20deliver_guard_wip\x20anchors\x20each\x20delivery;\x20client\x20acceptance\x20signature\x20releases\x20in\x20seconds;\x2014-day\x20silence\x20auto-accepts\x20via\x20time\x20guard\x20+\x20keeper.','risks':'Milestones\x20must\x20be\x20objectively\x20verifiable;\x20vague\x20acceptance\x20criteria\x20invite\x20disputes.','wowok_levers':['Allocator','Guard','Machine','WIP','Progress'],'recommended':!![]},{'id':'fixed_deliverable','name':'Fixed-price\x20deliverable\x20with\x20revision\x20loops','applicable_when':'Single-deliverable\x20jobs\x20(logo,\x20translation,\x20article).','upside':'Revision\x20rounds\x20modeled\x20as\x20machine\x20loops;\x20micro-arbitration\x20available\x20at\x20ANY\x20amount.','risks':'Cap\x20revision\x20rounds\x20up\x20front\x20to\x20avoid\x20scope\x20creep.','wowok_levers':['Machine','Guard','Arbitration']},{'id':'demand_reverse_match','name':'Demand-based\x20reverse\x20bidding','applicable_when':'Client\x20posts\x20a\x20Demand\x20and\x20freelancers\x20present;\x20discovery\x20without\x20connect\x20fees.','upside':'Zero\x20bid-entry\x20cost\x20(vs\x20$48–120\x20first-order\x20Connects\x20burn)\x20and\x20~60%\x20zero-reply\x20proposals\x20avoided.','risks':'Presenter\x20quality\x20gating\x20via\x20passport/trust\x20evidence.','wowok_levers':['Demand','DemandPresenter','Passport','Guard']}]},'postures':{'volume':{'posture':'volume','thesis':'Win\x20order\x20count\x20through\x20Demand\x20participation\x20and\x20first-order\x20speed;\x20carry\x20portable\x20Passport\x20reputation\x20across\x20clients.','tradeoffs':'Smaller\x20milestones,\x20more\x20concurrent\x20clients.','guardrails':['Every\x20milestone\x20escrowed\x20before\x20work\x20starts','Never\x20start\x20work\x20on\x20an\x20unescrowed\x20\x27trusted\x20client\x27\x20promise']},'balanced':{'posture':'balanced','thesis':'Mix\x20Demand\x20bidding\x20with\x20referral\x20clients;\x20standardize\x20milestone\x20templates\x20to\x20cut\x20admin\x20time.','tradeoffs':'Moderate\x20pipeline;\x20time\x20invested\x20in\x20WIP\x20evidence\x20discipline.','guardrails':['Auto-accept\x20time\x20guard\x20configured','Arbitration\x20bound\x20even\x20on\x20small\x20jobs\x20(cost\x20is\x20trivial)']},'margin':{'posture':'margin','thesis':'Premium\x20positioning\x20via\x20public\x20on-chain\x20delivery\x20history\x20and\x20WIP\x20quality;\x20refuse\x20hourly-monitoring\x20clients.','tradeoffs':'Fewer,\x20larger\x20projects;\x20longer\x20sales\x20conversation.','guardrails':['Never\x20accept\x20work\x20that\x20requires\x20process\x20surveillance\x20(philosophy\x20mismatch)','Milestone\x20granularity\x20protects\x20margin\x20—\x20no\x20all-or-nothing\x20delivery']}},'competitor_watch':{'dimensions':['effective\x20fee\x20after\x20tiered\x20cuts','escrow\x20availability','settlement\x20speed','arbitration\x20fee\x20floor','reputation\x20portability'],'cadence':'biweekly','cadence_days':0xe,'differentiation':['Portable\x20Passport\x20credentials\x20vs\x20locked\x20JSS','Arbitration\x20at\x20sub-$700\x20values\x20—\x20the\x20exact\x20segment\x20incumbents\x20structurally\x20abandon','Outcome\x20verification\x20(WIP)\x20instead\x20of\x20screen\x20monitoring']},'acquisition':{'channels':[{'channel':'r/freelance,\x20Indie\x20Hackers,\x20nomad\x20communities','priority':0x1,'rationale':'Fee-fatigued\x20mid/long-tail\x20freelancers;\x20est.\x20$3–8\x20per\x20registered\x20freelancer.'},{'channel':'Design/translation\x20vertical\x20communities','priority':0x2,'rationale':'High\x20milestone-delivery\x20fit.'},{'channel':'Demand\x20reverse-match\x20events','priority':0x3,'rationale':'Crack\x20the\x20demand\x20side\x20with\x20real\x20bounties.'},{'channel':'KOC\x20income-transparency\x20program','priority':0x4,'rationale':'5–8\x20mid-tier\x20creators\x20publishing\x20incumbent-platform\x20vs\x20WoW\x20income\x20with\x20auditable\x20addresses\x20after\x20≥20\x20merchants\x20exist.'}],'campaign_paradigm':'\x27$699\x20Arbitration\x20Clinic\x27\x20(M2–M3,\x20only\x20after\x20≥20\x20merchants):\x20publicly\x20resolve\x20sub-$700\x20disputes\x20on-chain,\x20weekly\x20micro-arbitration\x20documentary;\x20KOC\x20transparent-income\x20program\x20with\x20on-chain\x20settlement.','reward_orientation':'Referral\x20and\x20repeat-client\x20rewards;\x20KOC\x20payouts\x20auto-split\x20via\x20Allocation\x20after\x20verified\x20first-order\x20conversion.','discount_orientation':'No\x20fee-discounting\x20narrative\x20—\x20the\x20platform\x20fee\x20is\x20already\x20~0;\x20compete\x20on\x20escrow/arbitration\x20value.'},'conversion_retention':['Convert\x20prospects\x20by\x20showing\x20WIP\x20hashes\x20of\x20similar\x20completed\x20milestones.','Propose\x203–5\x20milestone\x20splits\x20in\x20the\x20first\x20proposal\x20—\x20it\x20signals\x20professionalism\x20and\x20de-risks\x20the\x20client.','Retain\x20via\x20Passport:\x20every\x20clean\x20completion\x20is\x20a\x20portable\x20credential,\x20explicitly\x20say\x20so\x20at\x20delivery.'],'unit_economics':{'formula':'extra\x20per\x20order\x20=\x20legacy\x20fee\x20rate\x20×\x20contract\x20value\x20+\x20avoided\x20connect/arbitration\x20fees\x20−\x20WoW\x20gas','anchors':[{'metric':'AOV\x20anchor\x20(milestone\x20contract)','value':'$1,000'},{'metric':'Legacy\x20take\x20rate','value':'Incumbent\x20talent\x20marketplace\x2015.4%\x20≈\x20$154\x20(+\x20client\x203–7.99%)'},{'metric':'Bid\x20entry\x20cost','value':'Connects\x20$48–120\x20first-order;\x20~60%\x20of\x20proposals\x20get\x20no\x20reply'},{'metric':'WoW\x20cost\x20(4–8\x20txns)','value':'gas\x20≈\x20$0.01–0.6;\x20arbitration\x20≈\x20$0.01\x20vs\x20$337.50/party'},{'metric':'Settlement\x20speed','value':'up\x20to\x2027\x20days\x20→\x20seconds\x20on\x20acceptance\x20signature'}],'target_margin_pct_min':0x28,'cost_floor':'Milestone\x20price\x20must\x20cover\x20the\x20quoted\x20hours\x20at\x20the\x20freelancer\x27s\x20minimum\x20hourly\x20rate;\x20no\x20unpaid\x20spec\x20work\x20beyond\x20one\x20proposal.','breakeven_note':'One\x20$1,000\x20contract\x20saves\x20≈$153\x20—\x20adoption\x20pays\x20on\x20the\x20first\x20escrowed\x20job.'},'success_patterns':[{'pattern':'Run\x20the\x20\x27$699\x20Arbitration\x20Clinic\x27\x20with\x20≥10\x20closed\x20micro-arbitrations\x20and\x20publish\x20weekly\x20documentaries.','evidence':'KPI:\x20avg\x20read\x20≥3,000/episode;\x20arbitrator\x20pool\x20≥15.'},{'pattern':'Sign\x205–8\x20mid-tier\x20KOCs\x20with\x20income-guarantee\x20top-ups,\x20settled\x20on-chain\x20after\x20conversion.','evidence':'KPI:\x20≥30\x20registered\x20freelancers\x20per\x20KOC;\x20on-chain\x20conversion\x20≥8%.'},{'pattern':'Standardize\x20the\x2014-day\x20silence\x20auto-acceptance\x20guard\x20on\x20every\x20service.','evidence':'Eliminates\x20the\x20\x27client\x20disappears,\x20funds\x20locked\x27\x20failure\x20mode\x20without\x20weakening\x20buyer\x20protection.'},{'pattern':'Turn\x20down\x20hourly-surveillance\x20clients\x20explicitly.','evidence':'Outcome\x20verification\x20philosophy\x20is\x20the\x20differentiation\x20against\x20Work\x20Diary\x20monitoring.'}],'red_lines':['Do\x20not\x20start\x20work\x20before\x20the\x20milestone\x20is\x20escrowed.','Do\x20not\x20promote\x20reputation\x20portability\x20(Passport)\x20before\x20the\x20issuance\x20UX\x20is\x20production-ready.','Never\x20bid\x20below\x20minimum-rate\x20floor\x20to\x20win\x20volume.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§5','wiki/market/K1/01\x20(freelance\x20industry\x20analysis)']},{'industry':'travel','benchmark':'Global\x20OTA\x20/\x20package-tour\x20incumbents','priority_tier':0x3,'launch_window':'M4+','pricing':{'default_model_id':'multi_segment_release','models':[{'id':'multi_segment_release','name':'Multi-leg\x20itinerary\x20with\x20per-segment\x20release','applicable_when':'Custom/multi-segment\x20packaged\x20trips\x20by\x20small\x20studios\x20(package-tour\x20archetype\x20fit\x2010/10).','upside':'segment_D1..DN\x20machine;\x20each\x20segment\x27s\x20WIP\x20releases\x20its\x20fee;\x20interrupted\x20segments\x20refund\x20in\x20one\x20transaction;\x20fund\x20waterfall\x20fully\x20auditable.','risks':'Sub-providers\x20(hotels/drivers)\x20need\x20not\x20be\x20on-chain\x20initially\x20—\x20the\x20agent\x20is\x20the\x20single\x20on-chain\x20counterparty;\x20adoption\x20bottleneck\x20is\x20why\x20travel\x20is\x20tier\x203.','wowok_levers':['Machine','Allocator','Treasury','Guard','WIP'],'recommended':!![]},{'id':'agent_single_custody','name':'Agent\x20single-counterparty\x20custody','applicable_when':'Downstream\x20suppliers\x20are\x20not\x20on-chain\x20yet.','upside':'Agent↔client\x20escrow\x20closes\x20the\x20trust\x20loop\x20alone;\x20supplier\x20participation\x20grows\x20with\x20network\x20effects.','risks':'Agent\x20must\x20hold\x20correct\x20licensing\x20and\x20fund\x20the\x20compensation\x20coverage.','wowok_levers':['Allocator','Treasury','CompensationFund','Arbitration']},{'id':'weather_guarantee','name':'Weather/condition-guarded\x20pricing','applicable_when':'Weather-sensitive\x20segments\x20can\x20reference\x20an\x20evidence\x20repository.','upside':'Auto-refund\x20triggers\x20via\x20quoted\x20guard\x20+\x20repository\x20oracle\x20—\x20a\x20feature\x20no\x20OTA\x20offers.','risks':'Guard\x20trigger\x20source\x20must\x20be\x20specified\x20and\x20tested\x20before\x20sale.','wowok_levers':['Guard','Allocator','Repository']}]},'postures':{'volume':{'posture':'volume','thesis':'Postpone;\x20volume\x20play\x20only\x20after\x20tier-1/2\x20Passport\x20network\x20lowers\x20cold-start\x20cost.','tradeoffs':'High\x20coordination\x20cost\x20across\x20sub-providers.','guardrails':['Never\x20sell\x20standard\x20standalone\x20flights/hotels\x20(weak\x20WoW\x20value)','Undelivered\x20segments\x20always\x20refundable\x20via\x20the\x20interrupted\x20path']},'balanced':{'posture':'balanced','thesis':'Pilot\x20with\x202–3\x20custom-trip\x20studios\x20on\x20single-counterparty\x20custody;\x20prove\x20the\x20waterfall\x20story.','tradeoffs':'Few\x20pilots,\x20heavy\x20case-building\x20effort\x20($10–15K\x20pilot\x20budget).','guardrails':['Fund\x20waterfall\x20visible\x20to\x20the\x20buyer\x20before\x20payment','Cancellation\x20policy\x20per\x20leg\x20declared\x20up\x20front']},'margin':{'posture':'margin','thesis':'Premium\x20bespoke\x20itineraries\x20priced\x20on\x20trust\x20architecture\x20and\x20transparent\x20waterfall,\x20not\x20OTA\x20discounting.','tradeoffs':'Small\x20high-AOV\x20audience.','guardrails':['Refundable\x20vs\x20non-refundable\x20legs\x20separated\x20explicitly','Never\x20commingle\x20undelivered-segment\x20funds\x20with\x20operating\x20cash']}},'competitor_watch':{'dimensions':['effective\x20commission\x20after\x20Preferred/Genius','waterfall\x20transparency','cancellation\x20terms\x20per\x20leg','downstream\x20refund\x20handling\x20(e.g.\x20EU261\x20gaps)','settlement\x20speed'],'cadence':'monthly','cadence_days':0x1e,'differentiation':['The\x20$2,000\x20waterfall\x20split\x20across\x20hotel/guide/agent\x20is\x20inspectable\x20before\x20purchase','Pre-event\x20isolation\x20vs\x20Thomas-Cook-style\x20post-hoc\x20relief']},'acquisition':{'channels':[{'channel':'Custom-trip\x20studio\x20direct\x20partnerships','priority':0x1,'rationale':'Only\x20segment\x20with\x2010/10\x20fit;\x202–3\x20pilot\x20studios.'},{'channel':'Travel-industry\x20failure\x20news\x20cycles','priority':0x2,'rationale':'Collapsed\x20tour\x20operators\x20/\x20pandemic\x20refund\x20stories\x20anchor\x20pre-isolation\x20demand.'},{'channel':'Waterfall/weather\x20demo\x20content','priority':0x3,'rationale':'Interactive\x20fund-split\x20and\x20auto-refund\x20demos.'}],'campaign_paradigm':'\x27Transparent\x20waterfall\x27\x20demo\x20($2,000\x20split\x20readable\x20on-chain)\x20+\x20weather-guard\x20auto-refund\x20demo;\x20$10–15K\x20for\x202–3\x20studio\x20pilots,\x20M4–M6.','reward_orientation':'Referral\x20commission\x20for\x20repeat/referral\x20custom\x20trips;\x20flash-sale\x20rewards\x20only\x20for\x20off-peak\x20clearance.','discount_orientation':'Early-bird\x20/\x20group\x20/\x20member\x20pricing\x20within\x20seasons;\x20never\x20discount\x20by\x20hiding\x20non-refundable\x20legs.'},'conversion_retention':['Sell\x20the\x20pre-trip\x20inspection\x20of\x20the\x20entire\x20fund\x20waterfall\x20as\x20the\x20core\x20asset.','Convert\x20with\x20the\x20interrupted-segment\x20one-transaction\x20refund\x20demo.','Re-book\x20via\x20itinerary\x20history\x20and\x20per-leg\x20transparency,\x20not\x20loyalty\x20points.'],'unit_economics':{'formula':'extra\x20per\x20trip\x20=\x20effective\x20OTA\x20commission\x20×\x20trip\x20value\x20−\x20(WoW\x20gas\x20across\x202×segments+3\x20txns)','anchors':[{'metric':'AOV\x20anchor\x20(5-segment\x20custom\x20trip)','value':'$2,000'},{'metric':'Effective\x20legacy\x20commission','value':'25–36%\x20≈\x20$350–720/trip'},{'metric':'WoW\x20cost','value':'gas\x20≈\x20$0.02–1'},{'metric':'Settlement\x20speed','value':'VCC\x202–6\x20weeks\x20→\x20per-segment\x20seconds'}],'target_margin_pct_min':0x23,'cost_floor':'Never\x20collect\x20funds\x20for\x20unbooked\x20legs\x20without\x20the\x20interrupted\x20refund\x20path;\x20compensation\x20coverage\x20sized\x20for\x20max\x20single-segment\x20value.','breakeven_note':'Gas\x20is\x20noise\x20against\x20$350–700\x20saved\x20per\x20trip;\x20the\x20binding\x20constraint\x20is\x20supplier\x20adoption,\x20not\x20economics.'},'success_patterns':[{'pattern':'Pilot\x202–3\x20custom-trip\x20studios\x20with\x20agent-only\x20custody\x20first.','evidence':'Avoids\x20the\x20sub-provider\x20on-chain\x20bottleneck\x20that\x20justifies\x20tier-3\x20timing.'},{'pattern':'Ship\x20the\x20interactive\x20$2,000\x20waterfall\x20visualization\x20as\x20the\x20sales\x20asset.','evidence':'Buys\x20on\x20chain-visible\x20split\x20—\x20unique\x20vs\x20every\x20OTA.'},{'pattern':'Use\x20a\x20weather\x20repository\x20guard\x20for\x20automatic\x20segment\x20refund\x20in\x20one\x20marketed\x20demo.','evidence':'Converts\x20an\x20abstract\x20\x27escrow\x27\x20claim\x20into\x20a\x20visible\x20guarantee.'}],'red_lines':['Do\x20not\x20enter\x20standard\x20flight/hotel\x20resale\x20—\x20WoW\x20value\x20is\x20weak\x20there.','Never\x20market\x20large\x20cross-period\x20custody\x20before\x20stablecoin\x20bridging\x20is\x20ready.','Cross-leg\x20responsibility\x20must\x20be\x20disclosed,\x20not\x20blurred.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§7','wiki/market/K1/01\x20(travel\x20industry\x20analysis)']},{'industry':'retail','benchmark':'Scale\x20marketplace\x20/\x20vertical\x20handmade\x20incumbents','priority_tier':0x3,'launch_window':'M4+','pricing':{'default_model_id':'receipt_confirmed_escrow','models':[{'id':'receipt_confirmed_escrow','name':'Escrow\x20released\x20on\x20confirmed\x20receipt','applicable_when':'Private-traffic\x20sellers\x20(DTC\x20site\x20/\x20community\x20commerce)\x20who\x20already\x20own\x20demand.','upside':'Funds\x20release\x20seconds\x20after\x20receipt\x20guard;\x20return_auth_guard\x20gates\x20fraudulent\x20returns;\x20provenance\x20via\x20repository\x20chain.','risks':'Zero-traffic\x20sellers\x20are\x20a\x20deliberate\x20mismatch\x20—\x20WoW\x20does\x20not\x20replace\x20marketplace\x20demand\x20generation.','wowok_levers':['Allocator','Guard','Repository','Arbitration','CompensationFund'],'recommended':!![]},{'id':'member_bundle_pricing','name':'Member/bundle\x20pricing\x20for\x20private\x20communities','applicable_when':'Community-commerce\x20sellers\x20with\x20repeat\x20purchase\x20cadence.','upside':'Spend-threshold\x20and\x20member\x20pricing\x20via\x20rewards\x20instead\x20of\x20platform\x20TACoS.','risks':'Bundles\x20must\x20still\x20be\x20escrowed\x20per\x20deliverable;\x20no\x20pre-shipment\x20release.','wowok_levers':['Reward','Allocator']}]},'postures':{'volume':{'posture':'volume','thesis':'Turn\x20existing\x20private-traffic\x20flow\x20into\x20escrow\x20GMV;\x20first-order\x20and\x20spend-threshold\x20rewards\x20maximize\x20repeat.','tradeoffs':'Thin\x20unit\x20margin\x20—\x20viable\x20only\x20because\x20gas\x20is\x20<$1\x20per\x20$1,000\x20GMV.','guardrails':['Receipt\x20confirmation\x20guard\x20never\x20bypassed','Compensation\x20fund\x20coverage\x20default\x203×\x20max\x20single\x20order\x20(=\x20MAX_INDEMNITY_MULTIPLE,\x20the\x20chain\x27s\x20hard\x20award\x20ceiling)']},'balanced':{'posture':'balanced','thesis':'Pilot\x205–8\x20private-domain\x20sellers;\x20use\x20the\x20gas-bill\x20livestream\x20as\x20the\x20core\x20proof\x20asset.','tradeoffs':'Moderate\x20growth\x20gated\x20by\x20existing\x20audience\x20size.','guardrails':['Return-auth\x20evidence\x20(dual\x20signature\x20/\x20logistics\x20repository)\x20required','Configurable\x20arbitration\x20voting\x20period']},'margin':{'posture':'margin','thesis':'Premium\x20provenance/proven-authenticity\x20selling:\x20repository\x20chain\x20+\x20escrow\x20as\x20anti-counterfeit\x20proof.','tradeoffs':'Niche\x20audience;\x20authenticity\x20verification\x20operations\x20cost.','guardrails':['Never\x20claim\x20authenticity\x20beyond\x20what\x20repository\x20evidence\x20proves','No\x20reserve-period\x20exposure\x20of\x20funds\x20to\x20the\x20seller\x20pre-receipt']}},'competitor_watch':{'dimensions':['headline\x20price','settlement\x20reserve\x20policy','return-fraud\x20handling','arbitration\x20default\x20rulings','provenance\x20evidence'],'cadence':'weekly','cadence_days':0x7,'differentiation':['Settlement\x20in\x20seconds\x20vs\x2014\x20days\x20+\x20DD+90\x20reserve\x20risk','Return\x20fraud\x20requires\x20dual-signed/logistics\x20evidence\x20instead\x20of\x20A-to-z\x20default\x20buyer\x20wins','\x27You\x20pay\x2030%\x20for\x20traffic\x20or\x20trust\x20—\x20we\x20provide\x20trust,\x20you\x20bring\x20traffic\x27']},'acquisition':{'channels':[{'channel':'Existing\x20private-traffic\x20sellers\x20(DTC,\x20community,\x20We-commerce)','priority':0x1,'rationale':'\x27Have\x20traffic,\x20trust\x20is\x20expensive\x27\x20is\x20the\x20filter;\x20zero-traffic\x20sellers\x20are\x20turned\x20away\x20at\x20intake.'},{'channel':'Fee-hike\x20refugee\x20targeting','priority':0x2,'rationale':'24.2%\x20fee-increase\x20victim\x20communities\x20on\x20incumbent\x20handmade\x20marketplaces.'},{'channel':'Live\x20gas-bill\x20comparison\x20events','priority':0x3,'rationale':'\x27$1,000\x20GMV\x20cost\x20teardown\x27:\x20same\x20shop,\x20WoW\x20vs\x20scale-marketplace\x20incumbent\x20$300–350.'}],'campaign_paradigm':'\x27$1,000\x20GMV\x20cost\x27\x20livestream\x20with\x20public\x20full-cycle\x20gas\x20accounting;\x20targeted\x20fee-hike\x20refugee\x20recruitment;\x20$6–10K\x20pilot\x20for\x205–8\x20sellers,\x20M4–M6.','reward_orientation':'First-order\x20discount\x20+\x20spend\x20cashback\x20+\x20spend-threshold\x20rewards\x20inside\x20the\x20owned\x20community.','discount_orientation':'Threshold/limited/member\x20discounts\x20only;\x20no\x20marketplace-style\x20bidding\x20wars.'},'conversion_retention':['Make\x20receipt-confirmation\x20the\x20one-tap\x20trust\x20moment;\x20show\x20release\x20seconds\x20later.','Re-purchase\x20via\x20spend\x20cashback\x20and\x20provenance\x20certificates.','Convert\x20return-averse\x20buyers\x20with\x20the\x20return-auth\x20evidence\x20flow\x20up\x20front.'],'unit_economics':{'formula':'extra\x20per\x20$1,000\x20GMV\x20=\x20legacy\x20combined\x20burden\x20−\x20WoW\x20gas\x20(4–6\x20txns)','anchors':[{'metric':'AOV\x20anchor\x20(private\x20domain)','value':'$50'},{'metric':'Legacy\x20combined\x20burden','value':'Scale-marketplace\x20incumbent\x2030–35%\x20≈\x20$300–350\x20per\x20$1,000\x20GMV'},{'metric':'WoW\x20cost\x20per\x20$1,000\x20GMV','value':'gas\x20≈\x20$0.01–0.5\x20(<\x20$1)'},{'metric':'Return\x20rate\x20/\x20fraud\x20share','value':'19.3%\x20returns\x20/\x209%\x20fraudulent\x20under\x20incumbent\x20flow'}],'target_margin_pct_min':0x14,'cost_floor':'Never\x20price\x20below\x20COGS\x20+\x20shipping\x20+\x20expected-return-provision;\x20fund\x20coverage\x203×\x20max\x20single\x20order\x20(=\x20MAX_INDEMNITY_MULTIPLE,\x20the\x20hard\x20award\x20ceiling).','breakeven_note':'Economics\x20work\x20at\x20almost\x20any\x20AOV;\x20traffic\x20availability\x20is\x20the\x20only\x20admission\x20criterion.'},'success_patterns':[{'pattern':'Use\x20the\x20honest-boundary\x20intake\x20questionnaire\x20to\x20reject\x20zero-traffic\x20sellers.','evidence':'Raises\x20conversion\x20quality;\x20WoW\x20does\x20not\x20sell\x20traffic\x20(the\x20incumbent\x27s\x20traffic-share\x20value\x20stays\x20with\x20the\x20incumbent).\x20'},{'pattern':'Run\x20the\x20public\x20\x27$1,000\x20GMV\x20gas\x20bill\x27\x20livestream\x20with\x20the\x20same\x20shop\x27s\x20orders.','evidence':'Contrasts\x20$300–350\x20incumbent\x20burden\x20vs\x20<$1\x20on-chain\x20cost.'},{'pattern':'Enforce\x20dual-signature/logistics\x20return\x20evidence\x20to\x20structurally\x20raise\x20fraud\x20cost.','evidence':'Targets\x20the\x209%\x20fraudulent\x20share\x20of\x20the\x2019.3%\x20return\x20rate.'},{'pattern':'Recruit\x20incumbent\x20fee-hike\x20refugees\x20directly\x20from\x20victim\x20communities.','evidence':'24.2%\x20unilateral\x20fee\x20increase\x20is\x20the\x20triggering\x20event.'}],'red_lines':['Never\x20promise\x20traffic\x20—\x20WoW\x20is\x20trust\x20infrastructure,\x20not\x20a\x20marketplace\x20demand\x20source.','No\x20auto-default\x20buyer-win\x20rulings;\x20arbitration\x20voting\x20period\x20must\x20be\x20configured.','Physical\x20authenticity\x20claims\x20require\x20repository\x20evidence.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§8','wiki/market/K1/01\x20(retail\x20industry\x20analysis)']},{'industry':'subscription','benchmark':'Creator\x20membership\x20/\x20direct\x20fan-subscription\x20/\x20app-store\x20IAP\x20incumbents','priority_tier':0x2,'launch_window':'M2–M4','pricing':{'default_model_id':'per_period_signed_charge','models':[{'id':'per_period_signed_charge','name':'Per-period\x20signed\x20charge\x20with\x20delivery\x20gate','applicable_when':'Creator\x20memberships,\x20newsletters,\x20indie\x20software\x20—\x20recurring\x20digital\x20value.','upside':'charge_guard_signer\x20requires\x20explicit\x20signature\x20every\x20period;\x20deliver_guard_wip\x20blocks\x20the\x20charge\x20when\x20no\x20value\x20was\x20delivered;\x20cancel\x20is\x20one\x20signature;\x20100%\x20Allocation\x20to\x20creator.','risks':'The\x20per-period\x20signature\x20is\x20deliberate\x20friction\x20—\x20sell\x20it\x20as\x20the\x20feature;\x20do\x20not\x20sneak\x20in\x20any\x20auto-renewal\x20path.','wowok_levers':['Guard','Allocator','Machine','Reward'],'recommended':!![]},{'id':'annual_prepaid_period_release','name':'Annual\x20prepay\x20released\x20per\x20period','applicable_when':'Loyal\x20fans\x20wanting\x20a\x20yearly\x20plan;\x20creator\x20wants\x20upfront\x20cash.','upside':'Annual\x20funds\x20escrow\x20and\x20release\x20monthly\x20to\x20the\x20creator\x20—\x20prepaid\x20but\x20protected\x20if\x20the\x20creator\x20stops.','risks':'Stoppage\x20refunds\x20for\x20undelivered\x20months\x20must\x20be\x20structurally\x20guaranteed.','wowok_levers':['Allocator','Guard']},{'id':'tiered_membership','name':'Tiered\x20membership\x20with\x20escalating\x20deliverables','applicable_when':'Creators\x20with\x20multiple\x20value\x20tiers\x20(membership-tier\x20style).','upside':'Each\x20tier\x20maps\x20to\x20its\x20own\x20delivery\x20guard;\x20upgrades/downgrades\x20take\x20effect\x20next\x20period\x20only.','risks':'Tier\x20deliverables\x20must\x20be\x20concrete\x20enough\x20for\x20the\x20delivery\x20guard\x20to\x20evaluate.','wowok_levers':['Machine','Guard','WIP']}]},'postures':{'volume':{'posture':'volume','thesis':'Subscriber\x20count\x20first\x20via\x20the\x20\x27signing\x20movement\x27\x20consumer\x20tool\x20and\x20first-month\x20pricing;\x20keep\x20100%\x20pass-through\x20as\x20the\x20wedge.','tradeoffs':'Conversion\x20funnel\x20includes\x20the\x20signature\x20friction\x20—\x20lean\x20into\x20it\x20as\x20qualification.','guardrails':['Never\x20reintroduce\x20auto-renewal\x20to\x20optimize\x20conversion','Delivery\x20gate\x20on\x20every\x20charge']},'balanced':{'posture':'balanced','thesis':'Balance\x20acquisition\x20(subscription\x20checkup\x20tool)\x20with\x20retention\x20(100%\x20arrival\x20day\x20rituals).','tradeoffs':'Moderate\x20growth;\x20investment\x20in\x20per-period\x20value\x20proof.','guardrails':['Fee\x20schedule\x20frozen\x20at\x20publish','Cancellation\x20one\x20signature,\x20no\x20retention\x20dark\x20patterns']},'margin':{'posture':'margin','thesis':'Fewer,\x20higher-paying\x20true\x20fans;\x20per-period\x20signing\x20filters\x20for\x20committed\x20members\x20and\x20supports\x20premium\x20tiers.','tradeoffs':'Smaller\x20list,\x20higher\x20ARPU.','guardrails':['No\x20IAP-style\x2030%\x20channel\x20accepted\x20—\x20direct\x20settlement\x20is\x20the\x20product','Stoppage\x20protection\x20advertised\x20and\x20enforced']}},'competitor_watch':{'dimensions':['take\x20rate\x20and\x20unilateral\x20change\x20history','charge\x20transparency','cancellation\x20click\x20count','stopped-creator\x20policy','time-to-payout'],'cadence':'weekly','cadence_days':0x7,'differentiation':['13\x20years\x20/\x20three\x20unilateral\x20incumbent\x20price\x20rises\x20are\x20structurally\x20impossible\x20(published\x20allocation\x20is\x20frozen)','Charge\x20without\x20delivery\x20cannot\x20pass\x20—\x20an\x20industry\x20blank','15-option\x20cancel\x20maze\x20→\x20one\x20signature\x20(FTC\x20$2.5B\x20settlement\x20context)']},'acquisition':{'channels':[{'channel':'Creator\x20communities\x20(Discord,\x20membership-platform\x20forums)','priority':0x1,'rationale':'Survival-line\x20creators\x20($131–180\x20median\x20monthly)\x20feel\x20the\x2010–20%\x20fee\x20directly\x20($2–5\x20per\x20subscriber).'},{'channel':'Newsletter\x20/\x20indie-dev\x20circles','priority':0x2,'rationale':'App-store\x20IAP\x2030%\x20+\x2075-day\x20payout\x20float\x20pain.'},{'channel':'Hacker\x20News\x20/\x20anti-dark-pattern\x20audience','priority':0x3,'rationale':'Values\x20alignment\x20beats\x20ad\x20spend.'}],'campaign_paradigm':'\x27Signing\x20Movement\x27\x20(M2–M4):\x20consumer-side\x20subscription\x20checkup\x20widget\x20(2.5×\x20spend\x20underestimate\x20/\x2042%\x20unused\x20data)\x20+\x20creator\x20\x27100%\x20arrival\x20day\x27\x20monthly\x20chain-receipt\x20posts;\x20$4–7K,\x20keyed\x20to\x20FTC/price-hike\x20news\x20cycles.','reward_orientation':'Loyalty\x20+\x20referral\x20rewards\x20only;\x20first-month\x20price\x20as\x20the\x20single\x20acquisition\x20discount.','discount_orientation':'Annual\x20/\x20team\x20/\x20upgrade\x20discounts\x20—\x20never\x20discount\x20by\x20hiding\x20renewal\x20terms.'},'conversion_retention':['Onboard\x20creators\x20by\x20migrating\x20one\x20tier\x20first\x20and\x20showing\x20the\x20per-period\x20release\x20receipts.','Retain\x20with\x20the\x20\x27unused\x20month\x27\x20guarantee:\x20no\x20delivery\x20→\x20no\x20charge.','Convert\x20fans\x20with\x20the\x20cancellation\x20demo\x20(15\x20options\x20→\x201\x20signature).'],'unit_economics':{'formula':'extra\x20per\x20year\x20=\x20legacy\x20take\x20rate\x20×\x20annual\x20subscription\x20revenue\x20−\x20WoW\x20gas\x20(2\x20txns/period)','anchors':[{'metric':'Monthly\x20anchor','value':'$100/month\x20($1,200/year)'},{'metric':'Legacy\x20take','value':'Incumbent\x20membership\x20platform\x2010%\x20≈\x20$10/month;\x20mobile\x20app-store\x20IAP\x2030%'},{'metric':'WoW\x20annual\x20cost\x20(12\x20periods)','value':'gas\x20≈\x20$0.03–2/year'},{'metric':'Payout\x20speed','value':'IAP\x20up\x20to\x2075-day\x20float\x20→\x20seconds\x20each\x20period'}],'target_margin_pct_min':0x3c,'cost_floor':'Creator\x20must\x20keep\x20delivering\x20per-period\x20value;\x20no\x20charge\x20passes\x20without\x20delivery\x20evidence.','breakeven_note':'≈$120/year\x20extra\x20on\x20a\x20single\x20$100/month\x20membership.'},'success_patterns':[{'pattern':'Ship\x20the\x20subscription-checkup\x20widget\x20before\x20creator\x20outreach.','evidence':'KPI:\x20≥20,000\x20checkups;\x20consumer\x20demand\x20pulls\x20creators.'},{'pattern':'Run\x20monthly\x20\x27100%\x20arrival\x20day\x27\x20with\x20public\x20chain\x20receipts.','evidence':'30\x20creators\x20onboard\x20target;\x20turns\x20payout\x20into\x20recurring\x20proof.'},{'pattern':'Publish\x20the\x20one-signature\x20cancellation\x20video.','evidence':'KPI:\x20≥100K\x20views\x20—\x20contrast\x20with\x20the\x204-page/6-click/15-option\x20incumbent\x20flow.'},{'pattern':'Capture\x20education\x20recorded-course\x20overflow\x20traffic.','evidence':'Routing\x20rule:\x20recorded\x20courses\x20→\x20subscription,\x20keeping\x20both\x20fits\x20clean.'}],'red_lines':['Never\x20implement\x20or\x20imply\x20auto-renewal\x20—\x20every\x20period\x20is\x20signed.','Never\x20charge\x20a\x20period\x20without\x20delivery\x20evidence.','No\x20rate\x20lock\x20claims\x20except\x20through\x20published\x20frozen\x20Allocation.'],'sources':['wiki/market/K1/05\x20(six-industry\x20commercialization\x20handbook)\x20§6','wiki/market/K1/01\x20(subscription\x20industry\x20analysis)']}];const STRATEGY_BY_INDUSTRY=new Map(INDUSTRY_STRATEGIES['map'](a=>[a['industry'],a]));export function registerIndustryStrategy(a){STRATEGY_BY_INDUSTRY['set'](a['industry'],a);}export function unregisterIndustryStrategy(a){const b=INDUSTRY_STRATEGIES['find'](c=>c['industry']===a);if(b)return STRATEGY_BY_INDUSTRY['set'](a,b),!![];return STRATEGY_BY_INDUSTRY['delete'](a);}export function getIndustryStrategy(a){return STRATEGY_BY_INDUSTRY['get'](a['toLowerCase']());}export function listIndustryStrategies(){return SUPPORTED_INDUSTRIES['map'](a=>STRATEGY_BY_INDUSTRY['get'](a))['filter'](a=>a!==undefined);}export function stageFromOrderCount(a){if(a>=0x32)return'optimization';if(a>=0x14)return'mature';if(a>=0x5)return'growing';return'cold_start';}export function recommendStrategy(a,b='balanced',c,d){const e=getIndustryStrategy(a);if(!e||e['pricing']['models']['length']===0x0)return null;const f=c??(d?.['order_count']!==undefined?stageFromOrderCount(d['order_count']):'cold_start');let g=e['pricing']['models']['find'](j=>j['id']===e['pricing']['default_model_id'])??e['pricing']['models'][0x0];if(b==='volume'){const j=e['pricing']['models']['find'](k=>/(?:^|_)(discount|trial|first|bundle|member)(?:_|$)/i['test'](k['id']))??g;g=j;}else{if(b==='margin'&&e['pricing']['models']['length']>0x1){const k=e['pricing']['models']['find'](l=>/premium|graded|tiered|guarantee|prepaid/i['test'](l['id']));if(k)g=k;}}const h=[],i=(l,m)=>{if(l&&h['length']<0x3)h['push'](m);};return i(f==='cold_start','Cold\x20start:\x20publish\x20the\x20service\x20with\x20the\x20\x22'+g['name']+'\x22\x20model\x20and\x20bound\x20Arbitration\x20+\x20compensation\x20fund\x20first;\x20seed\x20the\x20anchor\x20trust\x20case\x20before\x20discounting.'),d?.['dispute_rate']!==undefined&&i(d['dispute_rate']>0.05,'Dispute\x20rate\x20'+(d['dispute_rate']*0x64)['toFixed'](0x1)+'%\x20exceeds\x205%:\x20tighten\x20pre-delivery\x20evidence\x20guards\x20and\x20pause\x20promotions\x20until\x20closure\x20is\x20back\x20on-chain.'),d?.['repeat_customer_rate']!==undefined&&i(d['repeat_customer_rate']<0.25&&f!=='cold_start','Repeat\x20rate\x20'+(d['repeat_customer_rate']*0x64)['toFixed'](0x0)+'%\x20is\x20below\x20the\x2025%\x20K1\x20gate:\x20add\x20a\x20repeat/referral\x20reward\x20and\x20review\x20post-delivery\x20follow-up\x20rather\x20than\x20cutting\x20price.'),d?.['order_count']!==undefined&&i(b==='volume'&&d['order_count']>=0x5&&d['order_count']<0x32,'Growing\x20stage\x20under\x20volume\x20posture:\x20run\x20the\x20cataloged\x20acquisition\x20campaign\x20('+(e['acquisition']['channels'][0x0]?.['channel']??'top\x20channel')+')\x20with\x20reward—not\x20blanket\x20discount—orientation.'),i(h['length']===0x0,b+'\x20posture:\x20hold\x20the\x20\x22'+g['name']+'\x22\x20model,\x20run\x20the\x20'+e['competitor_watch']['cadence']+'\x20competitor\x20watch\x20('+e['competitor_watch']['dimensions']['slice'](0x0,0x3)['join'](',\x20')+'),\x20and\x20keep\x20all\x20guardrails:\x20'+e['postures'][b]['guardrails'][0x0]),{'industry':e['industry'],'posture':b,'stage':f,'pricing_model_id':g['id'],'pricing_model_name':g['name'],'actions':h['slice'](0x0,0x3)};}export function validateStrategyLevers(a){const b=[];for(const c of a['pricing']['models']){for(const d of c['wowok_levers']){!LEVER_WHITELIST['has'](d)&&b['push'](a['industry']+'.'+c['id']+':\x20unknown\x20WoW\x20lever\x20\x27'+d+'\x27');}}return b;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{query_events}from'@wowok/wowok';import{batchQueryObjectsByIds as
|
|
1
|
+
import{query_events}from'@wowok/wowok';import{batchQueryObjectsByIds as a187a}from'../graph/onchain/sdk-batch.js';function toStr(a){if(typeof a==='string')return a;if(typeof a==='number'||typeof a==='bigint')return String(a);return undefined;}async function collectObjectIdsByEvent(a,b,c,d,e){const f=new Set();let g=null,h=![];while(f['size']<d){const i=await query_events({'type':a,'cursor':g,'limit':0x32,'order':'descending','no_cache':e,'network':c}),j=i?.['data']??[];if(j['length']===0x0)break;for(const k of j){const l=b(k);if(l)f['add'](l);}h=!!(i?.['hasNextPage']&&i?.['nextCursor']);if(!h)break;g=i?.['nextCursor']??null;}return{'ids':Array['from'](f)['slice'](0x0,d),'hasMore':h};}export async function enumerateServices(a,b={}){const c=b['max_objects']??0xc8,{ids:d,hasMore:e}=await collectObjectIdsByEvent('ServiceEvent',i=>typeof i?.['object']==='string'?i['object']:undefined,a,c,b['no_cache']),f=await a187a(d,a,b['no_cache']),g=(b['location_any']??[])['map'](i=>i['toLowerCase']()),h=f['filter'](i=>(i?.['type']??'')==='Service')['filter'](i=>{if(g['length']===0x0)return!![];const j=typeof i?.['location']==='string'?i['location']['toLowerCase']():'';return g['some'](k=>j['includes'](k));})['map'](i=>({'object':String(i['object']),'name':typeof i['name']==='string'?i['name']:undefined,'location':typeof i['location']==='string'?i['location']:'','json':{...i,'compensation_fund':toStr(i['compensation_fund']),'sales':Array['isArray'](i['sales'])?i['sales']['map'](j=>({...j,'price':toStr(j['price'])})):[]}}));return{'services':h,'total_enumerated':h['length'],'has_more':e};}export async function enumerateDemands(a,b={}){const c=b['max_objects']??0xc8,{ids:d,hasMore:e}=await collectObjectIdsByEvent('DemandChangedEvent',h=>typeof h?.['object']==='string'?h['object']:undefined,a,c,b['no_cache']),f=await a187a(d,a,b['no_cache']),g=f['filter'](h=>(h?.['type']??'')==='Demand')['map'](h=>h);return{'demands':g,'total_enumerated':g['length'],'has_more':e};}export async function enumerateArbs(a,b={}){const c=b['max_objects']??0xc8,{ids:d,hasMore:e}=await collectObjectIdsByEvent('ArbEvent',i=>typeof i?.['arb']==='string'?i['arb']:undefined,a,c,b['no_cache']),f=await a187a(d,a,b['no_cache']),g=b['status']===undefined?undefined:Array['isArray'](b['status'])?b['status']:[b['status']],h=f['filter'](i=>(i?.['type']??'')==='Arb')['map'](i=>i)['filter'](i=>b['arbitration']?i['arbitration']===b['arbitration']:!![])['filter'](i=>b['order']?i['order']===b['order']:!![])['filter'](i=>g?g['includes'](Number(i['status'])):!![]);return{'arbs':h,'total_enumerated':h['length'],'has_more':e};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const MACHINE_SCENES=[{'id':'ecommerce_standard','name':'Standard\x20E-commerce\x20Flow','industry':['ecommerce'],'scenario':'Paid\x20(entry)\x20→\x20Ship\x20→\x20Receive\x20→\x20Complete','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Receive']},{'role':'merchant','permission_type':'Permission','involved_in':['Ship']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Ship','scene':'machine_forward_guard','purpose':'Verify\x20order\x20is\x20paid\x20(post-buy\x20state)'},{'forward':'Receive','scene':'machine_forward_guard','purpose':'Verify\x20identity'}],'allocation_integration':'Complete\x20node\x20->\x20Allocator\x20distributes\x20funds\x20to\x20merchant','special_constraints':['First\x20node\x20\x27Paid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Order\x27\x20or\x20\x27Pay\x27\x20nodes\x20needed\x20—\x20payment\x20is\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','All\x20nodes\x20after\x20entry\x20represent\x20order\x20processing\x20(ship,\x20receive,\x20complete),\x20NOT\x20payment\x20actions','Receipt\x20auto-triggers\x20fund\x20allocation'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M8']},{'id':'ecommerce_with_exceptions','name':'E-commerce\x20Flow\x20with\x20Exception\x20Branches','industry':['ecommerce'],'scenario':'Paid\x20(entry)\x20→\x20Ship\x20→\x20{Receive\x20→\x20Complete\x20|\x20Lost\x20(terminal)\x20|\x20Return\x20→\x20Refund}','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Receive','Return','Lost']},{'role':'merchant','permission_type':'Permission','involved_in':['Ship','Refund','Lost']}],'recommended_patterns':['P-M-SEQ','P-M-COMPETING'],'recommended_topology':['P-M-LINEAR','P-M-COMPETING'],'guard_requirements':[{'forward':'Lost','scene':'machine_forward_guard','purpose':'Dual-sig\x20to\x20confirm\x20lost'}],'allocation_integration':'Complete->merchant\x20|\x20Refund->customer\x20|\x20Lost->escrow\x20or\x20partial\x20refund\x20(Allocator\x20only).\x20Disputes\x20are\x20NOT\x20modeled\x20here\x20—\x20they\x20flow\x20through\x20Order\x20+\x20Arbitration\x20object\x20off-Machine.','special_constraints':['First\x20node\x20\x27Paid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Order\x27\x20or\x20\x27Pay\x27\x20nodes\x20needed\x20—\x20payment\x20is\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','Lost\x20node\x20threshold=2\x20(customer\x20+\x20merchant\x20dual-sig)\x20—\x20Lost\x20is\x20a\x20TERMINAL\x20node,\x20not\x20a\x20path\x20to\x20arbitration','Competing\x20Pair:\x20Receive\x20vs\x20Lost\x20vs\x20Return\x20(first-wins)','DISPUTE\x20INDEPENDENCE:\x20arbitration\x20is\x20NOT\x20a\x20Machine\x20node.\x20If\x20a\x20Lost-terminal\x20order\x20later\x20needs\x20dispute\x20resolution,\x20the\x20customer\x20opens\x20a\x20dispute\x20on\x20the\x20Arbitration\x20object\x20bound\x20to\x20the\x20Service\x20—\x20completely\x20off-Machine.\x20Arbitrators\x20live\x20in\x20Arbitration.voting_guard,\x20never\x20in\x20Permission\x20or\x20NamedOperator.','Refund\x20Allocation\x20must\x20use\x20sharing.who=OrderHolder\x20(refund\x20to\x20customer,\x20NOT\x20merchant)'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M6','M8']},{'id':'rental_standard','name':'Equipment\x20Rental\x20Flow','industry':['rental'],'scenario':'DepositPaid\x20(entry)\x20→\x20Pickup\x20→\x20In\x20Use\x20→\x20Return\x20→\x20Refund\x20Deposit','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Pickup','Return']},{'role':'merchant','permission_type':'Permission','involved_in':['Deliver','Refund\x20Deposit']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Pickup','scene':'machine_forward_guard','purpose':'Verify\x20deposit\x20paid\x20(post-buy\x20state)'},{'forward':'Return','scene':'machine_forward_guard','purpose':'Verify\x20equipment\x20condition'}],'allocation_integration':'Return\x20complete\x20->\x20deposit\x20refund\x20+\x20rental\x20fee\x20allocation','special_constraints':['First\x20node\x20\x27DepositPaid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20deposit\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Reserve\x27\x20or\x20\x27PayDeposit\x27\x20nodes\x20needed\x20—\x20reservation\x20and\x20payment\x20are\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','Deposit\x20and\x20rental\x20fee\x20separated\x20(two\x20Allocators)','Equipment\x20damage\x20verified\x20by\x20Guard\x20(retained_submission\x20stores\x20inspection\x20report)'],'first_node_semantics':'DepositPaid\x20—\x20deposit\x20has\x20been\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-deposit\x20state','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M8']},{'id':'dual_signature','name':'Dual-Signature\x20Consensus\x20Flow','industry':['ecommerce','service','logistics'],'scenario':'Critical\x20node\x20requires\x20customer\x20+\x20merchant\x20dual\x20confirmation\x20to\x20advance','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Confirm']},{'role':'merchant','permission_type':'Permission','involved_in':['Confirm']}],'recommended_patterns':['P-M-AND'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Both\x20Confirm','scene':'machine_forward_guard','purpose':'Verify\x20identity'}],'allocation_integration':'After\x20dual-sig\x20->\x20fund\x20allocation','special_constraints':['threshold=2,\x20two\x20Forwards\x20with\x20weight=1\x20each','Customer\x20Forward:\x20namedOperator=\x27\x27\x20(OrderHolder)','Merchant\x20Forward:\x20permissionIndex=2'],'first_node_semantics':'Initiated\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20awaiting\x20dual-sig\x20confirmation','mutable_after_publish':![],'m_rounds_focus':['M3','M4','M5']},{'id':'weighted_voting','name':'Weighted\x20Voting\x20Flow','industry':['governance','arbitration'],'scenario':'Multi-party\x20voting\x20with\x20unequal\x20weights,\x20accumulate\x20to\x20threshold\x20to\x20advance','participants':[{'role':'chief','permission_type':'Permission','involved_in':['Vote']},{'role':'member','permission_type':'NamedOperator','involved_in':['Vote']}],'recommended_patterns':['P-M-VOTE'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Vote','scene':'arbitration_voting_guard','purpose':'Verify\x20voting\x20eligibility\x20+\x20weight\x20extraction'}],'allocation_integration':'After\x20voting\x20complete\x20->\x20result\x20execution','special_constraints':['threshold=100,\x20chief\x20weight=60,\x20member\x20weight=40','GuardIdentifier\x20must\x20be\x20numeric\x20type\x20(extracts\x20weight)','Prevent\x20double-voting\x20(Guard\x20queries\x20arb.voted\x20has)'],'first_node_semantics':'VoteOpened\x20—\x20dispute\x20has\x20been\x20submitted\x20(order\x20already\x20paid\x20via\x20Service.buy());\x20Machine\x20starts\x20at\x20post-payment\x20dispute\x20state','mutable_after_publish':![],'m_rounds_focus':['M3','M4','M5']},{'id':'cross_machine_supply_chain','name':'Cross-Machine\x20Supply\x20Chain','industry':['manufacturing','logistics','retail'],'scenario':'Supplier\x20→\x20Manufacturer\x20→\x20Retailer,\x20each\x20link\x20is\x20independent\x20Machine','participants':[{'role':'supplier','permission_type':'Permission','involved_in':['Machine\x20A']},{'role':'manufacturer','permission_type':'Permission','involved_in':['Machine\x20B']},{'role':'retailer','permission_type':'Permission','involved_in':['Machine\x20C']}],'recommended_patterns':['P-M-CROSS-MACHINE'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Start\x20Manufacturing','scene':'machine_forward_guard','purpose':'Verify\x20supplier\x20Progress\x20completed'},{'forward':'Start\x20Retail','scene':'machine_forward_guard','purpose':'Verify\x20manufacturer\x20Progress\x20completed'}],'allocation_integration':'Each\x20Machine\x20has\x20independent\x20allocation','special_constraints':['Machine\x20B\x27s\x20Guard\x20uses\x20convert_witness=100\x20to\x20query\x20Machine\x20A\x27s\x20Progress','Cross-Machine\x20dependency\x20is\x20one-way\x20(no\x20cycles)','Each\x20Machine\x20must\x20be\x20published\x20independently','Dependency\x20verification:\x20indirect\x20—\x20creating\x20the\x20downstream\x20Progress\x20asserts\x20the\x20upstream\x20Machine\x20is\x20already\x20published\x20(see\x2006\x20§14.6)','Each\x20Machine\x20in\x20the\x20chain\x20starts\x20at\x20a\x20post-payment\x20state\x20(each\x20link\x27s\x20Service.buy()\x20handles\x20payment\x20independently)'],'first_node_semantics':'UpstreamVerified\x20—\x20order\x20has\x20been\x20paid\x20via\x20upstream\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20verifying\x20upstream\x20completion','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M8']},{'id':'privacy_delivery','name':'Privacy\x20Delivery\x20Flow','industry':['ecommerce','logistics'],'scenario':'Privacy\x20data\x20delivered\x20via\x20Messenger\x20(encrypted),\x20chain\x20stores\x20only\x20Proof','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Submit\x20Proof']},{'role':'merchant','permission_type':'Permission','involved_in':['Verify\x20Proof']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Submit\x20Proof','scene':'machine_forward_guard','purpose':'Verify\x20Proof\x20signature\x20+\x20timestamp'}],'allocation_integration':'After\x20Proof\x20verified\x20->\x20continue\x20flow','special_constraints':['Uses\x20tpl_forward_privacy_delivery_proof\x20template\x20(strict\x20mode)','retained_submission\x20preserves\x20Proof\x20address\x20for\x20arbitration\x20query','Proof\x20MUST\x20be\x20generated\x20by\x20messenger.submitChainProof','submitChainProof\x20about_address\x20=\x20peerAddress\x20(NOT\x20sessionId)','Guard\x20table\x20item\x20name\x20<64\x20BCS\x20bytes\x20(MAX_NAME_LENGTH=64)','First\x20node\x20represents\x20post-payment\x20state\x20—\x20payment\x20is\x20handled\x20by\x20Service.buy(),\x20not\x20Machine'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20awaiting\x20proof\x20submission','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M7']},{'id':'reward_incentive','name':'Reward\x20Incentive\x20Flow','industry':['ecommerce','subscription','education'],'scenario':'Trigger\x20Reward\x20claim\x20after\x20completing\x20specific\x20node','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Claim\x20Reward']},{'role':'platform','permission_type':'Permission','involved_in':['Issue\x20Reward']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Claim','scene':'reward_claim','purpose':'Verify\x20claim\x20eligibility\x20+\x20prevent\x20double-claim'}],'allocation_integration':'Reward\x20is\x20independent\x20of\x20Allocation','special_constraints':['Reward\x20Guard\x20must\x20prevent\x20double-claim\x20(R-X1-14\x20CRITICAL)','Uses\x20query_reward_record_count\x20==\x200\x20for\x20anti-reentry','Reward\x20object\x20must\x20be\x20already\x20created'],'first_node_semantics':'Eligible\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20customer\x20is\x20eligible\x20to\x20claim\x20reward','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M8']},{'id':'wonder_feedback','name':'Wonder\x20Feedback\x20Flow\x20(Post-Completion\x20Rating)','industry':['ecommerce','service','rental','subscription','education'],'scenario':'Paid\x20(entry)\x20→\x20...\x20→\x20Completed\x20→\x20{Wonder\x20|\x20NoWonder}\x20(rating\x20terminals)','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Wonder','NoWonder']},{'role':'merchant','permission_type':'Permission','involved_in':['Completed']}],'recommended_patterns':['P-M-SEQ','P-M-COMPETING'],'recommended_topology':['P-M-LINEAR','P-M-COMPETING'],'guard_requirements':[{'forward':'Praise','scene':'machine_forward_guard','purpose':'Verify\x20Progress.current\x20==\x20\x27Completed\x27\x20(rating\x20only\x20after\x20completion)'},{'forward':'Complain','scene':'machine_forward_guard','purpose':'Verify\x20Progress.current\x20==\x20\x27Completed\x27\x20(rating\x20only\x20after\x20completion)'}],'allocation_integration':'Completed\x20->\x20merchant\x20allocation\x20(terminal);\x20Wonder/NoWonder\x20are\x20reputation\x20terminals\x20—\x20no\x20fund\x20allocation.\x20Reward\x20object\x20(independent)\x20claims\x20fire\x20when\x20Progress.current\x20==\x20\x27wonder\x27','special_constraints':['Dispute\x20MUST\x20NOT\x20be\x20modeled\x20as\x20machine\x20nodes\x20—\x20disputes\x20flow\x20through\x20Order\x20+\x20Arbitration\x20object,\x20independent\x20of\x20this\x20Machine','Wonder/NoWonder\x20are\x20POST-completion\x20terminals:\x20order\x20is\x20already\x20settled\x20when\x20customer\x20rates','Both\x20Wonder\x20and\x20NoWonder\x20forwards\x20have\x20named_operator=\x27\x27\x20(OrderHolder)\x20—\x20rating\x20is\x20a\x20customer-only\x20action','Reward\x20object\x20(if\x20bound)\x20MUST\x20use\x20a\x20Guard\x20verifying\x20Progress.current\x20==\x20\x27wonder\x27\x20AND\x20order.holder\x20==\x20signer\x20—\x20no\x20Permission\x20needed\x20for\x20reward\x20claim','Competing\x20Pair:\x20Praise\x20vs\x20Complain\x20(first-wins;\x20one\x20rating\x20per\x20order)','No\x20dispute/refund/arbitration\x20nodes\x20in\x20this\x20Machine\x20—\x20those\x20flows\x20live\x20off-Machine'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20same\x20as\x20e-commerce\x20baseline','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M8']},{'id':'subscription','name':'Subscription\x20/\x20Membership\x20Flow','industry':['subscription','service'],'scenario':'Paid\x20(entry)\x20→\x20Activate\x20→\x20[Renew\x20|\x20Expire]\x20→\x20Cancel/End','participants':[{'role':'subscriber','permission_type':'OrderHolder','involved_in':['Renew','Cancel']},{'role':'provider','permission_type':'Permission','involved_in':['Activate','Pause']}],'recommended_patterns':['P-M-SEQ','P-M-COMPETING'],'recommended_topology':['P-M-LINEAR','P-M-COMPETING'],'guard_requirements':[{'forward':'Renew','scene':'machine_forward_guard','purpose':'Time-lock\x20verification'},{'forward':'Cancel','scene':'machine_forward_guard','purpose':'Verify\x20subscription\x20status'}],'allocation_integration':'Renew\x20->\x20fund\x20allocation\x20|\x20Expire\x20->\x20stop\x20service','special_constraints':['First\x20node\x20\x27Paid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20subscription\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Subscribe\x27\x20or\x20\x27Pay\x27\x20nodes\x20needed\x20—\x20subscription\x20and\x20payment\x20are\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','Time-lock:\x20context(Clock)\x20>=\x20progress.entry_time\x20+\x20duration','Competing\x20Pair:\x20Renew\x20vs\x20Expire\x20(first-wins)','Repository\x20records\x20subscription\x20status','Note:\x20Machine.consensus_repositories\x20is\x20declarative-only\x20and\x20NOT\x20auto-passed\x20to\x20Progress\x20(see\x2006\x20§14.4)'],'first_node_semantics':'Paid\x20—\x20subscription\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20awaiting\x20activation','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M6','M8']}];export const MACHINE_LEDGER_VERSION='1.0.0';export const MACHINE_SCENES_COUNT=MACHINE_SCENES['length'];export function findScene(a){return MACHINE_SCENES['find'](b=>b['id']===a);}export function getScenesByIndustry(a){return MACHINE_SCENES['filter'](b=>b['industry']['includes'](a));}export function getScenesByPattern(a){return MACHINE_SCENES['filter'](b=>b['recommended_patterns']['includes'](a));}export function getScenesByTopology(a){return MACHINE_SCENES['filter'](b=>b['recommended_topology']['includes'](a));}export function inferSceneFromFlow(a){const b=a['toLowerCase']();if(b['includes']('supply\x20chain')||b['includes']('cross-machine'))return findScene('cross_machine_supply_chain');if(b['includes']('wonder')||b['includes']('praise')||b['includes']('complain')||b['includes']('thumbs_up')||b['includes']('thumbs_down')||b['includes']('rating')||b['includes']('feedback')||b['includes']('praise')||b['includes']('complaint'))return findScene('wonder_feedback');if(b['includes']('reward')||b['includes']('incentive'))return findScene('reward_incentive');if(b['includes']('privacy')||b['includes']('messenger'))return findScene('privacy_delivery');if(b['includes']('vote')||b['includes']('weight'))return findScene('weighted_voting');if(b['includes']('dual-sig')||b['includes']('both\x20confirm'))return findScene('dual_signature');if(b['includes']('subscribe')||b['includes']('membership'))return findScene('subscription');if(b['includes']('rental')||b['includes']('deposit'))return findScene('rental_standard');if(b['includes']('lost')||b['includes']('return'))return findScene('ecommerce_with_exceptions');if(b['includes']('ecommerce')||b['includes']('order'))return findScene('ecommerce_standard');return undefined;}export function getImmutableScenes(){return MACHINE_SCENES['filter'](a=>!a['mutable_after_publish']);}export function getScenesWithGuardRequirements(){return MACHINE_SCENES['filter'](a=>a['guard_requirements']['length']>0x0);}export function getReferencedGuardSceneIds(){const a=new Set();for(const b of MACHINE_SCENES){for(const c of b['guard_requirements']){a['add'](c['scene']);}}return a;}export function listScenes(){return MACHINE_SCENES['map'](a=>({'id':a['id'],'name':a['name'],'scenario':a['scenario'],'patterns':a['recommended_patterns']}));}
|
|
1
|
+
export const MACHINE_SCENES=[{'id':'ecommerce_standard','name':'Standard\x20E-commerce\x20Flow','industry':['ecommerce'],'scenario':'Paid\x20(entry)\x20→\x20Ship\x20→\x20Receive\x20→\x20Complete','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Receive']},{'role':'merchant','permission_type':'Permission','involved_in':['Ship']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Ship','scene':'machine_forward_guard','purpose':'Verify\x20order\x20is\x20paid\x20(post-buy\x20state)'},{'forward':'Receive','scene':'machine_forward_guard','purpose':'Verify\x20identity'}],'allocation_integration':'Complete\x20node\x20->\x20Allocator\x20distributes\x20funds\x20to\x20merchant','special_constraints':['First\x20node\x20\x27Paid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Order\x27\x20or\x20\x27Pay\x27\x20nodes\x20needed\x20—\x20payment\x20is\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','All\x20nodes\x20after\x20entry\x20represent\x20order\x20processing\x20(ship,\x20receive,\x20complete),\x20NOT\x20payment\x20actions','Receipt\x20auto-triggers\x20fund\x20allocation'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M8']},{'id':'ecommerce_with_exceptions','name':'E-commerce\x20Flow\x20with\x20Exception\x20Branches','industry':['ecommerce'],'scenario':'Paid\x20(entry)\x20→\x20Ship\x20→\x20{Receive\x20→\x20Complete\x20|\x20Lost\x20(terminal)\x20|\x20Return\x20→\x20Refund}','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Receive','Return','Lost']},{'role':'merchant','permission_type':'Permission','involved_in':['Ship','Refund','Lost']}],'recommended_patterns':['P-M-SEQ','P-M-COMPETING'],'recommended_topology':['P-M-LINEAR','P-M-COMPETING'],'guard_requirements':[{'forward':'Lost','scene':'machine_forward_guard','purpose':'Dual-sig\x20to\x20confirm\x20lost'}],'allocation_integration':'Complete->merchant\x20|\x20Refund->customer\x20|\x20Lost->escrow\x20or\x20partial\x20refund\x20(Allocator\x20only).\x20Disputes\x20are\x20NOT\x20modeled\x20here\x20—\x20they\x20flow\x20through\x20Order\x20+\x20Arbitration\x20object\x20off-Machine.','special_constraints':['First\x20node\x20\x27Paid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Order\x27\x20or\x20\x27Pay\x27\x20nodes\x20needed\x20—\x20payment\x20is\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','Lost\x20node\x20threshold=2\x20(customer\x20+\x20merchant\x20dual-sig)\x20—\x20Lost\x20is\x20a\x20TERMINAL\x20node,\x20not\x20a\x20path\x20to\x20arbitration','Competing\x20Pair:\x20Receive\x20vs\x20Lost\x20vs\x20Return\x20(first-wins)','DISPUTE\x20INDEPENDENCE:\x20arbitration\x20is\x20NOT\x20a\x20Machine\x20node.\x20If\x20a\x20Lost-terminal\x20order\x20later\x20needs\x20dispute\x20resolution,\x20the\x20customer\x20opens\x20a\x20dispute\x20on\x20the\x20Arbitration\x20object\x20bound\x20to\x20the\x20Service\x20—\x20completely\x20off-Machine.\x20Arbitrators\x20live\x20in\x20Arbitration.voting_guard,\x20never\x20in\x20Permission\x20or\x20NamedOperator.','Refund\x20Allocation\x20must\x20use\x20sharing.who=OrderHolder\x20(refund\x20to\x20customer,\x20NOT\x20merchant)'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M6','M8']},{'id':'rental_standard','name':'Equipment\x20Rental\x20Flow','industry':['rental'],'scenario':'DepositPaid\x20(entry)\x20→\x20Pickup\x20→\x20In\x20Use\x20→\x20Return\x20→\x20Refund\x20Deposit','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Pickup','Return']},{'role':'merchant','permission_type':'Permission','involved_in':['Deliver','Refund\x20Deposit']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Pickup','scene':'machine_forward_guard','purpose':'Verify\x20deposit\x20paid\x20(post-buy\x20state)'},{'forward':'Return','scene':'machine_forward_guard','purpose':'Verify\x20equipment\x20condition'}],'allocation_integration':'Return\x20complete\x20->\x20deposit\x20refund\x20+\x20rental\x20fee\x20allocation','special_constraints':['First\x20node\x20\x27DepositPaid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20deposit\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Reserve\x27\x20or\x20\x27PayDeposit\x27\x20nodes\x20needed\x20—\x20reservation\x20and\x20payment\x20are\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','Deposit\x20and\x20rental\x20fee\x20separated\x20(two\x20Allocators)','Equipment\x20damage\x20verified\x20by\x20Guard\x20(retained_submission\x20stores\x20inspection\x20report)'],'first_node_semantics':'DepositPaid\x20—\x20deposit\x20has\x20been\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-deposit\x20state','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M8']},{'id':'dual_signature','name':'Dual-Signature\x20Consensus\x20Flow','industry':['ecommerce','service','logistics'],'scenario':'Critical\x20node\x20requires\x20customer\x20+\x20merchant\x20dual\x20confirmation\x20to\x20advance','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Confirm']},{'role':'merchant','permission_type':'Permission','involved_in':['Confirm']}],'recommended_patterns':['P-M-AND'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Both\x20Confirm','scene':'machine_forward_guard','purpose':'Verify\x20identity'}],'allocation_integration':'After\x20dual-sig\x20->\x20fund\x20allocation','special_constraints':['threshold=2,\x20two\x20Forwards\x20with\x20weight=1\x20each','Customer\x20Forward:\x20namedOperator=\x27\x27\x20(OrderHolder)','Merchant\x20Forward:\x20permissionIndex=2'],'first_node_semantics':'Initiated\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20awaiting\x20dual-sig\x20confirmation','mutable_after_publish':![],'m_rounds_focus':['M3','M4','M5']},{'id':'weighted_voting','name':'Weighted\x20Voting\x20Flow','industry':['governance','arbitration'],'scenario':'Multi-party\x20voting\x20with\x20unequal\x20weights,\x20accumulate\x20to\x20threshold\x20to\x20advance','participants':[{'role':'chief','permission_type':'Permission','involved_in':['Vote']},{'role':'member','permission_type':'NamedOperator','involved_in':['Vote']}],'recommended_patterns':['P-M-VOTE'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Vote','scene':'arbitration_voting_guard','purpose':'Verify\x20voting\x20eligibility\x20+\x20weight\x20extraction'}],'allocation_integration':'After\x20voting\x20complete\x20->\x20result\x20execution','special_constraints':['threshold=100,\x20chief\x20weight=60,\x20member\x20weight=40','GuardIdentifier\x20must\x20be\x20numeric\x20type\x20(extracts\x20weight)','Prevent\x20double-voting\x20(Guard\x20queries\x20arb.voted\x20has)'],'first_node_semantics':'VoteOpened\x20—\x20dispute\x20has\x20been\x20submitted\x20(order\x20already\x20paid\x20via\x20Service.buy());\x20Machine\x20starts\x20at\x20post-payment\x20dispute\x20state','mutable_after_publish':![],'m_rounds_focus':['M3','M4','M5']},{'id':'cross_machine_supply_chain','name':'Cross-Machine\x20Supply\x20Chain','industry':['manufacturing','logistics','retail'],'scenario':'Supplier\x20→\x20Manufacturer\x20→\x20Retailer,\x20each\x20link\x20is\x20independent\x20Machine','participants':[{'role':'supplier','permission_type':'Permission','involved_in':['Machine\x20A']},{'role':'manufacturer','permission_type':'Permission','involved_in':['Machine\x20B']},{'role':'retailer','permission_type':'Permission','involved_in':['Machine\x20C']}],'recommended_patterns':['P-M-CROSS-MACHINE'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Start\x20Manufacturing','scene':'machine_forward_guard','purpose':'Verify\x20supplier\x20Progress\x20completed'},{'forward':'Start\x20Retail','scene':'machine_forward_guard','purpose':'Verify\x20manufacturer\x20Progress\x20completed'}],'allocation_integration':'Each\x20Machine\x20has\x20independent\x20allocation','special_constraints':['Machine\x20B\x27s\x20Guard\x20uses\x20convert_witness=100\x20to\x20query\x20Machine\x20A\x27s\x20Progress','Cross-Machine\x20dependency\x20is\x20one-way\x20(no\x20cycles)','Each\x20Machine\x20must\x20be\x20published\x20independently','Dependency\x20verification:\x20indirect\x20—\x20creating\x20the\x20downstream\x20Progress\x20asserts\x20the\x20upstream\x20Machine\x20is\x20already\x20published\x20(see\x2006\x20§14.6)','Each\x20Machine\x20in\x20the\x20chain\x20starts\x20at\x20a\x20post-payment\x20state\x20(each\x20link\x27s\x20Service.buy()\x20handles\x20payment\x20independently)'],'first_node_semantics':'UpstreamVerified\x20—\x20order\x20has\x20been\x20paid\x20via\x20upstream\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20verifying\x20upstream\x20completion','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M8']},{'id':'privacy_delivery','name':'Privacy\x20Delivery\x20Flow','industry':['ecommerce','logistics'],'scenario':'Privacy\x20data\x20delivered\x20via\x20Messenger\x20(encrypted),\x20chain\x20stores\x20only\x20Proof','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Submit\x20Proof']},{'role':'merchant','permission_type':'Permission','involved_in':['Verify\x20Proof']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Submit\x20Proof','scene':'machine_forward_guard','purpose':'Verify\x20Proof\x20signature\x20+\x20timestamp'}],'allocation_integration':'After\x20Proof\x20verified\x20->\x20continue\x20flow','special_constraints':['Uses\x20tpl_forward_privacy_delivery_proof\x20template\x20(strict\x20mode)','retained_submission\x20preserves\x20Proof\x20address\x20for\x20arbitration\x20query','Proof\x20MUST\x20be\x20generated\x20by\x20messenger.submitChainProof','submitChainProof\x20about_address\x20=\x20peerAddress\x20(NOT\x20sessionId)','Guard\x20table\x20item\x20name\x20<64\x20BCS\x20bytes\x20(MAX_NAME_LENGTH=64)','First\x20node\x20represents\x20post-payment\x20state\x20—\x20payment\x20is\x20handled\x20by\x20Service.buy(),\x20not\x20Machine'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20awaiting\x20proof\x20submission','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M7']},{'id':'reward_incentive','name':'Reward\x20Incentive\x20Flow','industry':['ecommerce','subscription','education'],'scenario':'Trigger\x20Reward\x20claim\x20after\x20completing\x20specific\x20node','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Claim\x20Reward']},{'role':'platform','permission_type':'Permission','involved_in':['Issue\x20Reward']}],'recommended_patterns':['P-M-SEQ'],'recommended_topology':['P-M-LINEAR'],'guard_requirements':[{'forward':'Claim','scene':'reward_claim','purpose':'Verify\x20claim\x20eligibility\x20+\x20prevent\x20double-claim'}],'allocation_integration':'Reward\x20is\x20independent\x20of\x20Allocation','special_constraints':['Reward\x20Guard\x20must\x20prevent\x20double-claim\x20(R-X1-14\x20CRITICAL)','Uses\x20query_reward_record_count\x20==\x200\x20for\x20anti-reentry','Reward\x20object\x20must\x20be\x20already\x20created'],'first_node_semantics':'Eligible\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20customer\x20is\x20eligible\x20to\x20claim\x20reward','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M8']},{'id':'wonder_feedback','name':'Wonder\x20Feedback\x20Flow\x20(Post-Completion\x20Rating)','industry':['ecommerce','service','rental','subscription','education'],'scenario':'Paid\x20(entry)\x20→\x20...\x20→\x20Completed\x20→\x20{Wonder\x20|\x20NoWonder}\x20(rating\x20terminals)','participants':[{'role':'customer','permission_type':'OrderHolder','involved_in':['Wonder','NoWonder']},{'role':'merchant','permission_type':'Permission','involved_in':['Completed']}],'recommended_patterns':['P-M-SEQ','P-M-COMPETING'],'recommended_topology':['P-M-LINEAR','P-M-COMPETING'],'guard_requirements':[{'forward':'Praise','scene':'machine_forward_guard','purpose':'Verify\x20Progress.current\x20==\x20\x27Completed\x27\x20(rating\x20only\x20after\x20completion)'},{'forward':'Complain','scene':'machine_forward_guard','purpose':'Verify\x20Progress.current\x20==\x20\x27Completed\x27\x20(rating\x20only\x20after\x20completion)'}],'allocation_integration':'Completed\x20->\x20merchant\x20allocation\x20(terminal);\x20Wonder/NoWonder\x20are\x20reputation\x20terminals\x20—\x20no\x20fund\x20allocation.\x20Reward\x20object\x20(independent)\x20claims\x20fire\x20when\x20Progress.current\x20==\x20\x27wonder\x27','special_constraints':['Dispute\x20MUST\x20NOT\x20be\x20modeled\x20as\x20machine\x20nodes\x20—\x20disputes\x20flow\x20through\x20Order\x20+\x20Arbitration\x20object,\x20independent\x20of\x20this\x20Machine','Wonder/NoWonder\x20are\x20POST-completion\x20terminals:\x20order\x20is\x20already\x20settled\x20when\x20customer\x20rates','Both\x20Wonder\x20and\x20NoWonder\x20forwards\x20have\x20named_operator=\x27\x27\x20(OrderHolder)\x20—\x20rating\x20is\x20a\x20customer-only\x20action','Reward\x20object\x20(if\x20bound)\x20MUST\x20use\x20a\x20Guard\x20verifying\x20Progress.current\x20==\x20\x27wonder\x27\x20AND\x20order.holder\x20==\x20signer\x20—\x20no\x20Permission\x20needed\x20for\x20reward\x20claim','Competing\x20Pair:\x20Praise\x20vs\x20Complain\x20(first-wins;\x20one\x20rating\x20per\x20order)','No\x20dispute/refund/arbitration\x20nodes\x20in\x20this\x20Machine\x20—\x20those\x20flows\x20live\x20off-Machine'],'first_node_semantics':'Paid\x20—\x20order\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20same\x20as\x20e-commerce\x20baseline','mutable_after_publish':![],'m_rounds_focus':['M1','M2','M3','M5','M8']},{'id':'subscription','name':'Subscription\x20/\x20Membership\x20Flow','industry':['subscription','service'],'scenario':'Paid\x20(entry)\x20→\x20Activate\x20→\x20[Renew\x20|\x20Expire]\x20→\x20Cancel/End','participants':[{'role':'subscriber','permission_type':'OrderHolder','involved_in':['Renew','Cancel']},{'role':'provider','permission_type':'Permission','involved_in':['Activate','Pause']}],'recommended_patterns':['P-M-SEQ','P-M-COMPETING'],'recommended_topology':['P-M-LINEAR','P-M-COMPETING'],'guard_requirements':[{'forward':'Renew','scene':'machine_forward_guard','purpose':'Time-lock\x20verification'},{'forward':'Cancel','scene':'machine_forward_guard','purpose':'Verify\x20subscription\x20status'}],'allocation_integration':'Renew\x20->\x20fund\x20allocation\x20|\x20Expire\x20->\x20stop\x20service','special_constraints':['First\x20node\x20\x27Paid\x27\x20represents\x20post-payment\x20state\x20—\x20buy()\x20completes\x20subscription\x20payment\x20atomically\x20before\x20Progress\x20is\x20created','No\x20separate\x20\x27Subscribe\x27\x20or\x20\x27Pay\x27\x20nodes\x20needed\x20—\x20subscription\x20and\x20payment\x20are\x20handled\x20by\x20Service.buy(),\x20not\x20Machine','Time-lock:\x20context(Clock)\x20>=\x20progress.current_time\x20+\x20duration','Competing\x20Pair:\x20Renew\x20vs\x20Expire\x20(first-wins)','Repository\x20records\x20subscription\x20status','Note:\x20Machine.consensus_repositories\x20is\x20declarative-only\x20and\x20NOT\x20auto-passed\x20to\x20Progress\x20(see\x2006\x20§14.4)'],'first_node_semantics':'Paid\x20—\x20subscription\x20has\x20been\x20created\x20and\x20paid\x20via\x20Service.buy();\x20Machine\x20starts\x20at\x20post-payment\x20state,\x20awaiting\x20activation','mutable_after_publish':![],'m_rounds_focus':['M1','M3','M6','M8']}];export const MACHINE_LEDGER_VERSION='1.0.0';export const MACHINE_SCENES_COUNT=MACHINE_SCENES['length'];export function findScene(a){return MACHINE_SCENES['find'](b=>b['id']===a);}export function getScenesByIndustry(a){return MACHINE_SCENES['filter'](b=>b['industry']['includes'](a));}export function getScenesByPattern(a){return MACHINE_SCENES['filter'](b=>b['recommended_patterns']['includes'](a));}export function getScenesByTopology(a){return MACHINE_SCENES['filter'](b=>b['recommended_topology']['includes'](a));}export function inferSceneFromFlow(a){const b=a['toLowerCase']();if(b['includes']('supply\x20chain')||b['includes']('cross-machine'))return findScene('cross_machine_supply_chain');if(b['includes']('wonder')||b['includes']('praise')||b['includes']('complain')||b['includes']('thumbs_up')||b['includes']('thumbs_down')||b['includes']('rating')||b['includes']('feedback')||b['includes']('praise')||b['includes']('complaint'))return findScene('wonder_feedback');if(b['includes']('reward')||b['includes']('incentive'))return findScene('reward_incentive');if(b['includes']('privacy')||b['includes']('messenger'))return findScene('privacy_delivery');if(b['includes']('vote')||b['includes']('weight'))return findScene('weighted_voting');if(b['includes']('dual-sig')||b['includes']('both\x20confirm'))return findScene('dual_signature');if(b['includes']('subscribe')||b['includes']('membership'))return findScene('subscription');if(b['includes']('rental')||b['includes']('deposit'))return findScene('rental_standard');if(b['includes']('lost')||b['includes']('return'))return findScene('ecommerce_with_exceptions');if(b['includes']('ecommerce')||b['includes']('order'))return findScene('ecommerce_standard');return undefined;}export function getImmutableScenes(){return MACHINE_SCENES['filter'](a=>!a['mutable_after_publish']);}export function getScenesWithGuardRequirements(){return MACHINE_SCENES['filter'](a=>a['guard_requirements']['length']>0x0);}export function getReferencedGuardSceneIds(){const a=new Set();for(const b of MACHINE_SCENES){for(const c of b['guard_requirements']){a['add'](c['scene']);}}return a;}export function listScenes(){return MACHINE_SCENES['map'](a=>({'id':a['id'],'name':a['name'],'scenario':a['scenario'],'patterns':a['recommended_patterns']}));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getJudgmentDoc,factoryRulePack}from'../config/judgment.js';import{evaluateRuleBook,interpolate}from'../config/rule-engine.js';import{MAX_NODE_COUNT,USER_DEFINED_PERM_INDEX_START}from'./onchain-constants.js';import{findUnachievableThresholds}from'./machine-topology.js';const AUTO_FIXABLE=new Set(['R-M2-04','R-M4-01','R-M4-06']),RELATED_CONSTRAINT={'R-M1-01':'MC-S-01','R-M1-02':'MC-S-02','R-M1-04':'MC-S-03','R-M1-05':'MC-S-04','R-M1-06':'MC-S-05','R-M1-07':'MC-C-01','R-M1-08':'MC-C-02','R-M1-09':'MC-C-03','R-M1-10':'MC-C-04','R-M1-12':'MC-S-04','R-M1-13':'MC-S-04','R-M2-01':'MC-C-09','R-M2-04':'MC-C-11','R-M3-01':'MC-C-07','R-M3-02':'MC-C-08','R-M3-08':'MC-C-08','R-M4-01':'MC-P-02','R-M4-02':'MC-P-03'};export function machineRiskFacts(a,b){const c=a['pairs'],d=c['some'](
|
|
1
|
+
import{getJudgmentDoc,factoryRulePack}from'../config/judgment.js';import{evaluateRuleBook,interpolate}from'../config/rule-engine.js';import{MAX_NODE_COUNT,USER_DEFINED_PERM_INDEX_START}from'./onchain-constants.js';import{findUnachievableThresholds}from'./machine-topology.js';const AUTO_FIXABLE=new Set(['R-M2-04','R-M4-01','R-M4-06']),RELATED_CONSTRAINT={'R-M1-01':'MC-S-01','R-M1-02':'MC-S-02','R-M1-04':'MC-S-03','R-M1-05':'MC-S-04','R-M1-06':'MC-S-05','R-M1-07':'MC-C-01','R-M1-08':'MC-C-02','R-M1-09':'MC-C-03','R-M1-10':'MC-C-04','R-M1-12':'MC-S-04','R-M1-13':'MC-S-04','R-M2-01':'MC-C-09','R-M2-04':'MC-C-11','R-M3-01':'MC-C-07','R-M3-02':'MC-C-08','R-M3-08':'MC-C-08','R-M4-01':'MC-P-02','R-M4-02':'MC-P-03'};export function machineRiskFacts(a,b){const c=a['pairs'],d=c['some'](U=>U['prev_node']===''),e=new Set(c['map'](U=>U['prev_node'])['filter'](U=>U!=='')),f=new Set(a['nodes']['map'](U=>U['name'])),g=[...f]['filter'](U=>!e['has'](U)),h=g['length']>0x0,i=b['published_allocators']!==undefined,j=i&&b['published_allocators']['size']===0x0,k=g['length']>0x0&&j,l=new Set(c['filter'](U=>U['prev_node']==='')['map'](U=>U['next_node'])),m=new Set(c['map'](U=>U['prev_node'])['filter'](U=>U!==''));let n;for(const U of a['nodes']){if(!l['has'](U['name'])&&!m['has'](U['name'])){const V=c['some'](W=>W['next_node']===U['name']);if(!V){n=U['name'];break;}}}const o=a['nodes']['length'];let q,r;const s=new Map();for(const W of c){s['set'](W['next_node'],(s['get'](W['next_node'])??0x0)+0x1);}for(const [X,Y]of s){if(Y>0x28){q=X,r=Y;break;}}let t,u,v;for(const Z of c){if(Z['forwards']['length']>0x14){t=Z['prev_node'],u=Z['next_node'],v=Z['forwards']['length'];break;}}const w=a['nodes']['map'](a0=>a0['name']),x=w['filter']((a0,a1)=>w['indexOf'](a0)!==a1),y=[...new Set(x)]['join'](',\x20'),z=findUnachievableThresholds(c),A=z[0x0],B=A!=null&&A['threshold']>0x1&&A['distinct_forwards']<A['threshold'],C=A==null?'':'Pair\x20('+(A['prev_node']===''?'entry':A['prev_node'])+'\x20->\x20'+A['next_node']+'):\x20'+A['reason'],D=a0=>b['published_guards']?b['published_guards']['has'](a0):![];let E,F,G,H,I,J,K,L,M,N,O,P,Q;const R=new Set();for(const a0 of c){for(const a1 of a0['forwards']){if(a1['guard'])R['add'](a1['guard']);E===undefined&&a1['guard']&&!D(a1['guard'])&&(E=a1['name'],F=a1['guard']);G===undefined&&a1['retained_submission']&&!a1['guard']&&(G=a1['name']);const a2=a1['named_operator']!==undefined&&a1['named_operator']!==null,a3=a1['permission_index']!==undefined&&a1['permission_index']!==null;H===undefined&&!a2&&!a3&&!a1['guard']&&(H=a1['name'],I=a0['prev_node'],J=a0['next_node']),K===undefined&&a2&&a3&&(K=a1['name'],L=a0['prev_node'],M=a0['next_node']),N===undefined&&a1['permission_index']!==undefined&&a1['permission_index']!==null&&a1['permission_index']<USER_DEFINED_PERM_INDEX_START&&(N=a1['name'],O=a0['prev_node'],P=a0['next_node'],Q=a1['permission_index']);}}const S=[...R]['filter'](a4=>!D(a4)),T=S['join'](',\x20');return{'has_entry':d,'has_terminal':h,'terminal_nodes_display':g['join'](',\x20'),'no_allocator_published':j,'terminal_fund_exit_uncovered':k,...n===undefined?{}:{'first_orphaned_node_name':n},'node_count':o,'node_count_over_limit':o>MAX_NODE_COUNT,'max_node_count':MAX_NODE_COUNT,...q===undefined?{}:{'first_overpair_node_name':q,'first_overpair_count':r},...v===undefined?{}:{'first_overforward_prev':t,'first_overforward_next':u,'first_overforward_count':v},'duplicate_names_display':y,'unachievable_present':z['length']>0x0,'first_unachievable_is_multi':B,...A==null?{}:{'first_unachievable_detail':C},...E===undefined?{}:{'first_missing_guard_forward_name':E,'first_missing_guard_guard':F},...G===undefined?{}:{'first_retained_no_guard_forward_name':G},...H===undefined?{}:{'first_noperm_forward_name':H,'first_noperm_prev':I,'first_noperm_next':J},...K===undefined?{}:{'first_both_forward_name':K,'first_both_prev':L,'first_both_next':M},...N===undefined?{}:{'first_lowperm_forward_name':N,'first_lowperm_prev':O,'first_lowperm_next':P,'first_lowperm_index':Q},'min_perm_index':USER_DEFINED_PERM_INDEX_START,'mainnet_without_testnet':b['network']==='mainnet'&&!b['testnet_test_passed'],'missing_guards_display':T,'always_true':!![]};}function machineRuleBook(){const a=getJudgmentDoc()['rules']['domains']['machine'];if(!a)throw new Error('factory\x20rule\x20pack\x20\x27machine\x27\x20missing\x20—\x20broken\x20installation');return a['rules'];}function findingToMachineRisk(a){return{'rule_id':a['rule_id'],'name':a['title'],'severity':a['level'],'detail':a['evidence']??'','recommendation':a['mitigation']??'','auto_fixable':AUTO_FIXABLE['has'](a['rule_id']),...a['exposure']!=null?{'exposure':a['exposure']}:{}};}export const MACHINE_RISK_VERSION='1.0.0';export const MACHINE_RISK_RULES=((()=>{const a=factoryRulePack('machine');if(!a)return[];const b=machineRiskFacts({'nodes':[],'pairs':[]},{'network':'testnet','testnet_test_passed':!![],'published_services':new Set(),'published_guards':new Set(),'published_permissions':new Set(),'published_machines':new Set(),'published_arbitrations':new Set(),'published_rewards':new Set(),'published_allocators':new Set(),'published_repositories':new Set()});return a['rules']['map'](d=>{const e=d['cases'][0x0],f=RELATED_CONSTRAINT[d['rule_id']];return{'id':d['rule_id'],'name':e['title'],'category':d['dimension']??'structural','severity':e['level'],'description':interpolate(e['description'],b),'detection':d['trigger']===undefined?'':interpolate(d['trigger'],b),'recommendation':e['mitigation']??'','auto_fixable':AUTO_FIXABLE['has'](d['rule_id']),...f===undefined?{}:{'related_constraint':f}};});})());export function assessMachineRisks(a,b){const {findings:c}=evaluateRuleBook(machineRuleBook(),machineRiskFacts(a,b)),d=c['map'](findingToMachineRisk),e={'critical':d['filter'](h=>h['severity']==='critical')['length'],'high':d['filter'](h=>h['severity']==='high')['length'],'medium':d['filter'](h=>h['severity']==='medium')['length'],'low':d['filter'](h=>h['severity']==='low')['length']};let f='low';if(e['critical']>0x0)f='critical';else{if(e['high']>0x0)f='high';else{if(e['medium']>0x0)f='medium';else{if(e['low']>0x0)f='low';}}}let g;if(e['critical']>0x0)g='do_not_publish';else e['high']>0x2?g='fix_first':g='publish';return{'overall_level':f,'detected_risks':d,'summary':e,'recommendation':g};}
|