@wowok/agent-mcp 3.4.4 → 3.4.5
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/.build-stamp.json +3 -3
- package/dist/chain-semantics/composition-truth.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.js +1 -1
- package/dist/composition/emit-phases.js +1 -1
- package/dist/composition/guard-fill.js +1 -1
- package/dist/composition/input-normalize.js +1 -1
- package/dist/composition/materialize.js +1 -1
- package/dist/composition/mode-gates.js +1 -1
- package/dist/composition/param-disclosure.js +1 -1
- package/dist/composition/plan-run-store.js +1 -0
- package/dist/composition/reflux.js +1 -1
- package/dist/composition/role-bindings.js +1 -0
- package/dist/composition/shape-expand.js +1 -1
- package/dist/composition/supply-chain-emit.js +1 -1
- package/dist/config/judgment.d.ts +13 -25
- package/dist/config/judgment.js +1 -1
- package/dist/config/match-policy-file.js +1 -1
- package/dist/config/rule-engine.d.ts +4 -10
- package/dist/config/rule-engine.js +1 -1
- package/dist/config/template-params.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/extensions/capability.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/harness/forward-roster-preflight.js +1 -0
- package/dist/keeper/detectors.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arb-operation-face.js +1 -1
- package/dist/knowledge/arbitration-rail-verifier.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +17 -1
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/alloc_audit.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/allocation.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/arb.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/arbitration.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/bridge.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/contact.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/demand.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/graph.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/guard.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/machine.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/oracle.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/order.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/payment.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/permission.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/personal.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/plan.json +153 -33
- package/dist/knowledge/baselines/rules/plan.json.good +153 -33
- package/dist/knowledge/baselines/rules/plan.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/progress.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/proof.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/registrar.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/repository.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/resource.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/reward.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/service.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/treasury.json.good.sha256 +1 -0
- package/dist/knowledge/baselines/rules/util.json.good.sha256 +1 -0
- package/dist/knowledge/builtin-templates.d.ts +1 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/fee-param-bindings.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-binding-table.js +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +3 -2
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/knob-docs.js +1 -1
- package/dist/knowledge/machine-topology.js +1 -1
- package/dist/knowledge/param-schema.js +1 -1
- package/dist/knowledge/param-tiers.js +1 -1
- package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -1
- package/dist/knowledge/path-oracle/products/amazon.js +1 -1
- package/dist/knowledge/path-oracle/products/booking-com.js +1 -1
- package/dist/knowledge/path-oracle/products/contra.js +1 -1
- package/dist/knowledge/path-oracle/products/costco.js +1 -1
- package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -1
- package/dist/knowledge/path-oracle/products/etsy.js +1 -1
- package/dist/knowledge/path-oracle/products/gamefound.js +1 -1
- package/dist/knowledge/path-oracle/products/gofundme.js +1 -1
- package/dist/knowledge/path-oracle/products/klook.js +1 -1
- package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -1
- package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -1
- package/dist/knowledge/path-oracle/products/shansong.js +1 -1
- package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -1
- package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -1
- package/dist/knowledge/path-oracle/products/upwork.js +1 -1
- package/dist/knowledge/pattern-resolutions.js +1 -1
- package/dist/knowledge/protocol-facts.js +1 -1
- package/dist/knowledge/publish-gate.js +1 -1
- package/dist/knowledge/publish-surface-contract.js +1 -1
- 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/time-units.js +1 -0
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/radar-core.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/migration-planner.js +1 -1
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +110 -2
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/boundary-coercion.js +1 -0
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +56 -8
- package/dist/schema/call/order.d.ts +37 -10
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/permission.d.ts +210 -30
- package/dist/schema/call/personal.d.ts +56 -8
- package/dist/schema/call/progress.d.ts +28 -4
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +84 -12
- package/dist/schema/common/index.d.ts +14 -2
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/goal/index.d.ts +1 -1
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +168 -24
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +655 -22
- package/dist/schema/operations.js +1 -1
- package/dist/schema/persona/index.d.ts +22 -110
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/workflow/index.d.ts +4 -0
- package/dist/schema/workflow/index.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/benchmark_migration_operation.schema.json +1 -1
- package/dist/schemas/evaluation_operation.schema.json +1 -1
- package/dist/schemas/goal_operation.schema.json +1 -1
- package/dist/schemas/guard_rebind_replacement.schema.json +1 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/messenger_operation.schema.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +1 -1
- package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
- package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1
- package/dist/schemas/onchain_operations_contact.schema.json +1 -1
- package/dist/schemas/onchain_operations_demand.schema.json +1 -1
- package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -1
- package/dist/schemas/onchain_operations_machine.schema.json +1 -1
- package/dist/schemas/onchain_operations_order.schema.json +1 -1
- package/dist/schemas/onchain_operations_permission.schema.json +1 -1
- package/dist/schemas/onchain_operations_personal.schema.json +1 -1
- package/dist/schemas/onchain_operations_progress.schema.json +1 -1
- package/dist/schemas/onchain_operations_proof.schema.json +1 -1
- package/dist/schemas/onchain_operations_repository.schema.json +1 -1
- package/dist/schemas/onchain_operations_reward.schema.json +1 -1
- package/dist/schemas/onchain_operations_service.schema.json +1 -1
- package/dist/schemas/onchain_operations_treasury.schema.json +1 -1
- package/dist/schemas/persona_operation.schema.json +1 -1
- package/dist/schemas/time_convert.schema.json +1 -0
- package/dist/schemas/wip_file.schema.json +1 -1
- package/dist/schemas/workflow_operation.schema.json +1 -1
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/fund-rail-recipe.js +1 -1
- package/dist/tools/handlers/guard-rebind-replacement.js +1 -0
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/mark-namespace.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/settle-sweep.js +1 -1
- package/dist/tools/handlers/time-convert.js +1 -0
- package/dist/tools/handlers/wip.js +1 -1
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/local.js +1 -1
- package/dist/tools/registry/onchain.js +1 -1
- package/dist/tools/wip-verify-ledger.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
export const MS_PER_DAY=0x5265c00;export const MS_PER_HOUR=0x36ee80;export const TIME_GUARD_INSTANTIATIONS=[{'template':'retail/scale-marketplace','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'buyer\x20files\x20a\x20claim\x20only\x20inside\x20the\x20claim\x20window'},{'template':'retail/scale-marketplace','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20delivery'},{'template':'retail/scale-marketplace','guard_key':'return_window','direction':'upper','anchor':'delivered','multimount':!![],'days':'return_window_days','note':'return\x20request\x20inside\x20the\x20policy\x20window,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'retail/scale-marketplace','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/scale-marketplace','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20merchant\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'retail/warehouse-club','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'buyer\x20files\x20a\x20claim\x20only\x20inside\x20the\x20claim\x20window'},{'template':'retail/warehouse-club','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20delivery'},{'template':'retail/warehouse-club','guard_key':'return_window','direction':'upper','anchor':'delivered','multimount':!![],'days':'return_window_days','note':'return\x20request\x20inside\x20the\x20policy\x20window,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'retail/warehouse-club','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/warehouse-club','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20merchant\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'retail/preorder-deposit','guard_key':'balance_window_open','direction':'lower','anchor':'deposit_paid','days':'production_lead_days','note':'balance\x20window\x20opens\x20after\x20the\x20production\x20lead'},{'template':'retail/preorder-deposit','guard_key':'balance_deadline','direction':'lower','anchor':'balance_due','days':'balance_window_days','note':'balance-window\x20timeout'},{'template':'retail/preorder-deposit','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20delivery'},{'template':'retail/preorder-deposit','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/preorder-deposit','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20merchant\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'retail/restock-supply','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/restock-supply','guard_key':'restock_confirm_timeout','direction':'lower','anchor':'delivered','days':'restock_confirm_days','note':'restock\x20confirmation\x20timeout'},{'template':'retail/vertical-handmade','guard_key':'ship_timeout','direction':'lower','anchor':'confirmed','days':'processing_time_days','note':'unshipped\x20order\x20cancels\x20after\x20the\x20processing\x20time'},{'template':'retail/vertical-handmade','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/vertical-handmade','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20maker\x27s\x20silence\x20(F-TBPM9-O5-02)\x20—\x20counts\x20from\x20the\x20buyer\x27s\x20return-shipment\x20declaration\x20(row\x20re-anchored\x20stage2\x20#28\x20close:\x20the\x20deemed-receipt\x20clock\x20rides\x20the\x20TPL-10\x20return_in_transit\x20waypoint\x20since\x20#27)'},{'template':'freelance/enterprise-talent-market','guard_key':'review_settle_clock','direction':'lower','anchor':'reviewed','days':'settlement_delay_days','note':'settle\x20N\x20days\x20after\x20review'},{'template':'freelance/enterprise-talent-market','guard_key':'accept_timeout','direction':'lower','anchor':'delivered','days':'escrow_release_days','note':'keeper\x20auto-accepts\x20the\x20delivery\x20N\x20days\x20after\x20submission\x20(the\x20timeout\x20branch\x20of\x20the\x20dual-branch\x20acceptance)'},{'template':'freelance/enterprise-talent-market','guard_key':'review_window','direction':'upper','anchor':'accepted','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20acceptance'},{'template':'freelance/catalog-tiers','guard_key':'requirements_timeout_48h','direction':'lower','anchor':'in_progress','hours':'requirements_timeout_hours','note':'requirements\x20timeout'},{'template':'freelance/catalog-tiers','guard_key':'cancel_response_timeout','direction':'lower','anchor':'cancel_requested','hours':'response_timeout_hours','note':'keeper\x20auto-cancel\x20after\x20the\x20seller\x27s\x20silence'},{'template':'freelance/catalog-tiers','guard_key':'refund_response_timeout','direction':'lower','anchor':'refund_requested','hours':'refund_response_hours','note':'keeper\x20auto-cancel\x20after\x20the\x20seller\x27s\x20silence\x20on\x20a\x20refund\x20request'},{'template':'freelance/catalog-tiers','guard_key':'accept_timeout','direction':'lower','anchor':'delivered','days':'escrow_release_days','note':'auto-accept\x20N\x20days\x20after\x20delivery\x20(buyer\x20silence)'},{'template':'freelance/catalog-tiers','guard_key':'review_window','direction':'upper','anchor':'accepted','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20acceptance'},{'template':'freelance/catalog-tiers','guard_key':'review_settle_clock','direction':'lower','anchor':'reviewed','days':'settlement_delay_days','note':'settle\x20N\x20days\x20after\x20review'},{'template':'freelance/creator-zero-commission','guard_key':'accept_timeout','direction':'lower','anchor':'delivered','hours':'acceptance_timeout_hours','note':'delivery\x20acceptance\x20timeout'},{'template':'freelance/creator-zero-commission','guard_key':'defect_report_window','direction':'upper','anchor':'delivered','hours':'defect_report_window_hours','note':'defect\x20report\x20window\x20after\x20delivery'},{'template':'freelance/creator-zero-commission','guard_key':'review_window','direction':'upper','anchor':'accepted','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20acceptance'},{'template':'freelance/design-contest','guard_key':'submission_window','direction':'lower','anchor':'funded','days':'submission_window_days','note':'submissions\x20close\x20N\x20days\x20after\x20funding'},{'template':'freelance/design-contest','guard_key':'appeal_window','direction':'lower','anchor':'placement_provisional','days':'appeal_window_days','note':'placement\x20finalizes\x20after\x20the\x20appeal\x20window'},{'template':'freelance/design-contest','guard_key':'delivery_window','direction':'lower','anchor':'final_delivery','days':'delivery_window_days','note':'final\x20delivery\x20acceptance\x20timeout'},{'template':'freelance/design-contest','guard_key':'revision_span','direction':'upper','anchor':'final_delivery','days':'revision_span_days','note':'T-6:\x20revision\x20requests\x20close\x20N\x20days\x20after\x20the\x20FIRST\x20final-delivery\x20entry\x20(find=first\x20—\x20a\x20Redeliver\x20can\x20never\x20re-arm\x20it),\x20the\x20chain-enforceable\x20half\x20of\x20the\x20revision\x20cap'},{'template':'freelance/design-contest','guard_key':'review_window','direction':'upper','anchor':'settled','days':'review_window_days','note':'T-4:\x20the\x20sponsor\x27s\x20rating\x20closes\x20N\x20days\x20after\x20the\x20FIRST\x20settled\x20entry\x20(the\x20keeper\x20review-bounce\x20never\x20re-arms\x20it)'},{'template':'freelance/design-contest','guard_key':'return_window','direction':'upper','anchor':'settled','multimount':!![],'days':'return_window_days','note':'T-5:\x20the\x20sponsor\x20return\x20request\x20closes\x20N\x20days\x20after\x20the\x20FIRST\x20settled\x20entry,\x20mountable\x20from\x20settled\x20or\x20from\x20reviewed\x20(CSTC2-05\x20—\x20reviewing\x20never\x20kills\x20the\x20return\x20right;\x20the\x20pin-free\x20window\x20never\x20re-arms\x20on\x20the\x20review\x20detour)'},{'template':'freelance/design-contest','guard_key':'return_response_timeout','direction':'lower','anchor':'return_requested','days':'return_response_days','note':'T-5:\x20keeper\x20deems\x20the\x20return\x20APPROVED\x20after\x20the\x20merchant\x27s\x20silence\x20(the\x20F-TBPM9-O5-02/F-42\x20buyer-favouring\x20cure)\x20—\x20a\x20silent\x20merchant\x20cannot\x20hold\x20the\x20escrow\x20at\x20return_requested'},{'template':'rental/p2p-shortstay','guard_key':'confirm_expire','direction':'lower','anchor':'reserved','hours':'confirm_window_hours','note':'unconfirmed\x20booking\x20expires'},{'template':'rental/p2p-shortstay','guard_key':'claim_window_closed','direction':'lower','anchor':'claim_window','days':'claim_window_days','note':'no-claim\x20release\x20after\x20the\x20claim\x20window'},{'template':'rental/p2p-shortstay','guard_key':'guest_claim_window_open','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'guest\x20files\x20a\x20claim\x20inside\x20the\x20claim\x20window'},{'template':'rental/p2p-shortstay','guard_key':'appeal_window','direction':'upper','anchor':'claim_open','days':'appeal_window_days','note':'guest\x20appeal\x20window:\x20the\x20order\x20holder\x20may\x20send\x20a\x20contested\x20HOST\x20claim\x20to\x20arbitration\x20within\x20N\x20days\x20of\x20the\x20claim_open\x20entry\x20(order_payer\x20rail,\x20single\x20mount).\x20The\x20host\x20appeal\x20edge\x20carries\x20NO\x20chain\x20clock\x20—\x20an\x20upper\x20window\x20on\x20a\x20permission-index\x20rail\x20is\x20unsatisfiable\x20(upper\x20twins\x20resolve\x20to\x20order-holder\x20twins\x20only);\x20host-side\x20staleness\x20is\x20relieved\x20by\x20the\x20WithdrawClaim\x20void\x20escape'},{'template':'rental/p2p-shortstay','guard_key':'midstay_report_window','direction':'upper','anchor':'checked_in','hours':'midstay_report_hours','note':'guest\x20files\x20a\x20mid-stay\x20issue\x20report\x20within\x20N\x20hours\x20of\x20the\x20checked_in\x20entry'},{'template':'rental/institutional-longstay','guard_key':'return_notice','direction':'lower','anchor':'in_use','days':'return_notice_days','note':'return\x20notice\x20lead\x20time'},{'template':'rental/institutional-longstay','guard_key':'nofault_window','direction':'upper','anchor':'deposit_paid','multimount':!![],'days':'no_fault_exit_days','note':'no-fault\x20exit\x20within\x20no_fault_exit_days\x20of\x20signing,\x20on\x20both\x20buyer\x20exits\x20into\x20closed_cancel\x20(pre-handover\x20and\x20mid-lease\x20—\x20in_use\x20is\x20only\x20entered\x20from\x20deposit_paid,\x20whose\x20entry\x20IS\x20the\x20signing)'},{'template':'rental/institutional-longstay','guard_key':'review_window','direction':'upper','anchor':'inspected','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20the\x20passing\x20inspection'},{'template':'rental/institutional-longstay','guard_key':'review_elapsed','direction':'lower','anchor':'reviewed','days':'review_window_days','note':'tenant\x20self-completion\x20(review_pass_self)\x20opens\x20after\x20another\x20review_window_days\x20on\x20the\x20REVIEWED\x20entry\x20—\x20BK-04\x20symmetry:\x20the\x20merchant\x20pass\x20rail\x20carries\x20no\x20upward\x20window\x20(identity-carrying\x20twin),\x20so\x20a\x20stalled\x20operator\x20can\x20never\x20strand\x20a\x20reviewer\x20(same\x20buyer-side\x20opening-lock\x20family\x20as\x20return_self)'},{'template':'rental/institutional-longstay','guard_key':'lease_end_return','direction':'lower','anchor':'in_use','days':'lease_term_days','note':'tenant\x20self-service\x20return\x20opens\x20N\x20days\x20after\x20the\x20in_use\x20entry\x20(handover)\x20—\x20RETURN-STRAND\x20cure:\x20past\x20the\x20term,\x20the\x20return\x20is\x20the\x20tenant\x27s\x20RIGHT\x20(the\x20merchant\x20rail\x20never\x20gets\x20an\x20upward\x20window\x20—\x20TIME_GUARD\x20doctrine)'},{'template':'rental/institutional-longstay','guard_key':'handover_deadline','direction':'lower','anchor':'deposit_paid','days':'handover_deadline_days','note':'tenant\x20self-void\x20into\x20the\x20full-refund\x20rail\x20after\x20the\x20handover\x20deadline\x20passes\x20unfulfilled\x20(measured\x20from\x20SIGNING\x20—\x20the\x20deposit_paid\x20entry\x20is\x20the\x20signing\x20moment;\x20INV-ZR-1:\x20a\x20dead-end\x20deposit_paid\x20welds\x20the\x20pool)'},{'template':'rental/institutional-longstay','guard_key':'objection_window','direction':'upper','anchor':'inspected','hours':'objection_window_hours','note':'TenantObjection\x20files\x20only\x20INSIDE\x20the\x20window\x20(az3\x20F-03\x20/\x20bkd8\x20BK-04\x20closing\x20leg)'},{'template':'rental/institutional-longstay','guard_key':'objection_elapsed','direction':'lower','anchor':'inspected','hours':'objection_window_hours','note':'DefaultAcceptance\x20opens\x20AFTER\x20the\x20window\x20lapses\x20—\x20silence\x20settles\x20the\x20inspection\x20verdict\x20on\x20chain'},{'template':'travel/destination-experience','guard_key':'free_cancel','direction':'upper','anchor':'paid','hours':'free_cancel_hours','note':'free\x20cancellation\x20window'},{'template':'travel/destination-experience','guard_key':'poststay_claim_window','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'post-stay\x20claim\x20window'},{'template':'travel/destination-experience','guard_key':'release_no_claim_clock','direction':'lower','anchor':'claim_window','days':'claim_window_days','note':'no-claim\x20release\x20after\x20the\x20claim\x20window'},{'template':'delivery/on-demand-errand','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'delivered','hours':'auto_confirm_hours','note':'auto-confirm\x20N\x20hours\x20after\x20delivery'},{'template':'delivery/on-demand-errand','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','hours':'claim_window_hours','note':'claim\x20window'},{'template':'delivery/on-demand-errand','guard_key':'return_request','direction':'upper','anchor':'delivered','hours':'return_window_hours','note':'after-sales\x20return\x20request\x20closes\x20N\x20hours\x20after\x20the\x20delivered\x20FIRST\x20entry'},{'template':'delivery/on-demand-errand','guard_key':'cancel_no_capacity','direction':'lower','anchor':'assigned','hours':'dispatch_window_hours','note':'dispatch\x20timeout\x20—\x20penalty-free\x20platform\x20force-cancel\x20(INV-SS-1)'},{'template':'delivery/restaurant-marketplace','guard_key':'return_request','direction':'upper','anchor':'delivered','hours':'return_window_hours','note':'after-sales\x20return\x20request\x20closes\x20N\x20hours\x20after\x20the\x20delivered\x20FIRST\x20entry'},{'template':'group_buy/leader-sourced-community','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','hours':'claim_window_hours','note':'buyer\x20files\x20a\x20claim\x20only\x20inside\x20the\x20claim\x20window'},{'template':'group_buy/leader-sourced-community','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20leader\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'group_buy/platform-supplied-pickup','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20point\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'crowdfunding/reward-campaign-fulfillment','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20project\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'subscription/delivery-membership','guard_key':'period_end','direction':'lower','anchor':'active','days':'period_days','note':'membership\x20period\x20clock:\x20active\x20entry\x20+\x20period_days\x20before\x20the\x20keeper\x20may\x20complete'},{'template':'subscription/creator-membership','guard_key':'period_expiry','direction':'lower','anchor':'delivered','multimount':!![],'days':'period_days','plus_days':'grace_days','note':'period\x20expiry\x20=\x20delivery\x20+\x20period_days\x20+\x20grace_days,\x20on\x20every\x20keeper\x20lapse'},{'template':'subscription/direct-fan-subscription','guard_key':'period_expiry','direction':'lower','anchor':'delivered','multimount':!![],'days':'period_days','plus_days':'grace_days','note':'period\x20expiry\x20=\x20delivery\x20+\x20period_days\x20+\x20grace_days,\x20on\x20every\x20keeper\x20lapse'},{'template':'education/live-class-cohort','guard_key':'review_window','direction':'upper','anchor':'completed_ready','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20completion\x20readiness'},{'template':'education/mooc-single-course','guard_key':'review_window','direction':'upper','anchor':'certified','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20certification'},{'template':'subscription/creator-membership','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20period\x20delivery'},{'template':'subscription/direct-fan-subscription','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20period\x20delivery\x20—\x20keep\x20period_days\x20+\x20grace_days\x20>\x20review_window_days\x20or\x20the\x20keeper\x20expire\x20kills\x20the\x20open\x20window'},{'template':'subscription/delivery-membership','guard_key':'claim_window_open','direction':'lower','anchor':'active','days':'dispute_window_days','note':'the\x20claim\x20window\x20OPENS\x20dispute_window_days\x20after\x20the\x20active\x20entry\x20(the\x20bounded\x20lead-in;\x20keeper-mounted\x20on\x20the\x201002\x20slot,\x20the\x20opening\x20twin\x20ships\x20no\x20signer\x20leg)'},{'template':'subscription/delivery-membership','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','days':'dispute_window_days','note':'dispute\x20filing\x20INSIDE\x20the\x20claim\x20window\x20—\x20closes\x20dispute_window_days\x20after\x20the\x20window\x20entry\x20(the\x20bounded\x20lead-in\x27s\x20other\x20bound)'},{'template':'retail/preorder-deposit','guard_key':'return_window_presale','direction':'upper','anchor':'delivered','multimount':!![],'days':'return_window_days','note':'return\x20requested\x20within\x20N\x20days\x20of\x20delivery,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'rental/p2p-shortstay','guard_key':'review_window','direction':'upper','anchor':'checked_out','multimount':!![],'days':'review_window_days','note':'review\x20within\x20N\x20days\x20of\x20checkout,\x20including\x20once\x20the\x20claim\x20window\x20has\x20opened'},{'template':'education/mooc-single-course','guard_key':'return_window','direction':'upper','anchor':'paid','multimount':!![],'days':'refund_window_days','note':'refund\x20requested\x20within\x20N\x20days\x20of\x20purchase,\x20from\x20any\x20pre-delivery\x20stage'},{'template':'retail/scale-marketplace','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','days':'settlement_days','plus_days':['reserve_days','return_window_days'],'note':'settlement\x20opens\x20after\x20the\x20MERGED\x20lock:\x20settlement_days\x20+\x20reserve_days\x20+\x20return_window_days\x20(the\x20declaration\x20settlement_window_merge;\x2014\x20+\x207\x20+\x2030\x20=\x2051\x20days\x20by\x20default)\x20—\x20the\x20release\x20cannot\x20fire\x20while\x20the\x20return\x20window\x20can\x20still\x20draw\x20the\x20escrow'},{'template':'retail/warehouse-club','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','days':'settlement_delay_days','note':'settlement\x20opens\x20N\x20days\x20after\x20the\x20claim\x20window\x20(coupled\x20to\x20the\x20return\x20window)'},{'template':'retail/preorder-deposit','guard_key':'settle_window_gate','direction':'lower','anchor':'delivered','multimount':!![],'days':'settlement_days','note':'balance\x20settlement\x20opens\x20N\x20days\x20after\x20delivery,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'retail/vertical-handmade','guard_key':'settle_clock','direction':'lower','anchor':'delivered','multimount':!![],'days':'settlement_delay_days','note':'settlement\x20opens\x20N\x20days\x20after\x20delivery,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'delivery/on-demand-errand','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','hours':'settle_hours','note':'settlement\x20opens\x20N\x20hours\x20after\x20the\x20claim\x20window'},{'template':'group_buy/leader-sourced-community','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','hours':'settle_hours','note':'settlement\x20opens\x20N\x20hours\x20after\x20the\x20claim\x20window,\x20past\x20the\x20after-sales\x20track'},{'template':'group_buy/leader-sourced-community','guard_key':'claim_window_open','direction':'lower','anchor':'delivered','hours':'claim_window_open_min_hold_hours','note':'claim\x20window\x20opens\x20N\x20hours\x20after\x20delivery\x20(the\x20buyer\x27s\x20dispute\x20clock\x20cannot\x20start\x20at\x20the\x20delivery\x20instant)'}];export const TWIN_PARAM={'days':'claim_window_days','hours':'duration_ms'};export function twinFor(a,b){if(b==='days')return a==='upper'?'tpl_time_window_upper_progress_days':'tpl_time_lock_progress_days';return a==='upper'?'tpl_time_window_upper':'tpl_time_lock_progress';}export const MULTI_MOUNT_TWIN='tpl_time_window_upper_history_days';export const MULTI_MOUNT_OPENING_TWIN='tpl_time_lock_history_days';export function multiMountTwin(a){return a==='upper'?MULTI_MOUNT_TWIN:MULTI_MOUNT_OPENING_TWIN;}export function unitScale(a){return a==='days'?0x1:MS_PER_HOUR;}const BY_SPEC=new Map();for(const row of TIME_GUARD_INSTANTIATIONS)BY_SPEC['set'](row['template']+'\x00'+row['guard_key'],row);export function timeInstantiationFor(a,b){return BY_SPEC['get'](a+'\x00'+b);}export function patternDefaultResolution(a,b){const c=timeInstantiationFor(a,b);if(c===undefined)return undefined;const d=c['days']!==undefined?'days':'hours';if(c['multimount']===!![])return{'kind':'template','template_id':multiMountTwin(c['direction']),'params':{'anchor_node':c['anchor']}};return{'kind':'template','template_id':twinFor(c['direction'],d),'params':{'expected_node':c['anchor']}};}export function msKnobOf(a){if(/_days$/['test'](a))return a['slice'](0x0,-'_days'['length'])+'_ms';if(/_hours$/['test'](a))return a['slice'](0x0,-'_hours'['length'])+'_ms';return undefined;}export function timeWindowMsResolution(a,b,c,d){const e=timeInstantiationFor(a,b);if(e===undefined||e['days']===undefined||e['multimount']===!![])return undefined;const f=msKnobOf(e['days']);if(f===undefined)return undefined;const g=c[f]??d?.[f];if(g===undefined||g===null)return undefined;return{'kind':'template','template_id':twinFor(e['direction'],'hours'),'params':{'expected_node':e['anchor']}};}function mountInfo(a,b){const c=[];for(const d of a['machine_shape']??[]){const f=d['from']??[];for(const g of f){const h=typeof g==='string'?{'prev':g}:g;if(h['guard_key']!==b)continue;const i=h['operator']??d['operator']??(h['prev']===''?'order_payer':'merchant');c['push']({'prev':h['prev']??'','operator':i});}}return c;}export const IDENTITY_PATTERN='pattern.identity_check_order_holder';export const IDENTITY_TWIN='tpl_forward_order_holder';export const IDENTITY_RECOVER_RAIL_TWIN='tpl_allocator_node_gate_recover';export const IDENTITY_REFUND_RAIL_TWIN='tpl_allocator_identity_set_order_holder';function railTracks(a,b){return(a['allocator']?.['rows']??[])['filter'](c=>c['guard_key']===b)['map'](c=>c['track']??'');}function hasAwardRailSibling(a,b){return a['guards']['some'](c=>{if(c['template_id']===IDENTITY_RECOVER_RAIL_TWIN)return!![];const d=c['key'];if(d===undefined||d===b)return![];if(!/recover|award/i['test'](d))return![];if(!/pattern\./i['test'](c['template_id']))return![];return edgeMounts(a,d)['length']===0x0&&railTracks(a,d)['length']>0x0;});}function edgeMounts(a,b){return mountInfo(a,b);}export function identitySkipReason(a,b){if(b['template_id']!==IDENTITY_PATTERN)return'not\x20an\x20identity\x20design';if(b['key']===undefined)return'declared\x20without\x20a\x20key:\x20it\x20names\x20a\x20policy,\x20not\x20a\x20rail';const c=b['key'],d=railTracks(a,c),e=edgeMounts(a,c);if(e['length']===0x0){if(d['length']===0x0)return'no\x20mount\x20in\x20the\x20declared\x20graph';if(/recover|award/i['test'](c))return undefined;if(/refund/i['test'](c)&&d['every'](g=>/refund/i['test'](g))){if(hasAwardRailSibling(a,c))return'rail-bound\x20refund\x20next\x20to\x20an\x20award/recover\x20rail:\x20the\x20order-holder\x20refund\x20set\x20is\x20node-free,\x20so\x20instantiating\x20both\x20gives\x20one\x20escrow\x20two\x20live\x20fund\x20exits\x20(RAIL-03)\x20—\x20legal\x20but\x20a\x20merchant\x20choice\x20(disclosed\x20double\x20collection),\x20resolve\x20the\x20refund\x20rail\x20explicitly';return undefined;}return'bound\x20to\x20an\x20allocator\x20row\x20only:\x20no\x20executable\x20twin\x20matches\x20this\x20key/track\x20pair\x20(a\x20settlement\x20rail\x20asks\x20a\x20different\x20question)';}if(d['length']>0x0)return'also\x20bound\x20to\x20an\x20allocator\x20row:\x20one\x20design\x20cannot\x20serve\x20a\x20forward\x20and\x20a\x20rail';const f=e['filter'](g=>g['operator']!=='order_payer');if(f['length']>0x0)return'mounted\x20on\x20'+f['length']+'\x20non-buyer\x20forward(s)\x20('+[...new Set(f['map'](g=>g['operator']))]['join']('/')+'):\x20'+'an\x20order-holder\x20leg\x20is\x20unsatisfiable\x20on\x20a\x20permission-index\x20rail';return undefined;}export function identityDefaultResolution(a,b){if(identitySkipReason(a,b)!==undefined)return undefined;const c=b['key'];if(edgeMounts(a,c)['length']===0x0){if(/recover|award/i['test'](c))return{'kind':'template','template_id':IDENTITY_RECOVER_RAIL_TWIN,'params':{}};return{'kind':'template','template_id':IDENTITY_REFUND_RAIL_TWIN,'params':{}};}return{'kind':'template','template_id':IDENTITY_TWIN,'params':{}};}export function identityCensus(a){const b=[];for(const c of a){c['guards']['forEach']((d,e)=>{if(d['template_id']!==IDENTITY_PATTERN)return;const f=d['key']??d['template_id']+'#'+e,h=identitySkipReason(c,d);b['push']({'template':c['id'],'key':f,...h!==undefined?{'skipped':h}:{}});});}return b;}export const PROGRESS_PATTERN='pattern.progress_state_check';export const PROGRESS_NODE_CHECK_TWIN='tpl_forward_node_check';export const PROGRESS_RECOVER_RAIL_TWIN='tpl_allocator_node_gate_recover';export function progressSkipReason(a,b){if(b['template_id']!==PROGRESS_PATTERN)return'not\x20a\x20progress-state\x20design';if(b['key']===undefined)return'declared\x20without\x20a\x20key:\x20it\x20names\x20a\x20policy,\x20not\x20a\x20rail';const c=b['key'],d=railTracks(a,c),e=edgeMounts(a,c);if(/recover|award/i['test'](c)){if(e['length']===0x0&&d['length']===0x0)return'no\x20mount\x20in\x20the\x20declared\x20graph';return undefined;}if(d['length']>0x0)return e['length']>0x0?'bound\x20to\x20BOTH\x20a\x20forward\x20and\x20an\x20allocator\x20rail:\x20a\x20node-gated\x20twin\x20cannot\x20serve\x20the\x20pre-advance\x20forward\x20and\x20the\x20post-advance\x20allocator\x20(D8)':'rail-bound\x20with\x20no\x20forward\x20mount:\x20the\x20graph\x20cannot\x20say\x20which\x20node\x20the\x20order\x20occupies\x20when\x20the\x20rail\x20fires\x20(pinning\x20one\x20strands\x20the\x20escrow\x20below\x20it\x20—\x20UPWC-K1)';if(e['length']===0x0)return'no\x20mount\x20in\x20the\x20declared\x20graph';const f=[...new Set(e['map'](g=>g['prev']))];if(f['length']>0x1)return'mounted\x20on\x20'+e['length']+'\x20forwards\x20from\x20DIFFERENT\x20prev\x20nodes\x20('+f['join']('/')+'):\x20one\x20expected_node\x20cannot\x20serve\x20them';return undefined;}export function progressStateDefaultResolution(a,b){if(progressSkipReason(a,b)!==undefined)return undefined;if(/recover|award/i['test'](b['key']))return{'kind':'template','template_id':PROGRESS_RECOVER_RAIL_TWIN,'params':{}};return{'kind':'template','template_id':PROGRESS_NODE_CHECK_TWIN,'params':{'expected_node':edgeMounts(a,b['key'])[0x0]['prev']}};}export function progressCensus(a){const b=[];for(const c of a){c['guards']['forEach']((d,e)=>{if(d['template_id']!==PROGRESS_PATTERN)return;const f=d['key']??d['template_id']+'#'+e,h=progressSkipReason(c,d);b['push']({'template':c['id'],'key':f,...h!==undefined?{'skipped':h}:{}});});}return b;}export function timeInstantiationIssues(a,b){const c=[],d=new Map(a['map'](f=>[f['id'],f])),e=new Set();for(const f of TIME_GUARD_INSTANTIATIONS){const h=f['template']+'\x00'+f['guard_key'];if(e['has'](h))c['push']({'row':f,'problem':'duplicate\x20row'});e['add'](h);const i=d['get'](f['template']);if(i===undefined){c['push']({'row':f,'problem':'template\x20\x27'+f['template']+'\x27\x20does\x20not\x20exist'});continue;}const j=i['guards']['find'](u=>u['key']===f['guard_key']);if(j===undefined){c['push']({'row':f,'problem':'guard\x20\x27'+f['guard_key']+'\x27\x20is\x20not\x20declared\x20by\x20'+f['template']});continue;}const k=f['direction']==='upper'?'pattern.time_window_upper_bound':'pattern.time_lock_progress';j['template_id']!==k&&c['push']({'row':f,'problem':'guard\x20declares\x20\x27'+j['template_id']+'\x27,\x20expected\x20\x27'+k+'\x27\x20for\x20a\x20'+f['direction']+'\x20window'});const l=(i['allocator']?.['rows']??[])['filter'](u=>u['guard_key']===f['guard_key'])['length'];if(l>0x0){c['push']({'row':f,'problem':'guard\x20is\x20also\x20bound\x20to\x20'+l+'\x20allocator\x20row(s):\x20a\x20node-gated\x20twin\x20cannot\x20serve\x20the\x20'+'pre-advance\x20forward\x20and\x20the\x20post-advance\x20allocator\x20(and\x20a\x20second\x20mount\x20would\x20double\x20the\x20wait)'});continue;}const m=mountInfo(i,f['guard_key']);if(f['multimount']!==!![]){if(m['length']!==0x1){c['push']({'row':f,'problem':'guard\x20has\x20'+m['length']+'\x20mounts;\x20a\x20shared\x20expected_node\x20needs\x20exactly\x20one'});continue;}m[0x0]['prev']!==f['anchor']&&c['push']({'row':f,'problem':'anchor\x20\x27'+f['anchor']+'\x27\x20!=\x20mount\x20prev\x20\x27'+m[0x0]['prev']+'\x27'});const u=f['direction']==='upper'?'order_payer':undefined;u!==undefined&&m[0x0]['operator']!==u&&c['push']({'row':f,'problem':'mount\x20operator\x20\x27'+m[0x0]['operator']+'\x27\x20!=\x20\x27'+u+'\x27:\x20an\x20'+f['direction']+'\x20window\x20on\x20the\x20wrong\x20'+'signer\x20set\x20is\x20either\x20callable\x20by\x20anyone\x20(upper)\x20or\x20unsatisfiable\x20(identity\x20leg\x20over\x20a\x20permission-index\x20rail)'});}else{(f['days']===undefined||f['hours']!==undefined)&&c['push']({'row':f,'problem':'the\x20pin-free\x20twin\x20takes\x20a\x20day\x20window;\x20declare\x20days\x20and\x20no\x20hours'});m['length']===0x0&&c['push']({'row':f,'problem':'guard\x20is\x20bound\x20to\x20no\x20forward\x20—\x20a\x20window\x20nobody\x20mounts\x20is\x20not\x20a\x20rail'});const v=f['direction']==='upper'?'order_payer':'merchant',w=m['filter'](x=>x['operator']!==v);w['length']>0x0&&c['push']({'row':f,'problem':w['length']+'\x20mount(s)\x20ride\x20\x27'+[...new Set(w['map'](x=>x['operator']))]['join']('/')+'\x27\x20but\x20a\x20'+f['direction']+'\x20'+('multi-mount\x20twin\x20needs\x20\x27'+v+'\x27\x20')+(f['direction']==='upper'?'(the\x20twin\x27s\x20order-holder\x20leg\x20is\x20unsatisfiable\x20on\x20a\x20permission-index\x20rail)':'(the\x20opening\x20twin\x20ships\x20no\x20signer\x20leg,\x20so\x20a\x20buyer\x20rail\x20would\x20be\x20left\x20unauthenticated)')}),m['length']>0x0&&!m['some'](x=>x['prev']===f['anchor'])&&c['push']({'row':f,'problem':'no\x20mount\x20starts\x20at\x20anchor\x20\x27'+f['anchor']+'\x27\x20(mounts:\x20'+m['map'](x=>x['prev'])['join'](',\x20')+'):\x20'+'the\x20anchor\x20must\x20be\x20the\x20entry\x20that\x20opens\x20the\x20window\x20on\x20at\x20least\x20one\x20path'});}const n=f['days']!==undefined?'days':f['hours']!==undefined?'hours':undefined;if(n===undefined||f['days']!==undefined&&f['hours']!==undefined){c['push']({'row':f,'problem':'exactly\x20one\x20of\x20days/hours\x20must\x20be\x20declared'});continue;}const o=f['days']??f['hours'];i['fee_params'][o]===undefined&&c['push']({'row':f,'problem':'fee_param\x20\x27'+o+'\x27\x20is\x20not\x20declared\x20by\x20'+f['template']});for(const x of f['plus_days']===undefined?[]:typeof f['plus_days']==='string'?[f['plus_days']]:f['plus_days']){i['fee_params'][x]===undefined&&c['push']({'row':f,'problem':'fee_param\x20\x27'+x+'\x27\x20(plus_days)\x20is\x20not\x20declared\x20by\x20'+f['template']});}const p=f['multimount']===!![]?multiMountTwin(f['direction']):twinFor(f['direction'],n),q=b['get'](p);if(q===undefined){c['push']({'row':f,'problem':'twin\x20template\x20\x27'+p+'\x27\x20is\x20not\x20in\x20the\x20guard-template\x20registry'});continue;}const r=new Set(q['map'](y=>y['name'])),s=f['multimount']===!![]?'anchor_node':'expected_node';for(const y of[s,TWIN_PARAM[n]]){if(!r['has'](y))c['push']({'row':f,'problem':'twin\x20\x27'+p+'\x27\x20declares\x20no\x20param\x20\x27'+y+'\x27'});}}return c;}
|
|
1
|
+
export const MS_PER_DAY=0x5265c00;export const MS_PER_HOUR=0x36ee80;export const TIME_GUARD_INSTANTIATIONS=[{'template':'retail/scale-marketplace','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'buyer\x20files\x20a\x20claim\x20only\x20inside\x20the\x20claim\x20window'},{'template':'retail/scale-marketplace','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20delivery'},{'template':'retail/scale-marketplace','guard_key':'return_window','direction':'upper','anchor':'delivered','multimount':!![],'days':'return_window_days','note':'return\x20request\x20inside\x20the\x20policy\x20window,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'retail/scale-marketplace','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/scale-marketplace','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20merchant\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'retail/warehouse-club','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'buyer\x20files\x20a\x20claim\x20only\x20inside\x20the\x20claim\x20window'},{'template':'retail/warehouse-club','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20delivery'},{'template':'retail/warehouse-club','guard_key':'return_window','direction':'upper','anchor':'delivered','multimount':!![],'days':'return_window_days','note':'return\x20request\x20inside\x20the\x20policy\x20window,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'retail/warehouse-club','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/warehouse-club','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20merchant\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'retail/preorder-deposit','guard_key':'balance_window_open','direction':'lower','anchor':'deposit_paid','days':'production_lead_days','note':'balance\x20window\x20opens\x20after\x20the\x20production\x20lead'},{'template':'retail/preorder-deposit','guard_key':'balance_deadline','direction':'lower','anchor':'balance_due','days':'balance_window_days','note':'balance-window\x20timeout'},{'template':'retail/preorder-deposit','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20delivery'},{'template':'retail/preorder-deposit','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/preorder-deposit','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20merchant\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'retail/restock-supply','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/restock-supply','guard_key':'restock_confirm_timeout','direction':'lower','anchor':'delivered','days':'restock_confirm_days','note':'restock\x20confirmation\x20timeout'},{'template':'retail/vertical-handmade','guard_key':'ship_timeout','direction':'lower','anchor':'confirmed','days':'processing_time_days','note':'unshipped\x20order\x20cancels\x20after\x20the\x20processing\x20time'},{'template':'retail/vertical-handmade','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'shipped','days':'auto_confirm_days','note':'auto-confirm\x20N\x20days\x20after\x20shipment'},{'template':'retail/vertical-handmade','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20maker\x27s\x20silence\x20(F-TBPM9-O5-02)\x20—\x20counts\x20from\x20the\x20buyer\x27s\x20return-shipment\x20declaration\x20(row\x20re-anchored\x20stage2\x20#28\x20close:\x20the\x20deemed-receipt\x20clock\x20rides\x20the\x20TPL-10\x20return_in_transit\x20waypoint\x20since\x20#27)'},{'template':'freelance/enterprise-talent-market','guard_key':'review_settle_clock','direction':'lower','anchor':'reviewed','days':'settlement_delay_days','note':'settle\x20N\x20days\x20after\x20review'},{'template':'freelance/enterprise-talent-market','guard_key':'accept_timeout','direction':'lower','anchor':'delivered','days':'escrow_release_days','note':'keeper\x20auto-accepts\x20the\x20delivery\x20N\x20days\x20after\x20submission\x20(the\x20timeout\x20branch\x20of\x20the\x20dual-branch\x20acceptance)'},{'template':'freelance/enterprise-talent-market','guard_key':'review_window','direction':'upper','anchor':'accepted','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20acceptance'},{'template':'freelance/catalog-tiers','guard_key':'requirements_timeout_48h','direction':'lower','anchor':'in_progress','anchor_kind':'order_time','hours':'requirements_timeout_hours','note':'requirements\x20timeout\x20AND\x20entry\x20abandonment:\x20order.time-anchored\x20keeper\x20lock,\x20ONE\x20guard\x20on\x20both\x20mounts'},{'template':'freelance/catalog-tiers','guard_key':'cancel_response_timeout','direction':'lower','anchor':'cancel_requested','hours':'response_timeout_hours','note':'keeper\x20auto-cancel\x20after\x20the\x20seller\x27s\x20silence'},{'template':'freelance/catalog-tiers','guard_key':'refund_response_timeout','direction':'lower','anchor':'refund_requested','hours':'refund_response_hours','note':'keeper\x20auto-cancel\x20after\x20the\x20seller\x27s\x20silence\x20on\x20a\x20refund\x20request'},{'template':'freelance/catalog-tiers','guard_key':'accept_timeout','direction':'lower','anchor':'delivered','days':'escrow_release_days','note':'auto-accept\x20N\x20days\x20after\x20delivery\x20(buyer\x20silence)'},{'template':'freelance/catalog-tiers','guard_key':'review_window','direction':'upper','anchor':'accepted','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20acceptance'},{'template':'freelance/catalog-tiers','guard_key':'review_settle_clock','direction':'lower','anchor':'reviewed','days':'settlement_delay_days','note':'settle\x20N\x20days\x20after\x20review'},{'template':'freelance/creator-zero-commission','guard_key':'accept_timeout','direction':'lower','anchor':'delivered','hours':'acceptance_timeout_hours','note':'delivery\x20acceptance\x20timeout'},{'template':'freelance/creator-zero-commission','guard_key':'defect_report_window','direction':'upper','anchor':'delivered','hours':'defect_report_window_hours','note':'defect\x20report\x20window\x20after\x20delivery'},{'template':'freelance/creator-zero-commission','guard_key':'review_window','direction':'upper','anchor':'accepted','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20acceptance'},{'template':'freelance/design-contest','guard_key':'submission_window','direction':'lower','anchor':'funded','days':'submission_window_days','note':'submissions\x20close\x20N\x20days\x20after\x20funding'},{'template':'freelance/design-contest','guard_key':'appeal_window','direction':'lower','anchor':'placement_provisional','days':'appeal_window_days','note':'placement\x20finalizes\x20after\x20the\x20appeal\x20window'},{'template':'freelance/design-contest','guard_key':'delivery_window','direction':'lower','anchor':'final_delivery','days':'delivery_window_days','note':'final\x20delivery\x20acceptance\x20timeout'},{'template':'freelance/design-contest','guard_key':'revision_span','direction':'upper','anchor':'final_delivery','days':'revision_span_days','note':'T-6:\x20revision\x20requests\x20close\x20N\x20days\x20after\x20the\x20FIRST\x20final-delivery\x20entry\x20(find=first\x20—\x20a\x20Redeliver\x20can\x20never\x20re-arm\x20it),\x20the\x20chain-enforceable\x20half\x20of\x20the\x20revision\x20cap'},{'template':'freelance/design-contest','guard_key':'review_window','direction':'upper','anchor':'settled','days':'review_window_days','note':'T-4:\x20the\x20sponsor\x27s\x20rating\x20closes\x20N\x20days\x20after\x20the\x20FIRST\x20settled\x20entry\x20(the\x20keeper\x20review-bounce\x20never\x20re-arms\x20it)'},{'template':'freelance/design-contest','guard_key':'return_window','direction':'upper','anchor':'settled','multimount':!![],'days':'return_window_days','note':'T-5:\x20the\x20sponsor\x20return\x20request\x20closes\x20N\x20days\x20after\x20the\x20FIRST\x20settled\x20entry,\x20mountable\x20from\x20settled\x20or\x20from\x20reviewed\x20(CSTC2-05\x20—\x20reviewing\x20never\x20kills\x20the\x20return\x20right;\x20the\x20pin-free\x20window\x20never\x20re-arms\x20on\x20the\x20review\x20detour)'},{'template':'freelance/design-contest','guard_key':'return_response_timeout','direction':'lower','anchor':'return_requested','days':'return_response_days','note':'T-5:\x20keeper\x20deems\x20the\x20return\x20APPROVED\x20after\x20the\x20merchant\x27s\x20silence\x20(the\x20F-TBPM9-O5-02/F-42\x20buyer-favouring\x20cure)\x20—\x20a\x20silent\x20merchant\x20cannot\x20hold\x20the\x20escrow\x20at\x20return_requested'},{'template':'rental/p2p-shortstay','guard_key':'confirm_expire','direction':'lower','anchor':'reserved','hours':'confirm_window_hours','note':'unconfirmed\x20booking\x20expires'},{'template':'rental/p2p-shortstay','guard_key':'claim_window_closed','direction':'lower','anchor':'claim_window','days':'claim_window_days','note':'no-claim\x20release\x20after\x20the\x20claim\x20window'},{'template':'rental/p2p-shortstay','guard_key':'guest_claim_window_open','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'guest\x20files\x20a\x20claim\x20inside\x20the\x20claim\x20window'},{'template':'rental/p2p-shortstay','guard_key':'appeal_window','direction':'upper','anchor':'claim_open','days':'appeal_window_days','note':'guest\x20appeal\x20window:\x20the\x20order\x20holder\x20may\x20send\x20a\x20contested\x20HOST\x20claim\x20to\x20arbitration\x20within\x20N\x20days\x20of\x20the\x20claim_open\x20entry\x20(order_payer\x20rail,\x20single\x20mount).\x20The\x20host\x20appeal\x20edge\x20carries\x20NO\x20chain\x20clock\x20—\x20an\x20upper\x20window\x20on\x20a\x20permission-index\x20rail\x20is\x20unsatisfiable\x20(upper\x20twins\x20resolve\x20to\x20order-holder\x20twins\x20only);\x20host-side\x20staleness\x20is\x20relieved\x20at\x20the\x20venue:\x20a\x20filed\x20case\x20can\x20never\x20be\x20withdrawn\x20(D2\x20no-withdraw\x20doctrine,\x202026-11-10)\x20—\x20it\x20is\x20driven\x20to\x20a\x20ruling\x20(conclude/compensate),\x20which\x20is\x20the\x20terminal\x20relief\x20for\x20both\x20sides'},{'template':'rental/p2p-shortstay','guard_key':'midstay_report_window','direction':'upper','anchor':'checked_in','hours':'midstay_report_hours','note':'guest\x20files\x20a\x20mid-stay\x20issue\x20report\x20within\x20N\x20hours\x20of\x20the\x20checked_in\x20entry'},{'template':'rental/institutional-longstay','guard_key':'return_notice','direction':'lower','anchor':'in_use','days':'return_notice_days','note':'return\x20notice\x20lead\x20time'},{'template':'rental/institutional-longstay','guard_key':'nofault_window','direction':'upper','anchor':'deposit_paid','multimount':!![],'days':'no_fault_exit_days','note':'no-fault\x20exit\x20within\x20no_fault_exit_days\x20of\x20signing,\x20on\x20both\x20buyer\x20exits\x20into\x20closed_cancel\x20(pre-handover\x20and\x20mid-lease\x20—\x20in_use\x20is\x20only\x20entered\x20from\x20deposit_paid,\x20whose\x20entry\x20IS\x20the\x20signing)'},{'template':'rental/institutional-longstay','guard_key':'review_window','direction':'upper','anchor':'inspected','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20the\x20passing\x20inspection'},{'template':'rental/institutional-longstay','guard_key':'review_elapsed','direction':'lower','anchor':'reviewed','days':'review_window_days','note':'tenant\x20self-completion\x20(review_pass_self)\x20opens\x20after\x20another\x20review_window_days\x20on\x20the\x20REVIEWED\x20entry\x20—\x20BK-04\x20symmetry:\x20the\x20merchant\x20pass\x20rail\x20carries\x20no\x20upward\x20window\x20(identity-carrying\x20twin),\x20so\x20a\x20stalled\x20operator\x20can\x20never\x20strand\x20a\x20reviewer\x20(same\x20buyer-side\x20opening-lock\x20family\x20as\x20return_self)'},{'template':'rental/institutional-longstay','guard_key':'lease_end_return','direction':'lower','anchor':'in_use','days':'lease_term_days','note':'tenant\x20self-service\x20return\x20opens\x20N\x20days\x20after\x20the\x20in_use\x20entry\x20(handover)\x20—\x20RETURN-STRAND\x20cure:\x20past\x20the\x20term,\x20the\x20return\x20is\x20the\x20tenant\x27s\x20RIGHT\x20(the\x20merchant\x20rail\x20never\x20gets\x20an\x20upward\x20window\x20—\x20TIME_GUARD\x20doctrine)'},{'template':'rental/institutional-longstay','guard_key':'handover_deadline','direction':'lower','anchor':'deposit_paid','days':'handover_deadline_days','note':'tenant\x20self-void\x20into\x20the\x20full-refund\x20rail\x20after\x20the\x20handover\x20deadline\x20passes\x20unfulfilled\x20(measured\x20from\x20SIGNING\x20—\x20the\x20deposit_paid\x20entry\x20is\x20the\x20signing\x20moment;\x20INV-ZR-1:\x20a\x20dead-end\x20deposit_paid\x20welds\x20the\x20pool)'},{'template':'rental/institutional-longstay','guard_key':'objection_window','direction':'upper','anchor':'inspected','hours':'objection_window_hours','note':'TenantObjection\x20files\x20only\x20INSIDE\x20the\x20window\x20(az3\x20F-03\x20/\x20bkd8\x20BK-04\x20closing\x20leg)'},{'template':'rental/institutional-longstay','guard_key':'objection_elapsed','direction':'lower','anchor':'inspected','hours':'objection_window_hours','note':'DefaultAcceptance\x20opens\x20AFTER\x20the\x20window\x20lapses\x20—\x20silence\x20settles\x20the\x20inspection\x20verdict\x20on\x20chain'},{'template':'travel/destination-experience','guard_key':'free_cancel','direction':'upper','anchor':'paid','hours':'free_cancel_hours','note':'free\x20cancellation\x20window'},{'template':'travel/destination-experience','guard_key':'poststay_claim_window','direction':'upper','anchor':'claim_window','days':'claim_window_days','note':'post-stay\x20claim\x20window'},{'template':'travel/destination-experience','guard_key':'release_no_claim_clock','direction':'lower','anchor':'claim_window','days':'claim_window_days','note':'no-claim\x20release\x20after\x20the\x20claim\x20window'},{'template':'delivery/on-demand-errand','guard_key':'deliver_confirm_timeout','direction':'lower','anchor':'delivered','hours':'auto_confirm_hours','note':'auto-confirm\x20N\x20hours\x20after\x20delivery'},{'template':'delivery/on-demand-errand','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','hours':'claim_window_hours','note':'claim\x20window'},{'template':'delivery/on-demand-errand','guard_key':'return_request','direction':'upper','anchor':'delivered','hours':'return_window_hours','note':'after-sales\x20return\x20request\x20closes\x20N\x20hours\x20after\x20the\x20delivered\x20FIRST\x20entry'},{'template':'delivery/on-demand-errand','guard_key':'cancel_no_capacity','direction':'lower','anchor':'assigned','hours':'dispatch_window_hours','note':'dispatch\x20timeout\x20—\x20penalty-free\x20platform\x20force-cancel\x20(INV-SS-1)'},{'template':'delivery/restaurant-marketplace','guard_key':'return_request','direction':'upper','anchor':'delivered','hours':'return_window_hours','note':'after-sales\x20return\x20request\x20closes\x20N\x20hours\x20after\x20the\x20delivered\x20FIRST\x20entry'},{'template':'group_buy/leader-sourced-community','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','hours':'claim_window_hours','note':'buyer\x20files\x20a\x20claim\x20only\x20inside\x20the\x20claim\x20window'},{'template':'group_buy/leader-sourced-community','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20leader\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'group_buy/platform-supplied-pickup','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20point\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'crowdfunding/reward-campaign-fulfillment','guard_key':'return_response_timeout','direction':'lower','anchor':'return_in_transit','days':'return_response_days','note':'keeper\x20deems\x20the\x20return\x20parcel\x20received\x20after\x20the\x20project\x27s\x20silence\x20(F-TBPM9-O5-02)'},{'template':'subscription/delivery-membership','guard_key':'period_end','direction':'lower','anchor':'active','days':'period_days','note':'membership\x20period\x20clock:\x20active\x20entry\x20+\x20period_days\x20before\x20the\x20keeper\x20may\x20complete'},{'template':'subscription/creator-membership','guard_key':'period_expiry','direction':'lower','anchor':'delivered','multimount':!![],'days':'period_days','plus_days':'grace_days','note':'period\x20expiry\x20=\x20delivery\x20+\x20period_days\x20+\x20grace_days,\x20on\x20every\x20keeper\x20lapse'},{'template':'subscription/direct-fan-subscription','guard_key':'period_expiry','direction':'lower','anchor':'delivered','multimount':!![],'days':'period_days','plus_days':'grace_days','note':'period\x20expiry\x20=\x20delivery\x20+\x20period_days\x20+\x20grace_days,\x20on\x20every\x20keeper\x20lapse'},{'template':'education/live-class-cohort','guard_key':'review_window','direction':'upper','anchor':'completed_ready','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20completion\x20readiness'},{'template':'education/mooc-single-course','guard_key':'review_window','direction':'upper','anchor':'certified','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20certification'},{'template':'subscription/creator-membership','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20period\x20delivery'},{'template':'subscription/direct-fan-subscription','guard_key':'review_window','direction':'upper','anchor':'delivered','days':'review_window_days','note':'review\x20closes\x20N\x20days\x20after\x20period\x20delivery\x20—\x20keep\x20period_days\x20+\x20grace_days\x20>\x20review_window_days\x20or\x20the\x20keeper\x20expire\x20kills\x20the\x20open\x20window'},{'template':'subscription/delivery-membership','guard_key':'claim_window_open','direction':'lower','anchor':'active','days':'dispute_window_days','note':'the\x20claim\x20window\x20OPENS\x20dispute_window_days\x20after\x20the\x20active\x20entry\x20(the\x20bounded\x20lead-in;\x20keeper-mounted\x20on\x20the\x201002\x20slot,\x20the\x20opening\x20twin\x20ships\x20no\x20signer\x20leg)'},{'template':'subscription/delivery-membership','guard_key':'claim_filed','direction':'upper','anchor':'claim_window','days':'dispute_window_days','note':'dispute\x20filing\x20INSIDE\x20the\x20claim\x20window\x20—\x20closes\x20dispute_window_days\x20after\x20the\x20window\x20entry\x20(the\x20bounded\x20lead-in\x27s\x20other\x20bound)'},{'template':'retail/preorder-deposit','guard_key':'return_window_presale','direction':'upper','anchor':'delivered','multimount':!![],'days':'return_window_days','note':'return\x20requested\x20within\x20N\x20days\x20of\x20delivery,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'rental/p2p-shortstay','guard_key':'review_window','direction':'upper','anchor':'checked_out','multimount':!![],'days':'review_window_days','note':'review\x20within\x20N\x20days\x20of\x20checkout,\x20including\x20once\x20the\x20claim\x20window\x20has\x20opened'},{'template':'education/mooc-single-course','guard_key':'return_window','direction':'upper','anchor':'paid','multimount':!![],'days':'refund_window_days','note':'refund\x20requested\x20within\x20N\x20days\x20of\x20purchase,\x20from\x20any\x20pre-delivery\x20stage'},{'template':'retail/scale-marketplace','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','days':'settlement_days','plus_days':['reserve_days','return_window_days'],'note':'settlement\x20opens\x20after\x20the\x20MERGED\x20lock:\x20settlement_days\x20+\x20reserve_days\x20+\x20return_window_days\x20(the\x20declaration\x20settlement_window_merge;\x2014\x20+\x207\x20+\x2030\x20=\x2051\x20days\x20by\x20default)\x20—\x20the\x20release\x20cannot\x20fire\x20while\x20the\x20return\x20window\x20can\x20still\x20draw\x20the\x20escrow'},{'template':'retail/warehouse-club','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','days':'settlement_delay_days','note':'settlement\x20opens\x20N\x20days\x20after\x20the\x20claim\x20window\x20(coupled\x20to\x20the\x20return\x20window)'},{'template':'retail/preorder-deposit','guard_key':'settle_window_gate','direction':'lower','anchor':'delivered','multimount':!![],'days':'settlement_days','note':'balance\x20settlement\x20opens\x20N\x20days\x20after\x20delivery,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'retail/vertical-handmade','guard_key':'settle_clock','direction':'lower','anchor':'delivered','multimount':!![],'days':'settlement_delay_days','note':'settlement\x20opens\x20N\x20days\x20after\x20delivery,\x20from\x20delivered\x20or\x20from\x20reviewed'},{'template':'delivery/on-demand-errand','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','hours':'settle_hours','note':'settlement\x20opens\x20N\x20hours\x20after\x20the\x20claim\x20window'},{'template':'group_buy/leader-sourced-community','guard_key':'settle_window_gate','direction':'lower','anchor':'claim_window','hours':'settle_hours','note':'settlement\x20opens\x20N\x20hours\x20after\x20the\x20claim\x20window,\x20past\x20the\x20after-sales\x20track'},{'template':'group_buy/leader-sourced-community','guard_key':'claim_window_open','direction':'lower','anchor':'delivered','hours':'claim_window_open_min_hold_hours','note':'claim\x20window\x20opens\x20N\x20hours\x20after\x20delivery\x20(the\x20buyer\x27s\x20dispute\x20clock\x20cannot\x20start\x20at\x20the\x20delivery\x20instant)'}];export const TWIN_PARAM={'days':'claim_window_days','hours':'duration_ms'};export function twinFor(a,b){if(b==='days')return a==='upper'?'tpl_time_window_upper_progress_days':'tpl_time_lock_progress_days';return a==='upper'?'tpl_time_window_upper':'tpl_time_lock_progress';}export const MULTI_MOUNT_TWIN='tpl_time_window_upper_history_days';export const MULTI_MOUNT_OPENING_TWIN='tpl_time_lock_history_days';export const MULTI_MOUNT_TWIN_MS='tpl_time_window_upper_history_ms';export const MULTI_MOUNT_OPENING_TWIN_MS='tpl_time_lock_history_ms';export const ORDER_TIME_LOCK_TWIN='tpl_time_lock_order_time';export function multiMountTwin(a,b='days'){if(b==='hours')return a==='upper'?MULTI_MOUNT_TWIN_MS:MULTI_MOUNT_OPENING_TWIN_MS;return a==='upper'?MULTI_MOUNT_TWIN:MULTI_MOUNT_OPENING_TWIN;}export function unitScale(a){return a==='days'?0x1:MS_PER_HOUR;}const BY_SPEC=new Map();for(const row of TIME_GUARD_INSTANTIATIONS)BY_SPEC['set'](row['template']+'\x00'+row['guard_key'],row);export function timeInstantiationFor(a,b){return BY_SPEC['get'](a+'\x00'+b);}export function patternDefaultResolution(a,b){const c=timeInstantiationFor(a,b);if(c===undefined)return undefined;const d=c['days']!==undefined?'days':'hours';if(c['anchor_kind']==='order_time'){if(c['direction']!=='lower')return undefined;return{'kind':'template','template_id':ORDER_TIME_LOCK_TWIN,'params':{}};}if(c['multimount']===!![])return{'kind':'template','template_id':multiMountTwin(c['direction'],d),'params':{'anchor_node':c['anchor']}};return{'kind':'template','template_id':twinFor(c['direction'],d),'params':{'expected_node':c['anchor']}};}export function msKnobOf(a){if(/_days$/['test'](a))return a['slice'](0x0,-'_days'['length'])+'_ms';if(/_hours$/['test'](a))return a['slice'](0x0,-'_hours'['length'])+'_ms';return undefined;}export function timeWindowMsResolution(a,b,c,d){const e=timeInstantiationFor(a,b);if(e===undefined)return undefined;if(e['anchor_kind']==='order_time')return undefined;const f=e['days']??e['hours'];if(f===undefined)return undefined;const g=msKnobOf(f);if(g===undefined)return undefined;const h=c[g]??d?.[g];if(h===undefined||h===null)return undefined;if(e['multimount']===!![])return{'kind':'template','template_id':multiMountTwin(e['direction'],'hours'),'params':{'anchor_node':e['anchor']}};return{'kind':'template','template_id':twinFor(e['direction'],'hours'),'params':{'expected_node':e['anchor']}};}function mountInfo(a,b){const c=[];for(const d of a['machine_shape']??[]){const f=d['from']??[];for(const g of f){const h=typeof g==='string'?{'prev':g}:g;if(h['guard_key']!==b)continue;const i=h['operator']??d['operator']??(h['prev']===''?'order_payer':'merchant');c['push']({'prev':h['prev']??'','operator':i});}}return c;}export const IDENTITY_PATTERN='pattern.identity_check_order_holder';export const IDENTITY_TWIN='tpl_forward_order_holder';export const IDENTITY_RECOVER_RAIL_TWIN='tpl_allocator_node_gate_recover';export const IDENTITY_REFUND_RAIL_TWIN='tpl_allocator_identity_set_order_holder';function railTracks(a,b){return(a['allocator']?.['rows']??[])['filter'](c=>c['guard_key']===b)['map'](c=>c['track']??'');}function hasAwardRailSibling(a,b){return a['guards']['some'](c=>{if(c['template_id']===IDENTITY_RECOVER_RAIL_TWIN)return!![];const d=c['key'];if(d===undefined||d===b)return![];if(!/recover|award/i['test'](d))return![];if(!/pattern\./i['test'](c['template_id']))return![];return edgeMounts(a,d)['length']===0x0&&railTracks(a,d)['length']>0x0;});}function edgeMounts(a,b){return mountInfo(a,b);}export function identitySkipReason(a,b){if(b['template_id']!==IDENTITY_PATTERN)return'not\x20an\x20identity\x20design';if(b['key']===undefined)return'declared\x20without\x20a\x20key:\x20it\x20names\x20a\x20policy,\x20not\x20a\x20rail';const c=b['key'],d=railTracks(a,c),e=edgeMounts(a,c);if(e['length']===0x0){if(d['length']===0x0)return'no\x20mount\x20in\x20the\x20declared\x20graph';if(/recover|award/i['test'](c))return undefined;if(/refund/i['test'](c)&&d['every'](g=>/refund/i['test'](g))){if(hasAwardRailSibling(a,c))return'rail-bound\x20refund\x20next\x20to\x20an\x20award/recover\x20rail:\x20the\x20order-holder\x20refund\x20set\x20is\x20node-free,\x20so\x20instantiating\x20both\x20gives\x20one\x20escrow\x20two\x20live\x20fund\x20exits\x20(RAIL-03)\x20—\x20legal\x20but\x20a\x20merchant\x20choice\x20(disclosed\x20double\x20collection),\x20resolve\x20the\x20refund\x20rail\x20explicitly';return undefined;}return'bound\x20to\x20an\x20allocator\x20row\x20only:\x20no\x20executable\x20twin\x20matches\x20this\x20key/track\x20pair\x20(a\x20settlement\x20rail\x20asks\x20a\x20different\x20question)';}if(d['length']>0x0)return'also\x20bound\x20to\x20an\x20allocator\x20row:\x20one\x20design\x20cannot\x20serve\x20a\x20forward\x20and\x20a\x20rail';const f=e['filter'](g=>g['operator']!=='order_payer');if(f['length']>0x0)return'mounted\x20on\x20'+f['length']+'\x20non-buyer\x20forward(s)\x20('+[...new Set(f['map'](g=>g['operator']))]['join']('/')+'):\x20'+'an\x20order-holder\x20leg\x20is\x20unsatisfiable\x20on\x20a\x20permission-index\x20rail';return undefined;}export function identityDefaultResolution(a,b){if(identitySkipReason(a,b)!==undefined)return undefined;const c=b['key'];if(edgeMounts(a,c)['length']===0x0){if(/recover|award/i['test'](c))return{'kind':'template','template_id':IDENTITY_RECOVER_RAIL_TWIN,'params':{}};return{'kind':'template','template_id':IDENTITY_REFUND_RAIL_TWIN,'params':{}};}return{'kind':'template','template_id':IDENTITY_TWIN,'params':{}};}export function identityCensus(a){const b=[];for(const c of a){c['guards']['forEach']((d,e)=>{if(d['template_id']!==IDENTITY_PATTERN)return;const f=d['key']??d['template_id']+'#'+e,h=identitySkipReason(c,d);b['push']({'template':c['id'],'key':f,...h!==undefined?{'skipped':h}:{}});});}return b;}export const PROGRESS_PATTERN='pattern.progress_state_check';export const PROGRESS_NODE_CHECK_TWIN='tpl_forward_node_check';export const PROGRESS_RECOVER_RAIL_TWIN='tpl_allocator_node_gate_recover';export function progressSkipReason(a,b){if(b['template_id']!==PROGRESS_PATTERN)return'not\x20a\x20progress-state\x20design';if(b['key']===undefined)return'declared\x20without\x20a\x20key:\x20it\x20names\x20a\x20policy,\x20not\x20a\x20rail';const c=b['key'],d=railTracks(a,c),e=edgeMounts(a,c);if(/recover|award/i['test'](c)){if(e['length']===0x0&&d['length']===0x0)return'no\x20mount\x20in\x20the\x20declared\x20graph';return undefined;}if(d['length']>0x0)return e['length']>0x0?'bound\x20to\x20BOTH\x20a\x20forward\x20and\x20an\x20allocator\x20rail:\x20a\x20node-gated\x20twin\x20cannot\x20serve\x20the\x20pre-advance\x20forward\x20and\x20the\x20post-advance\x20allocator\x20(D8)':'rail-bound\x20with\x20no\x20forward\x20mount:\x20the\x20graph\x20cannot\x20say\x20which\x20node\x20the\x20order\x20occupies\x20when\x20the\x20rail\x20fires\x20(pinning\x20one\x20strands\x20the\x20escrow\x20below\x20it\x20—\x20UPWC-K1)';if(e['length']===0x0)return'no\x20mount\x20in\x20the\x20declared\x20graph';const f=[...new Set(e['map'](g=>g['prev']))];if(f['length']>0x1)return'mounted\x20on\x20'+e['length']+'\x20forwards\x20from\x20DIFFERENT\x20prev\x20nodes\x20('+f['join']('/')+'):\x20one\x20expected_node\x20cannot\x20serve\x20them';return undefined;}export function progressStateDefaultResolution(a,b){if(progressSkipReason(a,b)!==undefined)return undefined;if(/recover|award/i['test'](b['key']))return{'kind':'template','template_id':PROGRESS_RECOVER_RAIL_TWIN,'params':{}};return{'kind':'template','template_id':PROGRESS_NODE_CHECK_TWIN,'params':{'expected_node':edgeMounts(a,b['key'])[0x0]['prev']}};}export function progressCensus(a){const b=[];for(const c of a){c['guards']['forEach']((d,e)=>{if(d['template_id']!==PROGRESS_PATTERN)return;const f=d['key']??d['template_id']+'#'+e,h=progressSkipReason(c,d);b['push']({'template':c['id'],'key':f,...h!==undefined?{'skipped':h}:{}});});}return b;}export function timeInstantiationIssues(a,b){const c=[],d=new Map(a['map'](f=>[f['id'],f])),e=new Set();for(const f of TIME_GUARD_INSTANTIATIONS){const h=f['template']+'\x00'+f['guard_key'];if(e['has'](h))c['push']({'row':f,'problem':'duplicate\x20row'});e['add'](h);const i=d['get'](f['template']);if(i===undefined){c['push']({'row':f,'problem':'template\x20\x27'+f['template']+'\x27\x20does\x20not\x20exist'});continue;}const j=i['guards']['find'](s=>s['key']===f['guard_key']);if(j===undefined){c['push']({'row':f,'problem':'guard\x20\x27'+f['guard_key']+'\x27\x20is\x20not\x20declared\x20by\x20'+f['template']});continue;}const k=f['anchor_kind']==='order_time'?ORDER_TIME_LOCK_TWIN:f['direction']==='upper'?'pattern.time_window_upper_bound':'pattern.time_lock_progress';j['template_id']!==k&&c['push']({'row':f,'problem':'guard\x20declares\x20\x27'+j['template_id']+'\x27,\x20expected\x20\x27'+k+'\x27\x20for\x20a\x20'+f['direction']+'\x20window'});const l=(i['allocator']?.['rows']??[])['filter'](s=>s['guard_key']===f['guard_key'])['length'];if(l>0x0){c['push']({'row':f,'problem':'guard\x20is\x20also\x20bound\x20to\x20'+l+'\x20allocator\x20row(s):\x20a\x20node-gated\x20twin\x20cannot\x20serve\x20the\x20'+'pre-advance\x20forward\x20and\x20the\x20post-advance\x20allocator\x20(and\x20a\x20second\x20mount\x20would\x20double\x20the\x20wait)'});continue;}const m=mountInfo(i,f['guard_key']);if(f['anchor_kind']==='order_time'){(f['hours']===undefined||f['days']!==undefined)&&c['push']({'row':f,'problem':'the\x20order-time\x20lock\x20takes\x20an\x20hours\x20window;\x20declare\x20hours\x20and\x20no\x20days'});m['length']===0x0&&c['push']({'row':f,'problem':'guard\x20is\x20bound\x20to\x20no\x20forward\x20—\x20a\x20window\x20nobody\x20mounts\x20is\x20not\x20a\x20rail'});const s=m['filter'](u=>u['operator']==='order_payer');s['length']>0x0&&c['push']({'row':f,'problem':s['length']+'\x20buyer\x20mount(s):\x20the\x20order-time\x20lock\x20ships\x20NO\x20identity\x20leg\x20'+'(bkng\x20F23)\x20—\x20a\x20buyer\x20rail\x20over\x20it\x20can\x20never\x20advance;\x20give\x20buyer\x20exits\x20an\x20'+'identity-carrying\x20twin\x20and\x20keep\x20this\x20lock\x20on\x20keeper\x20rails'});}else{if(f['multimount']!==!![]){if(m['length']!==0x1){c['push']({'row':f,'problem':'guard\x20has\x20'+m['length']+'\x20mounts;\x20a\x20shared\x20expected_node\x20needs\x20exactly\x20one'});continue;}m[0x0]['prev']!==f['anchor']&&c['push']({'row':f,'problem':'anchor\x20\x27'+f['anchor']+'\x27\x20!=\x20mount\x20prev\x20\x27'+m[0x0]['prev']+'\x27'});const u=f['direction']==='upper'?'order_payer':undefined;u!==undefined&&m[0x0]['operator']!==u&&c['push']({'row':f,'problem':'mount\x20operator\x20\x27'+m[0x0]['operator']+'\x27\x20!=\x20\x27'+u+'\x27:\x20an\x20'+f['direction']+'\x20window\x20on\x20the\x20wrong\x20'+'signer\x20set\x20is\x20either\x20callable\x20by\x20anyone\x20(upper)\x20or\x20unsatisfiable\x20(identity\x20leg\x20over\x20a\x20permission-index\x20rail)'});}else{(f['days']===undefined||f['hours']!==undefined)&&c['push']({'row':f,'problem':'the\x20pin-free\x20twin\x20takes\x20a\x20day\x20window;\x20declare\x20days\x20and\x20no\x20hours'});m['length']===0x0&&c['push']({'row':f,'problem':'guard\x20is\x20bound\x20to\x20no\x20forward\x20—\x20a\x20window\x20nobody\x20mounts\x20is\x20not\x20a\x20rail'});const v=f['direction']==='upper'?'order_payer':'merchant',w=m['filter'](x=>x['operator']!==v);w['length']>0x0&&c['push']({'row':f,'problem':w['length']+'\x20mount(s)\x20ride\x20\x27'+[...new Set(w['map'](x=>x['operator']))]['join']('/')+'\x27\x20but\x20a\x20'+f['direction']+'\x20'+('multi-mount\x20twin\x20needs\x20\x27'+v+'\x27\x20')+(f['direction']==='upper'?'(the\x20twin\x27s\x20order-holder\x20leg\x20is\x20unsatisfiable\x20on\x20a\x20permission-index\x20rail)':'(the\x20opening\x20twin\x20ships\x20no\x20signer\x20leg,\x20so\x20a\x20buyer\x20rail\x20would\x20be\x20left\x20unauthenticated)')}),m['length']>0x0&&!m['some'](x=>x['prev']===f['anchor'])&&c['push']({'row':f,'problem':'no\x20mount\x20starts\x20at\x20anchor\x20\x27'+f['anchor']+'\x27\x20(mounts:\x20'+m['map'](x=>x['prev'])['join'](',\x20')+'):\x20'+'the\x20anchor\x20must\x20be\x20the\x20entry\x20that\x20opens\x20the\x20window\x20on\x20at\x20least\x20one\x20path'});}}const n=f['days']!==undefined?'days':f['hours']!==undefined?'hours':undefined;if(n===undefined||f['days']!==undefined&&f['hours']!==undefined){c['push']({'row':f,'problem':'exactly\x20one\x20of\x20days/hours\x20must\x20be\x20declared'});continue;}const o=f['days']??f['hours'];i['fee_params'][o]===undefined&&c['push']({'row':f,'problem':'fee_param\x20\x27'+o+'\x27\x20is\x20not\x20declared\x20by\x20'+f['template']});for(const x of f['plus_days']===undefined?[]:typeof f['plus_days']==='string'?[f['plus_days']]:f['plus_days']){i['fee_params'][x]===undefined&&c['push']({'row':f,'problem':'fee_param\x20\x27'+x+'\x27\x20(plus_days)\x20is\x20not\x20declared\x20by\x20'+f['template']});}const p=f['anchor_kind']==='order_time'?ORDER_TIME_LOCK_TWIN:f['multimount']===!![]?multiMountTwin(f['direction'],n):twinFor(f['direction'],n),q=b['get'](p);if(q===undefined){c['push']({'row':f,'problem':'twin\x20template\x20\x27'+p+'\x27\x20is\x20not\x20in\x20the\x20guard-template\x20registry'});continue;}const r=new Set(q['map'](y=>y['name']));if(f['anchor_kind']==='order_time')!r['has']('confirm_timeout_hours')&&c['push']({'row':f,'problem':'twin\x20\x27'+p+'\x27\x20declares\x20no\x20param\x20\x27confirm_timeout_hours\x27'});else{const y=f['multimount']===!![]?'anchor_node':'expected_node';for(const z of[y,TWIN_PARAM[n]]){if(!r['has'](z))c['push']({'row':f,'problem':'twin\x20\x27'+p+'\x27\x20declares\x20no\x20param\x20\x27'+z+'\x27'});}}}return c;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PROTOCOL_FACTS_VERSION=0x1;export const PROTOCOL_FACTS=[{'id':'sv2-replay-scope','kind':'settled','title':'Reward\x20replay\x20scope\x20split\x20(SV-2):\x20entry-stamped\x20+\x20order-scoped\x20where\x20is\x20the\x20primary\x20once-per-buyer-per-order\x20form','statement':'On\x20a\x20stamped\x20reward\x20guard\x20the\x20order-scoped\x20record\x20query\x20(where:{storeFromId:{identifier:<order\x20slot>}})\x20is\x20live:\x20entry-stamped\x20+\x20order-scoped\x20where\x20=\x20once\x20per\x20buyer\x20per\x20order\x20(the\x20native\x20claim\x20key\x20is\x20recipient+guard+stamp,\x20so\x20the\x20same\x20buyer\x20on\x20a\x20DIFFERENT\x20order\x20claims\x20again);\x20entry-stamped\x20+\x20empty\x20where\x20=\x20once\x20per\x20buyer\x20for\x20life\x20(a\x20deliberate\x20choice,\x20never\x20a\x20default).\x20The\x20blanket\x20\x27storeFromId\x20filter\x20is\x20inert\x27\x20verdict\x20described\x20unstamped/legacy\x20rewards\x20only.','chain_ref':'Reward\x20claim\x20records\x20key\x20on\x20(recipient,\x20guard,\x20store_from)\x20once\x20the\x20guard_add\x20entry\x20carries\x20the\x20store_from_id\x20stamp;\x20the\x20claim\x27s\x20native\x20once-slot\x20is\x20the\x20second\x20line\x20of\x20defense\x20behind\x20the\x20guard\x27s\x20record\x20gate.','verified_on':'azx7-mn-261014\x20live\x20T8\x20(A/B-verified);\x20klk-mn-261014\x20live\x20(empty-where\x20passport\x20abort)','superseded_by':'the\x20ofn-mn-261012\x20F-01\x20blanket\x20\x27storeFromId\x20filter\x20is\x20a\x20silent\x20no-op\x27\x20retraction','enforced_by':['REVIEW_REWARD_UNARMED','R-REWARD-REPLAY','guard-risk\x20R-X1-14']},{'id':'reward-entry-stamp','kind':'settled','title':'The\x20guard_add\x20store_from_id\x20stamp\x20is\x20REQUIRED\x20only\x20behind\x20a\x20storeFromId\x20record\x20predicate;\x20recipient-only\x20(predicateless)\x20record\x20gates\x20are\x20valid\x20unstamped','statement':'Reward.claim\x20keys\x20every\x20payout\x20on\x20RewardClaimKey\x20{recipient,\x20guard,\x20store_from}\x20(native\x20once-slot,\x20live\x20in\x20the\x20deployed\x20framework\x20—\x20claim-key\x20dynamic\x20fields\x20observed\x20on\x20the\x20crs9\x20mainnet\x20reward\x20object),\x20so\x20an\x20unstamped\x20entry\x20degrades\x20to\x20once-per-recipient-for-life,\x20never\x20a\x20drain.\x20The\x20MCP\x20guard_add\x20stamp\x20gate\x20therefore\x20rejects\x20ONLY\x20the\x20mismatch\x20where\x20the\x20tree\x20pins\x20a\x20storeFromId\x20predicate\x20(order-scoped\x20where)\x20while\x20the\x20entry\x20omits\x20the\x20stamp\x20—\x20unstamped\x20records\x20match\x20no\x20store_from\x20predicate,\x20silently\x20killing\x20the\x20declared\x20once-per-order\x20economics.\x20The\x20recipient-only\x20form\x20is\x20admitted\x20with\x20a\x20loud\x20advisory\x20(keep\x20the\x20order.owner\x20identity\x20leg\x20—\x20it\x20decides\x20who\x20may\x20claim).\x20Re-adding\x20the\x20same\x20guard\x20overwrites\x20its\x20slot\x20in\x20place\x20(live\x20pools\x20repairable).','chain_ref':'guard_add\x20store_from_id\x20entry\x20field;\x20claim\x20records\x20write\x20store_from\x20only\x20when\x20stamped;\x20claim\x20key\x20{recipient,\x20guard,\x20bcs(stamp)|[]}','verified_on':'crs-mn-261015\x20F-11\x20(gate\x20corrected);\x20azx7-mn-261014\x20live\x20T8\x20(stamped\x20forms);\x20crs9\x20mainnet\x20claim-key\x20dynamic\x20fields;\x20upw\x20F-13\x20→\x20UPW-K7\x20origin','enforced_by':['MCP\x20guard_add\x20stamp\x20gate\x20(predicate/stamp\x20mismatch\x20only)','REVIEW_REWARD_UNARMED','R-REWARD-REPLAY','guard-risk\x20R-X1-14']},{'id':'reward-recipient-signer','kind':'settled','title':'The\x20reward\x20guard_add\x20ENTRY\x20recipient\x20must\x20be\x20the\x20signer\x20(or\x20an\x20Entity)\x20—\x20never\x20a\x20GuardIdentifier','statement':'The\x20claim\x20entry\x20requires\x20recipient\x20==\x20tx\x20sender;\x20a\x20GuardIdentifier\x20recipient\x20resolves\x20from\x20the\x20passport\x20submission\x20(conventionally\x20the\x20submitted\x20Order\x20address)\x20and\x20can\x20never\x20equal\x20the\x20sender,\x20so\x20every\x20claim\x20aborts\x20with\x20the\x20recipient-mismatch\x20error\x20and\x20the\x20pool\x20is\x20structurally\x20unpayable.\x20The\x20order-anchor\x20GuardIdentifier\x20idiom\x20is\x20an\x20Allocation\x20push\x20rail,\x20never\x20a\x20reward\x20pull\x20rail.\x20An\x20Entity\x20recipient\x20passes\x20(replaced\x20by\x20the\x20claimant\x27s\x20local\x20account\x20at\x20claim\x20time).','chain_ref':'Reward\x20claim\x20pays\x20the\x20tx-context\x20sender;\x20recipient\x20is\x20asserted\x20equal\x20to\x20it','verified_on':'crs-mn-261015\x20F-12\x20(live\x20mainnet,\x20funded\x20pool\x20aborting\x20on\x20every\x20claim)','enforced_by':['MCP\x20guard_add\x20recipient\x20gate']},{'id':'reward-positive-amount','kind':'settled','title':'A\x20resolved\x20reward\x20claim\x20root\x20must\x20carry\x20the\x20positive-amount\x20leg\x20(order\x20amount\x20>=\x201)','statement':'A\x20zero-total\x20order\x20(zeroing-coupon\x20buy)\x20holds\x20an\x20empty\x20escrow\x20and\x20must\x20never\x20claim\x20—\x20the\x20claim\x20root\x20carries\x20an\x20explicit\x20order.amount\x20>=\x201\x20comparison\x20leg.','chain_ref':'order.amount\x20comparison\x20leg\x20in\x20the\x20guard\x20root','verified_on':'BKN-P2\x20(bkng-mn-261014\x20batch)','enforced_by':['R-REWARD-ZERO-ORDER']},{'id':'reward-identity-leg','kind':'settled','title':'The\x20reward\x20claim\x20identity\x20leg\x20(signer\x20==\x20order\x20owner)\x20is\x20mandatory\x20—\x20the\x20claim\x20entry\x20is\x20permissionless','statement':'claim()\x20pays\x20whatever\x20address\x20presents\x20a\x20qualifying\x20order;\x20without\x20the\x20identity\x20leg\x20any\x20address\x20holding\x20any\x20order\x20at\x20the\x20required\x20node\x20drains\x20the\x20pool.\x20The\x20identity\x20leg\x20stays\x20mandatory\x20until\x20a\x20chain-side\x20claim\x20permission\x20primitive\x20exists.','chain_ref':'claim\x20entry\x20has\x20no\x20protocol-level\x20order\x20binding\x20of\x20its\x20own','verified_on':'audit-261012\x20B5'},{'id':'two-rail-independence','kind':'invariant','title':'Fund\x20rails\x20are\x20NODE-gated\x20and\x20NEVER\x20read\x20order.claimed_by\x20—\x20refund\x20and\x20arbitration\x20award\x20are\x20independent\x20commercial\x20tracks\x20(decision\x2011)','statement':'TWO-RAIL\x20INDEPENDENCE\x20(decision\x2011):\x20the\x20order\x20fund\x20rails\x20(refund\x20/\x20settle\x20/\x20recover)\x20are\x20gated\x20on\x20MACHINE\x20NODES\x20—\x20terminal\x20refund/settle\x20node,\x20terminal-node-gated\x20recovery\x20sweep\x20—\x20and\x20NEVER\x20read\x20order.claimed_by;\x20the\x20arbitration\x20award\x20is\x20the\x20indemnity\x20track\x27s\x20separate\x20commercial\x20payout,\x20so\x20a\x20buyer\x20may\x20collect\x20BOTH\x20refund\x20and\x20award.\x20The\x20overlap\x20is\x20LEGAL\x20and\x20disclosed\x20at\x20the\x20MCP\x20dual-payout\x20confirmation\x20gate\x20(acknowledge_dual_payout\x20—\x20a\x20HUMAN\x20netting\x20decision).\x20Any\x20claimed_by\x20leg\x20on\x20a\x20fund\x20rail\x20is\x20the\x20RAIL_CLAIMED_BY_LEG\x20critical;\x20the\x20pre-decision-11\x20claimed_by\x20polarity\x20pairing\x20(refund\x20none\x20+\x20recovery\x20some)\x20is\x20RETIRED.','chain_ref':'the\x20claimed_by\x20Bool\x20axis\x20on\x20the\x20order\x20(award-paid\x20marker)\x20is\x20arbitration-side\x20evidence\x20only;\x20the\x20escrow\x27s\x20Order-side\x20receive\x20deliberately\x20has\x20NO\x20claimed_by\x20gate\x20(rex2\x20T9\x20live-proven)','verified_on':'az-mn-261007\x20(awarded\x20escrow\x20stranded),\x20run75747\x20F-06/F-32;\x20superseding\x20shape:\x20decision\x2011\x20(2026-11-01)','superseded_by':'the\x20claimed-by-polarity-pair\x20teaching\x20(pre-decision-11\x20claimed_by\x20rail\x20pairing)','enforced_by':['RAIL_CLAIMED_BY_LEG','R-FUND-RAIL-CLAIMED-BY','DUAL-RAIL-01\x20dual-payout\x20gate']},{'id':'allocator-rows-authoritative','kind':'settled','title':'allocator.rows\x20are\x20the\x20authoritative\x20money\x20shape\x20—\x20prose\x20must\x20not\x20restate\x20the\x20economics','statement':'The\x20shipped\x20rows\x20ARE\x20the\x20split;\x20any\x20prose\x20restatement\x20of\x20percentages,\x20surplus\x20behavior\x20or\x20recipient\x20structure\x20is\x20a\x20drift\x20hazard\x20and\x20must\x20defer\x20to\x20the\x20rows.\x20A\x20prose/rows\x20contradiction\x20is\x20always\x20a\x20prose\x20bug.','chain_ref':'the\x20allocator\x20configure\x20step\x20carries\x20the\x20rows\x20verbatim','verified_on':'run75747\x20F-09\x20(trust_mechanisms\x20R6\x20contradicted\x20the\x20rows)','enforced_by':['R-PLAN-01..07','template_allocator_rows\x20plan\x20passthrough']},{'id':'inv-guard-node-literals-resolve','kind':'invariant','title':'Every\x20node\x20literal\x20named\x20in\x20guard\x20prose\x20must\x20resolve\x20to\x20the\x20template\x27s\x20own\x20machine\x20node\x20names','statement':'A\x20node\x20set\x20like\x20{reviewed,\x20closed}\x20is\x20dead\x20prose\x20when\x20`closed`\x20is\x20not\x20a\x20machine\x20node\x20—\x20the\x20template\x27s\x20machine\x20shape\x20is\x20the\x20truth\x20and\x20the\x20prose\x20follows.\x20Sync\x20test:\x20reward/guard\x20prose\x20node\x20sets\x20⊆\x20machine\x20node\x20names.','chain_ref':'guard\x20roots\x20compare\x20progress.current\x20against\x20machine\x20node\x20name\x20constants','verified_on':'run75747\x20F-10\x20(reward\x20prose\x20named\x20`closed`;\x20the\x20terminal\x20is\x20`completed`)','enforced_by':['protocol-facts-sync\x20catalog\x20lint']},{'id':'inv-guard-keys-bind','kind':'invariant','title':'Every\x20executable\x20guard\x20key\x20must\x20have\x20at\x20least\x20one\x20binding\x20site;\x20advisory\x20designs\x20must\x20say\x20so;\x20omit\x20is\x20the\x20sanctioned\x20does-not-apply','statement':'A\x20guards[]\x20entry\x20with\x20no\x20binding\x20site\x20(machine\x20forward,\x20allocator\x20guard_key,\x20spec\x20policy,\x20service/buy\x20mount)\x20is\x20either\x20advisory\x20by\x20declaration\x20or\x20a\x20defect\x20—\x20it\x20must\x20never\x20silently\x20enter\x20the\x20creation\x20plan.\x20`guard_resolutions[k]\x20=\x20{kind:\x27omit\x27}`\x20is\x20the\x20sanctioned\x20way\x20to\x20say\x20a\x20design\x20does\x20not\x20apply\x20to\x20this\x20shop.','chain_ref':'guards\x20materialize\x20only\x20through\x20their\x20binding\x20site','verified_on':'run75747\x20F-25\x20(dead\x20duplicate\x20guard)\x20/\x20F-38\x20(unresolvable\x20advisory)','enforced_by':['HOST-GRAPH-01','UNRESOLVED-GUARD-01','GUARD_RESOLUTION_UNKNOWN']},{'id':'inv-fee-param-names-resolve','kind':'invariant','title':'Every\x20*_days\x20/\x20*_hours\x20/\x20*_bps\x20name\x20used\x20in\x20template\x20prose\x20must\x20exist\x20in\x20that\x20template\x27s\x20fee_params','statement':'Time\x20and\x20bps\x20parameters\x20are\x20fee\x20params,\x20never\x20hand-written\x20constants\x20(KLM-A\x20/\x20R-TIME-PROFILE):\x20a\x20token\x20named\x20in\x20a\x20guard\x20purpose\x20is\x20a\x20landing\x20commitment,\x20so\x20it\x20must\x20be\x20a\x20declared\x20fee\x20param.\x20Pseudo-params\x20in\x20prose\x20are\x20renamed\x20to\x20descriptive\x20wording\x20or\x20promoted\x20to\x20real\x20fee\x20params.','chain_ref':'fee_params\x20feed\x20the\x20parameter\x20->\x20landing-site\x20table\x20and\x20override\x20merging','verified_on':'run75747\x20F-23\x20(review_window_days\x20referenced,\x20never\x20declared)','enforced_by':['protocol-facts-sync\x20catalog\x20lint']},{'id':'inv-no-platform-zero-leg','kind':'invariant','title':'No\x20zero-share\x20platform\x20allocation\x20leg\x20may\x20be\x20emitted','statement':'A\x20`platform`\x20recipient\x20at\x200%\x20is\x20a\x20no-op\x20leg\x20that\x20can\x20only\x20mislead\x20—\x20explicit\x20zeros\x20belong\x20in\x20fee_params\x20(machine-checkable),\x20never\x20in\x20allocator\x20rows\x20or\x20emitted\x20plans.','chain_ref':'allocator\x20rows\x20mint\x20real\x20per-track\x20legs','verified_on':'run75747\x20F-28\x20(plan\x20emitted\x20the\x20shape\x20the\x20playbook\x20forbids)'},{'id':'current-time-anchor-drift','kind':'settled','title':'progress\x20current_time\x20drifts\x20on\x20every\x20migration\x20—\x20purchase-anchored\x20windows\x20pin\x20order.time,\x20delivery-anchored\x20windows\x20need\x20a\x20witness\x20anchor','statement':'Anchoring\x20a\x20window\x20on\x20the\x20order\x27s\x20purchase\x20time\x20uses\x20order.time\x20(path-independent).\x20Anchoring\x20on\x20a\x20delivery/progress\x20timestamp\x20needs\x20a\x20witness-anchored\x20entry;\x20a\x20native\x20history-timestamp\x20query\x20is\x20the\x20pending\x20gap\x20(move\x20approval\x20R75-F-17).\x20Until\x20then\x20a\x20Repository\x20time-oracle\x20row\x20serves\x20delivery-anchored\x20windows.','chain_ref':'order.time\x20query\x20vs\x20progress\x20entry\x20timestamps','verified_on':'run75747\x20F-04/F-17;\x20ETSY-C\x20current_time\x20drift\x20rationale'}];export const SV2_REPLAY_GATE_CLAUSE='REPLAY\x20GATE\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20supersedes\x20the\x20ofn-mn-261012\x20storeFromId\x20retraction,\x20which\x20live\x20A/B\x20testing\x20disproved):\x20scope\x20the\x20claim-records\x20query\x20BY\x20THE\x20ORDER\x20—\x20logic_not({type:\x27query_reward_record_exists\x27,\x20object:<reward\x20slot>,\x20where:{storeFromId:<order\x20slot>}});\x20a\x20recipient-only\x20EMPTY\x20where:{}\x20makes\x20the\x20pre-check\x20once-per-buyer-FOR-LIFE\x20and\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order\x20(upw-mn-261014\x20F-48);\x20a\x20RAW\x20query\x20with\x20an\x20empty\x20VecU8\x20parameter\x20is\x20an\x20uncoded\x20VM\x20error\x20(\x27Query\x20bytes\x20is\x20empty\x27,\x20klk-mn-261013\x20F-05).\x20The\x20guard\x20ENTRY\x20stamp\x20is\x20what\x20makes\x20the\x20scope\x20REAL:\x20the\x20reward\x20guard_add\x20ENTRY\x20MUST\x20pin\x20store_from_id\x20=\x20the\x20table\x20slot\x20whose\x20submitted\x20value\x20is\x20the\x20per-order\x20stamp\x20(slot\x200\x20—\x20the\x20submitted\x20Order\x20address)\x20whenever\x20the\x20guard\x20consumes\x20claim\x20records\x20—\x20the\x20MCP\x20guard_add\x20stamp\x20gate\x20hard-REJECTS\x20record-consuming\x20guards\x20that\x20omit\x20it\x20(upw\x20F-13\x20→\x20UPW-K7,\x20crs-mn-261014\x20F-17);\x20the\x20chain\x20itself\x20accepts\x20an\x20unstamped\x20entry\x20but\x20never\x20stamps\x20its\x20claim\x20records,\x20silently\x20killing\x20the\x20per-order\x20replay\x20scope\x20(ofn-mn-261012\x20F-01),\x20and\x20re-adding\x20the\x20same\x20guard\x20overwrites\x20its\x20slot\x20in\x20place\x20(live\x20pools\x20repairable).\x20SCOPE\x20SPLIT\x20(SV-2):\x20entry-stamped\x20+\x20order-scoped\x20where\x20=\x20ONCE\x20PER\x20BUYER\x20PER\x20ORDER\x20—\x20the\x20native\x20RewardClaimKey\x20is\x20(recipient,\x20guard,\x20bcs(store_from)),\x20so\x20the\x20same\x20buyer\x20on\x20a\x20DIFFERENT\x20order\x20claims\x20again\x20and\x20only\x20a\x20same-order\x20replay\x20is\x20refused\x20natively\x20(LIVE-CONFIRMED);\x20entry-stamped\x20+\x20empty\x20where\x20=\x20once\x20per\x20buyer\x20for\x20life\x20—\x20choose\x20it\x20DELIBERATELY\x20for\x20one-bounty-per-buyer\x20designs.';export const SV2_UNARMED_PRESCRIPTION='Add\x20logic_not(query_reward_record_exists(object=<reward>,\x20where:{storeFromId:{identifier:<order\x20slot>}}))\x20—\x20the\x20'+'SV-2\x20ORDER-SCOPED\x20form,\x20once\x20per\x20buyer\x20per\x20order\x20(azx7-mn-261014\x20live\x20T8;\x20the\x20EMPTY-where\x20recipient-only\x20variant\x20'+'is\x20a\x20deliberate\x20once-per-buyer-FOR-LIFE\x20choice\x20and\x20must\x20never\x20back\x20per-order\x20bounty\x20wording,\x20upw\x20F-48)';export const TWO_TX_RENEW_RECIPE='TWO-TX\x20RENEW\x20RECIPE\x20(esound2-mn-261022\x20R2-1):\x20a\x20balance/fund-gated\x20renew\x20or\x20capture\x20forward\x20is\x20satisfiable\x20only\x20'+'when\x20the\x20capture\x20funds\x20were\x20committed\x20in\x20a\x20PRIOR\x20transaction\x20—\x20split\x20the\x20coupled\x20one-PTB\x20call\x20into\x20TWO\x20transactions:\x20'+'TX1\x20commits\x20the\x20period/capture\x20funds\x20into\x20the\x20order\x27s\x20Allocation\x20(create\x20the\x20escrowed\x20payment\x20record,\x20then\x20have\x20'+'the\x20allocation\x20receive\x20it;\x20a\x20hand-built\x20PTB\x20until\x20the\x20allocation\x20top-up\x20primitive\x20ships\x20on\x20the\x20package\x20face),\x20WAIT\x20for\x20its\x20success,\x20then\x20TX2\x20'+'advances\x20the\x20forward\x20with\x20the\x20plain\x20order-holder\x20progress\x20call\x20—\x20the\x20gate\x20now\x20reads\x20the\x20committed\x20balance\x20and\x20'+'passes.\x20The\x20ONE-PTB\x20data.order_renew\x20stays\x20the\x20route\x20for\x20GATE-LESS\x20renew\x20forwards\x20only.\x20NEVER\x20retry\x20the\x20same-PTB\x20'+'shape\x20after\x20the\x20abort:\x20the\x20guard\x20verdict\x20is\x20structural\x20(guards\x20read\x20the\x20pre-transaction\x20snapshot,\x20esound-mn-261021\x20'+'B-1),\x20not\x20a\x20transient\x20balance\x20shortfall.\x20Structural\x20alternatives\x20that\x20avoid\x20the\x20second\x20transaction:\x20prepaid-full\x20'+'at\x20buy\x20(staged-RELEASE\x20semantics)\x20or\x20per-period\x20NEW\x20Orders.';export const SV2_PRIMARY_FORM_CLAUSE='PRIMARY\x20FORM\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20supersedes\x20the\x20ofn-mn-261012\x20storeFromId\x20retraction):\x20ENTRY-STAMPED\x20+\x20ORDER-SCOPED\x20—\x20pin\x20the\x20reward\x20guard_add\x20store_from_id\x20to\x20the\x20table\x20slot\x20whose\x20submitted\x20value\x20is\x20the\x20per-order\x20stamp\x20(slot\x200\x20—\x20the\x20submitted\x20Order\x20address)\x20and\x20scope\x20the\x20record\x20query\x20by\x20the\x20SAME\x20slot:\x20'+'logic_not({type:\x27query_reward_record_exists\x27,\x20object:<reward\x20identifier>,\x20where:{storeFromId:{identifier:0}}})\x20=\x20once\x20per\x20BUYER\x20per\x20ORDER\x20(the\x20same\x20buyer\x27s\x20next\x20order\x20still\x20claims).\x20The\x20ofn\x20F-01\x20\x27storeFromId\x20filter\x20is\x20a\x20silent\x20no-op\x27\x20verdict\x20described\x20UNSTAMPED/legacy\x20rewards\x20only:\x20a\x20guard\x20added\x20without\x20the\x20entry\x20stamp\x20writes\x20claim\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20on\x20stamped\x20guards\x20the\x20filter\x20is\x20live\x20and\x20A/B-verified.\x20';export const SV2_DELIBERATE_ALTERNATIVE_CLAUSE='DELIBERATE\x20ALTERNATIVE:\x20entry-stamped\x20+\x20EMPTY\x20where\x20({})\x20=\x20once\x20per\x20buyer\x20FOR\x20LIFE\x20—\x20the\x20SDK\x20encodes\x20empty\x20where-conditions\x20as\x20[VecU8\x20marker][all-None\x20RecordQueryConditions],\x20recipient\x20defaults\x20to\x20the\x20Signer,\x20so\x20the\x20gate\x20reads\x20\x27this\x20recipient\x20has\x20never\x20claimed\x20this\x20Reward\x27\x20(klk-mn-261014\x20live:\x20the\x20replay\x20aborts\x20at\x20the\x20passport\x20layer,\x20E_VERIFY_FAILED=7).\x20NEVER\x20pair\x20it\x20with\x20per-order\x20bounty\x20wording\x20—\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order\x20(upw-mn-261014\x20F-48).\x20';
|
|
1
|
+
export const PROTOCOL_FACTS_VERSION=0x1;export const PROTOCOL_FACTS=[{'id':'sv2-replay-scope','kind':'settled','title':'Reward\x20replay\x20scope\x20split\x20(SV-2):\x20entry-stamped\x20+\x20order-scoped\x20where\x20is\x20the\x20primary\x20once-per-buyer-per-order\x20form','statement':'On\x20a\x20stamped\x20reward\x20guard\x20the\x20order-scoped\x20record\x20query\x20(where:{storeFromId:{identifier:<order\x20slot>}})\x20is\x20live:\x20entry-stamped\x20+\x20order-scoped\x20where\x20=\x20once\x20per\x20buyer\x20per\x20order\x20(the\x20native\x20claim\x20key\x20is\x20recipient+guard+stamp,\x20so\x20the\x20same\x20buyer\x20on\x20a\x20DIFFERENT\x20order\x20claims\x20again);\x20entry-stamped\x20+\x20empty\x20where\x20=\x20once\x20per\x20buyer\x20for\x20life\x20(a\x20deliberate\x20choice,\x20never\x20a\x20default).\x20The\x20blanket\x20\x27storeFromId\x20filter\x20is\x20inert\x27\x20verdict\x20described\x20unstamped/legacy\x20rewards\x20only.','chain_ref':'Reward\x20claim\x20records\x20key\x20on\x20(recipient,\x20guard,\x20store_from)\x20once\x20the\x20guard_add\x20entry\x20carries\x20the\x20store_from_id\x20stamp;\x20the\x20claim\x27s\x20native\x20once-slot\x20is\x20the\x20second\x20line\x20of\x20defense\x20behind\x20the\x20guard\x27s\x20record\x20gate.','verified_on':'azx7-mn-261014\x20live\x20T8\x20(A/B-verified);\x20klk-mn-261014\x20live\x20(empty-where\x20passport\x20abort)','superseded_by':'the\x20ofn-mn-261012\x20F-01\x20blanket\x20\x27storeFromId\x20filter\x20is\x20a\x20silent\x20no-op\x27\x20retraction','enforced_by':['REVIEW_REWARD_UNARMED','R-REWARD-REPLAY','guard-risk\x20R-X1-14']},{'id':'reward-entry-stamp','kind':'settled','title':'The\x20guard_add\x20store_from_id\x20stamp\x20is\x20REQUIRED\x20only\x20behind\x20a\x20storeFromId\x20record\x20predicate;\x20recipient-only\x20(predicateless)\x20record\x20gates\x20are\x20valid\x20unstamped','statement':'Reward.claim\x20keys\x20every\x20payout\x20on\x20RewardClaimKey\x20{recipient,\x20guard,\x20store_from}\x20(native\x20once-slot,\x20live\x20in\x20the\x20deployed\x20framework\x20—\x20claim-key\x20dynamic\x20fields\x20observed\x20on\x20the\x20crs9\x20mainnet\x20reward\x20object),\x20so\x20an\x20unstamped\x20entry\x20degrades\x20to\x20once-per-recipient-for-life,\x20never\x20a\x20drain.\x20The\x20MCP\x20guard_add\x20stamp\x20gate\x20therefore\x20rejects\x20ONLY\x20the\x20mismatch\x20where\x20the\x20tree\x20pins\x20a\x20storeFromId\x20predicate\x20(order-scoped\x20where)\x20while\x20the\x20entry\x20omits\x20the\x20stamp\x20—\x20unstamped\x20records\x20match\x20no\x20store_from\x20predicate,\x20silently\x20killing\x20the\x20declared\x20once-per-order\x20economics.\x20The\x20recipient-only\x20form\x20is\x20admitted\x20with\x20a\x20loud\x20advisory\x20(keep\x20the\x20order.owner\x20identity\x20leg\x20—\x20it\x20decides\x20who\x20may\x20claim).\x20Re-adding\x20the\x20same\x20guard\x20overwrites\x20its\x20slot\x20in\x20place\x20(live\x20pools\x20repairable).','chain_ref':'guard_add\x20store_from_id\x20entry\x20field;\x20claim\x20records\x20write\x20store_from\x20only\x20when\x20stamped;\x20claim\x20key\x20{recipient,\x20guard,\x20bcs(stamp)|[]}','verified_on':'crs-mn-261015\x20F-11\x20(gate\x20corrected);\x20azx7-mn-261014\x20live\x20T8\x20(stamped\x20forms);\x20crs9\x20mainnet\x20claim-key\x20dynamic\x20fields;\x20upw\x20F-13\x20→\x20UPW-K7\x20origin','enforced_by':['MCP\x20guard_add\x20stamp\x20gate\x20(predicate/stamp\x20mismatch\x20only)','REVIEW_REWARD_UNARMED','R-REWARD-REPLAY','guard-risk\x20R-X1-14']},{'id':'reward-recipient-signer','kind':'settled','title':'The\x20reward\x20guard_add\x20ENTRY\x20recipient\x20must\x20be\x20the\x20signer\x20(or\x20an\x20Entity)\x20—\x20never\x20a\x20GuardIdentifier','statement':'The\x20claim\x20entry\x20requires\x20recipient\x20==\x20tx\x20sender;\x20a\x20GuardIdentifier\x20recipient\x20resolves\x20from\x20the\x20passport\x20submission\x20(conventionally\x20the\x20submitted\x20Order\x20address)\x20and\x20can\x20never\x20equal\x20the\x20sender,\x20so\x20every\x20claim\x20aborts\x20with\x20the\x20recipient-mismatch\x20error\x20and\x20the\x20pool\x20is\x20structurally\x20unpayable.\x20The\x20order-anchor\x20GuardIdentifier\x20idiom\x20is\x20an\x20Allocation\x20push\x20rail,\x20never\x20a\x20reward\x20pull\x20rail.\x20An\x20Entity\x20recipient\x20passes\x20(replaced\x20by\x20the\x20claimant\x27s\x20local\x20account\x20at\x20claim\x20time).','chain_ref':'Reward\x20claim\x20pays\x20the\x20tx-context\x20sender;\x20recipient\x20is\x20asserted\x20equal\x20to\x20it','verified_on':'crs-mn-261015\x20F-12\x20(live\x20mainnet,\x20funded\x20pool\x20aborting\x20on\x20every\x20claim)','enforced_by':['MCP\x20guard_add\x20recipient\x20gate']},{'id':'reward-positive-amount','kind':'settled','title':'A\x20resolved\x20reward\x20claim\x20root\x20must\x20carry\x20the\x20positive-amount\x20leg\x20(order\x20amount\x20>=\x201)','statement':'A\x20zero-total\x20order\x20(zeroing-coupon\x20buy)\x20holds\x20an\x20empty\x20escrow\x20and\x20must\x20never\x20claim\x20—\x20the\x20claim\x20root\x20carries\x20an\x20explicit\x20order.amount\x20>=\x201\x20comparison\x20leg.','chain_ref':'order.amount\x20comparison\x20leg\x20in\x20the\x20guard\x20root','verified_on':'BKN-P2\x20(bkng-mn-261014\x20batch)','enforced_by':['R-REWARD-ZERO-ORDER']},{'id':'reward-identity-leg','kind':'settled','title':'The\x20reward\x20claim\x20identity\x20leg\x20(signer\x20==\x20order\x20owner)\x20is\x20mandatory\x20—\x20the\x20claim\x20entry\x20is\x20permissionless','statement':'claim()\x20pays\x20whatever\x20address\x20presents\x20a\x20qualifying\x20order;\x20without\x20the\x20identity\x20leg\x20any\x20address\x20holding\x20any\x20order\x20at\x20the\x20required\x20node\x20drains\x20the\x20pool.\x20The\x20identity\x20leg\x20stays\x20mandatory\x20until\x20a\x20chain-side\x20claim\x20permission\x20primitive\x20exists.','chain_ref':'claim\x20entry\x20has\x20no\x20protocol-level\x20order\x20binding\x20of\x20its\x20own','verified_on':'audit-261012\x20B5'},{'id':'two-rail-independence','kind':'invariant','title':'Fund\x20rails\x20are\x20NODE-gated\x20and\x20NEVER\x20read\x20order.claimed_by\x20—\x20refund\x20and\x20arbitration\x20award\x20are\x20independent\x20commercial\x20tracks\x20(decision\x2011)','statement':'TWO-RAIL\x20INDEPENDENCE\x20(decision\x2011):\x20the\x20order\x20fund\x20rails\x20(refund\x20/\x20settle\x20/\x20recover)\x20are\x20gated\x20on\x20MACHINE\x20NODES\x20—\x20terminal\x20refund/settle\x20node,\x20terminal-node-gated\x20recovery\x20sweep\x20—\x20and\x20NEVER\x20read\x20order.claimed_by;\x20the\x20arbitration\x20award\x20is\x20the\x20indemnity\x20track\x27s\x20separate\x20commercial\x20payout,\x20so\x20a\x20buyer\x20may\x20collect\x20BOTH\x20refund\x20and\x20award.\x20The\x20overlap\x20is\x20LEGAL\x20and\x20disclosed\x20at\x20the\x20MCP\x20dual-payout\x20confirmation\x20gate\x20(acknowledge_dual_payout\x20—\x20a\x20HUMAN\x20netting\x20decision).\x20Any\x20claimed_by\x20leg\x20on\x20a\x20fund\x20rail\x20is\x20the\x20RAIL_CLAIMED_BY_LEG\x20critical;\x20the\x20pre-decision-11\x20claimed_by\x20polarity\x20pairing\x20(refund\x20none\x20+\x20recovery\x20some)\x20is\x20RETIRED.','chain_ref':'the\x20claimed_by\x20Bool\x20axis\x20on\x20the\x20order\x20(award-paid\x20marker)\x20is\x20arbitration-side\x20evidence\x20only;\x20the\x20escrow\x27s\x20Order-side\x20receive\x20deliberately\x20has\x20NO\x20claimed_by\x20gate\x20(rex2\x20T9\x20live-proven)','verified_on':'az-mn-261007\x20(awarded\x20escrow\x20stranded),\x20run75747\x20F-06/F-32;\x20superseding\x20shape:\x20decision\x2011\x20(2026-11-01)','superseded_by':'the\x20claimed-by-polarity-pair\x20teaching\x20(pre-decision-11\x20claimed_by\x20rail\x20pairing)','enforced_by':['RAIL_CLAIMED_BY_LEG','R-FUND-RAIL-CLAIMED-BY','DUAL-RAIL-01\x20dual-payout\x20gate']},{'id':'allocator-rows-authoritative','kind':'settled','title':'allocator.rows\x20are\x20the\x20authoritative\x20money\x20shape\x20—\x20prose\x20must\x20not\x20restate\x20the\x20economics','statement':'The\x20shipped\x20rows\x20ARE\x20the\x20split;\x20any\x20prose\x20restatement\x20of\x20percentages,\x20surplus\x20behavior\x20or\x20recipient\x20structure\x20is\x20a\x20drift\x20hazard\x20and\x20must\x20defer\x20to\x20the\x20rows.\x20A\x20prose/rows\x20contradiction\x20is\x20always\x20a\x20prose\x20bug.','chain_ref':'the\x20allocator\x20configure\x20step\x20carries\x20the\x20rows\x20verbatim','verified_on':'run75747\x20F-09\x20(trust_mechanisms\x20R6\x20contradicted\x20the\x20rows)','enforced_by':['R-PLAN-01..07','template_allocator_rows\x20plan\x20passthrough']},{'id':'inv-guard-node-literals-resolve','kind':'invariant','title':'Every\x20node\x20literal\x20named\x20in\x20guard\x20prose\x20must\x20resolve\x20to\x20the\x20template\x27s\x20own\x20machine\x20node\x20names','statement':'A\x20node\x20set\x20like\x20{reviewed,\x20closed}\x20is\x20dead\x20prose\x20when\x20`closed`\x20is\x20not\x20a\x20machine\x20node\x20—\x20the\x20template\x27s\x20machine\x20shape\x20is\x20the\x20truth\x20and\x20the\x20prose\x20follows.\x20Sync\x20test:\x20reward/guard\x20prose\x20node\x20sets\x20⊆\x20machine\x20node\x20names.','chain_ref':'guard\x20roots\x20compare\x20progress.current\x20against\x20machine\x20node\x20name\x20constants','verified_on':'run75747\x20F-10\x20(reward\x20prose\x20named\x20`closed`;\x20the\x20terminal\x20is\x20`completed`)','enforced_by':['protocol-facts-sync\x20catalog\x20lint']},{'id':'inv-guard-keys-bind','kind':'invariant','title':'Every\x20executable\x20guard\x20key\x20must\x20have\x20at\x20least\x20one\x20binding\x20site;\x20advisory\x20designs\x20must\x20say\x20so;\x20omit\x20is\x20the\x20sanctioned\x20does-not-apply','statement':'A\x20guards[]\x20entry\x20with\x20no\x20binding\x20site\x20(machine\x20forward,\x20allocator\x20guard_key,\x20spec\x20policy,\x20service/buy\x20mount)\x20is\x20either\x20advisory\x20by\x20declaration\x20or\x20a\x20defect\x20—\x20it\x20must\x20never\x20silently\x20enter\x20the\x20creation\x20plan.\x20`guard_resolutions[k]\x20=\x20{kind:\x27omit\x27}`\x20is\x20the\x20sanctioned\x20way\x20to\x20say\x20a\x20design\x20does\x20not\x20apply\x20to\x20this\x20shop.','chain_ref':'guards\x20materialize\x20only\x20through\x20their\x20binding\x20site','verified_on':'run75747\x20F-25\x20(dead\x20duplicate\x20guard)\x20/\x20F-38\x20(unresolvable\x20advisory)','enforced_by':['HOST-GRAPH-01','UNRESOLVED-GUARD-01','GUARD_RESOLUTION_UNKNOWN']},{'id':'inv-fee-param-names-resolve','kind':'invariant','title':'Every\x20*_days\x20/\x20*_hours\x20/\x20*_bps\x20name\x20used\x20in\x20template\x20prose\x20must\x20exist\x20in\x20that\x20template\x27s\x20fee_params','statement':'Time\x20and\x20bps\x20parameters\x20are\x20fee\x20params,\x20never\x20hand-written\x20constants\x20(KLM-A\x20/\x20R-TIME-PROFILE):\x20a\x20token\x20named\x20in\x20a\x20guard\x20purpose\x20is\x20a\x20landing\x20commitment,\x20so\x20it\x20must\x20be\x20a\x20declared\x20fee\x20param.\x20Pseudo-params\x20in\x20prose\x20are\x20renamed\x20to\x20descriptive\x20wording\x20or\x20promoted\x20to\x20real\x20fee\x20params.','chain_ref':'fee_params\x20feed\x20the\x20parameter\x20->\x20landing-site\x20table\x20and\x20override\x20merging','verified_on':'run75747\x20F-23\x20(review_window_days\x20referenced,\x20never\x20declared)','enforced_by':['protocol-facts-sync\x20catalog\x20lint']},{'id':'inv-no-platform-zero-leg','kind':'invariant','title':'No\x20zero-share\x20platform\x20allocation\x20leg\x20may\x20be\x20emitted','statement':'A\x20`platform`\x20recipient\x20at\x200%\x20is\x20a\x20no-op\x20leg\x20that\x20can\x20only\x20mislead\x20—\x20explicit\x20zeros\x20belong\x20in\x20fee_params\x20(machine-checkable),\x20never\x20in\x20allocator\x20rows\x20or\x20emitted\x20plans.','chain_ref':'allocator\x20rows\x20mint\x20real\x20per-track\x20legs','verified_on':'run75747\x20F-28\x20(plan\x20emitted\x20the\x20shape\x20the\x20playbook\x20forbids)'},{'id':'current-time-anchor-drift','kind':'settled','title':'progress\x20current_time\x20drifts\x20on\x20every\x20migration\x20—\x20purchase-anchored\x20windows\x20pin\x20order.time,\x20delivery-anchored\x20windows\x20need\x20a\x20witness\x20anchor','statement':'Anchoring\x20a\x20window\x20on\x20the\x20order\x27s\x20purchase\x20time\x20uses\x20order.time\x20(path-independent).\x20Anchoring\x20on\x20a\x20delivery/progress\x20timestamp\x20needs\x20a\x20witness-anchored\x20entry;\x20a\x20native\x20history-timestamp\x20query\x20is\x20the\x20pending\x20gap\x20(move\x20approval\x20R75-F-17).\x20Until\x20then\x20a\x20Repository\x20time-oracle\x20row\x20serves\x20delivery-anchored\x20windows.','chain_ref':'order.time\x20query\x20vs\x20progress\x20entry\x20timestamps','verified_on':'run75747\x20F-04/F-17;\x20ETSY-C\x20current_time\x20drift\x20rationale'}];export const SV2_REPLAY_GATE_CLAUSE='REPLAY\x20GATE\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20supersedes\x20the\x20ofn-mn-261012\x20storeFromId\x20retraction,\x20which\x20live\x20A/B\x20testing\x20disproved):\x20scope\x20the\x20claim-records\x20query\x20BY\x20THE\x20ORDER\x20—\x20logic_not({type:\x27query_reward_record_exists\x27,\x20object:<reward\x20slot>,\x20where:{storeFromId:<order\x20slot>}});\x20a\x20recipient-only\x20EMPTY\x20where:{}\x20makes\x20the\x20pre-check\x20once-per-buyer-FOR-LIFE\x20and\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order\x20(upw-mn-261014\x20F-48);\x20a\x20RAW\x20query\x20with\x20an\x20empty\x20VecU8\x20parameter\x20is\x20an\x20uncoded\x20VM\x20error\x20(\x27Query\x20bytes\x20is\x20empty\x27,\x20klk-mn-261013\x20F-05).\x20The\x20guard\x20ENTRY\x20stamp\x20is\x20what\x20makes\x20the\x20scope\x20REAL:\x20the\x20reward\x20guard_add\x20ENTRY\x20MUST\x20pin\x20store_from_id\x20=\x20the\x20table\x20slot\x20whose\x20submitted\x20value\x20is\x20the\x20per-order\x20stamp\x20(slot\x200\x20—\x20the\x20submitted\x20Order\x20address)\x20whenever\x20the\x20guard\x20consumes\x20claim\x20records\x20—\x20the\x20MCP\x20guard_add\x20stamp\x20gate\x20hard-REJECTS\x20record-consuming\x20guards\x20that\x20omit\x20it\x20(upw\x20F-13\x20→\x20UPW-K7,\x20crs-mn-261014\x20F-17);\x20the\x20chain\x20itself\x20accepts\x20an\x20unstamped\x20entry\x20but\x20never\x20stamps\x20its\x20claim\x20records,\x20silently\x20killing\x20the\x20per-order\x20replay\x20scope\x20(ofn-mn-261012\x20F-01),\x20and\x20re-adding\x20the\x20same\x20guard\x20overwrites\x20its\x20slot\x20in\x20place\x20(live\x20pools\x20repairable).\x20SCOPE\x20SPLIT\x20(SV-2):\x20entry-stamped\x20+\x20order-scoped\x20where\x20=\x20ONCE\x20PER\x20BUYER\x20PER\x20ORDER\x20—\x20the\x20native\x20RewardClaimKey\x20is\x20(recipient,\x20guard,\x20bcs(store_from)),\x20so\x20the\x20same\x20buyer\x20on\x20a\x20DIFFERENT\x20order\x20claims\x20again\x20and\x20only\x20a\x20same-order\x20replay\x20is\x20refused\x20natively\x20(LIVE-CONFIRMED);\x20entry-stamped\x20+\x20empty\x20where\x20=\x20once\x20per\x20buyer\x20for\x20life\x20—\x20choose\x20it\x20DELIBERATELY\x20for\x20one-bounty-per-buyer\x20designs.';export const SV2_UNARMED_PRESCRIPTION='Add\x20logic_not(query_reward_record_exists(object=<reward>,\x20where:{storeFromId:{identifier:<order\x20slot>}}))\x20—\x20the\x20'+'SV-2\x20ORDER-SCOPED\x20form,\x20once\x20per\x20buyer\x20per\x20order\x20(azx7-mn-261014\x20live\x20T8;\x20the\x20EMPTY-where\x20recipient-only\x20variant\x20'+'is\x20a\x20deliberate\x20once-per-buyer-FOR-LIFE\x20choice\x20and\x20must\x20never\x20back\x20per-order\x20bounty\x20wording,\x20upw\x20F-48)';export const TWO_TX_RENEW_RECIPE='TWO-TX\x20RENEW\x20RECIPE\x20(esound2-mn-261022\x20R2-1;\x20fund_only\x20executor\x202026-11-11):\x20a\x20balance/fund-gated\x20renew\x20or\x20capture\x20forward\x20is\x20satisfiable\x20only\x20'+'when\x20the\x20capture\x20funds\x20were\x20committed\x20in\x20a\x20PRIOR\x20transaction\x20—\x20split\x20the\x20coupled\x20one-PTB\x20call\x20into\x20TWO\x20transactions:\x20'+'TX1\x20commits\x20the\x20period/capture\x20funds\x20into\x20the\x20order\x27s\x20Allocation\x20and\x20advances\x20NOTHING\x20—\x20the\x20call_order\x20tool\x27s\x20'+'`order_renew`\x20field\x20with\x20`fund_only:\x20true`\x20executes\x20exactly\x20this\x20(the\x20funding\x20half\x20only:\x20the\x20new\x20Payment\x27s\x20sole\x20'+'recipient\x20is\x20the\x20allocation\x20object\x20itself,\x20and\x20the\x20wrapped\x20coin\x20joins\x20the\x20allocation\x20vault\x20—\x20no\x20forward;\x20the\x20legacy\x20'+'hand-built\x20PTB\x20works\x20too).\x20WAIT\x20for\x20its\x20success,\x20then\x20TX2\x20advances\x20the\x20forward\x20with\x20the\x20plain\x20'+'order-holder\x20`progress`\x20call\x20—\x20the\x20gate\x20now\x20reads\x20the\x20committed\x20balance\x20and\x20passes.\x20The\x20ONE-PTB\x20order_renew\x20(no\x20fund_only)\x20stays\x20the\x20route\x20'+'for\x20GATE-LESS\x20renew\x20forwards\x20only.\x20NEVER\x20retry\x20the\x20same-PTB\x20shape\x20after\x20the\x20abort:\x20the\x20guard\x20verdict\x20is\x20structural\x20(guards\x20read\x20the\x20'+'pre-transaction\x20snapshot,\x20esound-mn-261021\x20B-1),\x20not\x20a\x20transient\x20balance\x20shortfall.\x20Structural\x20alternatives\x20that\x20avoid\x20the\x20second\x20'+'transaction:\x20prepaid-full\x20at\x20buy\x20(staged-RELEASE\x20semantics)\x20or\x20per-period\x20NEW\x20Orders.';export const RENEWAL_WITNESS_RECIPE='TWO-TX\x20WITNESS\x20RENEW\x20RECIPE\x20(D-N2,\x20DECISIONS-261110;\x20the\x20funded\x20form\x20of\x20'+TWO_TX_RENEW_RECIPE+'):\x20TX1\x20(prior\x20transaction,\x20hand-built\x20PTB)\x20commits\x20the\x20period\x20funds\x20AND\x20mints\x20the\x20frozen\x20Payment\x20receipt\x20—\x20'+'commit\x20the\x20period\x20amount\x20into\x20the\x20order\x27s\x20Allocation\x20pool\x20and\x20create\x20the\x20receipt\x20bound\x20to\x20the\x20order\x20(info.for=order,\x20'+'info.index=CURRENT\x20progress.history\x20count,\x20info.remark=CURRENT\x20node\x20name);\x20WAIT\x20for\x20its\x20success;\x20TX2\x20advances\x20'+'the\x20renew\x20forward\x20with\x20the\x20plain\x20order-holder\x20progress\x20call,\x20submitting\x20the\x20receipt\x20+\x20Order\x20as\x20guard\x20evidence\x20'+'(tpl_forward_renewal_payment_witness\x20six\x20legs:\x20order.owner==Signer,\x20info.for==order,\x20info.index==history\x20'+'count,\x20info.remark==current,\x20payment.amount>=order.amount,\x20allocation.balance>=order.amount).\x20The\x20step\x20binding\x20'+'(index==history\x20count\x20+\x20remark==current)\x20IS\x20the\x20replay\x20closure\x20—\x20one\x20receipt\x20verifies\x20exactly\x20one\x20step,\x20no\x20'+'protocol-255\x20slot.\x20The\x20one-PTB\x20data.order_renew\x20route\x20CANNOT\x20execute\x20a\x20witness-gated\x20forward\x20(its\x20same-PTB\x20'+'receipt\x20is\x20invisible\x20to\x20the\x20guard,\x20B-1).';export const SV2_PRIMARY_FORM_CLAUSE='PRIMARY\x20FORM\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20supersedes\x20the\x20ofn-mn-261012\x20storeFromId\x20retraction):\x20ENTRY-STAMPED\x20+\x20ORDER-SCOPED\x20—\x20pin\x20the\x20reward\x20guard_add\x20store_from_id\x20to\x20the\x20table\x20slot\x20whose\x20submitted\x20value\x20is\x20the\x20per-order\x20stamp\x20(slot\x200\x20—\x20the\x20submitted\x20Order\x20address)\x20and\x20scope\x20the\x20record\x20query\x20by\x20the\x20SAME\x20slot:\x20'+'logic_not({type:\x27query_reward_record_exists\x27,\x20object:<reward\x20identifier>,\x20where:{storeFromId:{identifier:0}}})\x20=\x20once\x20per\x20BUYER\x20per\x20ORDER\x20(the\x20same\x20buyer\x27s\x20next\x20order\x20still\x20claims).\x20The\x20ofn\x20F-01\x20\x27storeFromId\x20filter\x20is\x20a\x20silent\x20no-op\x27\x20verdict\x20described\x20UNSTAMPED/legacy\x20rewards\x20only:\x20a\x20guard\x20added\x20without\x20the\x20entry\x20stamp\x20writes\x20claim\x20records\x20with\x20store_from\x20=\x20none,\x20which\x20matches\x20no\x20storeFromId\x20predicate\x20—\x20on\x20stamped\x20guards\x20the\x20filter\x20is\x20live\x20and\x20A/B-verified.\x20';export const SV2_DELIBERATE_ALTERNATIVE_CLAUSE='DELIBERATE\x20ALTERNATIVE:\x20entry-stamped\x20+\x20EMPTY\x20where\x20({})\x20=\x20once\x20per\x20buyer\x20FOR\x20LIFE\x20—\x20the\x20SDK\x20encodes\x20empty\x20where-conditions\x20as\x20[VecU8\x20marker][all-None\x20RecordQueryConditions],\x20recipient\x20defaults\x20to\x20the\x20Signer,\x20so\x20the\x20gate\x20reads\x20\x27this\x20recipient\x20has\x20never\x20claimed\x20this\x20Reward\x27\x20(klk-mn-261014\x20live:\x20the\x20replay\x20aborts\x20at\x20the\x20passport\x20layer,\x20E_VERIFY_FAILED=7).\x20NEVER\x20pair\x20it\x20with\x20per-order\x20bounty\x20wording\x20—\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order\x20(upw-mn-261014\x20F-48).\x20';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CHAIN_QUERY_REGISTRY,getChainQuery}from'./chain-query-registry.js';function children(a){if(Array['isArray'](a['nodes']))return a['nodes'];if(a['node'])return[a['node']];return[];}function walk(a,b){if(!a||typeof a!=='object')return;const d=a;b(d);for(const e of children(d))walk(e,b);}function isPseudoQuery(a){const b=a['toLowerCase']();return b['startsWith']('context')||b['includes']('signer');}const REGISTRY_HEADS=new Set(CHAIN_QUERY_REGISTRY['map'](a=>a['name']['split'](/[. ]/,0x1)[0x0]));export function findRegistryDeadLegs(a){const b=new Set();return walk(a,c=>{const d=c?.['query'];if(typeof d!=='string'||d['trim']()===''||isPseudoQuery(d))return;if(getChainQuery(d))return;const e=d['split'](/[. ]/,0x1)[0x0];if(REGISTRY_HEADS['has'](e))b['add'](d);}),[...b];}export function closureFindings(a,b){const c=[],d=[],e=new Set();for(const i of a['resolvedLowerKeys'])e['add'](i['toLowerCase']());const f=new Set();for(const j of a['unreadableRefs']??[])f['add'](j['toLowerCase']());if(a['readError']!==undefined)return{'blockers':[],'disclosures':[],'outage':b?.['strictAudit']?'PG-CLOSURE-01\x20(strict\x20audit\x20report):\x20could\x20not\x20query\x20the\x20referenced\x20guard\x20object(s)\x20'+('('+a['readError']+')\x20—\x20the\x20outage\x20PROVES\x20NOTHING\x20about\x20chain\x20state;\x20it\x20is\x20reported\x20for\x20YOUR\x20')+'decision,\x20and\x20whether\x20to\x20publish\x20remains\x20yours.\x20If\x20you\x20want\x20this\x20audit\x20to\x20pass,\x20retry\x20when\x20the\x20'+'network\x20is\x20stable.\x20If\x20you\x20publish\x20anyway,\x20the\x20SAME\x20finding\x20rides\x20the\x20formal\x20publish\x20as\x20a\x20warning\x20'+'and\x20you\x20own\x20the\x20unverified-rail\x20risk:\x20a\x20guard\x20ref\x20that\x20is\x20actually\x20dangling\x20would\x20be\x20frozen\x20into\x20'+'the\x20immutable\x20machine\x20(F-10;\x20nodes/pairs/forwards\x20immutable\x20after\x20publish)':'PG-CLOSURE-01:\x20could\x20not\x20query\x20the\x20referenced\x20guard\x20object(s)\x20('+a['readError']+')\x20—\x20'+'reference\x20closure\x20UNVERIFIABLE\x20from\x20this\x20call.\x20A\x20transient\x20outage\x20proves\x20nothing\x20about\x20chain\x20state,\x20so\x20'+'this\x20does\x20NOT\x20block\x20the\x20publish\x20by\x20itself\x20—\x20but\x20publishing\x20WITHOUT\x20verification\x20risks\x20freezing\x20a\x20'+'dangling\x20guard\x20ref\x20into\x20the\x20immutable\x20machine\x20(F-10;\x20nodes/pairs/forwards\x20are\x20immutable\x20after\x20publish).\x20'+'Re-run\x20the\x20SAME\x20publish\x20with\x20env\x20dry_run:true\x20for\x20the\x20strict\x20pre-publish\x20audit\x20(an\x20outage\x20blocks\x20there),\x20'+'or\x20retry\x20when\x20the\x20network\x20is\x20stable'};const g=[];for(const l of a['refs']){const m=l['trim']();if(m==='')continue;const n=m['toLowerCase']();if(e['has'](n))continue;if(f['has'](n)){d['push']('PG-CLOSURE-01:\x20guard\x20\x22'+m+'\x22\x20fetched\x20but\x20NOT\x20readable\x20as\x20a\x20Guard\x20envelope\x20(tooling/version\x20skew)\x20—\x20'+'its\x20semantics\x20are\x20UNVERIFIED.\x20Verify\x20via\x20analyze_guard_semantics\x20before\x20publish;\x20the\x20binding\x20freezes\x20at\x20publish');continue;}g['push'](m);}g['length']>0x0&&c['push']('PG-CLOSURE-01:\x20guard\x20reference(s)\x20'+g['map'](o=>'\x22'+o+'\x22')['join'](',\x20')+'\x20did\x20NOT\x20resolve\x20to\x20a\x20Guard\x20'+'on-chain\x20—\x20the\x20publish\x20would\x20freeze\x20dangling\x20reference(s)\x20into\x20an\x20immutable\x20object:\x20the\x20rail\x20each\x20one\x20carries\x20'+'is\x20unverifiable\x20at\x20best\x20and\x20permanently\x20dead\x20at\x20worst\x20(F-10).\x20Create/repair\x20the\x20guard\x20FIRST,\x20then\x20re-publish\x20'+'(immutable\x20after\x20publish:\x20IMMUT-001/IMMUT-002)');const h=[...a['softRefs']??[]]['filter'](o=>o['trim']()!=='');return h['length']>0x0&&d['push']('PG-CLOSURE-01:\x20name-referenced\x20guard(s)\x20'+h['map'](o=>'\x22'+o+'\x22')['join'](',\x20')+'\x20did\x20not\x20resolve\x20'+'through\x20the\x20id-based\x20read\x20channel\x20—\x20absence\x20is\x20NOT\x20proven\x20for\x20name\x20refs.\x20Confirm\x20each\x20resolves\x20to\x20a\x20live\x20'+'Guard\x20before\x20publish;\x20a\x20dangling\x20ref\x20freezes\x20into\x20an\x20immutable\x20object\x20(IMMUT-001/IMMUT-002)'),{'blockers':c,'disclosures':d};}export function zombieConvergenceFindings(a){const b=[];for(const c of a){const d=c,e=typeof d?.['name']==='string'?d['name']:'';if(!/^closed_refunded$/i['test'](e))continue;const f=Array['isArray'](d?.['pairs'])?d['pairs']:Array['isArray'](d?.['value'])?d['value']:[],g=new Set();for(const h of f){const i=h?.['prev_node'];if(typeof i==='string'&&i!==''&&i!==e)g['add'](i);}b['push']('convergence\x20terminal\x20\x22'+e+'\x22\x20(entry\x20from\x20'+([...g]['map'](j=>'\x22'+j+'\x22')['join'](',\x20')||'declared\x20edges')+')');}if(b['length']===0x0)return[];return['PG-ZOMBIE-01:\x20'+b['join'](';\x20')+'\x20—\x20this\x20edge\x20is\x20UNREACHABLE\x20on-chain.\x20The\x20O-F22\x20zombie-order\x20shield\x20'+'(inside\x20the\x20progress\x20package)\x20refuses\x20EVERY\x20order-scoped\x20advance/hold\x20once\x20the\x20principal\x20is\x20fully\x20refunded,\x20and\x20the\x20'+'shield\x20abort\x20fires\x20BEFORE\x20the\x20entry\x20guard\x20evaluates\x20—\x20full\x20refund:\x20latch\x20true,\x20advance\x20'+'aborts;\x20partial\x20refund:\x20latch\x20false,\x20guard\x20rejects\x20(mainnet:\x20upw-b7k2\x20O2).\x20The\x20order\x20stays\x20parked\x20at\x20its\x20'+'pre-drain\x20node\x20(funds\x20already\x20safe);\x20treat\x20the\x20zombie\x20state\x20as\x20the\x20terminal\x20and\x20the\x20order.principal_refunded\x20'+'latch\x20QUERY\x20(1579)\x20as\x20the\x20refund\x20loop\x27s\x20close\x20proof.\x20Removal\x20of\x20the\x20injected\x20convergence\x20terminal\x20and\x20a\x20chain\x20'+'whitelist\x20for\x20advance-into-closed_refunded\x20are\x20registered\x20as\x20the\x20kernel\x20proposal\x20item\x20(PROPOSAL\x20§2\x20follow-up);\x20'+'disclosed,\x20not\x20gated\x20—\x20until\x20then\x20this\x20edge\x20is\x20bookkeeping-dead\x20by\x20chain\x20design'];}function readsTimeWindow(a){let b=![];return walk(a,c=>{const d=typeof c?.['query']==='string'?c['query']:'';if(d['trim']()===''||isPseudoQuery(d))return;if(!REGISTRY_HEADS['has'](d['split'](/[. ]/,0x1)[0x0]))return;if(/time/i['test'](d['split']('\x20',0x1)[0x0]))b=!![];}),b;}export function bypassPathFindings(a,b){if(a['length']===0x0)return[];const c=new Map();for(const f of a){if(f['next']===''||f['prev']===''||f['prev']===f['next'])continue;const g=c['get'](f['next'])??[];g['push'](f),c['set'](f['next'],g);}const d=[];for(const [h,i]of c){const j=i['filter'](l=>l['unguarded']||!l['guardRef']),k=i['filter'](l=>{if(l['unguarded']||!l['guardRef'])return![];const m=b['get'](l['guardRef']['toLowerCase']());return m!==undefined?readsTimeWindow(m):![];});if(j['length']===0x0||k['length']===0x0)continue;d['push']('node\x20\x22'+h+'\x22\x20is\x20entered\x20BOTH\x20via\x20unguarded\x20forward(s)\x20'+(j['map'](l=>'\x22'+l['forward']+'\x22')['join'](',\x20')+'\x20AND\x20via\x20time-window-guarded\x20forward(s)\x20')+(''+k['map'](l=>'\x22'+l['forward']+'\x22')['join'](',\x20')));}if(d['length']===0x0)return[];return['PG-BYPASS-01:\x20'+d['join'](';\x20')+'\x20—\x20the\x20unguarded\x20path\x20fires\x20WITHOUT\x20the\x20window\x20protection\x20the\x20'+'guarded\x20path\x20enforces\x20(upw-b7k2\x20R9\x20shape:\x20a\x20manual\x20complete\x20edge\x20beside\x20the\x20review\x20cooling-off\x20edge\x20lets\x20'+'the\x20operator\x20close\x20before\x20the\x20buyer\x27s\x20window\x20expires).\x20Advisory\x20by\x20design:\x20a\x20deliberate\x20merchant\x20fast-lane\x20'+'is\x20a\x20legitimate\x20sovereignty\x20choice\x20—\x20if\x20intended,\x20document\x20it\x20in\x20the\x20service\x20terms\x20so\x20buyers\x20share\x20the\x20'+'expectation;\x20if\x20NOT\x20intended,\x20bind\x20a\x20guard\x20on\x20the\x20free\x20edge\x20BEFORE\x20publish\x20(topology\x20freezes\x20at\x20publish)'];}function readsArbitration(a){let b=![];return walk(a,c=>{if(typeof c?.['query']==='string'&&/^(arb|arbitration)\b/i['test'](c['query']))b=!![];}),b;}export function nettingFindings(a){const b=[];for(const c of a){const d=c;if(d?.['type']!=='Guard')continue;const e=d['data']??d;if(readsArbitration(e?.['root'])){const f=typeof d['object']==='string'&&d['object']!==''?d['object']:'#'+(b['length']+0x1);b['push'](f);}}if(b['length']===0x0)return[];return['PG-NETTING-01:\x20allocator\x20rail\x20guard(s)\x20'+b['map'](h=>'\x22'+h+'\x22')['join'](',\x20')+'\x20read\x20the\x20ARBITRATION\x20namespace\x20—\x20'+'this\x20order\x27s\x20rail\x20set\x20carries\x20an\x20arbitration/compensation\x20rail\x20ALONGSIDE\x20its\x20principal\x20rails,\x20so\x20ONE\x20order\x20can\x20'+'release\x20compensation\x20AND\x20principal\x20independently\x20(dual-payout\x20window;\x20gf32\x20F-47\x20mainnet:\x201.00\x20pledge\x20paid\x200.30\x20'+'compensation\x20+\x201.00\x20refund).\x20The\x20on-chain\x20dual-payout\x20flag\x20(claimed_by)\x20only\x20records\x20that\x20a\x20payout\x20HAPPENED\x20and\x20the\x20'+'MCP\x20acknowledge_dual_payout\x20gate\x20only\x20sees\x20ALREADY-released\x20funds\x20—\x20the\x20netting\x20decision\x20(pay\x20both\x20/\x20net\x20/\x20pay\x20one)\x20'+'is\x20a\x20MANUAL\x20business\x20call\x20at\x20dispute\x20time.\x20Disclosed\x20by\x20design\x20(not\x20a\x20gate);\x20document\x20the\x20intended\x20netting\x20policy\x20'+'in\x20the\x20service\x20terms\x20so\x20buyers\x20and\x20arbitrators\x20share\x20the\x20same\x20expectation'];}export function opsReadyFindings(a,b){if(a['length']===0x0)return[];const c=b?.['entity_count']!==undefined,d=c&&b['entity_count']===0x0,e=b?.['permission_indexes']?.['filter'](f=>f>=0x3e8)??[];return['PG-OPS-READY-01:\x20this\x20publish\x20binds\x20arbitration\x20venue(s)\x20'+a['map'](f=>'\x22'+f+'\x22')['join'](',\x20')+'\x20—\x20'+'day-1\x20operations\x20are\x20decided\x20by\x20THAT\x20venue\x27s\x20Permission\x20entity\x20table,\x20not\x20by\x20the\x20merchant\x27s\x20own\x20permission\x20face:\x20'+'who\x20can\x20vote/conclude\x20(permission\x20358\x20on\x20the\x20arb\x20Permission),\x20and\x20whether\x20the\x20MERCHANT\x20can\x20pause\x20the\x20venue\x20'+'(permission\x20356\x20—\x20gf32\x20F-52:\x20the\x20pause\x20required\x20the\x20ARBITRATOR\x27s\x20signature,\x20the\x20merchant\x20could\x20not\x20pause\x20its\x20own\x20'+'store)\x20are\x20whatever\x20the\x20arb\x20Permission\x20granted\x20on\x20day\x201.\x20'+(c?d?'The\x20arb\x20Permission\x20entity\x20table\x20is\x20EMPTY\x20(entity_count\x20=\x200)\x20—\x20NO\x20ONE\x20can\x20vote,\x20conclude\x20or\x20pause\x20until\x20'+'entities\x20are\x20granted;\x20configure\x20the\x20venue\x27s\x20Permission\x20BEFORE\x20the\x20first\x20dispute\x20(F-52\x20family).':'Current\x20face:\x20entity_count\x20=\x20'+b['entity_count']+(e['length']>0x0?',\x20custom\x20grants\x20on\x20indexes\x20['+e['join'](',\x20')+']':'')+'.\x20Verify\x20the\x20grants\x20cover\x20voters,\x20the\x20concluding\x20role\x20and\x20the\x20pause\x20role\x20you\x20intend.':'The\x20arb\x20Permission\x20face\x20was\x20not\x20readable\x20in\x20this\x20call\x20—\x20verify\x20its\x20entity\x20table\x20(onchain_table\x20on\x20the\x20'+'arb\x20Permission\x27s\x20perm\x20entries)\x20BEFORE\x20the\x20first\x20dispute.')+'\x20Disclosed\x20by\x20design\x20(not\x20a\x20gate);\x20the\x20venue\x20config\x20is\x20mutable,\x20but\x20disputes\x20filed\x20BEFORE\x20the\x20fix\x20run\x20on\x20day-1\x20rules'];}export function disputeStrandFindings(a,b){if(a['length']===0x0)return[];const c=h=>{let i=![];return walk(h,j=>{const k=typeof j?.['query']==='string'?j['query']:'';if(/^order\.(dispute|claimed_by)\b/i['test'](k)||/^(arb|arbitration)\./i['test'](k))i=!![];}),i;},d=new Map();for(const h of a){if(/dispute/i['test'](h['forward'])&&h['next']!==''){const i=d['get'](h['next'])??[];i['push'](h['forward']),d['set'](h['next'],i);}}if(d['size']===0x0)return[];const f=new Map();for(const j of a){if(j['prev']==='')continue;const k=f['get'](j['prev'])??[];k['push'](j),f['set'](j['prev'],k);}const g=[];for(const [l,m]of d){const n=f['get'](l)??[];if(n['length']===0x0)continue;const o=n['filter'](p=>{if(p['unguarded']||!p['guardRef'])return![];const q=b['get'](p['guardRef']['toLowerCase']());return q!==undefined?c(q):![];});if(o['length']===0x0||o['length']<n['length'])continue;g['push']('node\x20\x22'+l+'\x22\x20(entered\x20via\x20forward(s)\x20'+m['map'](p=>'\x22'+p+'\x22')['join'](',\x20')+')\x20has\x20'+n['length']+'\x20'+('exit(s)\x20'+o['map'](p=>'\x22'+p['forward']+'\x22')['join'](',\x20')+'\x20that\x20ALL\x20read\x20the\x20dispute\x20domain\x20')+('('+[...new Set(o['map'](p=>p['guardRef']??''))]['filter'](Boolean)['map'](p=>'guard\x20'+p['slice'](0x0,0xc)+'…')['join'](',\x20')+')'));}if(g['length']===0x0)return[];return['PG-DISPUTE-STRAND-01:\x20'+g['join'](';\x20')+'\x20—\x20STRANDED\x20by\x20chain\x20design.\x20A\x20Machine\x20forward\x20moves\x20ONLY\x20the\x20'+'Progress\x20node:\x20it\x20NEVER\x20writes\x20the\x20order\x27s\x20dispute\x20stamp\x20(the\x20sole\x20writer\x20is\x20the\x20VENUE-side\x20dispute\x20entry,\x20'+'on\x20arbitration\x20activation)\x20and\x20never\x20stamps\x20claimed_by\x20(venue\x20conclude\x20only).\x20The\x20exits\x20above\x20'+'guard-reject\x20until\x20the\x20case\x20exists\x20on\x20the\x20order.\x20MANDATORY\x20out-of-band\x20sequence\x20BEFORE\x20driving\x20them:\x20'+'(1)\x20file\x20the\x20venue\x20dispute\x20{operation_type:\x27arbitration\x27,\x20data:{object:\x27<venue>\x27,\x20dispute:{order,\x20description,\x20'+'proposition,\x20fee}}}\x20—\x20this\x20(not\x20the\x20machine\x20forward)\x20binds\x20the\x20case;\x20(2)\x20confirm\x20materials\x20(+\x20voting_deadline);\x20'+'(3)\x20drive\x20the\x20case\x20to\x20a\x20ruling\x20+\x20conclusion.\x20Disclosed,\x20not\x20gated\x20—\x20the\x20multi-surface\x20design\x20is\x20legal;\x20what\x20is\x20'+'NOT\x20acceptable\x20is\x20discovering\x20it\x20from\x20a\x20run-time\x20guard_rejected\x20(upw-b7k2\x20R11\x20shape)'];}
|
|
1
|
+
import{CHAIN_QUERY_REGISTRY,getChainQuery}from'./chain-query-registry.js';function children(a){if(Array['isArray'](a['nodes']))return a['nodes'];if(a['node'])return[a['node']];return[];}function walk(a,b){if(!a||typeof a!=='object')return;const d=a;b(d);for(const e of children(d))walk(e,b);}function isPseudoQuery(a){const b=a['toLowerCase']();return b['startsWith']('context')||b['includes']('signer');}const REGISTRY_HEADS=new Set(CHAIN_QUERY_REGISTRY['map'](a=>a['name']['split'](/[. ]/,0x1)[0x0]));export function findRegistryDeadLegs(a){const b=new Set();return walk(a,c=>{const d=c?.['query'];if(typeof d!=='string'||d['trim']()===''||isPseudoQuery(d))return;if(getChainQuery(d))return;const e=d['split'](/[. ]/,0x1)[0x0];if(REGISTRY_HEADS['has'](e))b['add'](d);}),[...b];}export function closureFindings(a,b){const c=[],d=[],e=new Set();for(const i of a['resolvedLowerKeys'])e['add'](i['toLowerCase']());const f=new Set();for(const j of a['unreadableRefs']??[])f['add'](j['toLowerCase']());if(a['readError']!==undefined)return{'blockers':[],'disclosures':[],'outage':b?.['strictAudit']?'PG-CLOSURE-01\x20(strict\x20audit\x20report):\x20could\x20not\x20query\x20the\x20referenced\x20guard\x20object(s)\x20'+('('+a['readError']+')\x20—\x20the\x20outage\x20PROVES\x20NOTHING\x20about\x20chain\x20state;\x20it\x20is\x20reported\x20for\x20YOUR\x20')+'decision,\x20and\x20whether\x20to\x20publish\x20remains\x20yours.\x20If\x20you\x20want\x20this\x20audit\x20to\x20pass,\x20retry\x20when\x20the\x20'+'network\x20is\x20stable.\x20If\x20you\x20publish\x20anyway,\x20the\x20SAME\x20finding\x20rides\x20the\x20formal\x20publish\x20as\x20a\x20warning\x20'+'and\x20you\x20own\x20the\x20unverified-rail\x20risk:\x20a\x20guard\x20ref\x20that\x20is\x20actually\x20dangling\x20would\x20be\x20frozen\x20into\x20'+'the\x20immutable\x20machine\x20(F-10;\x20nodes/pairs/forwards\x20immutable\x20after\x20publish)':'PG-CLOSURE-01:\x20could\x20not\x20query\x20the\x20referenced\x20guard\x20object(s)\x20('+a['readError']+')\x20—\x20'+'reference\x20closure\x20UNVERIFIABLE\x20from\x20this\x20call.\x20A\x20transient\x20outage\x20proves\x20nothing\x20about\x20chain\x20state,\x20so\x20'+'this\x20does\x20NOT\x20block\x20the\x20publish\x20by\x20itself\x20—\x20but\x20publishing\x20WITHOUT\x20verification\x20risks\x20freezing\x20a\x20'+'dangling\x20guard\x20ref\x20into\x20the\x20immutable\x20machine\x20(F-10;\x20nodes/pairs/forwards\x20are\x20immutable\x20after\x20publish).\x20'+'Re-run\x20the\x20SAME\x20publish\x20with\x20env\x20dry_run:true\x20for\x20the\x20strict\x20pre-publish\x20audit\x20(an\x20outage\x20blocks\x20there),\x20'+'or\x20retry\x20when\x20the\x20network\x20is\x20stable'};const g=[];for(const l of a['refs']){const m=l['trim']();if(m==='')continue;const n=m['toLowerCase']();if(e['has'](n))continue;if(f['has'](n)){d['push']('PG-CLOSURE-01:\x20guard\x20\x22'+m+'\x22\x20fetched\x20but\x20NOT\x20readable\x20as\x20a\x20Guard\x20envelope\x20(tooling/version\x20skew)\x20—\x20'+'its\x20semantics\x20are\x20UNVERIFIED.\x20Verify\x20via\x20analyze_guard_semantics\x20before\x20publish;\x20the\x20binding\x20freezes\x20at\x20publish');continue;}g['push'](m);}g['length']>0x0&&c['push']('PG-CLOSURE-01:\x20guard\x20reference(s)\x20'+g['map'](o=>'\x22'+o+'\x22')['join'](',\x20')+'\x20did\x20NOT\x20resolve\x20to\x20a\x20Guard\x20'+'on-chain\x20—\x20the\x20publish\x20would\x20freeze\x20dangling\x20reference(s)\x20into\x20an\x20immutable\x20object:\x20the\x20rail\x20each\x20one\x20carries\x20'+'is\x20unverifiable\x20at\x20best\x20and\x20permanently\x20dead\x20at\x20worst\x20(F-10).\x20Create/repair\x20the\x20guard\x20FIRST,\x20then\x20re-publish\x20'+'(immutable\x20after\x20publish:\x20IMMUT-001/IMMUT-002)');const h=[...a['softRefs']??[]]['filter'](o=>o['trim']()!=='');return h['length']>0x0&&d['push']('PG-CLOSURE-01:\x20name-referenced\x20guard(s)\x20'+h['map'](o=>'\x22'+o+'\x22')['join'](',\x20')+'\x20did\x20not\x20resolve\x20'+'through\x20the\x20id-based\x20read\x20channel\x20—\x20absence\x20is\x20NOT\x20proven\x20for\x20name\x20refs.\x20Confirm\x20each\x20resolves\x20to\x20a\x20live\x20'+'Guard\x20before\x20publish;\x20a\x20dangling\x20ref\x20freezes\x20into\x20an\x20immutable\x20object\x20(IMMUT-001/IMMUT-002)'),{'blockers':c,'disclosures':d};}export function zombieConvergenceFindings(a){const b=[];for(const c of a){const d=c,e=typeof d?.['name']==='string'?d['name']:'';if(!/^closed_refunded$/i['test'](e))continue;const f=Array['isArray'](d?.['pairs'])?d['pairs']:Array['isArray'](d?.['value'])?d['value']:[],g=new Set();for(const h of f){const i=h?.['prev_node'];if(typeof i==='string'&&i!==''&&i!==e)g['add'](i);}b['push']('convergence\x20terminal\x20\x22'+e+'\x22\x20(entry\x20from\x20'+([...g]['map'](j=>'\x22'+j+'\x22')['join'](',\x20')||'declared\x20edges')+')');}if(b['length']===0x0)return[];return['PG-ZOMBIE-01:\x20'+b['join'](';\x20')+'\x20—\x20this\x20edge\x20is\x20UNREACHABLE\x20on-chain.\x20The\x20O-F22\x20zombie-order\x20shield\x20'+'(inside\x20the\x20progress\x20package)\x20refuses\x20EVERY\x20order-scoped\x20advance/hold\x20once\x20the\x20principal\x20is\x20fully\x20refunded,\x20and\x20the\x20'+'shield\x20abort\x20fires\x20BEFORE\x20the\x20entry\x20guard\x20evaluates\x20—\x20full\x20refund:\x20latch\x20true,\x20advance\x20'+'aborts;\x20partial\x20refund:\x20latch\x20false,\x20guard\x20rejects\x20(mainnet:\x20upw-b7k2\x20O2).\x20The\x20order\x20stays\x20parked\x20at\x20its\x20'+'pre-drain\x20node\x20(funds\x20already\x20safe);\x20treat\x20the\x20zombie\x20state\x20as\x20the\x20terminal\x20and\x20the\x20order.principal_refunded\x20'+'latch\x20QUERY\x20(1579)\x20as\x20the\x20refund\x20loop\x27s\x20close\x20proof.\x20Removal\x20of\x20the\x20injected\x20convergence\x20terminal\x20and\x20a\x20chain\x20'+'whitelist\x20for\x20advance-into-closed_refunded\x20are\x20registered\x20as\x20the\x20kernel\x20proposal\x20item\x20(PROPOSAL\x20§2\x20follow-up);\x20'+'disclosed,\x20not\x20gated\x20—\x20until\x20then\x20this\x20edge\x20is\x20bookkeeping-dead\x20by\x20chain\x20design'];}function readsTimeWindow(a){let b=![];return walk(a,c=>{const d=typeof c?.['query']==='string'?c['query']:'';if(d['trim']()===''||isPseudoQuery(d))return;if(!REGISTRY_HEADS['has'](d['split'](/[. ]/,0x1)[0x0]))return;if(/time/i['test'](d['split']('\x20',0x1)[0x0]))b=!![];}),b;}export function bypassPathFindings(a,b){if(a['length']===0x0)return[];const c=new Map();for(const f of a){if(f['next']===''||f['prev']===''||f['prev']===f['next'])continue;const g=c['get'](f['next'])??[];g['push'](f),c['set'](f['next'],g);}const d=[];for(const [h,i]of c){const j=i['filter'](l=>l['unguarded']||!l['guardRef']),k=i['filter'](l=>{if(l['unguarded']||!l['guardRef'])return![];const m=b['get'](l['guardRef']['toLowerCase']());return m!==undefined?readsTimeWindow(m):![];});if(j['length']===0x0||k['length']===0x0)continue;d['push']('node\x20\x22'+h+'\x22\x20is\x20entered\x20BOTH\x20via\x20unguarded\x20forward(s)\x20'+(j['map'](l=>'\x22'+l['forward']+'\x22')['join'](',\x20')+'\x20AND\x20via\x20time-window-guarded\x20forward(s)\x20')+(''+k['map'](l=>'\x22'+l['forward']+'\x22')['join'](',\x20')));}if(d['length']===0x0)return[];return['PG-BYPASS-01:\x20'+d['join'](';\x20')+'\x20—\x20the\x20unguarded\x20path\x20fires\x20WITHOUT\x20the\x20window\x20protection\x20the\x20'+'guarded\x20path\x20enforces\x20(upw-b7k2\x20R9\x20shape:\x20a\x20manual\x20complete\x20edge\x20beside\x20the\x20review\x20cooling-off\x20edge\x20lets\x20'+'the\x20operator\x20close\x20before\x20the\x20buyer\x27s\x20window\x20expires).\x20Advisory\x20by\x20design:\x20a\x20deliberate\x20merchant\x20fast-lane\x20'+'is\x20a\x20legitimate\x20sovereignty\x20choice\x20—\x20if\x20intended,\x20document\x20it\x20in\x20the\x20service\x20terms\x20so\x20buyers\x20share\x20the\x20'+'expectation;\x20if\x20NOT\x20intended,\x20bind\x20a\x20guard\x20on\x20the\x20free\x20edge\x20BEFORE\x20publish\x20(topology\x20freezes\x20at\x20publish)'];}function readsArbitration(a){let b=![];return walk(a,c=>{if(typeof c?.['query']==='string'&&/^(arb|arbitration)\b/i['test'](c['query']))b=!![];}),b;}export function nettingFindings(a){const b=[];for(const c of a){const d=c;if(d?.['type']!=='Guard')continue;const e=d['data']??d;if(readsArbitration(e?.['root'])){const f=typeof d['object']==='string'&&d['object']!==''?d['object']:'#'+(b['length']+0x1);b['push'](f);}}if(b['length']===0x0)return[];return['PG-NETTING-01:\x20allocator\x20rail\x20guard(s)\x20'+b['map'](h=>'\x22'+h+'\x22')['join'](',\x20')+'\x20read\x20the\x20ARBITRATION\x20namespace\x20—\x20'+'this\x20order\x27s\x20rail\x20set\x20carries\x20an\x20arbitration/compensation\x20rail\x20ALONGSIDE\x20its\x20principal\x20rails,\x20so\x20ONE\x20order\x20can\x20'+'release\x20compensation\x20AND\x20principal\x20independently\x20(dual-payout\x20window;\x20gf32\x20F-47\x20mainnet:\x201.00\x20pledge\x20paid\x200.30\x20'+'compensation\x20+\x201.00\x20refund).\x20The\x20on-chain\x20dual-payout\x20flag\x20(claimed_by)\x20only\x20records\x20that\x20a\x20payout\x20HAPPENED\x20and\x20the\x20'+'MCP\x20acknowledge_dual_payout\x20gate\x20only\x20sees\x20ALREADY-released\x20funds\x20—\x20the\x20netting\x20decision\x20(pay\x20both\x20/\x20net\x20/\x20pay\x20one)\x20'+'is\x20a\x20MANUAL\x20business\x20call\x20at\x20dispute\x20time.\x20Disclosed\x20by\x20design\x20(not\x20a\x20gate);\x20document\x20the\x20intended\x20netting\x20policy\x20'+'in\x20the\x20service\x20terms\x20so\x20buyers\x20and\x20arbitrators\x20share\x20the\x20same\x20expectation'];}export function opsReadyFindings(a,b){if(a['length']===0x0)return[];const c=b?.['entity_count']!==undefined,d=c&&b['entity_count']===0x0,e=b?.['permission_indexes']?.['filter'](f=>f>=0x3e8)??[];return['PG-OPS-READY-01:\x20this\x20publish\x20binds\x20arbitration\x20venue(s)\x20'+a['map'](f=>'\x22'+f+'\x22')['join'](',\x20')+'\x20—\x20'+'day-1\x20operations\x20are\x20decided\x20by\x20THAT\x20venue\x27s\x20Permission\x20entity\x20table,\x20not\x20by\x20the\x20merchant\x27s\x20own\x20permission\x20face:\x20'+'who\x20can\x20vote/conclude\x20(permission\x20358\x20on\x20the\x20arb\x20Permission),\x20and\x20whether\x20the\x20MERCHANT\x20can\x20pause\x20the\x20venue\x20'+'(permission\x20356\x20—\x20gf32\x20F-52:\x20the\x20pause\x20required\x20the\x20ARBITRATOR\x27s\x20signature,\x20the\x20merchant\x20could\x20not\x20pause\x20its\x20own\x20'+'store)\x20are\x20whatever\x20the\x20arb\x20Permission\x20granted\x20on\x20day\x201.\x20'+(c?d?'The\x20arb\x20Permission\x20entity\x20table\x20is\x20EMPTY\x20(entity_count\x20=\x200)\x20—\x20NO\x20ONE\x20can\x20vote,\x20conclude\x20or\x20pause\x20until\x20'+'entities\x20are\x20granted;\x20configure\x20the\x20venue\x27s\x20Permission\x20BEFORE\x20the\x20first\x20dispute\x20(F-52\x20family).':'Current\x20face:\x20entity_count\x20=\x20'+b['entity_count']+(e['length']>0x0?',\x20custom\x20grants\x20on\x20indexes\x20['+e['join'](',\x20')+']':'')+'.\x20Verify\x20the\x20grants\x20cover\x20voters,\x20the\x20concluding\x20role\x20and\x20the\x20pause\x20role\x20you\x20intend.':'The\x20arb\x20Permission\x20face\x20was\x20not\x20readable\x20in\x20this\x20call\x20—\x20verify\x20its\x20entity\x20table\x20(onchain_table\x20on\x20the\x20'+'arb\x20Permission\x27s\x20perm\x20entries)\x20BEFORE\x20the\x20first\x20dispute.')+'\x20Disclosed\x20by\x20design\x20(not\x20a\x20gate);\x20the\x20venue\x20config\x20is\x20mutable,\x20but\x20disputes\x20filed\x20BEFORE\x20the\x20fix\x20run\x20on\x20day-1\x20rules'];}export function disputeStrandFindings(a,b){if(a['length']===0x0)return[];const c=h=>{let i=![];return walk(h,j=>{const k=typeof j?.['query']==='string'?j['query']:'';if(/^order\.(dispute|claimed_by)\b/i['test'](k)||/^(arb|arbitration)\./i['test'](k))i=!![];}),i;},d=new Map();for(const h of a){if(/dispute/i['test'](h['forward'])&&h['next']!==''){const i=d['get'](h['next'])??[];i['push'](h['forward']),d['set'](h['next'],i);}}if(d['size']===0x0)return[];const f=new Map();for(const j of a){if(j['prev']==='')continue;const k=f['get'](j['prev'])??[];k['push'](j),f['set'](j['prev'],k);}const g=[];for(const [l,m]of d){const n=f['get'](l)??[];if(n['length']===0x0)continue;const o=n['filter'](p=>{if(p['unguarded']||!p['guardRef'])return![];const q=b['get'](p['guardRef']['toLowerCase']());return q!==undefined?c(q):![];});if(o['length']===0x0||o['length']<n['length'])continue;g['push']('node\x20\x22'+l+'\x22\x20(entered\x20via\x20forward(s)\x20'+m['map'](p=>'\x22'+p+'\x22')['join'](',\x20')+')\x20has\x20'+n['length']+'\x20'+('exit(s)\x20'+o['map'](p=>'\x22'+p['forward']+'\x22')['join'](',\x20')+'\x20that\x20ALL\x20read\x20the\x20dispute\x20domain\x20')+('('+[...new Set(o['map'](p=>p['guardRef']??''))]['filter'](Boolean)['map'](p=>'guard\x20'+p['slice'](0x0,0xc)+'…')['join'](',\x20')+')')+'\x20—\x20STRANDED\x20by\x20chain\x20design.\x20A\x20Machine\x20forward\x20moves\x20ONLY\x20the\x20Progress\x20node:\x20it\x20NEVER\x20writes\x20the\x20order\x27s\x20'+'dispute\x20stamp\x20(the\x20sole\x20writer\x20is\x20the\x20VENUE-side\x20dispute\x20entry,\x20on\x20arbitration\x20activation)\x20and\x20never\x20stamps\x20'+'claimed_by\x20(venue\x20conclude\x20only).\x20The\x20exits\x20above\x20guard-reject\x20until\x20the\x20case\x20exists\x20on\x20the\x20order.\x20MANDATORY\x20'+'out-of-band\x20sequence\x20BEFORE\x20driving\x20them:\x20(1)\x20file\x20the\x20venue\x20dispute\x20{operation_type:\x27arbitration\x27,\x20'+'data:{object:\x27<venue>\x27,\x20dispute:{order,\x20description,\x20proposition,\x20fee}}}\x20—\x20this\x20(not\x20the\x20machine\x20forward)\x20'+'binds\x20the\x20case;\x20(2)\x20confirm\x20materials\x20(+\x20voting_deadline);\x20(3)\x20drive\x20the\x20case\x20to\x20a\x20ruling\x20+\x20conclusion.\x20'+'Disclosed,\x20not\x20gated\x20—\x20the\x20multi-surface\x20design\x20is\x20legal;\x20what\x20is\x20NOT\x20acceptable\x20is\x20discovering\x20it\x20from\x20a\x20'+'run-time\x20guard_rejected\x20(upw-b7k2\x20R11\x20shape)');}if(g['length']===0x0)return[];return['PG-DISPUTE-STRAND-01:\x20'+g['join'](';\x20')];}export function arbZeroCaseFindings(a){if(a['length']===0x0)return[];return['PG-ARB-ZERO-CASE-01:\x20the\x20bound\x20arbitration\x20venue(s)\x20'+a['map'](b=>'\x22'+b+'\x22')['join'](',\x20')+'\x20start\x20with\x20'+'ZERO\x20dispute\x20cases,\x20and\x20a\x20venue\x20cannot\x20be\x20finished/closed\x20on-chain\x20while\x20it\x20has\x20no\x20CONCLUDED\x20case\x20—\x20'+'a\x20teardown\x20attempt\x20(test\x20round:\x20publish\x20a\x20throwaway\x20venue,\x20then\x20close\x20it)\x20aborts\x20on\x20the\x20finish\x20op\x20'+'(abnb2\x20ARB-ZERO-CASE-NO-FINISH).\x20Plan\x20the\x20lifecycle:\x20drive\x20at\x20least\x20ONE\x20dispute\x20end-to-end\x20'+'({operation_type:\x27arbitration\x27,\x20data:{object:\x27<venue>\x27,\x20dispute:{order,\x20description,\x20proposition,\x20fee}}}\x20→\x20'+'confirm\x20materials\x20→\x20vote\x20(or\x20the\x20venue\x27s\x20guard\x20path)\x20→\x20conclude)\x20BEFORE\x20any\x20finish/close;\x20a\x20venue\x20you\x20'+'never\x20intend\x20to\x20finish\x20can\x20simply\x20stay\x20dormant\x20—\x20it\x20holds\x20no\x20funds\x20and\x20imposes\x20no\x20duty.\x20Disclosed,\x20'+'not\x20gated\x20—\x20the\x20lifecycle\x20rule\x20is\x20chain\x20design;\x20the\x20abort\x20surface\x20is\x20what\x20this\x20removes'];}export function roleSpanFindings(a,b){const c=(b??[])['filter'](h=>h>=0x3e8);if(!a||a['size']===0x0||c['length']<0x2)return[];const d=new Map();for(const [h,i]of a){for(const j of i){if(!c['includes'](j))continue;const k=d['get'](h)??new Set();k['add'](j),d['set'](h,k);}}const e=new Set();for(const l of d['values']())for(const m of l)e['add'](m);if(!c['every'](n=>e['has'](n)))return[];const f=c['every'](n=>[...d['entries']()]['filter'](([,o])=>o['has'](n))['length']===0x1);if(!f)return[];const g=[...d['entries']()]['filter'](([,n])=>n['size']>0x0)['map'](([n,o])=>n['slice'](0x0,0xa)+'…\x20→\x20['+[...o]['sort']((p,q)=>p-q)['join'](',\x20')+']');return['PG-ROLE-SPAN-01:\x20all\x20business\x20permission\x20indexes\x20['+c['sort']((n,o)=>n-o)['join'](',\x20')+']\x20resolve\x20to\x20a\x20'+('SINGLE\x20entity\x20('+g['join'](';\x20')+')\x20—\x20the\x20store\x27s\x20rails\x20are\x20ROLE-COLLAPSED\x20onto\x20one\x20key:\x20that\x20face\x20can\x20')+'review-and-pay,\x20keeper-settle-and-refund,\x20and\x20rule\x20on\x20its\x20own\x20work\x20with\x20no\x20second\x20signature\x20anywhere\x20'+'(abnb2\x20PERMISSION-ROLE-COLLAPSE-01:\x20a\x20hand-granted\x20guest\x20reviewer\x20released\x20funds\x20to\x20the\x20host\x20from\x20the\x20same\x20'+'key\x20it\x20reviewed\x20from).\x20Separation\x20is\x20a\x20POST-deploy\x20on-chain\x20op:\x20grant\x20each\x20index\x20to\x20a\x20distinct\x20staff\x20address\x20'+'via\x20{\x20operation_type:\x27permission\x27,\x20data:{\x20object:\x27<permission>\x27,\x20table:{\x20op:\x27add\x20perm\x20by\x20index\x27,\x20index:<i>,\x20'+'entity:{\x20entities:[{\x20name_or_address:\x27<staff>\x27\x20}]\x20}\x20}\x20}\x20}\x20and\x20revoke\x20the\x20collapsed\x20row\x20—\x20disclosed,\x20not\x20gated\x20'+'(who\x20operates\x20the\x20store\x20is\x20a\x20business\x20decision;\x20the\x20compile-time\x20face\x20already\x20arms\x20guard-pinned\x20operators,\x20O-02)'];}export function clauseLedgerFindings(a){if(!Array['isArray'](a))return{'blockers':[],'disclosures':[]};const b=[],c=[];for(const g of a){const h=g;if(!h||typeof h!=='object')continue;const i=typeof h['key']==='string'?h['key']:undefined,j=typeof h['clause']==='string'?h['clause']:i,k=typeof h['reason']==='string'?h['reason']:'';if(i===undefined)continue;if(h['disposition']==='pending')b['push']('\x22'+j+'\x22\x20['+i+']');else{if(h['disposition']==='inexpressible')c['push']('\x22'+j+'\x22:\x20'+k);}}const d=b['length']?['PG-CLAUSE-LEDGER-01:\x20'+b['length']+'\x20migrated\x20source\x20clause(s)\x20are\x20UNRESOLVED\x20(pending):\x20'+(b['join'](',\x20')+'\x20—\x20publishing\x20now\x20FREEZES\x20the\x20build\x20without\x20a\x20decision\x20on\x20what\x20the\x20source\x20')+'business\x20promised\x20(ss\x20#47:\x20a\x20source\x20dispute-fee\x20clause\x20surfaced\x20in\x20no\x20bucket\x20and\x20silently\x20vanished).\x20'+'Cure,\x20then\x20re-run\x20migration_apply:\x20(1)\x20declare\x20the\x20build\x20mode\x20/\x20override\x20each\x20entry\x20names\x20'+'(the\x20ledger\x20re-scans\x20with\x20your\x20declared\x20modes\x20and\x20auto-resolves\x20to\x20implemented),\x20or\x20(2)\x20pass\x20'+'clause_dispositions[key]={reason}\x20to\x20mark\x20a\x20clause\x20not_applicable\x20with\x20your\x20stated\x20reason.\x20'+'Nothing\x20was\x20executed.']:[],f=c['map'](l=>'PG-CLAUSE-LEDGER-01\x20(disclosure\x20duty):\x20'+l+'\x20—\x20this\x20source\x20clause\x20has\x20NO\x20on-chain\x20carrier\x20'+'(framework\x20boundary,\x20recorded\x20in\x20the\x20migration\x20clause\x20ledger).\x20The\x20publish\x20proceeds;\x20carry\x20the\x20duty\x20'+'in\x20the\x20service\x20description\x20/\x20storefront\x20terms\x20so\x20buyers\x20share\x20the\x20expectation');return{'blockers':d,'disclosures':f};}export function payoutSumFindings(a){const b=(a['legs']??[])['filter'](d=>d&&typeof d['amountSmallestUnit']==='number'&&Number['isFinite'](d['amountSmallestUnit'])&&d['amountSmallestUnit']>0x0);if(b['length']===0x0)return[];const c=b['reduce']((d,e)=>d+e['amountSmallestUnit'],0x0);if(a['orderPriceSmallestUnit']===undefined||!(a['orderPriceSmallestUnit']>0x0))return['PG-PAYOUT-SUM-01:\x20the\x20plan\x20mounts\x20fixed\x20per-order\x20payout\x20leg(s)\x20'+b['map'](d=>d['label']+'='+d['amountSmallestUnit'])['join'](',\x20')+'\x20'+'(sum\x20'+c+'\x20smallest\x20units)\x20but\x20the\x20order\x20price\x20basis\x20was\x20not\x20resolvable\x20in\x20this\x20payload\x20—\x20the\x20worst-case\x20'+'single-order\x20payout\x20is\x20UNVERIFIED.\x20If\x20any\x20two\x20of\x20these\x20legs\x20can\x20fire\x20on\x20ONE\x20order,\x20verify\x20their\x20combined\x20total\x20stays\x20'+'within\x20the\x20order\x20value\x20+\x20your\x20funded\x20pools\x20(gf32\x20F-47:\x20one\x20order\x20paid\x20compensation\x20+\x20full\x20refund).\x20Disclosed,\x20not\x20gated'];if(c<=a['orderPriceSmallestUnit'])return[];return['PG-PAYOUT-SUM-01:\x20the\x20plan\x27s\x20fixed\x20per-order\x20payout\x20legs\x20sum\x20to\x20'+c+'\x20smallest\x20units\x20'+('('+b['map'](d=>d['label']+'='+d['amountSmallestUnit'])['join'](',\x20')+')\x20which\x20EXCEEDS\x20the\x20order\x20price\x20basis\x20')+(a['orderPriceSmallestUnit']+'\x20—\x20in\x20the\x20worst\x20case\x20ONE\x20order\x20can\x20pay\x20out\x20more\x20than\x20it\x20escrows,\x20the\x20residual\x20')+'coming\x20from\x20your\x20merchant-funded\x20pools\x20(gf32\x20F-47\x20mainnet\x20shape:\x201.00\x20pledge\x20paid\x200.30\x20compensation\x20+\x201.00\x20refund;\x20'+'decision\x2011:\x20the\x20two\x20rails\x20are\x20independent\x20BY\x20DISCLOSURE).\x20WARN,\x20not\x20a\x20gate\x20—\x20the\x20sum\x20is\x20worst-case\x20over\x20legs\x20that\x20'+'rarely\x20co-fire.\x20Document\x20the\x20intended\x20netting\x20policy\x20in\x20the\x20service\x20terms,\x20and\x20fund\x20every\x20pool\x20the\x20worst\x20case\x20touches'];}
|