@wowok/agent-mcp 3.4.3 → 3.4.4
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/build-stamp.js +1 -0
- package/dist/chain-semantics/composition-truth.js +1 -1
- package/dist/chain-semantics/eval-order.js +1 -1
- package/dist/chain-semantics/freeze-map.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/object-graph.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/generate.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/plan.js +1 -1
- package/dist/composition/product-card.js +1 -1
- package/dist/composition/shape-expand.js +1 -0
- package/dist/config/judgment.js +1 -1
- package/dist/config/template-params.js +1 -1
- package/dist/data/sync/cdc.js +1 -1
- package/dist/data/sync/graphql-source.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/graph/onchain/sdk-batch.js +1 -1
- package/dist/harness/entry-ignite-selfheal.js +1 -0
- package/dist/harness/forward-leg-preflight.js +1 -0
- package/dist/harness/recover.js +1 -1
- package/dist/keeper/detectors.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arb-operation-face.js +1 -0
- package/dist/knowledge/arbitration-rail-verifier.js +1 -1
- package/dist/knowledge/arbitration-templates.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +15 -0
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/alloc_audit.json.good +310 -0
- package/dist/knowledge/baselines/rules/allocation.json.good +568 -0
- package/dist/knowledge/baselines/rules/arb.json.good +174 -0
- package/dist/knowledge/baselines/rules/arbitration.json.good +393 -0
- package/dist/knowledge/baselines/rules/bridge.json.good +197 -0
- package/dist/knowledge/baselines/rules/contact.json.good +152 -0
- package/dist/knowledge/baselines/rules/demand.json.good +158 -0
- package/dist/knowledge/baselines/rules/graph.json.good +534 -0
- package/dist/knowledge/baselines/rules/guard.json +18 -5
- package/dist/knowledge/baselines/rules/guard.json.good +1192 -0
- package/dist/knowledge/baselines/rules/machine.json.good +734 -0
- package/dist/knowledge/baselines/rules/oracle.json +1 -1
- package/dist/knowledge/baselines/rules/oracle.json.good +120 -0
- package/dist/knowledge/baselines/rules/order.json.good +549 -0
- package/dist/knowledge/baselines/rules/payment.json.good +205 -0
- package/dist/knowledge/baselines/rules/permission.json.good +330 -0
- package/dist/knowledge/baselines/rules/personal.json.good +139 -0
- package/dist/knowledge/baselines/rules/plan.json +343 -1
- package/dist/knowledge/baselines/rules/plan.json.good +1187 -0
- package/dist/knowledge/baselines/rules/progress.json.good +364 -0
- package/dist/knowledge/baselines/rules/proof.json.good +158 -0
- package/dist/knowledge/baselines/rules/registrar.json.good +159 -0
- package/dist/knowledge/baselines/rules/repository.json.good +244 -0
- package/dist/knowledge/baselines/rules/resource.json.good +117 -0
- package/dist/knowledge/baselines/rules/reward.json +10 -10
- package/dist/knowledge/baselines/rules/reward.json.good +586 -0
- package/dist/knowledge/baselines/rules/service.json.good +595 -0
- package/dist/knowledge/baselines/rules/treasury.json.good +440 -0
- package/dist/knowledge/baselines/rules/util.json.good +101 -0
- package/dist/knowledge/builtin-templates.d.ts +13 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/chain-query-registry.js +1 -1
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/fee-param-bindings.js +1 -1
- package/dist/knowledge/fund-layer.d.ts +2 -0
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-binding-table.js +1 -1
- package/dist/knowledge/guard-binding-verifier.js +1 -1
- package/dist/knowledge/guard-create-preflight.js +1 -0
- package/dist/knowledge/guard-field-cognition.js +1 -1
- package/dist/knowledge/guard-host-context.js +1 -1
- package/dist/knowledge/guard-leg-eval.js +1 -0
- package/dist/knowledge/guard-node-gates.js +1 -1
- package/dist/knowledge/guard-puzzle.js +1 -1
- package/dist/knowledge/guard-quality.js +1 -0
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-semantic-walk.js +1 -0
- package/dist/knowledge/guard-templates.d.ts +1 -0
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.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/param-schema.js +1 -1
- package/dist/knowledge/param-tiers.js +1 -1
- package/dist/knowledge/path-oracle/coverage.js +1 -1
- package/dist/knowledge/path-oracle/index.js +1 -1
- package/dist/knowledge/path-oracle/products/airbnb.js +1 -0
- package/dist/knowledge/path-oracle/products/algora.js +1 -0
- package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -0
- package/dist/knowledge/path-oracle/products/amazon.js +1 -0
- package/dist/knowledge/path-oracle/products/beatstars.js +1 -0
- package/dist/knowledge/path-oracle/products/booking-com.js +1 -0
- package/dist/knowledge/path-oracle/products/contra.js +1 -0
- package/dist/knowledge/path-oracle/products/costco.js +1 -0
- package/dist/knowledge/path-oracle/products/coursera.js +1 -0
- package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -0
- package/dist/knowledge/path-oracle/products/etsy.js +1 -0
- package/dist/knowledge/path-oracle/products/food-delivery.js +1 -1
- package/dist/knowledge/path-oracle/products/gamefound.js +1 -0
- package/dist/knowledge/path-oracle/products/gofundme.js +1 -0
- package/dist/knowledge/path-oracle/products/hackerone.js +1 -0
- package/dist/knowledge/path-oracle/products/kickstarter.js +1 -0
- package/dist/knowledge/path-oracle/products/klook.js +1 -0
- package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -0
- package/dist/knowledge/path-oracle/products/onlyfans.js +1 -0
- package/dist/knowledge/path-oracle/products/patreon.js +1 -0
- package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -0
- package/dist/knowledge/path-oracle/products/royalty-exchange.js +1 -0
- package/dist/knowledge/path-oracle/products/shansong.js +1 -0
- package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -0
- package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -0
- package/dist/knowledge/path-oracle/products/upwork.js +1 -0
- package/dist/knowledge/path-oracle/products/yuanfudao.js +1 -0
- package/dist/knowledge/path-oracle/products/ziroom.js +1 -0
- package/dist/knowledge/pattern-resolutions.js +1 -1
- package/dist/knowledge/product-detail-source.js +1 -1
- package/dist/knowledge/product-doc-b5.js +1 -1
- package/dist/knowledge/product-doc-facets.js +1 -0
- package/dist/knowledge/projection.js +1 -1
- package/dist/knowledge/publish-gate.js +1 -1
- package/dist/knowledge/publish-surface-contract.js +1 -1
- package/dist/knowledge/recipient-constraint.d.ts +20 -0
- package/dist/knowledge/recipient-constraint.js +1 -1
- package/dist/knowledge/rule-declaration-types.d.ts +13 -0
- package/dist/knowledge/rule-declaration-types.js +1 -0
- package/dist/knowledge/rule-declarations.js +1 -0
- package/dist/knowledge/scenario-modes.d.ts +6 -0
- package/dist/knowledge/scenario-topology.js +1 -1
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-prose.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/monitor/MonitorLoop.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/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/review/service.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +9 -0
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/arbitration.d.ts +8 -0
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +8 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +2 -0
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/handler.d.ts +2 -1
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/order.d.ts +10 -0
- package/dist/schema/call/permission-handler.js +1 -1
- package/dist/schema/call/permission.js +1 -1
- package/dist/schema/call/progress.d.ts +15 -0
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/receipt.d.ts +1 -0
- package/dist/schema/call/receipt.js +1 -1
- package/dist/schema/call/repository.d.ts +12 -0
- package/dist/schema/call/repository.js +1 -1
- package/dist/schema/call/reward.js +1 -1
- package/dist/schema/call/semantic.d.ts +1 -0
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +5 -3
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/envelope-unify.js +1 -1
- package/dist/schema/goal/index.d.ts +23 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +2 -2
- package/dist/schema/local/index.d.ts +20 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/local/wip.d.ts +4 -0
- package/dist/schema/local/wip.js +1 -1
- package/dist/schema/messenger/index.d.ts +5 -0
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +944 -1
- package/dist/schema/operations.js +1 -1
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +5 -5
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/workspace/index.d.ts +2 -2
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.schema.json +1 -257
- package/dist/schemas/ask_user.schema.json +1 -78
- package/dist/schemas/benchmark_migration_operation.schema.json +1 -626
- package/dist/schemas/bridge_operation.schema.json +1 -1069
- package/dist/schemas/config_operation.schema.json +1 -82
- package/dist/schemas/employee_operation.schema.json +1 -319
- package/dist/schemas/evaluation_operation.schema.json +1 -3932
- package/dist/schemas/goal_operation.schema.json +1 -1650
- package/dist/schemas/guard2file.schema.json +1 -137
- package/dist/schemas/index.json +1 -285
- package/dist/schemas/industry_pack_operation.schema.json +1 -582
- package/dist/schemas/intent_radar.schema.json +1 -155
- package/dist/schemas/keeper_operation.schema.json +1 -364
- package/dist/schemas/local_cache_operation.schema.json +1 -116
- package/dist/schemas/local_history_operation.schema.json +1 -105
- package/dist/schemas/local_info_operation.schema.json +1 -140
- package/dist/schemas/local_mark_operation.schema.json +1 -124
- package/dist/schemas/machineNode2file.schema.json +1 -137
- package/dist/schemas/messenger_operation.schema.json +1 -2068
- package/dist/schemas/monitor_events.schema.json +1 -87
- package/dist/schemas/monitor_subscription.schema.json +1 -327
- package/dist/schemas/onchain_events.schema.json +1 -207
- package/dist/schemas/onchain_operations.schema.json +1 -28699
- package/dist/schemas/onchain_operations_allocation.schema.json +1 -1376
- package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1355
- package/dist/schemas/onchain_operations_contact.schema.json +1 -988
- package/dist/schemas/onchain_operations_demand.schema.json +1 -1146
- package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -663
- package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -180
- package/dist/schemas/onchain_operations_guard.schema.json +1 -8518
- package/dist/schemas/onchain_operations_machine.schema.json +1 -1879
- package/dist/schemas/onchain_operations_order.schema.json +1 -1121
- package/dist/schemas/onchain_operations_payment.schema.json +1 -316
- package/dist/schemas/onchain_operations_permission.schema.json +1 -1036
- package/dist/schemas/onchain_operations_personal.schema.json +1 -1463
- package/dist/schemas/onchain_operations_progress.schema.json +1 -1041
- package/dist/schemas/onchain_operations_proof.schema.json +1 -750
- package/dist/schemas/onchain_operations_repository.schema.json +1 -2046
- package/dist/schemas/onchain_operations_reward.schema.json +1 -1286
- package/dist/schemas/onchain_operations_service.schema.json +1 -2602
- package/dist/schemas/onchain_operations_treasury.schema.json +1 -1527
- package/dist/schemas/onchain_table_data.schema.json +1 -1146
- package/dist/schemas/permission_operation.schema.json +1 -43
- package/dist/schemas/persona_operation.schema.json +1 -10424
- package/dist/schemas/query_toolkit.schema.json +1 -1867
- package/dist/schemas/schema_query.schema.json +1 -116
- package/dist/schemas/service_clone_operation.schema.json +1 -49
- package/dist/schemas/settle_sweep.schema.json +1 -0
- package/dist/schemas/strategy_review_operation.schema.json +1 -66
- package/dist/schemas/verify_guard_dry_run.schema.json +1 -0
- package/dist/schemas/watch_operation.schema.json +1 -145
- package/dist/schemas/wip_file.schema.json +1 -299
- package/dist/schemas/workflow_operation.schema.json +1 -722
- package/dist/schemas/workspace_operation.schema.json +1 -104
- package/dist/schemas/wowok_buildin_info.schema.json +1 -758
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/entry-edge-recipe.js +1 -1
- package/dist/tools/handlers/file-export.js +1 -1
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/pending-settlement-recipe.js +1 -0
- package/dist/tools/handlers/plan-recovery.js +1 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/repository-row-id.js +1 -0
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/handlers/settle-sweep.js +1 -0
- package/dist/tools/handlers/stale-build-check.js +1 -1
- package/dist/tools/handlers/submission-assembly.js +1 -1
- package/dist/tools/handlers/verify-guard-dry-run.js +1 -0
- package/dist/tools/handlers/wip-upload.js +1 -1
- package/dist/tools/index.d.ts +3 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/move-fn-index.gen.js +1 -1
- package/dist/tools/publish-gate-state.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/onchain.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +11 -4
- package/dist/chain-semantics/composition-truth.d.ts +0 -102
- package/dist/chain-semantics/eval-order.d.ts +0 -17
- package/dist/chain-semantics/field-capability.d.ts +0 -11
- package/dist/chain-semantics/freeze-map.d.ts +0 -11
- package/dist/chain-semantics/fund-flow.d.ts +0 -10
- package/dist/chain-semantics/guard-verbs.d.ts +0 -22
- package/dist/chain-semantics/index.d.ts +0 -12
- package/dist/chain-semantics/object-graph.d.ts +0 -18
- package/dist/communication/evidence.d.ts +0 -6
- package/dist/communication/message-cursors.d.ts +0 -35
- package/dist/communication/proof-reuse.d.ts +0 -9
- package/dist/communication/wts-attestation.d.ts +0 -39
- package/dist/composition/audit.d.ts +0 -15
- package/dist/composition/blueprint-view.d.ts +0 -63
- package/dist/composition/compile.d.ts +0 -83
- package/dist/composition/emit-phases.d.ts +0 -234
- package/dist/composition/generate.d.ts +0 -40
- package/dist/composition/guard-fill.d.ts +0 -52
- package/dist/composition/inflight.d.ts +0 -86
- package/dist/composition/input-normalize.d.ts +0 -15
- package/dist/composition/materialize.d.ts +0 -78
- package/dist/composition/mode-gates.d.ts +0 -35
- package/dist/composition/param-disclosure.d.ts +0 -61
- package/dist/composition/plan-retry-ledger.d.ts +0 -37
- package/dist/composition/plan.d.ts +0 -121
- package/dist/composition/product-card.d.ts +0 -94
- package/dist/composition/reflux.d.ts +0 -28
- package/dist/composition/supply-chain-emit.d.ts +0 -46
- package/dist/config/config-audit.spec.d.ts +0 -1
- package/dist/config/config-audit.spec.js +0 -1
- package/dist/config/config-warnings.d.ts +0 -2
- package/dist/config/index.d.ts +0 -4
- package/dist/config/judgment.spec.d.ts +0 -1
- package/dist/config/judgment.spec.js +0 -1
- package/dist/config/match-policy-file.d.ts +0 -34
- package/dist/config/match-policy-file.spec.d.ts +0 -1
- package/dist/config/match-policy-file.spec.js +0 -1
- package/dist/config/rule-engine.spec.d.ts +0 -1
- package/dist/config/rule-engine.spec.js +0 -1
- package/dist/config/runtime.d.ts +0 -29
- package/dist/config/store-policy.d.ts +0 -14
- package/dist/config/store-policy.spec.d.ts +0 -1
- package/dist/config/store-policy.spec.js +0 -1
- package/dist/config/template-params.d.ts +0 -42
- package/dist/config/template-params.spec.d.ts +0 -1
- package/dist/config/template-params.spec.js +0 -1
- package/dist/customer/account-events.d.ts +0 -32
- package/dist/data/api/api.spec.d.ts +0 -1
- package/dist/data/api/api.spec.js +0 -1
- package/dist/data/api/cli.d.ts +0 -1
- package/dist/data/api/head.d.ts +0 -16
- package/dist/data/api/head.spec.d.ts +0 -1
- package/dist/data/api/head.spec.js +0 -1
- package/dist/data/api/index.d.ts +0 -2
- package/dist/data/api/match.d.ts +0 -69
- package/dist/data/api/match.spec.d.ts +0 -1
- package/dist/data/api/match.spec.js +0 -1
- package/dist/data/api/server.d.ts +0 -13
- package/dist/data/projection/cli.d.ts +0 -1
- package/dist/data/projection/edges.d.ts +0 -8
- package/dist/data/projection/edges.spec.d.ts +0 -1
- package/dist/data/projection/edges.spec.js +0 -1
- package/dist/data/projection/facets.d.ts +0 -18
- package/dist/data/projection/facets.spec.d.ts +0 -1
- package/dist/data/projection/facets.spec.js +0 -1
- package/dist/data/projection/facts.d.ts +0 -40
- package/dist/data/projection/index.d.ts +0 -6
- package/dist/data/projection/project.d.ts +0 -10
- package/dist/data/projection/projection.spec.d.ts +0 -1
- package/dist/data/projection/projection.spec.js +0 -1
- package/dist/data/projection/schema.d.ts +0 -1
- package/dist/data/projection/store.d.ts +0 -51
- package/dist/data/projection/types.d.ts +0 -169
- package/dist/data/sync/cdc.d.ts +0 -33
- package/dist/data/sync/cdc.spec.d.ts +0 -1
- package/dist/data/sync/cdc.spec.js +0 -1
- package/dist/data/sync/graphql-source.d.ts +0 -16
- package/dist/data/sync/index.d.ts +0 -5
- package/dist/data/sync/reconciler.d.ts +0 -14
- package/dist/data/sync/reconciler.spec.d.ts +0 -1
- package/dist/data/sync/reconciler.spec.js +0 -1
- package/dist/data/sync/schema.d.ts +0 -1
- package/dist/data/sync/store.d.ts +0 -24
- package/dist/data/sync/sync.spec.d.ts +0 -1
- package/dist/data/sync/sync.spec.js +0 -1
- package/dist/data/sync/synchronizer.d.ts +0 -10
- package/dist/data/sync/types.d.ts +0 -164
- package/dist/evaluation/acceptance.d.ts +0 -33
- package/dist/evaluation/architecture.spec.d.ts +0 -1
- package/dist/evaluation/architecture.spec.js +0 -1
- package/dist/evaluation/builtins/arbitration-score.d.ts +0 -42
- package/dist/evaluation/builtins/demand-match.d.ts +0 -16
- package/dist/evaluation/builtins/graph-service.spec.d.ts +0 -1
- package/dist/evaluation/builtins/graph-service.spec.js +0 -1
- package/dist/evaluation/builtins/index.d.ts +0 -4
- package/dist/evaluation/builtins/purity.spec.d.ts +0 -1
- package/dist/evaluation/builtins/purity.spec.js +0 -1
- package/dist/evaluation/composer.d.ts +0 -38
- package/dist/evaluation/facets/catalog.d.ts +0 -19
- package/dist/evaluation/gap.d.ts +0 -2
- package/dist/evaluation/guard-scan.d.ts +0 -10
- package/dist/evaluation/index.d.ts +0 -14
- package/dist/evaluation/injection.d.ts +0 -6
- package/dist/evaluation/location-match.d.ts +0 -42
- package/dist/evaluation/match-operation.d.ts +0 -23
- package/dist/evaluation/match-policy-resolver.d.ts +0 -9
- package/dist/evaluation/match-policy.spec.d.ts +0 -1
- package/dist/evaluation/match-policy.spec.js +0 -1
- package/dist/evaluation/path-reasoning.d.ts +0 -37
- package/dist/evaluation/standards.d.ts +0 -11
- package/dist/evaluation/standards.spec.d.ts +0 -1
- package/dist/evaluation/standards.spec.js +0 -1
- package/dist/evaluation/structured-lines.d.ts +0 -8
- package/dist/evaluation/user-injection.d.ts +0 -6
- package/dist/experience/experience-reuse.d.ts +0 -10
- package/dist/experience/index.d.ts +0 -7
- package/dist/experience/persistence-config.d.ts +0 -6
- package/dist/experience/persistence.d.ts +0 -21
- package/dist/experience/realtime-feedback.d.ts +0 -5
- package/dist/experience/user-profile.d.ts +0 -25
- package/dist/extensions/capability.d.ts +0 -91
- package/dist/extensions/industry-audit.spec.d.ts +0 -1
- package/dist/extensions/industry-audit.spec.js +0 -1
- package/dist/goal/GoalClassifier.d.ts +0 -17
- package/dist/goal/GoalEngine.d.ts +0 -175
- package/dist/goal/GoalStore.d.ts +0 -27
- package/dist/goal/next-steps.d.ts +0 -12
- package/dist/goal/plan-approval.d.ts +0 -5
- package/dist/goal/pursue.d.ts +0 -18
- package/dist/graph/base.d.ts +0 -8
- package/dist/graph/onchain/analyze.d.ts +0 -59
- package/dist/graph/onchain/analyze.spec.d.ts +0 -1
- package/dist/graph/onchain/analyze.spec.js +0 -1
- package/dist/graph/onchain/anti-cheat.d.ts +0 -69
- package/dist/graph/onchain/anti-cheat.spec.d.ts +0 -1
- package/dist/graph/onchain/anti-cheat.spec.js +0 -1
- package/dist/graph/onchain/dataplane.d.ts +0 -44
- package/dist/graph/onchain/edge-batch.spec.d.ts +0 -1
- package/dist/graph/onchain/edge-batch.spec.js +0 -1
- package/dist/graph/onchain/edge-schema.d.ts +0 -69
- package/dist/graph/onchain/entity-profile.spec.d.ts +0 -1
- package/dist/graph/onchain/entity-profile.spec.js +0 -1
- package/dist/graph/onchain/event-history.spec.d.ts +0 -1
- package/dist/graph/onchain/event-history.spec.js +0 -1
- package/dist/graph/onchain/expand.d.ts +0 -4
- package/dist/graph/onchain/exploration.d.ts +0 -28
- package/dist/graph/onchain/exploration.spec.d.ts +0 -1
- package/dist/graph/onchain/exploration.spec.js +0 -1
- package/dist/graph/onchain/exposure.d.ts +0 -18
- package/dist/graph/onchain/exposure.spec.d.ts +0 -1
- package/dist/graph/onchain/exposure.spec.js +0 -1
- package/dist/graph/onchain/extract-deep.spec.d.ts +0 -1
- package/dist/graph/onchain/extract-deep.spec.js +0 -1
- package/dist/graph/onchain/extract.d.ts +0 -29
- package/dist/graph/onchain/facet-projection.d.ts +0 -99
- package/dist/graph/onchain/facet-projection.spec.d.ts +0 -1
- package/dist/graph/onchain/facet-projection.spec.js +0 -1
- package/dist/graph/onchain/facts.spec.d.ts +0 -1
- package/dist/graph/onchain/facts.spec.js +0 -1
- package/dist/graph/onchain/field-manifest.d.ts +0 -29
- package/dist/graph/onchain/field-manifest.spec.d.ts +0 -1
- package/dist/graph/onchain/field-manifest.spec.js +0 -1
- package/dist/graph/onchain/fixtures.d.ts +0 -80
- package/dist/graph/onchain/fixtures.spec.d.ts +0 -1
- package/dist/graph/onchain/fixtures.spec.js +0 -1
- package/dist/graph/onchain/graph-policy.spec.d.ts +0 -1
- package/dist/graph/onchain/graph-policy.spec.js +0 -1
- package/dist/graph/onchain/index.d.ts +0 -29
- package/dist/graph/onchain/interest.d.ts +0 -10
- package/dist/graph/onchain/interest.spec.d.ts +0 -1
- package/dist/graph/onchain/interest.spec.js +0 -1
- package/dist/graph/onchain/label-lint.spec.d.ts +0 -1
- package/dist/graph/onchain/label-lint.spec.js +0 -1
- package/dist/graph/onchain/names.d.ts +0 -23
- package/dist/graph/onchain/names.spec.d.ts +0 -1
- package/dist/graph/onchain/names.spec.js +0 -1
- package/dist/graph/onchain/object-held-receipts.d.ts +0 -20
- package/dist/graph/onchain/object-held-receipts.spec.d.ts +0 -1
- package/dist/graph/onchain/object-held-receipts.spec.js +0 -1
- package/dist/graph/onchain/onchain.spec.d.ts +0 -1
- package/dist/graph/onchain/onchain.spec.js +0 -1
- package/dist/graph/onchain/policy.d.ts +0 -8
- package/dist/graph/onchain/project-relationship.d.ts +0 -3
- package/dist/graph/onchain/proposal-graph.d.ts +0 -11
- package/dist/graph/onchain/proposal-graph.spec.d.ts +0 -1
- package/dist/graph/onchain/proposal-graph.spec.js +0 -1
- package/dist/graph/onchain/sdk-batch.d.ts +0 -129
- package/dist/graph/onchain/sdk-dataplane.d.ts +0 -44
- package/dist/graph/onchain/strategy.spec.d.ts +0 -1
- package/dist/graph/onchain/strategy.spec.js +0 -1
- package/dist/graph/onchain/synthesis.d.ts +0 -20
- package/dist/graph/onchain/synthesis.spec.d.ts +0 -1
- package/dist/graph/onchain/synthesis.spec.js +0 -1
- package/dist/graph/onchain/table-ledger.spec.d.ts +0 -1
- package/dist/graph/onchain/table-ledger.spec.js +0 -1
- package/dist/graph/onchain/viewport.d.ts +0 -6
- package/dist/harness/auto-escalation.d.ts +0 -15
- package/dist/intent/enrich.d.ts +0 -1
- package/dist/intent/index.d.ts +0 -23
- package/dist/intent/matcher.d.ts +0 -2
- package/dist/intent/store.d.ts +0 -19
- package/dist/intent/types.d.ts +0 -32
- package/dist/keeper/KeeperScan.d.ts +0 -41
- package/dist/keeper/KeeperStore.d.ts +0 -43
- package/dist/keeper/detectors.d.ts +0 -42
- package/dist/keeper/keeper.spec.d.ts +0 -1
- package/dist/keeper/keeper.spec.js +0 -1
- package/dist/keeper/types.d.ts +0 -67
- package/dist/knowledge/account-marks.d.ts +0 -36
- package/dist/knowledge/allocation-ledger.d.ts +0 -75
- package/dist/knowledge/allocation-puzzle.d.ts +0 -138
- package/dist/knowledge/allocation-risk.d.ts +0 -82
- package/dist/knowledge/allocation-templates.d.ts +0 -38
- package/dist/knowledge/allocator-rail-verifier.d.ts +0 -59
- package/dist/knowledge/anti-cheat.d.ts +0 -2
- package/dist/knowledge/arb-fund-facts.d.ts +0 -51
- package/dist/knowledge/arb-risk.d.ts +0 -39
- package/dist/knowledge/arbitration-puzzle.d.ts +0 -84
- package/dist/knowledge/arbitration-rail-verifier.d.ts +0 -35
- package/dist/knowledge/arbitration-risk.d.ts +0 -114
- package/dist/knowledge/arbitration-templates.d.ts +0 -39
- package/dist/knowledge/arbitration-venue-order.d.ts +0 -25
- package/dist/knowledge/baselines/guard-lint-baseline.spec.d.ts +0 -1
- package/dist/knowledge/baselines/guard-lint-baseline.spec.js +0 -1
- package/dist/knowledge/baselines/risk-baselines.spec.d.ts +0 -1
- package/dist/knowledge/baselines/risk-baselines.spec.js +0 -1
- package/dist/knowledge/baselines/risk-cases.d.ts +0 -8
- package/dist/knowledge/baselines/semantic-facts.d.ts +0 -12
- package/dist/knowledge/bridge-risk.d.ts +0 -36
- package/dist/knowledge/catalog-facts.d.ts +0 -4
- package/dist/knowledge/chain-query-registry.d.ts +0 -14
- package/dist/knowledge/commission-landing.d.ts +0 -26
- package/dist/knowledge/component-schema.d.ts +0 -64
- package/dist/knowledge/contact-risk.d.ts +0 -32
- package/dist/knowledge/contact-templates.d.ts +0 -26
- package/dist/knowledge/contract-invariants.d.ts +0 -54
- package/dist/knowledge/demand-risk.d.ts +0 -30
- package/dist/knowledge/discount-threshold.d.ts +0 -26
- package/dist/knowledge/dynamic-pricing.d.ts +0 -29
- package/dist/knowledge/entity-recipient-guard.d.ts +0 -21
- package/dist/knowledge/event-semantics.d.ts +0 -23
- package/dist/knowledge/evidence-review.d.ts +0 -35
- package/dist/knowledge/fee-param-bindings.d.ts +0 -28
- package/dist/knowledge/flywheel-loop.d.ts +0 -41
- package/dist/knowledge/game-scenarios.d.ts +0 -21
- package/dist/knowledge/getting-started.d.ts +0 -37
- package/dist/knowledge/goal-completion.d.ts +0 -31
- package/dist/knowledge/guard-anchor-reach.d.ts +0 -19
- package/dist/knowledge/guard-binding-table.d.ts +0 -52
- package/dist/knowledge/guard-binding-verifier.d.ts +0 -37
- package/dist/knowledge/guard-bindings.d.ts +0 -21
- package/dist/knowledge/guard-blueprint.d.ts +0 -68
- package/dist/knowledge/guard-design-patterns.d.ts +0 -38
- package/dist/knowledge/guard-eval.d.ts +0 -15
- package/dist/knowledge/guard-field-cognition.d.ts +0 -48
- package/dist/knowledge/guard-host-context.d.ts +0 -24
- package/dist/knowledge/guard-ledger.d.ts +0 -19
- package/dist/knowledge/guard-leg-map.d.ts +0 -5
- package/dist/knowledge/guard-lint.d.ts +0 -79
- package/dist/knowledge/guard-node-gates.d.ts +0 -9
- package/dist/knowledge/guard-puzzle.d.ts +0 -188
- package/dist/knowledge/guard-render.d.ts +0 -71
- package/dist/knowledge/guard-risk.d.ts +0 -71
- package/dist/knowledge/guard-submission-brief.d.ts +0 -94
- package/dist/knowledge/guard-submission-prompt.d.ts +0 -63
- package/dist/knowledge/guard-translation.d.ts +0 -58
- package/dist/knowledge/index.d.ts +0 -299
- package/dist/knowledge/industry-evolution.d.ts +0 -82
- package/dist/knowledge/industry-generalizer.d.ts +0 -63
- package/dist/knowledge/industry-rule-node.d.ts +0 -7
- package/dist/knowledge/industry-strategy.d.ts +0 -91
- package/dist/knowledge/intent-metrics.d.ts +0 -43
- package/dist/knowledge/jsonrpc-enum.d.ts +0 -102
- package/dist/knowledge/knob-docs.d.ts +0 -5
- package/dist/knowledge/machine-fork-watch.d.ts +0 -9
- package/dist/knowledge/machine-ledger.d.ts +0 -42
- package/dist/knowledge/machine-puzzle.d.ts +0 -206
- package/dist/knowledge/machine-risk.d.ts +0 -72
- package/dist/knowledge/machine-templates.d.ts +0 -92
- package/dist/knowledge/machine-topology.d.ts +0 -116
- package/dist/knowledge/machine-translation.d.ts +0 -96
- package/dist/knowledge/market-metrics.d.ts +0 -34
- package/dist/knowledge/market-operations.d.ts +0 -46
- package/dist/knowledge/migration-preflight.d.ts +0 -27
- package/dist/knowledge/object-dependency.d.ts +0 -31
- package/dist/knowledge/operation-dictionary.d.ts +0 -18
- package/dist/knowledge/order-ledger.d.ts +0 -69
- package/dist/knowledge/order-puzzle.d.ts +0 -162
- package/dist/knowledge/order-risk.d.ts +0 -62
- package/dist/knowledge/order-templates.d.ts +0 -50
- package/dist/knowledge/param-schema.d.ts +0 -93
- package/dist/knowledge/param-tiers.d.ts +0 -27
- package/dist/knowledge/passport-ledger.d.ts +0 -60
- package/dist/knowledge/passport-templates.d.ts +0 -40
- package/dist/knowledge/path-oracle/coverage.d.ts +0 -16
- package/dist/knowledge/path-oracle/index.d.ts +0 -5
- package/dist/knowledge/path-oracle/products/food-delivery.d.ts +0 -2
- package/dist/knowledge/path-oracle/schema.d.ts +0 -188
- package/dist/knowledge/pattern-resolutions.d.ts +0 -110
- package/dist/knowledge/payment-risk.d.ts +0 -38
- package/dist/knowledge/payment-tracker.d.ts +0 -63
- package/dist/knowledge/permission-ledger.d.ts +0 -49
- package/dist/knowledge/permission-puzzle.d.ts +0 -122
- package/dist/knowledge/permission-risk.d.ts +0 -70
- package/dist/knowledge/permission-templates.d.ts +0 -38
- package/dist/knowledge/personal-risk.d.ts +0 -36
- package/dist/knowledge/product-detail-source.d.ts +0 -37
- package/dist/knowledge/product-doc-b5.d.ts +0 -16
- package/dist/knowledge/progress-ledger.d.ts +0 -63
- package/dist/knowledge/progress-puzzle.d.ts +0 -82
- package/dist/knowledge/progress-risk.d.ts +0 -75
- package/dist/knowledge/progress-templates.d.ts +0 -38
- package/dist/knowledge/projection.d.ts +0 -54
- package/dist/knowledge/projection.spec.d.ts +0 -1
- package/dist/knowledge/projection.spec.js +0 -1
- package/dist/knowledge/proof-risk.d.ts +0 -33
- package/dist/knowledge/protocol-facts.d.ts +0 -17
- package/dist/knowledge/publish-gate.d.ts +0 -20
- package/dist/knowledge/publish-readiness.d.ts +0 -25
- package/dist/knowledge/publish-surface-contract.d.ts +0 -16
- package/dist/knowledge/puzzle-projections.d.ts +0 -11
- package/dist/knowledge/rail-exit-satisfiability.d.ts +0 -25
- package/dist/knowledge/registrar-risk.d.ts +0 -34
- package/dist/knowledge/release-sentinel.d.ts +0 -12
- package/dist/knowledge/repository-risk.d.ts +0 -46
- package/dist/knowledge/repository-write-semantics.d.ts +0 -27
- package/dist/knowledge/reputation-rules.d.ts +0 -36
- package/dist/knowledge/requirement-families.d.ts +0 -13
- package/dist/knowledge/resource-risk.d.ts +0 -32
- package/dist/knowledge/reward-ledger.d.ts +0 -97
- package/dist/knowledge/reward-puzzle.d.ts +0 -98
- package/dist/knowledge/reward-risk.d.ts +0 -86
- package/dist/knowledge/reward-templates.d.ts +0 -25
- package/dist/knowledge/rule-node-analyzers.d.ts +0 -49
- package/dist/knowledge/rule-outcome.d.ts +0 -5
- package/dist/knowledge/scenario-topology.d.ts +0 -48
- package/dist/knowledge/semantic-ir.d.ts +0 -136
- package/dist/knowledge/service-allocation-semantics.d.ts +0 -36
- package/dist/knowledge/service-allocator-audit-node.d.ts +0 -3
- package/dist/knowledge/service-ledger.d.ts +0 -87
- package/dist/knowledge/service-puzzle.d.ts +0 -158
- package/dist/knowledge/service-risk-node.d.ts +0 -3
- package/dist/knowledge/service-risk.d.ts +0 -110
- package/dist/knowledge/service-templates.d.ts +0 -41
- package/dist/knowledge/settlement-semantics.d.ts +0 -1
- package/dist/knowledge/strategy-manuals.d.ts +0 -15
- package/dist/knowledge/supply-chain.d.ts +0 -35
- package/dist/knowledge/template-index.d.ts +0 -19
- package/dist/knowledge/template-loader.d.ts +0 -425
- package/dist/knowledge/template-nav.d.ts +0 -9
- package/dist/knowledge/template-prose.d.ts +0 -50
- package/dist/knowledge/template-registry.d.ts +0 -48
- package/dist/knowledge/template-scanner.d.ts +0 -158
- package/dist/knowledge/template-test-profiles.d.ts +0 -17
- package/dist/knowledge/template-validation.d.ts +0 -3
- package/dist/knowledge/tools-reference.d.ts +0 -17
- package/dist/knowledge/treasury-ledger.d.ts +0 -42
- package/dist/knowledge/treasury-puzzle.d.ts +0 -163
- package/dist/knowledge/treasury-risk.d.ts +0 -88
- package/dist/knowledge/treasury-templates.d.ts +0 -38
- package/dist/knowledge/universal-template.d.ts +0 -22
- package/dist/knowledge/util-risk.d.ts +0 -30
- package/dist/knowledge/workflow-guidance.d.ts +0 -194
- package/dist/knowledge/workspace-lists.d.ts +0 -61
- package/dist/monitor/SuggestionBridge.spec.d.ts +0 -1
- package/dist/monitor/SuggestionBridge.spec.js +0 -1
- package/dist/participation/arbitrator-interest.d.ts +0 -22
- package/dist/participation/demander-interest.d.ts +0 -23
- package/dist/participation/employee-kpi.d.ts +0 -37
- package/dist/participation/employee-kpi.spec.d.ts +0 -1
- package/dist/participation/employee-kpi.spec.js +0 -1
- package/dist/participation/employee-store.d.ts +0 -16
- package/dist/participation/game-context.d.ts +0 -25
- package/dist/participation/index.d.ts +0 -2
- package/dist/participation/node-action-advisor.d.ts +0 -68
- package/dist/participation/time-window.d.ts +0 -48
- package/dist/persona/facet-profile.d.ts +0 -33
- package/dist/persona/persona-audit.spec.d.ts +0 -1
- package/dist/persona/persona-audit.spec.js +0 -1
- package/dist/playbooks/service-build/business-puzzle.d.ts +0 -48
- package/dist/playbooks/service-build/context-assembly.d.ts +0 -32
- package/dist/playbooks/service-build/facet-money.d.ts +0 -33
- package/dist/playbooks/service-build/facet-money.spec.d.ts +0 -1
- package/dist/playbooks/service-build/facet-money.spec.js +0 -1
- package/dist/playbooks/service-build/game-theory.d.ts +0 -47
- package/dist/playbooks/service-build/index.d.ts +0 -15
- package/dist/playbooks/service-build/intent-analyzer.d.ts +0 -72
- package/dist/playbooks/service-build/machine-nodes.d.ts +0 -27
- package/dist/playbooks/service-build/machine-panorama.d.ts +0 -71
- package/dist/playbooks/service-build/merchant-guide.d.ts +0 -382
- package/dist/playbooks/service-build/migration-planner.d.ts +0 -61
- package/dist/playbooks/service-build/mode-actions.d.ts +0 -260
- package/dist/playbooks/service-build/object-panorama.d.ts +0 -317
- package/dist/playbooks/service-build/object-type.d.ts +0 -1
- package/dist/playbooks/service-build/participation-radar.d.ts +0 -20
- package/dist/playbooks/service-build/pipeline-actions.d.ts +0 -108
- package/dist/playbooks/service-build/process.d.ts +0 -6
- package/dist/playbooks/service-build/relationship-profile.d.ts +0 -3
- package/dist/playbooks/service-build/reverse-mapping-nk4.spec.d.ts +0 -1
- package/dist/playbooks/service-build/reverse-mapping-nk4.spec.js +0 -1
- package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.d.ts +0 -1
- package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.js +0 -1
- package/dist/playbooks/service-build/reverse-mapping.d.ts +0 -66
- package/dist/playbooks/service-build/risk-aggregator.d.ts +0 -59
- package/dist/playbooks/service-build/service-panorama.d.ts +0 -229
- package/dist/playbooks/service-build/service-quote.d.ts +0 -2
- package/dist/playbooks/service-build/service-quote.spec.d.ts +0 -1
- package/dist/playbooks/service-build/service-quote.spec.js +0 -1
- package/dist/playbooks/service-build/topology-evaluation.spec.d.ts +0 -1
- package/dist/playbooks/service-build/topology-evaluation.spec.js +0 -1
- package/dist/playbooks/service-build/topology-query.d.ts +0 -25
- package/dist/playbooks/service-build/workflow-design-assessment.d.ts +0 -33
- package/dist/relationship/derivation.d.ts +0 -95
- package/dist/relationship/derivation.spec.d.ts +0 -1
- package/dist/relationship/derivation.spec.js +0 -1
- package/dist/relationship/incentive.d.ts +0 -38
- package/dist/relationship/index.d.ts +0 -4
- package/dist/relationship/registry.d.ts +0 -13
- package/dist/relationship/types.d.ts +0 -45
- package/dist/review/arb.d.ts +0 -4
- package/dist/review/demand.d.ts +0 -3
- package/dist/review/index.d.ts +0 -3
- package/dist/review/machine.d.ts +0 -3
- package/dist/review/order.d.ts +0 -8
- package/dist/review/progress.d.ts +0 -3
- package/dist/review/repository.d.ts +0 -3
- package/dist/review/service.d.ts +0 -5
- package/dist/review/types.d.ts +0 -163
- package/dist/role/derivation.d.ts +0 -35
- package/dist/role/index.d.ts +0 -6
- package/dist/role/intent.d.ts +0 -23
- package/dist/role/model.d.ts +0 -9
- package/dist/role/profiles.d.ts +0 -26
- package/dist/role/resolution.d.ts +0 -27
- package/dist/runtime/instance-registry.d.ts +0 -14
- package/dist/safety/index.d.ts +0 -3
- package/dist/schema/call/permission-handler.d.ts +0 -5
- package/dist/schema/call/semantic-customer-advice.spec.d.ts +0 -1
- package/dist/schema/call/semantic-customer-advice.spec.js +0 -1
- package/dist/schema/common/tokentype-short-probe.spec.d.ts +0 -1
- package/dist/schema/common/tokentype-short-probe.spec.js +0 -1
- package/dist/schema/envelope-unify.d.ts +0 -5
- package/dist/schema/goal/planning.d.ts +0 -742
- package/dist/schema/industry-pack/modes.d.ts +0 -447
- package/dist/schema/query/bi.d.ts +0 -3369
- package/dist/schema/utils/guard-query-utils.d.ts +0 -18
- package/dist/schema/utils/permission-index-utils.d.ts +0 -2
- package/dist/schema/utils/skills-recommendation.d.ts +0 -2
- package/dist/schema-query-impl/index.d.ts +0 -83
- package/dist/schemas/account_operation.output.json +0 -3869
- package/dist/schemas/ask_user.output.json +0 -54
- package/dist/schemas/benchmark_migration_operation.output.json +0 -1669
- package/dist/schemas/bridge_operation.output.json +0 -1548
- package/dist/schemas/config_operation.output.json +0 -896
- package/dist/schemas/employee_operation.output.json +0 -307
- package/dist/schemas/evaluation_operation.output.json +0 -4716
- package/dist/schemas/guard2file.output.json +0 -83
- package/dist/schemas/industry_pack_operation.output.json +0 -2985
- package/dist/schemas/intent_radar.output.json +0 -326
- package/dist/schemas/keeper_operation.output.json +0 -1441
- package/dist/schemas/local_cache_operation.output.json +0 -1718
- package/dist/schemas/local_history_operation.output.json +0 -1644
- package/dist/schemas/local_info_operation.output.json +0 -1530
- package/dist/schemas/local_mark_operation.output.json +0 -1622
- package/dist/schemas/machineNode2file.output.json +0 -88
- package/dist/schemas/messenger_operation.output.json +0 -4692
- package/dist/schemas/monitor_events.output.json +0 -1602
- package/dist/schemas/monitor_subscription.output.json +0 -1629
- package/dist/schemas/onchain_events.output.json +0 -4053
- package/dist/schemas/onchain_operations.output.json +0 -7788
- package/dist/schemas/onchain_table_data.output.json +0 -11868
- package/dist/schemas/permission_operation.output.json +0 -205
- package/dist/schemas/persona_operation.output.json +0 -64612
- package/dist/schemas/query_toolkit.output.json +0 -28302
- package/dist/schemas/schema_query.output.json +0 -81
- package/dist/schemas/service_clone_operation.output.json +0 -247
- package/dist/schemas/strategy_review_operation.output.json +0 -532
- package/dist/schemas/watch_operation.output.json +0 -930
- package/dist/schemas/wip_file.output.json +0 -360
- package/dist/schemas/workflow_operation.output.json +0 -422
- package/dist/schemas/workspace_operation.output.json +0 -477
- package/dist/schemas/wowok_buildin_info.output.json +0 -2477
- package/dist/strategy/collectors.d.ts +0 -66
- package/dist/strategy/collectors.spec.d.ts +0 -1
- package/dist/strategy/collectors.spec.js +0 -1
- package/dist/strategy/index.d.ts +0 -5
- package/dist/strategy/metrics.d.ts +0 -20
- package/dist/strategy/review.d.ts +0 -48
- package/dist/strategy/scorecard.d.ts +0 -32
- package/dist/strategy/store.d.ts +0 -26
- package/dist/task/ProcessStore.d.ts +0 -98
- package/dist/task/playbook.d.ts +0 -11
- package/dist/task/substep-trace.d.ts +0 -91
- package/dist/tools/build-fingerprint.d.ts +0 -28
- package/dist/tools/error-catalog.d.ts +0 -17
- package/dist/tools/handlers/ask-user.d.ts +0 -3
- package/dist/tools/handlers/benchmark-migration.d.ts +0 -121
- package/dist/tools/handlers/bridge.d.ts +0 -8
- package/dist/tools/handlers/config.d.ts +0 -2
- package/dist/tools/handlers/dispatch-expectations.d.ts +0 -2
- package/dist/tools/handlers/dispatch-expectations.spec.d.ts +0 -1
- package/dist/tools/handlers/dispatch-expectations.spec.js +0 -1
- package/dist/tools/handlers/employee.d.ts +0 -8
- package/dist/tools/handlers/employee.spec.d.ts +0 -1
- package/dist/tools/handlers/employee.spec.js +0 -1
- package/dist/tools/handlers/entry-edge-recipe.d.ts +0 -101
- package/dist/tools/handlers/escrow-deficit.d.ts +0 -10
- package/dist/tools/handlers/evaluation.d.ts +0 -2
- package/dist/tools/handlers/evaluation.spec.d.ts +0 -1
- package/dist/tools/handlers/evaluation.spec.js +0 -1
- package/dist/tools/handlers/file-export.d.ts +0 -3
- package/dist/tools/handlers/fund-rail-recipe.d.ts +0 -10
- package/dist/tools/handlers/goal.d.ts +0 -4
- package/dist/tools/handlers/industry-pack.d.ts +0 -3
- package/dist/tools/handlers/intent-radar.d.ts +0 -2
- package/dist/tools/handlers/keeper.d.ts +0 -12
- package/dist/tools/handlers/local.d.ts +0 -6
- package/dist/tools/handlers/mark-namespace.d.ts +0 -30
- package/dist/tools/handlers/messenger.d.ts +0 -24
- package/dist/tools/handlers/monitor.d.ts +0 -26
- package/dist/tools/handlers/name-resolution.d.ts +0 -4
- package/dist/tools/handlers/name-resolution.spec.d.ts +0 -1
- package/dist/tools/handlers/name-resolution.spec.js +0 -1
- package/dist/tools/handlers/network.d.ts +0 -1
- package/dist/tools/handlers/onchain-name-registration.d.ts +0 -49
- package/dist/tools/handlers/onchain-name-registration.spec.d.ts +0 -1
- package/dist/tools/handlers/onchain-name-registration.spec.js +0 -1
- package/dist/tools/handlers/onchain.d.ts +0 -132
- package/dist/tools/handlers/permission.d.ts +0 -2
- package/dist/tools/handlers/persona.d.ts +0 -4
- package/dist/tools/handlers/publish-binding-echo.d.ts +0 -22
- package/dist/tools/handlers/review-chain.d.ts +0 -19
- package/dist/tools/handlers/schema-query.d.ts +0 -2
- package/dist/tools/handlers/service-clone.d.ts +0 -20
- package/dist/tools/handlers/stale-build-check.d.ts +0 -9
- package/dist/tools/handlers/strategy-review.d.ts +0 -2
- package/dist/tools/handlers/submission-assembly.d.ts +0 -55
- package/dist/tools/handlers/watch.d.ts +0 -2
- package/dist/tools/handlers/winner-derivation.d.ts +0 -20
- package/dist/tools/handlers/wip-upload.d.ts +0 -22
- package/dist/tools/handlers/wip.d.ts +0 -2
- package/dist/tools/handlers/workflow.d.ts +0 -2
- package/dist/tools/handlers/workspace.d.ts +0 -4
- package/dist/tools/move-fn-index.gen.d.ts +0 -3
- package/dist/tools/publish-gate-state.d.ts +0 -5
- package/dist/tools/registry/agent.d.ts +0 -2
- package/dist/tools/registry/bridge.d.ts +0 -2
- package/dist/tools/registry/business.d.ts +0 -2
- package/dist/tools/registry/config.d.ts +0 -2
- package/dist/tools/registry/evaluation.d.ts +0 -2
- package/dist/tools/registry/files.d.ts +0 -2
- package/dist/tools/registry/identity.d.ts +0 -2
- package/dist/tools/registry/interaction.d.ts +0 -2
- package/dist/tools/registry/local.d.ts +0 -2
- package/dist/tools/registry/messenger.d.ts +0 -2
- package/dist/tools/registry/monitor.d.ts +0 -2
- package/dist/tools/registry/onchain.d.ts +0 -2
- package/dist/tools/registry/query.d.ts +0 -2
- package/dist/tools/retry.d.ts +0 -8
- package/dist/tools/rules-hook.d.ts +0 -5
- package/dist/tools/runtime-health.d.ts +0 -10
- package/dist/tools/sanitize-description-roundtrip.spec.d.ts +0 -1
- package/dist/tools/sanitize-description-roundtrip.spec.js +0 -1
- package/dist/tools/sanitize-output.d.ts +0 -4
- package/dist/tools/sanitize-output.spec.d.ts +0 -1
- package/dist/tools/sanitize-output.spec.js +0 -1
- package/dist/tools/shared.d.ts +0 -20
- package/dist/tools/transport-integrity.d.ts +0 -7
- package/dist/tools/upgrade-check.d.ts +0 -75
- package/dist/tools/wip-deploy-assist.d.ts +0 -34
- package/dist/tools/wip-verify-ledger.d.ts +0 -16
- package/dist/tools/wrap.d.ts +0 -45
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SV2_UNARMED_PRESCRIPTION}from'../knowledge/protocol-facts.js';import{verifyAllocatorRails}from'../knowledge/allocator-rail-verifier.js';import{TASK_BINDING_SLOT}from'../knowledge/onchain-constants.js';import{rootHasRewardRecordGate,SERVICE_SALE_FIELDS}from'../knowledge/template-scanner.js';import{guardTemplateHasIdentityLeg}from'../knowledge/builtin-templates.js';import{numericAmount}from'../knowledge/audit-rules.js';import{emitSupplyChainPromise}from'./supply-chain-emit.js';import{P,ref}from'./plan.js';import{truncateProseUtf8}from'./materialize.js';import{validateGuardTreeShape}from'../knowledge/guard-render.js';import{MAX_POLICY_DESCRIPTION_LEN}from'@wowok/wowok';function lowestSalePrice(a){if(!Array['isArray'](a))return undefined;let b;for(const c of a){const d=numericAmount(c?.['price']);if(d!==undefined&&d>0x0)b=b===undefined?d:Math['min'](b,d);}return b;}const BOUNTY_TO_MIN_SKU_ADVISORY_RATIO=0xa;function toByteVector(a){if(Array['isArray'](a))return a['every'](c=>typeof c==='number'&&Number['isInteger'](c)&&c>=0x0&&c<=0xff)?a:undefined;if(typeof a==='string'&&a['length']>0x0)return Array['from'](new TextEncoder()['encode'](a));return undefined;}const CANONICAL_CURRENCY='0x2::wow::WOW',QUALIFIED_TYPE_RE=/^0x[0-9a-fA-F]{1,64}::[a-zA-Z_][a-zA-Z0-9_]*::[A-Za-z_][A-Za-z0-9_]*$/;export function normalizeCurrency(a){const b=a['trim']();if(QUALIFIED_TYPE_RE['test'](b))return b;if(/^\$?wow$/i['test'](b))return CANONICAL_CURRENCY;return undefined;}const capUtf8=(a,b)=>{if(Buffer['byteLength'](a,'utf8')<=b)return[a,![]];return[truncateProseUtf8(a,b-0x3)+'…',!![]];},MAX_DESCRIPTION_CONTENT_BYTES=0xf9e,proseTruncatedAdvisory=(a,b,c,d)=>'PROSE_TRUNCATED\x20(F-08,\x20ADVISORY\x20—\x20not\x20a\x20blocker):\x20'+a+'\x20measured\x20'+b+'\x20UTF-8\x20bytes,\x20over\x20the\x20'+('on-chain\x20cap\x20of\x20'+c+'\x20('+d+')\x20—\x20it\x20shipped\x20truncated\x20to\x20a\x20semantic\x20summary\x20(leading\x20template-id/purpose\x20')+'sentences\x20preserved).\x20The\x20build\x20is\x20NOT\x20blocked;\x20tighten\x20the\x20prose\x20at\x20authoring\x20time\x20if\x20the\x20full\x20wording\x20matters.';function offTaskSlotIdentityLegs(a){const b=new Set(['order.owner','order.agent\x20has']),c=new Set(['query_order_named_operator_member']),d=new Set(),e=[],f=g=>{if(g===null||typeof g!=='object')return;const h=g;if(h['type']==='logic_equal'&&Array['isArray'](h['nodes'])){const l=h['nodes']['filter'](m=>m!==null&&typeof m==='object'&&m['type']==='identifier'&&typeof m['identifier']==='number');if(l['some'](m=>m['identifier']===TASK_BINDING_SLOT)){for(const m of l)d['add'](m['identifier']);}}const i=h['object'],j=typeof h['query']==='string'&&b['has'](h['query'])||typeof h['type']==='string'&&c['has'](h['type']);if(j&&i!==null&&typeof i==='object'&&typeof i['identifier']==='number'){const o=i['identifier'],p=typeof h['query']==='string'?h['query']:h['type'];if(o!==TASK_BINDING_SLOT)e['push']({'query':p,'identifier':o});}if(Array['isArray'](h['nodes'])){for(const q of h['nodes'])f(q);}if(h['node']!==undefined&&typeof h['node']==='object')f(h['node']);};return f(a),e['filter'](g=>!d['has'](g['identifier']));}const MODE_MAP={'amount':'Amount','rate':'Rate','surplus':'Surplus','formula':'Formula'};export function emitIdentityPhase({template:a,base:b}){const c=[];c['push']({'op':'create','id':'permission','object':'permission','params':{'name':b+'_permission'}});const d=a['arbitration_mode']!==undefined&&a['arbitration_mode']!=='none';return d&&c['push']({'op':'create','id':'permission_arb','object':'permission','params':{'name':b+'_arb_permission'},...a['arbitration_mode']==='third_party'?{'account':'arb_controller'}:{},'notes':'MUST\x20be\x20created\x20by\x20a\x20different\x20account\x20than\x20the\x20service\x20permission\x20'+'(E_ARBITRATION_PERMISSION_CONFLICT=33):\x20dispute\x20neutrality.\x20'+'third_party\x20builds\x20declare\x20account\x20\x27arb_controller\x27\x20—\x20provide\x20'+'accounts.arb_controller\x20to\x20plan_execute.'}),c['push']({'op':'create','id':'contact','object':'contact','params':{'name':b+'_contact','ims':{'op':'set','im':[{'at':{'$late':{'by':'env_signer'}}}]}},'notes':'R8:\x20customer-service\x20channel;\x20mandatory\x20when\x20customer_required\x20is\x20set.\x20'+'required_info\x20is\x20SELF-ATTESTED\x20—\x20the\x20chain\x20stores\x20the\x20buyer\x27s\x20claim\x20verbatim\x20and\x20nothing\x20verifies\x20it\x20'+'(the\x20bind\x20path\x20only\x20proves\x20the\x20claim\x20came\x20from\x20this\x20order\x27s\x20owner).\x20A\x20genuine\x20credential\x20gate\x20requires\x20'+'a\x20Proof-backed\x20delivery\x20guard\x20(see\x20the\x20privacy-delivery\x20design;\x20not\x20wired\x20by\x20default).'}),{'steps':c,'needsArbitration':d};}const rewardRowIdentifiers=a=>{const b=new Set(),c=d=>{if(Array['isArray'](d)){for(const f of d)c(f);return;}if(typeof d!=='object'||d===null)return;const e=d;if(typeof e['type']==='string'&&e['type']['startsWith']('query_reward_record')){const g=e['object'];if(g!==undefined&&typeof g['identifier']==='number')b['add'](g['identifier']);}for(const h of Object['values'](e))c(h);};return c(a),b;};export function emitRewardClaimEarly({reviewMode:a,guardSpecs:b,resolvedGuards:c,rewardMark:d}){const e=[],f=a==='review_reward'?b['find'](g=>g['host']==='reward'):undefined;if(a==='review_reward'&&f?.['step_id']!==undefined){const g=c['get'](f['key']);if(g!==undefined){const h=rewardRowIdentifiers(g['root']);c['set'](f['key'],{...g,'table':g['table']['map'](i=>{const j=i;if(j['b_submission']===!![]||!h['has'](j['identifier']))return i;return{...j,'value':ref('reward_review')};})});}e['push']({'op':'create','id':'reward_review','object':'reward','params':P({'name':d,'description':'Review\x20incentive\x20pool\x20(sale-time\x20planned;\x20terms\x20disclosed\x20at\x20quote/buy):\x20claim\x20gated\x20by\x20guard\x20\x27'+f['key']+'\x27.'}),'notes':'REVIEW-COMPONENT:\x20the\x20funded\x20reward\x20must\x20be\x20perceivable\x20by\x20the\x20buyer\x20BEFORE\x20ordering\x20—\x20the\x20full\x20terms\x20ride\x20the\x20quote/buy\x20surface\x20(REVIEW-COMPONENT-PLAN\x20§4).\x20'+'[ZR-08:\x20created\x20BEFORE\x20its\x20claim\x20guard\x20—\x20the\x20guard\x27s\x20Reward-address\x20row\x20freezes\x20at\x20creation\x20and\x20binds\x20this\x20pool\x20by\x20plan\x20ref\x20{\x22$ref\x22:\x22reward_review\x22}]'});}return{'steps':e};}export function emitExperiencePoolEarly({experienceClaimKey:a,guardSpecs:b,resolvedGuards:c,poolMark:d}){const e=[];if(a===undefined)return{'steps':e};const f=b['find'](h=>h['key']===a);if(f===undefined||f['step_id']===undefined)return{'steps':e};const g=c['get'](f['key']);if(g!==undefined){const h=rewardRowIdentifiers(g['root']);c['set'](f['key'],{...g,'table':g['table']['map'](i=>{const j=i;if(j['b_submission']===!![]||!h['has'](j['identifier']))return i;return{...j,'value':ref('reward_experience')};})});}return e['push']({'op':'create','id':'reward_experience','object':'reward','params':P({'name':d,'description':'Experience-compensation\x20pool\x20(K3\x20C-11;\x20terms\x20disclosed\x20at\x20quote/buy):\x20the\x20merchant\x20pre-funds\x20this\x20goodwill\x20pool\x20and\x20buyers\x20claim\x20PROACTIVELY\x20per\x20guard\x20\x27'+f['key']+'\x27.\x20NOT\x20escrow\x20—\x20it\x20never\x20touches\x20the\x20order\x27s\x20own\x20settlement\x20(a\x20claim\x20blocks\x20nothing;\x20nothing\x20is\x20ever\x20deducted\x20from\x20the\x20merchant).\x20The\x20balance\x20is\x20finite:\x20a\x20claim\x20above\x20the\x20remaining\x20balance\x20aborts,\x20and\x20the\x20merchant\x20may\x20withdraw\x20the\x20unclaimed\x20remainder\x20once\x20the\x20claim\x20window\x20lapses.'}),'notes':'EXPERIENCE-COMPENSATION\x20(K3\x20C-11):\x20the\x20goodwill\x20pool\x20must\x20be\x20perceivable\x20by\x20the\x20buyer\x20BEFORE\x20ordering\x20—\x20the\x20four\x20disclosure\x20duties\x20ride\x20the\x20quote/buy\x20surface\x20(pool\x20≠\x20escrow\x20/\x20finite\x20+\x20withdrawable\x20/\x20proactive\x20in-window\x20claim\x20/\x20Fixed-tier\x20amount).\x20'+'[ZR-08:\x20created\x20BEFORE\x20its\x20claim\x20guard\x20—\x20the\x20guard\x27s\x20Reward-address\x20row\x20freezes\x20at\x20creation\x20and\x20binds\x20this\x20pool\x20by\x20plan\x20ref\x20{\x22$ref\x22:\x22reward_experience\x22}]'}),{'steps':e};}export function checkDaysUnitSlots({resolvedGuards:a}){const b=[];{const c=0x5265c00,d=e=>{const f=e['value'],h=typeof f==='number'?f:typeof f==='string'?Number(f):NaN;return Number['isFinite'](h)?h:undefined;};for(const [e,f]of a){const h=f['table'],i=h['filter'](m=>typeof m?.['name']==='string'&&/day/i['test'](m['name'])),j=i['find'](m=>/ms[_\s]?per[_\s]?day/i['test'](m['name']));if(j===undefined)continue;const k=d(j);if(k===undefined||k===c)continue;const l=i['some'](m=>m!==j&&(d(m)??0x0)>0xe42);if(!l)continue;b['push']({'code':'DAYS_SLOT_UNIT_MISMATCH','detail':'guard\x20\x27'+e+'\x27:\x20a\x20day-denominated\x20slot\x20is\x20stuffed\x20with\x20MILLISECONDS\x20while\x20its\x20ms_per_day\x20row\x20reads\x20'+k+'\x20'+'(tbpr7\x20F-V3-04:\x20DAYS\x20slots\x20carrying\x20173000/864000\x20beside\x20ms_per_day\x20=\x201).\x20Guards\x20are\x20immutable\x20—\x20a\x20wrong\x20'+'unit\x20is\x20PERMANENT:\x20the\x20window\x20runs\x20~6\x20orders\x20of\x20magnitude\x20long\x20(or\x20short)\x20and\x20no\x20keeper\x20call\x20can\x20fix\x20it.\x20'+'Day\x20slots\x20carry\x20DAY\x20COUNTS\x20(twin\x20templates\x20scale\x20by\x2086400000\x20at\x20compile;\x20on-chain\x20day\x20twins\x20keep\x20the\x20'+'ms_per_day\x20=\x2086400000\x20row):\x20set\x20ms_per_day\x20back\x20to\x2086400000\x20and\x20re-derive\x20the\x20day\x20slots\x20via\x20fee-param\x20bindings.'});}}return{'blockers':b};}export function checkWindowTruncation({resolvedGuards:a}){const b=[],c=0x5265c00,d=e=>{const f=e['value'],h=typeof f==='number'?f:typeof f==='string'?Number(f):NaN;return Number['isFinite'](h)?h:undefined;};for(const [e,f]of a){const h=new Map();for(const m of f['table']){if(!m||typeof m!=='object'||Array['isArray'](m))continue;const n=m;typeof n['identifier']==='number'&&n['b_submission']!==!![]&&h['set'](n['identifier'],n);}const i=o=>typeof o==='number'?h['get'](o):undefined,j=o=>{const p=[];for(const q of['nodes','and','or','left','right']){const s=o[q];if(Array['isArray'](s))p['push'](...s);else{if(s!==undefined)p['push'](s);}}return p;},k=o=>{if(!o||typeof o!=='object'||Array['isArray'](o))return{'multiplies':0x0,'total':0x0};const p=o,q=typeof p['type']==='string'?p['type']:'';if(q==='calc_number_multiply'&&Array['isArray'](p['nodes'])&&p['nodes']['length']===0x2){const [u,w]=p['nodes'],x=u!==null&&typeof u==='object'&&u['type']==='identifier'?i(u['identifier']):undefined,y=w!==null&&typeof w==='object'&&w['type']==='identifier'?i(w['identifier']):undefined;if(x===undefined||y===undefined)return undefined;const z=d(x)===c?x:d(y)===c?y:undefined;if(z===undefined)return undefined;const A=z===x?y:x;if(A['value_type']!=='U64'||z['value_type']!=='U64')return undefined;const B=d(A);if(B===undefined)return undefined;return{'multiplies':0x1,'total':B};}let s=0x0,t=0x0;for(const C of j(p)){const D=k(C);if(D===undefined)return undefined;s+=D['multiplies'],t+=D['total'];}return{'multiplies':s,'total':t};},l=(o,p)=>{if(!o||typeof o!=='object'||Array['isArray'](o))return;const q=o,s=typeof q['type']==='string'?q['type']:'',t=s['includes']('lesser')?!![]:s['includes']('greater')?![]:p;if(s['includes']('lesser')){const u=q['nodes'],v=Array['isArray'](u)?u[0x1]:undefined,w=v!==undefined?k(v):{'multiplies':0x0,'total':0x0};w!==undefined&&w['multiplies']>0x0&&w['total']<0x1&&b['push']({'code':'WINDOW_TRUNCATION_ZERO','detail':'guard\x20\x27'+e+'\x27:\x20a\x20CLOSING\x20window\x27s\x20day\x20slots\x20total\x20'+String(w['total'])+'\x20day(s)\x20—\x20a\x20zero\x20(or\x20'+'sub-1\x20fraction,\x20which\x20the\x20U64\x20slot\x20truncates\x20to\x200\x20at\x20BCS\x20encode)\x20makes\x20the\x20leg\x20compute\x20'+'anchor\x20+\x200\x20×\x2086400000\x20on-chain,\x20so\x20the\x20`<=`\x20window\x20welds\x20shut\x20the\x20instant\x20its\x20anchor\x20entry\x20'+'lands\x20and\x20never\x20reopens\x20(Guards\x20are\x20immutable;\x20the\x20live\x20run\x20compiled\x20a\x200.002-day\x20test\x20window\x20'+'into\x20exactly\x20this\x20shape).\x20Pass\x20whole\x20days,\x20or\x20answer\x20the\x20window\x27s\x20PARALLEL\x20`*_ms`\x20knob\x20'+'(e.g.\x20review_window_ms:\x20600000\x20=\x20a\x2010-minute\x20window;\x20nnd4\x20F-04)\x20—\x20the\x20compiler\x20then\x20emits\x20'+'the\x20millisecond-denominated\x20slot\x20pair\x20(duration_ms\x20beside\x20a\x20day-factor\x20of\x201).'});}for(const x of j(q))l(x,t);};l(f['root'],![]);}return{'blockers':b};}export function emitServiceDraft({template:a,base:b,inputs:c}){const d=[],e=[],f=typeof c['currency']==='string'?c['currency']['trim']():'',g=f===''?CANONICAL_CURRENCY:normalizeCurrency(f);g===undefined&&e['push']({'code':'CURRENCY_UNRESOLVED','detail':'inputs.currency\x20\x27'+String(c['currency'])+'\x27\x20is\x20not\x20a\x20resolvable\x20token\x20type.\x20Pass\x20the\x20'+'fully-qualified\x20form\x20\x270x2::wow::WOW\x27\x20or\x20the\x20bare\x20symbol\x20\x27WOW\x27\x20(aliased\x20here).\x20The\x20plan\x20carries\x20the\x20'+'canonical\x20default\x20so\x20the\x20shape\x20stays\x20inspectable,\x20but\x20the\x20verdict\x20is\x20blocked:\x20an\x20unqualified\x20symbol\x20'+'aborts\x20at\x20the\x20service\x20create\x20(type_parameter\x20validation)\x20AFTER\x20earlier\x20steps\x20already\x20ran\x20—\x20plan_execute\x20'+'is\x20not\x20transactional\x20(algr9\x20F-03:\x204\x20orphan\x20objects\x20behind\x20the\x20failed\x20step).'});const h=g??CANONICAL_CURRENCY;return d['push']({'op':'create','id':'service','object':'service','params':P({'name':b+'_service','type_parameter':h,'permission':ref('permission'),'um':ref('contact'),'description':a['id']+'\x20—\x20compiled\x20by\x20the\x20composition\x20compiler',...Array['isArray'](c['customer_required'])?{'customer_required':c['customer_required']}:{}}),'notes':'Draft\x20first\x20(F-01):\x20registers\x20the\x20LocalMark\x20name\x20every\x20guard\x20resolves\x20at\x20runtime.\x20'+'machine/repositories/buy_guard\x20attach\x20in\x20configure\x20steps\x20after\x20machine_publish\x20'+'(schema-sanctioned\x20phased\x20build;\x20machine/order_allocators\x20remain\x20publish-frozen).'}),{'steps':d,'currency':h,'blockers':e};}function runtimeWriteReceipt({policy:a,idFrom:b,valueType:c,writeGuard:d,submissionNote:e}){const f=b==='signer'||b==='clock',g=d['length']>0x0?'write_guard\x20'+JSON['stringify'](d)+'\x20MUST\x20ride\x20the\x20call'+e:'the\x20policy\x20ships\x20no\x20write_guard\x20(legal\x20only\x20for\x20signer/clock\x20rows)';return{'repository':ref('repository'),'policy':a,'id_from':f?b:'none','shape':f?'single_value':'items','call':{'data_add':f?{'name':a,'data':'<writer\x20payload\x20(value_type\x20'+c+')>',...d['length']>0x0?{'write_guard':d}:{}}:{'name':a,'items':[{'id':'<caller-chosen\x20row\x20key\x20(value_type\x20'+c+')>','data':'<row\x20payload>'}],...d['length']>0x0?{'write_guard':d}:{}}},'notes':f?'F-19\x20(dspt-mn-261104):\x20id_from='+b+'\x20rows\x20write\x20ONLY\x20this\x20single-value\x20data_add\x20form\x20—\x20the\x20items\x20shape\x20routes\x20to\x20'+('the\x20on-chain\x20batch-row\x20import\x20path\x20(multi-row\x20writes),\x20which\x20requires\x20id_from==ID_FROM_NONE\x20and\x20aborts\x20a\x20'+b+'-keyed\x20policy\x20')+('with\x20E_POLICY_ID_FROM_NONE=21;\x20the\x20row\x20id\x20auto-derives\x20from\x20the\x20writing\x20'+b+'.\x20'+g+'.\x20')+'The\x20write\x20is\x20a\x20RUNTIME\x20chain\x20op\x20(executed\x20by\x20each\x20writer\x20at\x20order\x20time)\x20—\x20this\x20receipt\x20documents\x20the\x20shape,\x20never\x20a\x20Plan\x20step.':'F-19\x20(dspt-mn-261104):\x20id_from=none\x20rows\x20write\x20ONLY\x20the\x20items\x20data_add\x20form\x20(the\x20batch-row\x20import\x20path\x20—\x20every\x20item\x20'+('carries\x20its\x20own\x20caller-chosen\x20row\x20id\x20of\x20value_type\x20'+c+');\x20a\x20single-value\x20form\x20would\x20auto-derive\x20the\x20id\x20from\x20')+('the\x20writer\x20and\x20abort\x20(E_POLICY_ID_FROM_NONE=21\x20family).\x20'+g+'.\x20')+'The\x20write\x20is\x20a\x20RUNTIME\x20chain\x20op\x20—\x20this\x20receipt\x20documents\x20the\x20shape,\x20never\x20a\x20Plan\x20step.'};}export function emitEvidenceRepository({needsRepository:a,base:b,inputs:c,guardSpecs:d,resolvedGuards:e}){const f=[],g=[],h=[],i=[],j=[];if(a){const k=Array['isArray'](c['repository_policies'])?c['repository_policies']['filter'](o=>typeof o==='object'&&o!==null):[],l=k['map'](o=>Array['isArray'](o['write_guard'])?o:{'write_guard':[],...o}),m=[];for(const o of l){const p=o['description'];if(typeof p!=='string')continue;const [q,r]=capUtf8(p,MAX_POLICY_DESCRIPTION_LEN);r&&(o['description']=q,m['push'](proseTruncatedAdvisory('caller-supplied\x20repository_policies\x20entry\x20\x27'+String(o['name']??'(unnamed)')+'\x27\x20description',Buffer['byteLength'](p,'utf8'),MAX_POLICY_DESCRIPTION_LEN,'on-chain\x20repository\x20policy\x20description\x20length\x20cap')));}for(const s of k){const t=typeof s['id_from']==='string'?s['id_from']['toLowerCase']():'none',u=Array['isArray'](s['write_guard'])?s['write_guard']['length']:0x0;t==='none'&&u===0x0&&g['push']({'code':'REPO_POLICY_WRITE_GUARD_REQUIRED','detail':'repository_policies\x20entry\x20\x27'+String(s['name']??'(unnamed)')+'\x27\x20declares\x20id_from\x20'+'\x27none\x27\x20(caller-supplied\x20row\x20key)\x20with\x20NO\x20write_guard\x20—\x20the\x20chain\x20aborts\x20policy\x20'+'creation\x20with\x20E_POLICY_WRITE_GUARD_REQUIRED\x20=\x2022\x20at\x20the\x20create\x20step\x20or\x20at\x20any\x20later\x20'+'policy\x20add\x20(the\x20id\x20is\x20caller-chosen,\x20so\x20an\x20ungated\x20rule\x20'+'would\x20let\x20anyone\x20write\x20the\x20row).\x20Attach\x20a\x20write_guard:[{guard:...}]\x20leg,\x20or\x20switch\x20'+'the\x20policy\x20to\x20id_from\x20\x22signer\x22/\x22clock\x22\x20if\x20the\x20row\x20key\x20may\x20be\x20derived\x20from\x20the\x20writer.'});}const n=new Set(k['map'](v=>v['name']));for(const v of l){const w=typeof v['name']==='string'?v['name']:undefined;if(w===undefined)continue;j['push'](runtimeWriteReceipt({'policy':w,'idFrom':typeof v['id_from']==='string'?v['id_from']['toLowerCase']():'none','valueType':typeof v['value_type']==='string'?v['value_type']:'String','writeGuard':Array['isArray'](v['write_guard'])?v['write_guard']:[],'submissionNote':';\x20the\x20passport\x20must\x20submit\x20the\x20write_guard\x27s\x20b_submission\x20rows'}));}for(const x of d){if(x['host']!=='repository'||x['step_id']===undefined)continue;const y='host:\x22repository\x22\x20guard\x20\x27'+x['key']+'\x27\x20(step\x20\x27'+x['step_id']+'\x27)';if(x['policy']===undefined){g['push']({'code':'REPO_GUARD_POLICY_MISSING','detail':y+'\x20declares\x20no\x20policy\x20on\x20the\x20guards[]\x20entry.\x20Its\x20Repository\x20policy\x20'+'(name\x20/\x20id_from\x20/\x20value_type)\x20is\x20business\x20data\x20the\x20kernel\x20must\x20not\x20fabricate,\x20'+'and\x20an\x20unbound\x20repository\x20guard\x20is\x20an\x20orphan\x20create\x20that\x20leaves\x20the\x20Repository\x20'+'open\x20to\x20any\x20writer.\x20Add\x20policy:{name,\x20id_from,\x20value_type}\x20to\x20the\x20spec,\x20or\x20bind\x20'+'the\x20guard\x20through\x20repository_policies\x20inputs\x20with\x20this\x20guard\x27s\x20own\x20write_guard\x20shape.'});continue;}const z=x['policy']['name']??x['key'],A=(x['policy']['id_from']??'none')['toLowerCase'](),B=x['policy']['id_from_submission'],C=x['policy']['data_from_submission'];B!==undefined&&(A==='signer'||A==='clock')&&g['push']({'code':'REPO_GUARD_SUBMISSION_ID_FORBIDDEN','detail':y+'\x20declares\x20id_from_submission\x20'+B+'\x20while\x20its\x20policy\x20id_from\x20is\x20'+('\x27'+A+'\x27\x20—\x20the\x20row\x20id\x20is\x20AUTO-generated\x20from\x20the\x20'+A+'\x20there,\x20and\x20a\x20')+'submission-derived\x20id\x20conflicts\x20with\x20that\x20routing\x20(the\x20chain\x20aborts\x20policy\x20creation\x20'+'with\x20E_POLICY_ID_FROM_SUBMISSION_FORBIDDEN\x20=\x2023\x20—\x20at\x20the\x20create\x20step\x20or\x20at\x20any\x20later\x20'+'permission-102\x20policy\x20add\x20—\x20so\x20this\x20must\x20be\x20fixed,\x20BK15-F13).\x20Drop\x20id_from_submission\x20'+'(keep\x20data_from_submission\x20—\x20the\x20value\x20leg\x20is\x20legal\x20under\x20signer\x20routing),\x20or\x20switch\x20'+'the\x20policy\x20to\x20id_from\x20\x22none\x22\x20(caller-supplied\x20row\x20key,\x20guarded\x20by\x20this\x20write_guard).'});{const I=e['get'](x['key']),J=[['id_from_submission',B],['data_from_submission',C]];for(const [K,L]of J){if(L===undefined)continue;const M=I?.['table']['find'](N=>N['identifier']===L);(I===undefined||M===undefined||M['b_submission']!==!![])&&g['push']({'code':'REPO_GUARD_SUBMISSION_SLOT_UNKNOWN','detail':y+'\x20declares\x20'+K+'\x20'+L+',\x20but\x20the\x20resolved\x20guard\x20table\x20has\x20'+'NO\x20b_submission=true\x20row\x20at\x20that\x20identifier\x20—\x20the\x20passport\x20builder\x20DROPS\x20'+'undeclared\x20slots,\x20so\x20this\x20pairing\x20leg\x20would\x20silently\x20derive\x20nothing\x20at\x20write\x20'+'time\x20(the\x20write\x20aborts\x20or\x20writes\x20caller-free\x20values,\x20BK15-F13).\x20Declare\x20a\x20'+('b_submission=true\x20table\x20row\x20at\x20identifier\x20'+L+'\x20on\x20the\x20guard,\x20or\x20point\x20')+(K+'\x20at\x20an\x20existing\x20submission\x20slot.')});}}if(n['has'](z))continue;const D=x['policy']['description']??x['purpose'],[E,F]=capUtf8(D,MAX_POLICY_DESCRIPTION_LEN);F&&(x['purpose']=x['purpose']+'\x20'+proseTruncatedAdvisory('repository\x20policy\x20\x27'+z+'\x27\x20description',Buffer['byteLength'](D,'utf8'),MAX_POLICY_DESCRIPTION_LEN,'on-chain\x20repository\x20policy\x20description\x20length\x20cap'));const G={'name':z,'description':E,'id_from':x['policy']['id_from']??'none','value_type':x['policy']['value_type']??'String','write_once':x['policy']['write_once']??![]},H=[{'guard':ref(x['step_id']),...B!==undefined?{'id_from_submission':B}:{},...C!==undefined?{'data_from_submission':C}:{}}];h['push']({...G,'write_guard':H}),i['push'](x['step_id']),j['push'](runtimeWriteReceipt({'policy':z,'idFrom':A,'valueType':x['policy']['value_type']??'String','writeGuard':H,'submissionNote':';\x20the\x20passport\x20must\x20submit\x20the\x20write_guard\x27s\x20b_submission\x20rows'}));}f['push']({'op':'create','id':'repository','object':'repository','params':P({'name':b+'_evidence',...l['length']>0x0?{'policies':l}:{}}),'notes':'Evidence\x20rows\x20(tracking\x20hash,\x20receipts,\x20WTS\x20proofs).\x20Created\x20BEFORE\x20the\x20guard\x20wave\x20so\x20the\x20guards\x27\x20table\x20rows\x20reach\x20this\x20repository\x20by\x20plan\x20ref.\x20[F-BS5-03\x20(bst5-mn-261101):\x20the\x20create\x20ships\x20ONLY\x20caller-supplied\x20policies\x20that\x20are\x20legal\x20at\x20construction\x20—\x20every\x20guard-derived\x20policy\x20lands\x20at\x20the\x20repository_write_guards\x20configure\x20step\x20right\x20after\x20the\x20wave,\x20in\x20its\x20credential-bound\x20(write_guard-attached)\x20form,\x20the\x20ONLY\x20legal\x20shape\x20for\x20id_from=none.]'+(m['length']>0x0?'\x20'+m['join']('\x20'):'')});}return{'steps':f,'repoBoundPolicies':h,'repoBoundStepIds':i,'runtimeWrites':j,'blockers':g};}export function emitReviewRepositoryEarly({reviewMode:a,base:b,inputs:c}){const d=[],e=[];return a!=='none'&&(c['buyer_review_enabled']===!![]&&e['push'](runtimeWriteReceipt({'policy':'buyer_review','idFrom':'signer','valueType':'String','writeGuard':[],'submissionNote':''})),d['push']({'op':'create','id':'repository_review','object':'repository','params':P({'name':b+'_review','description':'Structured\x20buyer\x20reputation\x20rows\x20(AR-1:\x20emitted\x20by\x20the\x20build\x20plan\x20—\x20no\x20manual\x20setup).',...c['buyer_review_enabled']===!![]?{'policies':[{'name':'buyer_review','description':'Merchant-side\x20structured\x20feedback\x20on\x20the\x20order/buyer\x20(D-R7\x20bidirectional\x20reputation,\x20opt-in).\x20One\x20immutable\x20row\x20per\x20writer\x20(id_from=Signer;\x20write-once\x20—\x20a\x20rewrite\x20attempt\x20aborts\x20on-chain,\x20K3(a)).\x20NO\x20write\x20guard\x20by\x20design:\x20merchant\x20authority\x20is\x20verified\x20at\x20READ\x20time\x20(the\x20writer\x20must\x20control\x20the\x20order\x27s\x20service\x20—\x20graph\x20ControlIndex).\x20Payload:\x20JSON\x20text\x20{rating,\x20tags?,\x20orderRef?}.','id_from':'signer','value_type':'String','write_once':!![],'write_guard':[]}]}:{}}),'notes':'REVIEW-COMPONENT\x20AR-1\x20(F-05\x20early\x20form):\x20the\x20review\x20TEXT\x20still\x20rides\x20the\x20forward\x20message\x20(D-R1\x20dual\x20carrier);\x20this\x20repository\x20carries\x20ONLY\x20the\x20structured\x20row.\x20The\x20buyer\x20writes\x20BOTH\x20rows\x20at\x20review\x20time,\x20both\x20ORDER-KEYED\x20(F09):\x20\x27review\x27\x20(text\x20JSON,\x20id\x20=\x20the\x20ORDER\x20address)\x20AND\x20\x27rating\x27\x20(U64\x20stars,\x20id\x20=\x20the\x20ORDER\x20address).\x20The\x20\x27rating\x27\x20row\x20is\x20what\x20a\x20reward\x20good-review\x20leg\x20reads\x20(F-62).\x20Buyers\x20resolve\x20this\x20object\x20by\x20name\x20(workspace/onchain_objects)\x20—\x20never\x20guess\x20an\x20address.\x20[F-BS5-03\x20(bst5-mn-261101):\x20the\x20\x27review\x27/\x27rating\x27\x20policies\x20(id_from=none,\x20order-keyed)\x20ship\x20ONLY\x20on\x20the\x20repository_review_write_guards\x20configure\x20step\x20in\x20their\x20credential-bound\x20form\x20—\x20an\x20id_from=none\x20policy\x20without\x20a\x20write_guard\x20aborts\x20the\x20create\x20on-chain\x20(the\x20chain\x20requires\x20a\x20non-empty\x20write_guard\x20on\x20BOTH\x20the\x20create\x20path\x20and\x20every\x20later\x20policy\x20add).\x20buyer_review\x20(id_from=signer)\x20is\x20the\x20one\x20create-legal\x20policy.]'})),{'steps':d,'runtimeWrites':e};}export function rewritePlanRefs({base:a,resolvedGuards:b}){{const c=new Map([[a+'_service','service'],[a+'_evidence','repository'],[a+'_review','repository_review'],[a+'_arbitration','arbitration']]);for(const [,d]of b){for(const e of d['table']){const f=e,h=typeof f['value']==='string'?c['get'](f['value']):undefined;if(h!==undefined)f['value']=ref(h);}}}}export function dropEmptyVecGuards({resolvedGuards:a,guardSpecs:b,steps:c}){const d=[],e=[];{const f=new Map();for(const [i,j]of a){const k=new Set();for(const l of j['table']){const m=l;m['b_submission']===![]&&Array['isArray'](m['value'])&&m['value']['length']===0x0&&typeof m['identifier']==='number'&&k['add'](m['identifier']);}if(k['size']>0x0)f['set'](i,k);}const h=(n,o)=>{if(n===null||typeof n!=='object')return![];const p=n;if(p['type']!=='vec_contains_address'||!Array['isArray'](p['nodes']))return![];const q=p['nodes']['find'](s=>s['type']==='identifier');return q!==undefined&&typeof q['identifier']==='number'&&o['has'](q['identifier']);};for(const [n,o]of f){const p=a['get'](n),q=p['root'],s=b['find'](v=>v['key']===n),t=q['type']==='logic_not'&&h(q['node'],o);if(t&&s?.['host']==='service'&&n==='buy'){a['delete'](n),s['step_id']=undefined,e['push'](n);continue;}const u=[...o]['map'](String);d['push']({'code':'GUARD_EMPTY_VEC_ROW','detail':'guard\x20\x27'+n+'\x27\x20declares\x20static\x20vec\x20row(s)\x20'+u['join'](',\x20')+'\x20with\x20an\x20EMPTY\x20array\x20—\x20'+'the\x20executor\x20refuses\x20empty\x20static\x20vec\x20slots\x20(LE-10:\x20the\x20chain\x27s\x20table\x20builder\x20silently\x20DROPS\x20empty\x20'+'vectors,\x20so\x20the\x20created\x20Guard\x20would\x20diverge\x20from\x20the\x20reviewed\x20spec\x20—\x20mainnet\x207\x20submitted\x20->\x206\x20stored).\x20'+'Two\x20legal\x20exits:\x20(a)\x20arm\x20the\x20list\x20with\x20at\x20least\x20one\x20address\x20(the\x20blocklist\x20twin\x27s\x20intended\x20armed\x20form:\x20'+'list\x20the\x20provider-side\x20account(s)\x20to\x20ban\x20self-purchase);\x20or\x20(b)\x20if\x20the\x20empty\x20list\x20IS\x20the\x20intended\x20open\x20'+('polarity,\x20omit\x20the\x20guard:\x20guard_resolutions\x20{\x22'+n+'\x22:\x20{\x22kind\x22:\x20\x22omit\x22}}\x20—\x20the\x20compile\x20honors\x20omission\x20')+'and\x20the\x20attached\x20rail\x20ships\x20un-gated\x20(there\x20is\x20no\x20constant-true\x20Guard\x20object\x20to\x20fabricate).'});}}if(e['length']>0x0){const v=c['find'](w=>w['op']==='create'&&w['id']==='service');v!==undefined&&(v['notes']=(v['notes']??'')+'\x20[F-04\x20open-store\x20drop:\x20the\x20blocklist\x20buy\x20guard\x20('+e['join'](',\x20')+')\x20resolved\x20to\x20an\x20EMPTY\x20blocklist\x20—\x20NOT(vec_contains(empty))\x20is\x20constant\x20true,\x20a\x20no-op\x20gate,\x20and\x20the\x20executor\x20refuses\x20empty\x20vec\x20rows\x20(LE-10)\x20—\x20so\x20the\x20guard\x20and\x20its\x20buy\x20mount\x20are\x20OMITTED:\x20this\x20store\x20ships\x20OPEN.\x20To\x20arm\x20the\x20self-purchase\x20ban,\x20fill\x20the\x20blocklist\x20at\x20generation.]');}return{'blockers':d};}export function emitArbitrationHoist({needsArbitration:a,template:b,base:c,currency:d}){const e=[];return a&&e['push']({'op':'create','id':'arbitration','object':'arbitration',...b['arbitration_mode']==='third_party'?{'account':'arb_controller'}:{},'params':P({'name':c+'_arbitration','permission':ref('permission_arb'),'type_parameter':d,'pause':![]}),'notes':'Independent\x20venue\x20(R2);\x20activates\x20atomically\x20(create+unpause\x20same\x20PTB).\x20[W5-05:\x20created\x20BEFORE\x20the\x20guard\x20wave\x20so\x20arb-ruling\x20guard\x20tables\x20bind\x20it\x20by\x20plan\x20ref]'}),{'steps':e};}export function emitGuardWave({resolvedGuards:a,specByKey:b,slot254Injected:c,repoBoundPolicies:d,repoBoundStepIds:e}){const f=[],g=h=>{const i=a['get'](h),j=b['get'](h)?.['purpose'];return{'op':'create','id':i['stepId'],'object':'guard','params':P({'description':i['description'],'table':i['table'],'root':i['root']}),'notes':c['has'](h)?(j??'Guard')+'\x20[kernel:\x20protocol\x20slot\x20254\x20(task\x20binding)\x20auto-declared]':j};};for(const [h]of a)f['push'](g(h));return d['length']>0x0&&f['push']({'op':'configure','id':'repository_write_guards','target':ref('repository'),'method':'policies','params':P({'op':'add','policy':d}),'requires':['repository',...e],'notes':'F-BS5-03\x20(bst5-mn-261101):\x20the\x20ONLY\x20landing\x20place\x20for\x20the\x20evidence\x20repository\x27s\x20guard-derived\x20policies\x20—\x20the\x20create\x20cannot\x20carry\x20them\x20(an\x20id_from=none\x20policy\x20without\x20a\x20write_guard\x20aborts\x20on-chain:\x20the\x20chain\x20requires\x20a\x20non-empty\x20write_guard\x20on\x20the\x20create\x20path\x20too),\x20so\x20the\x20credential-bound\x20forms\x20(write_guard\x20attached)\x20are\x20added\x20to\x20the\x20live\x20repository\x20here,\x20now\x20that\x20the\x20guards\x20exist\x20(the\x20plan-ref\x20rewrite\x20closed\x20the\x20double-object\x20cycle).'}),{'steps':f};}export function emitMachine({template:a,base:b,shape:c,resolvedGuards:d,specByKey:e,injectedOrderHolderKeys:f,merchantIndex:h}){const i=[],j=[],k=new Set(c['map'](r=>r['name'])),l=new Set((a['allocator']?.['rows']??[])['filter'](s=>s['track']==='settlement')['map'](s=>s['guard_key'])['filter'](r=>typeof r==='string'&&r['trim']()!=='')),n=[],p=new Set(),q=new Map();for(const r of c){if(r['from']===undefined||r['from']['length']===0x0){j['push']({'code':'MACHINE_EDGES_MISSING','detail':'machine_shape\x20node\x20\x27'+r['name']+'\x27\x20declares\x20no\x20\x27from\x27\x20edges.\x20Edges\x20are\x20data\x20'+'(REPORT\x20#10\x20A-2:\x20a\x20missing\x20paid->closed_cancel\x20edge\x20bricks\x20the\x20shop\x20at\x20publish).\x20'+'Annotate\x20the\x20node\x20with\x20from:\x20[...]\x20(use\x20prev:\x20\x22\x22\x20for\x20the\x20entry\x20edge).'});continue;}const s=[],t=new Map(),u=new Map();for(const w of r['from']){const x=typeof w==='string'?{'prev':w}:w;if(x['prev']!==''&&!k['has'](x['prev'])){j['push']({'code':'EDGE_UNKNOWN_PREV','detail':'node\x20\x27'+r['name']+'\x27\x20edge\x20prev\x20\x27'+x['prev']+'\x27\x20is\x20not\x20a\x20machine_shape\x20node'});continue;}const y=x['operator']??r['operator']??(x['prev']===''?'order_payer':'merchant'),z=x['named_operator']??r['named_operator'],A=x['forward']??(x['prev']===''?'enter_'+r['name']:x['prev']+'_to_'+r['name']);x['permission_index']!==undefined&&y==='order_payer'&&j['push']({'code':'PERMISSION_INDEX_DROPPED','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20declares\x20permission_index\x20'+x['permission_index']+'\x20on\x20operator\x20\x27order_payer\x27.\x20'+'The\x20two\x20are\x20contradictory\x20rails:\x20\x27order_payer\x27\x20compiles\x20to\x20the\x20on-chain\x20order-holder\x20check\x20(namedOperator\x20\x22\x22),\x20which\x20the\x20chain\x20evaluates\x20FIRST,\x20'+'so\x20the\x20declared\x20permission\x20index\x20is\x20silently\x20dropped\x20and\x20the\x20forward\x20remains\x20open\x20to\x20EVERY\x20order\x20agent\x20—\x20the\x20opposite\x20of\x20the\x20entity-only\x20intent\x20'+'(alg2-tn-261025\x20T8e:\x20the\x20provider\x20self-advanced\x20the\x20evaluation\x20forward\x20and\x20settled\x20the\x20escrow\x20to\x20itself).\x20Pick\x20ONE\x20rail:\x20remove\x20permission_index\x20to\x20keep\x20the\x20'+('buyer\x20rail,\x20or\x20remove\x20the\x20\x27order_payer\x27\x20operator\x20(node-level\x20or\x20edge-level)\x20so\x20this\x20forward\x20binds\x20permission_index\x20'+x['permission_index']+'\x20only')});z!==undefined&&x['permission_index']!==undefined&&j['push']({'code':'NAMED_OPERATOR_RAIL_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20declares\x20named_operator\x20\x27'+z+'\x27\x20AND\x20permission_index\x20'+x['permission_index']+'.\x20'+'namedOperator\x20and\x20permissionIndex\x20are\x20OR-options\x20in\x20the\x20on-chain\x20pre-check\x20(namedOperator\x20first),\x20so\x20both\x20rails\x20on\x20one\x20forward\x20'+'is\x20a\x20widening\x20ambiguity\x20—\x20the\x20forward\x20stays\x20open\x20to\x20whichever\x20rail\x20matches\x20and\x20neither\x20the\x20roster-only\x20nor\x20the\x20entity-only\x20intent\x20binds.\x20'+'Pick\x20ONE\x20rail:\x20drop\x20permission_index\x20to\x20keep\x20the\x20named\x20roster\x20rail,\x20or\x20drop\x20named_operator\x20to\x20keep\x20the\x20permission\x20entity\x20rail'});z!==undefined&&(x['operator']==='order_payer'||r['operator']==='order_payer')&&j['push']({'code':'NAMED_OPERATOR_RAIL_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20declares\x20named_operator\x20\x27'+z+'\x27\x20on\x20an\x20EXPLICIT\x20operator:\x27order_payer\x27.\x20'+'Both\x20ride\x20the\x20namedOperator\x20rail\x20with\x20different\x20payloads\x20—\x20the\x20buyer\x20self-advance\x20(\x27\x27\x20resolves\x20to\x20the\x20order\x20payer)\x20and\x20the\x20'+('third-party\x20namespace\x20(\x27'+z+'\x27\x20resolves\x20to\x20the\x20per-order\x20roster)\x20cannot\x20share\x20one\x20forward;\x20one\x20of\x20them\x20would\x20silently\x20lose.\x20')+'Pick\x20ONE\x20rail:\x20drop\x20the\x20operator\x20declaration\x20to\x20keep\x20the\x20named\x20roster\x20rail,\x20or\x20drop\x20named_operator\x20to\x20keep\x20the\x20buyer\x20self-advance'});const B=x['guard_key']!==undefined&&x['guard_key']['trim']()!==''&&l['has'](x['guard_key'])||/settle|release|payout/i['test'](A);{B&&x['permission_index']===undefined&&z===undefined&&y!=='order_payer'&&j['push']({'code':'RELEASE_EDGE_PERMISSIONLESS','detail':'settlement\x20edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20(forward\x20\x27'+A+'\x27,\x20guard\x20\x27'+(x['guard_key']??'none')+'\x27)\x20binds\x20NO\x20permission_index\x20and\x20NO\x20named_operator\x20rail\x20—\x20it\x20compiles\x20PERMISSIONLESS:\x20the\x20on-chain\x20permission\x20layer\x20checks\x20namedOperator\x20then\x20permissionIndex,\x20and\x20with\x20neither\x20present\x20ANYONE\x20with\x20a\x20valid\x20order\x20passport\x20can\x20advance\x20the\x20release\x20and\x20move\x20the\x20escrow\x20(5R-07①\x20F-56,\x20tbp\x20T17\x20live:\x20an\x20unrelated\x20buyer\x27s\x20wallet\x20executed\x20the\x20payout).\x20Bind\x20ONE\x20rail:\x20permission_index\x201002\x20(the\x20keeper\x20or\x20merchant\x20release\x20slot\x20—\x20recommended\x20default\x20C:\x20the\x20time-lock\x20guard\x20+\x20keeper\x20duty\x20+\x20bounty\x20schedule\x20the\x20release)\x20or\x20a\x20stricter\x20merchant-approval\x20rail\x20for\x20high-ticket\x20builds\x20(default\x20A:\x20the\x20merchant\x27s\x20own\x20approval\x20BEFORE\x20the\x20escrow\x20moves).\x20Pair\x20the\x20rail\x20with\x20the\x20guard\x27s\x20identity\x20leg\x20(Signer\x20binding)\x20as\x20defense\x20in\x20depth\x20—\x20declared\x20in\x20the\x20guard\x20table,\x20verified\x20by\x20the\x20audit\x20face'});}const C={'name':A,'weight':0x1,...z!==undefined?{'namedOperator':z}:y==='order_payer'?{'namedOperator':''}:{'permissionIndex':x['permission_index']??h}};{const G=C['permissionIndex'];if(typeof G==='number'){const H=q['get'](G);if(H!==undefined)H['push'](A);else q['set'](G,[A]);}}if(x['guard_key']!==undefined){const I=e['get'](x['guard_key']);if(I===undefined)j['push']({'code':'GUARD_KEY_UNKNOWN','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20binds\x20unknown\x20guard_key\x20\x27'+x['guard_key']+'\x27'});else{for(const K of I['purpose']['matchAll'](/progress\.current\s*==\s*([a-z0-9_]+)/g)){const L=K[0x1];k['has'](L)&&L!==x['prev']&&j['push']({'code':'FORWARD_GUARD_PINNED_TO_NON_PREV','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+I['key']+'\x27\x20pins\x20progress.current\x20==\x20\x27'+L+'\x27,\x20but\x20a\x20'+('forward\x20guard\x20evaluates\x20BEFORE\x20the\x20advance\x20(progress.current\x20==\x20prev\x20\x27'+x['prev']+'\x27),\x20so\x20the\x20pin\x20')+'can\x20never\x20pass\x20—\x20dead\x20rail\x20(bkng\x20F22).\x20Keep\x20the\x20pin\x20on\x20the\x20allocator\x20row\x20(evaluated\x20at\x20alloc,\x20'+'current\x20=\x20the\x20reached\x20node);\x20put\x20only\x20time/identity\x20legs\x20on\x20the\x20forward.'});}const J=I['template_id']==='pattern.identity_check_order_holder'||I['template_id']==='tpl_forward_order_holder'||I['template_id']==='tpl_forward_order_holder_or_time'||I['template_id']==='tpl_time_window_upper_order_holder'||I['template_id']==='tpl_time_window_band_abs_order_holder'||I['template_id']==='tpl_forward_order_holder_time_lock_absolute';if(J&&z!==undefined)j['push']({'code':'FORWARD_GUARD_IDENTITY_NAMED_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+I['key']+'\x27\x20is\x20an\x20order-holder\x20(buyer)\x20identity\x20'+('check\x20but\x20the\x20forward\x20rides\x20a\x20named_operator\x20rail\x20(\x27'+z+'\x27\x20—\x20a\x20third\x20party\x20that\x20is\x20')+'neither\x20the\x20merchant\x20entity\x20nor\x20the\x20buyer).\x20The\x20identity\x20layer\x20runs\x20BEFORE\x20the\x20guard\x20and\x20the\x20'+'roster\x20signer\x20is\x20never\x20the\x20order\x20owner\x20—\x20nobody\x20can\x20pass\x20both.\x20Move\x20the\x20buyer-identity\x20leg\x20'+'off\x20this\x20forward\x20(the\x20roster\x20forward\x20may\x20carry\x20only\x20evidence/time\x20guards),\x20or\x20split\x20the\x20hop.'});else J&&y!=='order_payer'&&j['push']({'code':'FORWARD_GUARD_IDENTITY_PERM_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+I['key']+'\x27\x20is\x20an\x20order-holder\x20(buyer)\x20identity\x20'+'check\x20but\x20the\x20forward\x20rides\x20a\x20permissionIndex\x20rail\x20(merchant-side\x20slot).\x20The\x20identity\x20layer\x20'+'runs\x20BEFORE\x20the\x20guard,\x20and\x20the\x20two\x20signer\x20sets\x20are\x20disjoint\x20—\x20nobody\x20can\x20pass\x20both\x20(bkng\x20F23).\x20'+'Use\x20operator\x20\x27order_payer\x27\x20(namedOperator\x20\x22\x22\x20—\x20the\x20buyer\x20self-advance)\x20for\x20this\x20edge.'});{const M=d['get'](I['key']);if(M!==undefined){const N=M['table']['some'](Q=>Q['identifier']===TASK_BINDING_SLOT),O=offTaskSlotIdentityLegs(M['root'])['filter'](Q=>{if(!N)return![];const R=M['table']['find'](S=>S['identifier']===Q['identifier']);return R!==undefined&&R['b_submission']===!![];});for(const Q of O){j['push']({'code':'GUARD_IDENTITY_SLOT_NOT_TASKBOUND','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+I['key']+'\x27\x20reads\x20'+Q['query']+'\x20off\x20free\x20'+('submission\x20slot\x20'+Q['identifier']+'\x20—\x20hijackable\x20(rex-mn-261021\x20T10):\x20the\x20caller\x20fills\x20free\x20')+'slots,\x20so\x20an\x20attacker\x20submits\x20their\x20OWN\x20order\x20there\x20(signer\x20==\x20order.owner\x20passes\x20against\x20'+('their\x20own\x20order)\x20and\x20advances\x20the\x20VICTIM\x27s\x20order\x20carried\x20by\x20slot\x20'+TASK_BINDING_SLOT+';\x20with\x20')+'namedOperator\x20\x22\x22\x20the\x20permission\x20layer\x20passes\x20for\x20anyone,\x20so\x20this\x20'+('guard\x20is\x20the\x20only\x20identity\x20leg.\x20Anchor\x20the\x20'+Q['query']+'\x20query\x20on\x20identifier\x20')+(TASK_BINDING_SLOT+'\x20(the\x20task-binding\x20order\x20anchor\x20—\x20the\x20order\x20the\x20forward\x20actually\x20mutates).')});}}}if(I['step_id']!==undefined){C['guard']=ref(I['step_id']);if(B&&y==='order_payer'&&z===undefined){const R=d['get'](I['key']);R!==undefined&&!guardTemplateHasIdentityLeg(R['root'])&&j['push']({'code':'RELEASE_EDGE_NO_IDENTITY','detail':'settlement\x20edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20(forward\x20\x27'+A+'\x27,\x20guard\x20'+('\x27'+I['key']+'\x27,\x20design\x20\x27'+I['template_id']+'\x27)\x20rides\x20the\x20buyer\x20rail\x20(operator\x20')+'\x27order_payer\x27\x20→\x20namedOperator\x20\x22\x22\x20with\x20NO\x20permissionIndex)\x20and\x20its\x20guard\x20carries\x20NO\x20'+'order-holder\x20identity\x20leg\x20—\x20on\x20a\x20guard-bound\x20forward\x20the\x20chain\x20skips\x20the\x20'+'permission\x20assert,\x20so\x20ANY\x20signer\x20holding\x20a\x20passport\x20for\x20this\x20guard\x20can\x20drive\x20the\x20'+'settlement\x20(gfm35-tn-261029\x20F02\x20live:\x20an\x20outsider\x20force-released\x20and\x20settled\x20order).\x20'+'Bind\x20a\x20guard\x20whose\x20root\x20carries\x20the\x20owner/agent\x20identity\x20legs\x20over\x20slot\x20254\x20—\x20e.g.\x20'+'tpl_forward_order_holder_time_lock_absolute\x20for\x20a\x20deadline\x20self-heal\x20(split\x20guard\x20'+'key:\x20keep\x20the\x20pure\x20time\x20lock\x20on\x20the\x20keeper/merchant\x20edge),\x20'+'tpl_time_window_upper_absolute_ms\x20for\x20a\x20closing\x20window.\x20The\x20STATE_AUTHORIZING\x20'+'exemption\x20covers\x20keeper/merchant\x20rails\x20only,\x20never\x20the\x20buyer\x20release\x20rail'});}}}}if(C['guard']===undefined&&y==='order_payer'&&z===undefined){const S=f['get'](A);if(S!==undefined){const T=e['get'](S);T?.['step_id']!==undefined&&(C['guard']=ref(T['step_id']));}}const D=t['get'](x['prev']);D!==undefined?D['push'](C):t['set'](x['prev'],[C]);const E=u['get'](x['prev']),F=z!==undefined?'namedOperator:'+z:y==='order_payer'?'namedOperator:':'permissionIndex:'+(x['permission_index']??h);z!==undefined&&p['add'](z),E!==undefined?E['add'](F):u['set'](x['prev'],new Set([F]));}const v=r['threshold']??0x0;for(const [U,V]of t){v>V['length']&&j['push']({'code':'PAIR_THRESHOLD_UNREACHABLE','detail':'node\x20\x27'+r['name']+'\x27\x20pair\x20from\x20\x27'+(U===''?'(entry)':U)+'\x27\x20declares\x20threshold\x20'+v+'\x20'+('but\x20the\x20pair\x20merges\x20only\x20'+V['length']+'\x20forward(s)\x20at\x20weight\x201\x20each\x20—\x20the\x20pair\x20can\x20never\x20')+'migrate\x20and\x20the\x20publish\x20aborts.\x20Add\x20one\x20distinct-operator\x20forward\x20per\x20required\x20signature,\x20or\x20'+'lower\x20the\x20threshold\x20to\x20the\x20forward\x20count.'});if(v>=0x2){const W=u['get'](U)?.['size']??0x0;W<0x2&&j['push']({'code':'PAIR_THRESHOLD_SINGLE_OPERATOR','detail':'node\x20\x27'+r['name']+'\x27\x20pair\x20from\x20\x27'+(U===''?'(entry)':U)+'\x27\x20declares\x20threshold\x20'+v+'\x20'+'but\x20every\x20forward\x20rides\x20the\x20SAME\x20operator\x20rail\x20—\x20one\x20party\x20can\x20tap\x20all\x20of\x20them\x20and\x20the\x20'+'declared\x20dual\x20confirmation\x20silently\x20dissolves\x20(each\x20forward\x20locks\x20to\x20its\x20first\x20operator).\x20'+'Give\x20each\x20required\x20signature\x20its\x20own\x20rail\x20(e.g.\x20permission_index\x201001\x20+\x20operator\x20\x27order_payer\x27).'});}s['push']({'prev_node':U,'threshold':v,'forwards':V});}n['push']({'name':r['name'],...r['semantic_role']!==undefined?{'role':r['semantic_role']}:{},...r['optional']===!![]?{'optional':!![]}:{},'pairs':s});}if(p['size']>0x0){const X=/(named[-_ ]?operator|operator roster|\broster\b|dispatch|permission.{0,12}221)/i,Y=(a['build_notes']??[])['some'](Z=>X['test'](Z));!Y&&j['push']({'code':'NAMED_OPERATOR_ROSTER_UNDISCLOSED','detail':'machine_shape\x20binds\x20a\x20named\x20third-party\x20operator\x20namespace\x20('+[...p]['map'](Z=>'\x27'+Z+'\x27')['join'](',\x20')+')\x20'+'but\x20no\x20build_note\x20discloses\x20the\x20roster\x20management.\x20The\x20per-order\x20NamedOperator\x20roster\x20(max\x2060\x20rosters\x20/\x2080\x20addresses)\x20is\x20written\x20at\x20'+'runtime\x20by\x20the\x20account\x20holding\x20permission\x20index\x20221\x20—\x20without\x20a\x20disclosed\x20dispatch\x20duty\x20the\x20forward\x20compiles\x20but\x20nobody\x20can\x20ever\x20'+'pass\x20it\x20(silent\x20brick).\x20Add\x20a\x20build_note\x20stating\x20WHO\x20writes\x20the\x20roster,\x20WHEN\x20(per\x20order?\x20per\x20shift?),\x20and\x20what\x20happens\x20on\x20a\x20miss\x20'+'(e.g.\x20\x22namedOperator\x20\x27delivery_team\x27\x20roster\x20is\x20written\x20per\x20order\x20by\x20the\x20dispatch\x20keeper\x20via\x20permission\x20221;\x20an\x20unassigned\x20order\x20'+'waits\x20until\x20the\x20keeper\x20assigns\x20a\x20courier\x22).\x20K-4\x20stance:\x20dispatch\x20assignment\x20is\x20an\x20OFF-CHAIN\x20keeper\x20optimization,\x20never\x20a\x20chain\x20scheduler'});}for(const Z of[...q['keys']()]['sort']((a0,a1)=>a0-a1)){if(Z<0x3e8)continue;const a0=q['get'](Z);i['push']({'op':'configure','id':'permission_grant_'+Z,'target':ref('permission'),'method':'table','params':P({'op':'add\x20perm\x20by\x20index','index':Z,'entity':[{'$late':{'by':'env_signer'}}]}),'notes':'F-19\x20(amz-k7q2,\x202026-11-04):\x20grant\x20permission\x20index\x20'+Z+'\x20to\x20the\x20deploy\x20signer\x20'+('({$late\x20env_signer})\x20—\x20forward(s)\x20'+a0['map'](a1=>'\x27'+a1+'\x27')['join'](',\x20')+'\x20ride\x20this\x20rail\x20on\x20the\x20')+'machine\x27s\x20Permission\x20(the\x20shared\x20Service\x20permission,\x20F-CSTC-05);\x20without\x20this\x20grant\x20each\x20of\x20them\x20'+'aborts\x20E_PERMISSION_DENIED\x20on\x20a\x20fresh\x20store.\x20Adjust\x20or\x20extend\x20the\x20entity\x20roster\x20on-chain\x20'+'post-deploy\x20as\x20staff/keeper\x20roles\x20change.'});}return i['push']({'op':'create','id':'machine','object':'machine','params':P({'name':b+'_machine','permission':ref('permission'),'nodes':n})}),i['push']({'op':'publish','id':'machine_publish','target':ref('machine'),'preflight':[{'check':'machine_publish','status':'pending'},{'check':'TASKBIND-01','status':'pending'}]}),{'steps':i,'blockers':j};}export function emitServiceConfigure({guardSpecs:a,needsRepository:b}){const c=[],d=a['find'](e=>e['host']==='service'&&e['key']==='buy');return c['push']({'op':'configure','id':'service_machine','target':ref('service'),'method':'machine','params':ref('machine'),'requires':['machine_publish']}),b&&c['push']({'op':'configure','id':'service_repository','target':ref('service'),'method':'repositories','params':P({'op':'add','objects':[ref('repository')]}),'requires':['service','repository']}),d?.['step_id']!==undefined&&c['push']({'op':'configure','id':'service_buy_guard','target':ref('service'),'method':'buy_guard','params':ref(d['step_id']),'requires':['service',d['step_id']]}),{'steps':c};}export function emitAllocators({template:a,base:b,inputs:c,rowsWithAttachments:d,resolvedGuards:e,specByKey:f}){const h=[],i=d['length']>0x0?d:[{'track':'settlement','recipient':a['allocator']['recipient']==='fixed'?'entity':a['allocator']['recipient'],'recipient_key':a['allocator']['recipient_key'],'mode':a['allocator']['mode'],'value':a['allocator']['mode']==='rate'?0x2710:a['allocator']['mode']==='surplus'?'0':undefined}],j=[],k=new Map();for(const n of i){if(n['guard_key']!==undefined){let o=k['get'](n['guard_key']);o===undefined&&(o={'key':n['guard_key'],'rows':[]},k['set'](n['guard_key'],o),j['push'](o)),o['rows']['push'](n);}else j['push']({'rows':[n]});}const l=[],m=new Set();for(const p of j){const q=[];let r;for(const w of p['rows']){let x=w['value'];x===undefined&&w['value_from']!==undefined&&(x=c[w['value_from']]??a['fee_params'][w['value_from']]);if(x===undefined&&w['value_from_complement']!==undefined){const A=w['value_from_complement'],B=c[A]??a['fee_params'][A],C=typeof B==='number'?B:typeof B==='string'&&/^\d+(?:\.\d+)?$/['test'](B['trim']())?Number(B):undefined;if(w['mode']!=='rate'){h['push']({'code':'ALLOCATOR_COMPLEMENT_INVALID','detail':'allocator\x20row\x20('+w['track']+'/'+(w['recipient_key']??w['recipient'])+')\x20declares\x20value_from_complement\x20\x27'+A+'\x27\x20but\x20'+('mode\x20\x27'+w['mode']+'\x27\x20—\x20the\x20complement\x20is\x20RATE-domain\x20only\x20(10000\x20-\x20bps).\x20Use\x20value/value_from\x20for\x20Amount\x20rows.')});continue;}if(C===undefined||!Number['isFinite'](C)||C<0x0||C>0x2710){h['push']({'code':'ALLOCATOR_COMPLEMENT_INVALID','detail':'allocator\x20row\x20('+w['track']+'/'+(w['recipient_key']??w['recipient'])+')\x20value_from_complement\x20\x27'+A+'\x27\x20resolves\x20to\x20'+('\x27'+String(B)+'\x27\x20—\x20not\x20a\x20bps\x20value\x20in\x20[0,\x2010000];\x20the\x20complement\x20leg\x20cannot\x20be\x20computed.')});continue;}x=0x2710-C;}if(x===undefined&&w['mode']!=='surplus'){h['push']({'code':'ALLOCATOR_VALUE_MISSING','detail':'allocator\x20row\x20('+w['track']+'/'+w['recipient']+')\x20has\x20neither\x20value\x20nor\x20a\x20resolvable\x20value_from'});continue;}(w['fix']!==undefined||w['fix_from']!==undefined)&&h['push']({'code':'ALLOCATOR_FIX_UNSUPPORTED','detail':'allocator\x20row\x20('+w['track']+'/'+w['recipient']+')\x20declares\x20fix/fix_from\x20—\x20the\x20chain\x20has\x20no\x20holdback\x20'+'parameter:\x20fix\x20is\x20computed\x20on-chain\x20as\x20the\x20sum\x20of\x20the\x20Amount\x20legs\x20and\x20those\x20legs\x20are\x20PAID\x20'+'in\x20full\x20at\x20release,\x20and\x20the\x20allocator-registration\x20call\x20surface\x20(guard,\x20sharing,\x20max)\x20has\x20no\x20fix\x20'+'argument,\x20so\x20this\x20value\x20never\x20reaches\x20the\x20chain.\x20To\x20keep\x20funds\x20in\x20the\x20pool,\x20do\x20not\x20distribute\x20them\x20'+'(a\x20separate\x20Allocation\x20object,\x20or\x20a\x20later\x20guard-gated\x20allocator);\x20to\x20combine\x20fixed\x20fees\x20with\x20a\x20'+'proportional\x20split,\x20use\x20explicit\x20Amount\x20legs\x20plus\x20Rate\x20legs\x20summing\x2010000.'});r??=w['note'];let y;if(w['recipient']==='entity'){const D=w['recipient_key']??'merchant';m['add'](D),y={'Entity':{'name_or_address':{'$late':{'by':'local_name','mark':D}}}};}else{if(w['recipient']==='guard_identifier'){const E=Number(w['recipient_key']??0x0);y={'GuardIdentifier':E};const F=p['key']!==undefined?e['get'](p['key']):undefined;if(F!==undefined){const G=F['table']['find'](H=>H['identifier']===E);(G===undefined||G['b_submission']!==!![]||G['value_type']!=='Address')&&h['push']({'code':'GUARD_SLOT_UNKNOWN','detail':'allocator\x20leg\x20{GuardIdentifier:\x20'+E+'}\x20on\x20guard\x20\x27'+p['key']+'\x27\x20of\x20\x27'+b+'\x27:\x20the\x20bound\x20'+('Guard\x20table\x20has\x20no\x20slot\x20'+E+'\x20Address\x20submission\x20row\x20(b_submission:\x20true).\x20On\x20chain\x20the\x20leg\x20')+('reads\x20slot\x20'+E+'\x20as\x20its\x20payee\x20and\x20asserts\x20it\x20equals\x20the\x20paying\x20order\x20')+'(payment_info.for_object)\x20—\x20an\x20undeclared\x20or\x20STATIC\x20slot\x20aborts\x20at\x20alloc\x20time\x20with\x20code\x2015\x20'+'(ERECIPIENT_NOT_FOR_OBJECT)\x20and\x20the\x20leg\x27s\x20funds\x20stranded\x20'+'(az3/abnb7\x20mainnet\x20261013:\x20static\x20GuardIdentifier\x20legs\x20bricked\x20every\x20refund\x20rail).\x20'+'Guard/allocators/forwards\x20are\x20all\x20publish-frozen.\x20Declare\x20'+('{identifier:\x20'+E+',\x20b_submission:\x20true,\x20value_type:\x20\x22Address\x22}\x20in\x20the\x20Guard\x20table\x20')+'(templates\x20anchor\x20refund\x20rails\x20on\x20user\x20slot\x200\x20and\x20submit\x20the\x20Order\x20address\x20there).\x20Protocol\x20'+'slot\x20254\x20is\x20the\x20task-binding/once\x20slot:\x20naming\x20it\x20as\x20the\x20payee\x20arms\x20once-per-order,\x20so\x20a\x20'+'second\x20fire\x20aborts\x20E_ONCE_TRIGGERED\x20(16).'});}}else y={'Signer':'signer'};}const z=typeof x==='number'?x===0x0:typeof x==='string'&&/^\s*0+(?:\.0+)?\s*$/['test'](x);q['push']({'who':y,'sharing':String(x??'0'),'mode':MODE_MAP[w['mode']],'zeroEntityRate':w['recipient']==='entity'&&w['mode']==='rate'&&z});}const s=q['filter'](H=>H['zeroEntityRate']),t=s['length']>0x0&&s['length']<q['length']?q['filter'](H=>!H['zeroEntityRate']):q,u=t['map'](H=>({'who':H['who'],'sharing':H['sharing'],'mode':H['mode']}));if(u['length']===0x0)continue;if(t['length']>0x0&&t['every'](H=>H['mode']==='Rate')){const H=t['map'](I=>/^\d+$/['test'](I['sharing']['trim']())?Number(I['sharing']):Number['NaN']);if(H['every'](I=>Number['isFinite'](I))){const I=H['reduce']((J,K)=>J+K,0x0);if(I!==0x2710){const J=K=>{if(typeof K==='string')return K;const L=K;if(L['GuardIdentifier']!==undefined)return'GuardIdentifier('+String(L['GuardIdentifier'])+')';if('Signer'in L)return'Signer';const M=L['Entity']?.['name_or_address']?.['$late']?.['mark'];return M!==undefined?'Entity('+M+')':JSON['stringify'](K);};h['push']({'code':'RATE_SUM_INVALID','detail':'Rate\x20group\x20\x27'+(p['key']??p['rows'][0x0]['track']+'/signer')+'\x27\x20sums\x20to\x20'+I+'\x20bps,\x20not\x2010000\x20'+('('+t['map'](K=>J(K['who'])+'='+K['sharing'])['join']('\x20+\x20')+').\x20The\x20chain\x20aborts\x20the\x20')+'allocator\x20with\x20ERATE_NOT_10000\x20at\x20apply\x20time,\x20when\x20the\x20plan\x20is\x20already\x20publish-frozen\x20—\x20fix\x20'+'the\x20split\x20now:\x20the\x20legs\x20of\x20one\x20guard_key\x20must\x20add\x20up\x20to\x20the\x20whole\x20pool\x20(a\x20two-party\x20split\x20'+'leaves\x20the\x20remainder\x20to\x20value_from_complement,\x20never\x20to\x20a\x20guessed\x20literal).'});}}}const v=p['key']!==undefined?f['get'](p['key'])?.['step_id']:undefined;p['key']!==undefined&&!f['has'](p['key'])&&h['push']({'code':'GUARD_KEY_UNKNOWN','detail':'allocator\x20row\x20('+p['rows'][0x0]['track']+')\x20binds\x20unknown\x20guard_key\x20\x27'+p['key']+'\x27'}),l['push']({...v!==undefined?{'guard':ref(v)}:{},...p['key']!==undefined?{'guard_key':p['key']}:{},'track':p['rows'][0x0]['track'],'sharing':u,...r!==undefined?{'note':r}:{}});}return{'rows':i,'rowGroups':j,'allocatorRows':l,'externalMarks':m,'blockers':h};}export function checkAllocatorRails({rowGroups:a,resolvedGuards:b,shape:c,recoverTwinRails:d,declares:e}){const g=[],h=a['map'](j=>{if(j['key']===undefined)return undefined;const k=b['get'](j['key']);return{'key':j['key'],'track':j['rows'][0x0]['track'],'table':k?.['table']??[],'root':k?.['root'],'recoverTwin':d['has'](j['key']),'recipient':typeof j['rows'][0x0]?.['recipient']==='string'?j['rows'][0x0]['recipient']:undefined};})['filter'](j=>j!==undefined),i=[];if(h['length']>0x0){const j=verifyAllocatorRails(h,c['map'](m=>({'name':m['name'],'semanticRole':m['semantic_role'],'fromNodes':(m['from']??[])['map'](o=>typeof o==='string'?o:o['prev'])['filter'](o=>typeof o==='string'&&o!=='')})),{'declaredKeys':new Set(e['keys']())}),k=a['map'](m=>m['key'])['filter'](m=>m!==undefined&&!b['has'](m)),l=k['length']>0x0?'\x20UNRESOLVED\x20ALLOCATOR\x20GUARD\x20REFS\x20(likely\x20the\x20real\x20cause\x20—\x20these\x20guard_keys\x20match\x20no\x20resolved\x20guard,\x20e.g.\x20a\x20name\x20typo):\x20'+k['join'](',\x20')+'.':'';for(const m of j){if(m['level']==='info'&&m['railKey']!==undefined&&e['has'](m['railKey'])){i['push']('merchant-declared\x20exemption:\x20rail\x20\x27'+m['railKey']+'\x27\x20ships\x20without\x20a\x20caller\x20identity\x20leg\x20—\x20'+e['get'](m['railKey']));continue;}m['level']==='critical'&&g['push']({'code':m['code'],'detail':m['detail']+l});}}return{'blockers':g,'disclosures':i};}export function emitServiceAllocators({template:a,inputs:b,allocatorRows:c}){const d=[],e=a['allocator']['description'];let f,g=![];e!==undefined&&([f,g]=capUtf8(e,MAX_DESCRIPTION_CONTENT_BYTES));const h=g?proseTruncatedAdvisory('service_allocators\x20description',Buffer['byteLength'](e,'utf8'),MAX_DESCRIPTION_CONTENT_BYTES,'DescriptionSchema\x20(MAX_DESCRIPTION_LENGTH\x204000,\x20ULEB128-prefixed)'):undefined;return d['push']({'op':'configure','id':'service_allocators','target':ref('service'),'method':'order_allocators',...h!==undefined?{'notes':h}:{},'params':P({'description':f,'threshold':Number(b['threshold']??b['monthly_rent_amount']??a['fee_params']['threshold']??a['fee_params']['monthly_rent_amount']??0x0)||0x0,'allocators':c}),'requires':['machine_publish']}),{'steps':d};}export function checkEmittedStepShapes({steps:a}){const b=[],c=e=>{if(e===null)return'null';if(typeof e==='string')return'\x22'+e['slice'](0x0,0x18)+'\x22'+(e['length']>0x18?'…':'');if(Array['isArray'](e))return'array';if(typeof e==='object')return'{'+Object['keys'](e)['join'](',\x20')+'}';return typeof e;},d=e=>{if(e===null||typeof e!=='object'||Array['isArray'](e))return'not\x20a\x20tagged\x20recipient\x20object\x20(found\x20'+c(e)+')\x20—\x20the\x20schema\x20union\x20accepts\x20only\x20'+'{GuardIdentifier:\x20u8}\x20|\x20{Entity:\x20mark|object}\x20|\x20{Signer:\x20\x22signer\x22}';const f=Object['keys'](e);if(f['length']!==0x1)return'expected\x20exactly\x20ONE\x20recipient\x20tag,\x20found\x20['+f['join'](',\x20')+']';const g=f[0x0],h=e[g];if(g==='Signer'){if(h!=='signer')return'{Signer:\x20'+JSON['stringify'](h)+'}\x20—\x20the\x20literal\x20is\x20lowercase\x20\x22signer\x22';}else{if(g==='GuardIdentifier'){if(typeof h!=='number'||!Number['isInteger'](h)||h<0x0)return'{GuardIdentifier:\x20'+c(h)+'}\x20—\x20the\x20slot\x20is\x20a\x20u8\x20table\x20index';}else{if(g==='Entity'){if(typeof h!=='string'&&(h===null||typeof h!=='object'))return'{Entity:\x20'+c(h)+'}\x20—\x20a\x20mark\x20string\x20or\x20a\x20{name_or_address}\x20object';}else return'\x27'+g+'\x27\x20is\x20not\x20a\x20RecipientSchema\x20tag\x20(GuardIdentifier\x20|\x20Entity\x20|\x20Signer)';}}return undefined;};for(const e of a){if(e['op']==='configure'&&e['method']==='order_allocators'){const f=e['params']['allocators'];if(!Array['isArray'](f))continue;f['forEach']((g,h)=>{const i=g?.['sharing'];if(!Array['isArray'](i))return;i['forEach']((j,k)=>{const l=j?.['who'],m=d(l);m!==undefined&&b['push']({'code':'EMITTED_STEP_SHAPE_INVALID','detail':'step\x20\x27'+e['id']+'\x27\x20allocator['+h+']\x20sharing['+k+'].who\x20is\x20'+c(l)+':\x20'+m+'.\x20'+'The\x20call\x20layer\x27s\x20RecipientSchema\x20rejects\x20the\x20step\x20at\x20EXECUTION\x20with\x20schema_mismatch\x20'+'(nnd4\x20F-06:\x20the\x20bare\x20string\x20\x22Signer\x22\x20killed\x20the\x20service_allocators\x20configure\x20at\x20'+'step\x2035/44\x20and\x20blocked\x20the\x20remaining\x209\x20steps)\x20—\x20fix\x20the\x20EMITTER,\x20not\x20the\x20plan:\x20'+'this\x20gate\x20exists\x20so\x20a\x20shape\x20drift\x20fails\x20the\x20compile,\x20never\x20the\x20deploy.'});});});}if(e['op']==='create'&&e['object']==='guard'){const g=e['params']['root'],h=g===null||typeof g!=='object'?[{'path':'/root','message':'expected\x20a\x20Guard\x20node\x20object,\x20found\x20'+c(g)}]:validateGuardTreeShape(g);for(const i of h){b['push']({'code':'EMITTED_STEP_SHAPE_INVALID','detail':'step\x20\x27'+e['id']+'\x27\x20(guard\x20create)\x20root\x20at\x20'+i['path']+'\x20is\x20not\x20a\x20structured\x20Guard\x20node\x20tree:\x20'+(i['message']+'.\x20A\x20prose/logic-string\x20root\x20passes\x20emission\x20silently\x20and\x20dies\x20at\x20the\x20Guard\x20')+'create\x20(the\x20SDK\x20evaluator\x20walks\x20nodes,\x20never\x20prose)\x20—\x20the\x20root\x20must\x20be\x20the\x20structured\x20'+'node\x20vocabulary\x20({type:\x20logic_*|context|query|identifier|…})\x20the\x20guard\x20templates\x20fill.'});}}}return{'blockers':b};}const OWNER_CLASS_QUERY_RE=/^(order\.(owner|agent)|permission\.(owner|admin)|service\.permission)\b/i;function signerReachableArmPresent(a){let b=![];const c=(e,f)=>{if(b||e===null||typeof e!=='object')return;if(Array['isArray'](e)){for(const h of e)c(h,f);return;}const g=e;if(typeof g['type']==='string'&&/keys_where$/i['test'](g['type']))b=!![];if(g['kind']==='addressEq')b=!![];if(b)return;if(g['type']==='context'&&g['context']==='Signer'&&!f)b=!![];if(b)return;if(typeof g['query']==='string'&&OWNER_CLASS_QUERY_RE['test'](g['query'])){for(const i of Object['values'](g))c(i,!![]);return;}if(g['type']==='logic_equal'){const j=Array['isArray'](g['nodes'])?g['nodes']:g['left']!==undefined||g['right']!==undefined?[g['left'],g['right']]:[];j['forEach']((k,l)=>{const m=j['find']((o,p)=>p!==l);c(k,f||d(m));});return;}for(const k of Object['values'](g))c(k,f);},d=e=>e!==null&&typeof e==='object'&&!Array['isArray'](e)&&typeof e['query']==='string'&&OWNER_CLASS_QUERY_RE['test'](e['query']);return c(a,![]),b;}export function checkFundRailReachability({steps:a,resolvedGuards:b}){const c=[],d=new Set();for(const e of a){if(e['op']!=='configure'||e['method']!=='order_allocators')continue;const f=e['params']['allocators'];if(!Array['isArray'](f))continue;f['forEach']((h,i)=>{const j=h,k=j?.['sharing'];if(!Array['isArray'](k))return;const l=k['some'](q=>{if(q===null||typeof q!=='object'||Array['isArray'](q))return![];const r=q['who'];return r!==null&&typeof r==='object'&&!Array['isArray'](r)&&'Signer'in r;});if(!l)return;const m=j?.['guard_key'];if(typeof m!=='string'||d['has'](m))return;d['add'](m);const n=b['get'](m);if(n===undefined||n['root']===null||typeof n['root']!=='object')return;if(signerReachableArmPresent(n['root']))return;const o=typeof j?.['track']==='string'?j['track']:'?',p=typeof j?.['recipient_key']==='string'?j['recipient_key']:'signer';c['push']({'code':'FUND_RAIL_UNREACHABLE','detail':'allocator\x20row\x20['+i+']\x20('+o+'/'+p+')\x20on\x20guard\x20\x27'+m+'\x27\x20pays\x20the\x20DYNAMIC\x20'+'Recipient::Signer\x20(the\x20allocation\x20tx\x20sender),\x20but\x20the\x20resolved\x20guard\x20root\x20carries\x20NO\x20'+'caller-satisfiable\x20identity-binding\x20arm:\x20every\x20caller-authorization\x20comparison\x20pins\x20'+'context(Signer)\x20to\x20a\x20FIXED\x20order/permission\x20owner-class\x20identity\x20'+'(order.owner\x20/\x20order.agent\x20/\x20permission.owner\x20/\x20permission.admin\x20/\x20service.permission)\x20—\x20'+'the\x20intended\x20third-party\x20payee\x20(whatever\x20runtime\x20identity\x20the\x20rail\x20is\x20FOR,\x20e.g.\x20the\x20'+'judge-recorded\x20winner)\x20is\x20STRUCTURALLY\x20unable\x20to\x20fire\x20this\x20rail.\x20nnd4\x20F-01\x20(99designs\x20'+'design-contest\x20mainnet\x20261103):\x20the\x20signer\x20prize\x20rail\x20reused\x20the\x20owner/admin\x20caller\x20'+'template,\x20the\x20winner\x20was\x20neither,\x20and\x2013.8\x20WOW\x20stranded\x20—\x20discovered\x20only\x20after\x20real\x20'+'funds\x20were\x20on\x20chain,\x20because\x20guards\x20and\x20order_allocators\x20FREEZE\x20at\x20publish\x20(IMMUT-001).\x20'+'Cure\x20—\x20add\x20ONE\x20of\x20the\x20missing\x20arm\x20types:\x20(a)\x20the\x20SIGNER-BINDING\x20placement\x20leg\x20'+'logic_equal[context(Signer),\x20<self-submitted\x20probe>]\x20paired\x20with\x20a\x20keys_where/addressEq\x20'+'row-value\x20binding\x20(tpl_allocator_prize_settle_once\x20ships\x20the\x20third\x20arm\x20verbatim),\x20or\x20'+'(b)\x20a\x20fixed\x20payee\x20—\x20share\x20to\x20{Entity:\x20<mark>}\x20instead\x20of\x20the\x20dynamic\x20Signer\x20when\x20the\x20'+'payee\x20is\x20a\x20build-known\x20identity.'});});}return{'blockers':c};}export function checkWindowTopology({template:a}){const b=[],c=a['guards']??[],d=[];for(const h of c){const i=h['params'];if(i===undefined)continue;for(const [j,k]of Object['entries'](i)){typeof k==='string'&&k['length']>0x0&&/_(days|ms)$/['test'](j)&&d['push']({'guardKey':h['key'],'windowName':k});}}if(d['length']===0x0)return{'warnings':b};const e=new Map(c['map'](l=>[l['key'],l]));for(const l of a['machine_shape']??[]){const m=Array['isArray'](l['from'])?l['from']:[];for(const n of m){if(n===null||typeof n!=='object')continue;const o=n;for(const q of d){if(!l['role']['includes'](q['windowName']))continue;if(o['guard_key']===q['guardKey'])continue;const r=o['guard_key']!==undefined?e['get'](o['guard_key']):undefined;if(r!==undefined){const s=r['params'];if(s!==undefined&&typeof s['closing_window_days']==='string')continue;if(r['purpose']['includes'](q['windowName']))continue;}b['push']('WINDOW_CLOSING_NOT_MOUNTED:\x20edge\x20\x27'+(o['forward']??'?')+'\x27\x20->\x20node\x20\x27'+l['name']+'\x27\x20'+('(guard\x20'+(o['guard_key']??'UNBOUND')+')\x20purpose\x20names\x20window\x20\x27'+q['windowName']+'\x27,\x20but\x20the\x20edge\x27s\x20')+'guard\x20ships\x20neither\x20the\x20closing\x20window\x20leg\x20(params\x20closing_window_days/window_anchor_node,\x20'+'guard-fill\x20andClosingWindowLeg)\x20nor\x20is\x20it\x20the\x20window\x20guard\x20itself\x20—\x20the\x20window\x20semantics\x20ride\x20'+'keeper\x20discipline\x20alone\x20(nnd4\x20F-02:\x20the\x20contest\x20appeal\x20edge\x20stayed\x20reachable\x2066s\x20past\x20expiry\x20'+'while\x20the\x20finalize\x20lock\x20waited\x20on\x20the\x20keeper).\x20Mount\x20the\x20closing\x20leg\x20on\x20guard\x20'+('\x27'+(o['guard_key']??'<key>')+'\x27\x20(declare\x20params\x20{closing_window_days:\x20\x27'+q['windowName']+'\x27,\x20')+'window_anchor_node:\x20<anchor\x20node>})\x20or\x20bind\x20the\x20window\x20guard\x20to\x20this\x20edge.');}}}return{'warnings':b};}export function emitSales({inputs:a}){const b=[],c=[];if(Array['isArray'](a['sales'])&&a['sales']['length']>0x0){for(const d of a['sales']){const e=d;if(e===null||typeof e!=='object')continue;const f=Object['keys'](e)['filter'](g=>!SERVICE_SALE_FIELDS['has'](g));f['length']>0x0&&c['push']({'code':'SALE_INPUT_UNKNOWN_FIELD','detail':'sales\x20SKU\x20\x27'+String(e['name']??'?')+'\x27\x20carries\x20field(s)\x20outside\x20the\x20executor\x27s\x20'+('ServiceSaleSchema\x20vocabulary:\x20'+f['map'](g=>'\x27'+g+'\x27')['join'](',\x20')+'.\x20Allowed:\x20name,\x20price,\x20')+'stock\x20(or\x20the\x20generator\x20alias\x20\x27quantity\x27),\x20suspension,\x20wip,\x20wip_hash.\x20Unknown\x20fields\x20pass\x20emission\x20'+'verbatim\x20and\x20abort\x20the\x20sales\x20configure\x20at\x20execution\x20with\x20schema_mismatch\x20—\x20fix\x20the\x20inputs.sales\x20'+'entries\x20(cour-mn-261102-z5t8\x20E2:\x20generation-time\x20refusal\x20instead\x20of\x20a\x20guaranteed\x20execution\x20failure).'});}for(const g of a['sales']){const h=numericAmount(g?.['price']);h===0x0&&c['push']({'code':'SALE_ZERO_PRICE','detail':'sales\x20SKU\x20\x27'+String(g?.['name']??'?')+'\x27\x20lists\x20price\x20\x220\x22\x20—\x20a\x20zero-priced\x20'+'LISTING\x20is\x20refused\x20(E_ZERO_TOTAL_ORDER=42:\x20a\x20zero-total\x20order\x20carries\x20an\x20empty\x20'+'escrow\x20and\x20nothing\x20to\x20settle).\x20The\x20sanctioned\x20free\x20tier:\x20price\x20the\x20SKU\x20at\x201\x20smallest\x20unit\x20'+'(the\x20minimum\x20buyable\x20price),\x20or\x20deliver\x20it\x20outside\x20the\x20sales\x20rails.'});}b['push']({'op':'configure','id':'service_sales','target':ref('service'),'method':'sales','params':{'op':'add','sales':a['sales']}});}return{'steps':b,'blockers':c};}export function emitReviewComponent({template:a,inputs:b,reviewMode:c,experienceClaimKey:d,shape:f,guardSpecs:g,resolvedGuards:h,specByKey:i}){const j=[],k=[],l=[],m=a['payment_model']==='subscription';if(c!=='none'){const o=f['some'](x=>/review/i['test'](x['name']));c==='review'&&!o&&l['push']({'code':'REVIEW_NODE_MISSING','detail':'review_mode\x20\x27'+c+'\x27\x20declares\x20the\x20buyer\x20review\x20reputation\x20rail,\x20but\x20machine_shape\x20has\x20no\x20'+'\x27reviewed\x27\x20node.\x20Add\x20a\x20buyer-advanced\x20review\x20node\x20(operator\x20order_payer)\x20with\x20an\x20EXIT\x20edge\x20back\x20to\x20the\x20'+'settlement\x20rail\x20(R-DEAD-END:\x20a\x20zero-exit\x20review\x20node\x20strands\x20the\x20escrow),\x20or\x20anchor\x20the\x20claim\x20on\x20the\x20'+'delivered\x20terminal\x20via\x20a\x20host:\x22reward\x22\x20guard\x20(review_mode\x20\x22review_reward\x22\x20variant).'});const p=g['find'](x=>x['host']==='reward'),q=x=>{const y=new Set(),z=x!==undefined?h['get'](x):undefined;if(z===undefined)return y;const A=new Map();for(const C of z['table']){typeof C['identifier']==='number'&&typeof C['value']==='string'&&A['set'](C['identifier'],C['value']);}const B=D=>{if(Array['isArray'](D)){for(const F of D)B(F);return;}if(D===null||typeof D!=='object')return;const E=D;if(Array['isArray'](E['nodes'])){const [G,H]=E['nodes'];if(G?.['query']==='progress.current'&&typeof H?.['identifier']==='number'){const I=A['get'](H['identifier']);if(I!==undefined)y['add'](I);}B(E['nodes']);}};return B(z['root']),y;},s=f['find'](x=>/review/i['test'](x['name']))?.['name'];let t,u,v=[];if(s!==undefined){const x=[];for(const G of f){for(const H of G['from']??[]){const I=typeof H==='string'?{'prev':H,'guard_key':undefined}:H;x['push']({'prev':I['prev'],'guard_key':I['guard_key'],'target':G['name']});}}const y=x['filter'](J=>J['target']===s&&J['prev']!=='');v=[...new Set(y['map'](J=>J['prev']))];const z=[...new Set(y['flatMap'](J=>J['guard_key']!==undefined?[J['guard_key']]:[]))],A=z['length']===0x1?z[0x0]:z['length']===0x0?x['find'](J=>J['prev']===s&&J['guard_key']!==undefined)?.['guard_key']:undefined,B=q(A),C=B['size']===0x0||B['size']===0x1&&v['length']===0x1&&v[0x0]===[...B][0x0],D=C?A:undefined,E=D!==undefined?i['get'](D):undefined,F=E?.['template_id']==='tpl_review_submit_content_gate';t=F?undefined:E?.['step_id'],u=F?undefined:D;}if(t===undefined){const J=[...new Set([...f['filter'](R=>/review/i['test'](R['name'])||R['semantic_role']==='final')['map'](R=>R['name']),...v])],K={'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'order.agent\x20has','object':{'identifier':0x0},'parameters':[{'type':'context','context':'Signer'}]}]},L={'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},M=J['map']((R,S)=>({'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x2+S}]})),N=M['length']===0x1?M[0x0]:M['length']>0x1?{'type':'logic_or','nodes':M}:undefined,O=f['find'](R=>R['semantic_role']==='delivered'&&!/review/i['test'](R['name']))?.['name'],Q=O===undefined?undefined:{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query_progress_history_find','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':O},'find':'last'},{'type':'identifier','identifier':0x2+J['length']}]};j['push']({'op':'create','id':'guard_review_write','object':'guard','params':P({'description':'Review\x20write\x20credential\x20(AR-3,\x20kernel-emitted):\x20the\x20signer\x20owns\x20or\x20administers\x20an\x20order\x20of\x20THIS\x20service'+(N!==undefined?',\x20anchored\x20on\x20the\x20order\x20having\x20reached\x20'+J['join']('\x20/\x20'):'')+(Q!==undefined?',\x20and\x20the\x20order\x20must\x20have\x20ENTERED\x20the\x20\x27'+O+'\x27\x20node\x20at\x20least\x20once\x20(history\x20probe\x20—\x20a\x20never-delivered\x20order\x20cannot\x20write\x20the\x20rating\x20row,\x20ksk4\x20F-04).\x20':'.\x20')+'Gates\x20the\x20\x27review\x27\x20and\x20\x27rating\x27\x20policies\x20of\x20the\x20plan-created\x20review\x20repository\x20—\x20reads\x20nothing\x20from\x20that\x20repository,\x20so\x20the\x20write\x20path\x20is\x20satisfiable\x20by\x20construction\x20(no\x20credential\x20cycle).','table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'order_being_reviewed'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':ref('service'),'name':'this_service'},...J['map']((R,S)=>({'identifier':0x2+S,'b_submission':![],'value_type':'String','value':R})),...Q!==undefined?[{'identifier':0x2+J['length'],'b_submission':![],'value_type':'U64','value':'0'}]:[]],'root':{'type':'logic_and','nodes':[...N!==undefined?[N]:[],...Q!==undefined?[Q]:[],K,L]}}),'notes':'AR-3\x20review\x20write\x20credential\x20(service\x20pinned\x20by\x20plan\x20ref\x20—\x20survives\x20permission\x20rotation).\x20The\x20buyer\x20writes\x20both\x20rows\x20at\x20review\x20time:\x20repository.data_add\x20{name:\x27review\x27|\x27rating\x27,\x20items:[{write_guard:\x27<this\x20guard>\x27,\x20data:[{id:<order\x20address>,\x20data:<stars/text>}]}]}\x20with\x20a\x20passport\x20submission\x20carrying\x20the\x20order.\x20Ordering\x20(F-05):\x20repository_review\x27s\x20create\x20is\x20EARLY\x20(pre-wave,\x20unguarded);\x20THIS\x20credential\x20exists\x20before\x20the\x20repository_review_write_guards\x20configure\x20step\x20that\x20freezes\x20the\x20credential\x20ref\x20(HOST-GRAPH-01).'}),t='guard_review_write',u='review_write';}const w=b['review_decision_enabled']===!![]&&c==='review_reward'&&p?.['step_id']!==undefined&&t!==undefined;w&&j['push']({'op':'create','id':'guard_review_decision','object':'guard','params':P({'description':'Merchant\x20review-decision\x20write\x20credential:\x20only\x20the\x20service\x20provider\x20(permission\x20owner\x20or\x20admin)\x20may\x20write\x20U64\x20decision\x20rows\x20(row\x20id\x20=\x20order\x20address,\x20value\x20=\x20approved\x20payout)\x20under\x20the\x20review\x20repository\x27s\x20\x27review_decision\x27\x20policy.','table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'order_being_approved'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':ref('service'),'name':'this_service'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','name':'service_permission'}],'root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'service.permission','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'permission.owner','object':{'identifier':0x2},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'permission.admin\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'}]}]}]}}),'notes':'REVIEW-DECISION\x20write\x20credential\x20(allocator\x20dynamic-permission\x20shape,\x20service\x20pinned\x20by\x20plan\x20ref\x20—\x20survives\x20permission\x20rotation).\x20The\x20decision\x20write\x20itself:\x20repository.data_add\x20'+'{name:\x27review_decision\x27,\x20items:[{write_guard:\x27<this\x20guard>\x27,\x20data:[{id:<order\x20address>,\x20data:<approved\x20payout\x20U64>}]}]}\x20with\x20a\x20passport\x20submission\x20carrying\x20the\x20order\x20and\x20the\x20permission.'});if(t!==undefined){const R=[{'guard':ref(t)}];j['push']({'op':'configure','id':'repository_review_write_guards','target':ref('repository_review'),'method':'policies','params':P({'op':'add','policy':[{'name':'review','description':m?'Re-writable\x20rating\x20+\x20comment\x20row\x20per\x20ORDER,\x20re-written\x20at\x20each\x20renewal\x20period\x20(renewal\x20exception,\x20W5-13:\x20write_once\x20on\x20a\x20renewal-subscription\x20review\x20policy\x20bricks\x20period-2+\x20reviews\x20—\x20O-F13;\x20the\x20order\x20address\x20row\x20key\x20never\x20changes\x20across\x20renewals).\x20Writes\x20require\x20the\x20review\x20credential\x20(guard\x20key\x20\x27'+u+'\x27).\x20Payload:\x20JSON\x20text\x20{rating,\x20tags?,\x20orderRef?}.':'One\x20immutable\x20row\x20per\x20ORDER\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address\x20—\x20F09\x20yfd-ln-261024:\x20a\x20repeat\x20buyer\x20must\x20be\x20able\x20to\x20review\x20every\x20order;\x20the\x20old\x20Signer-keyed\x20row\x20made\x20order\x20#2\x20unwritable).\x20Write-once\x20—\x20a\x20rewrite\x20attempt\x20aborts\x20on-chain,\x20K3(a).\x20Writes\x20require\x20the\x20review\x20credential\x20(guard\x20key\x20\x27'+u+'\x27).\x20Payload:\x20JSON\x20text\x20{rating,\x20tags?,\x20orderRef?}.','write_guard':R,'id_from':'none','value_type':'String','write_once':!m},{'name':'rating','description':m?'Order-keyed\x20numeric\x20rating\x20(F-62):\x20one\x20U64\x20row\x20per\x20ORDER\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address;\x20value\x20=\x20stars,\x20e.g.\x201..5),\x20re-written\x20at\x20each\x20renewal\x20period\x20(renewal\x20exception,\x20W5-13\x20—\x20O-F13:\x20write_once\x20would\x20brick\x20period-2+\x20ratings).\x20Writes\x20require\x20the\x20same\x20review\x20credential\x20as\x20the\x20\x27review\x27\x20text\x20policy\x20—\x20a\x20verified\x20completed-order\x20buyer.\x20This\x20—\x20not\x20the\x20\x27review\x27\x20text\x20row\x20(same\x20order\x20key,\x20String\x20payload)\x20—\x20is\x20the\x20row\x20a\x20reward\x20good-review\x20leg\x20must\x20query\x20(query\x20repository.data:\x20the\x20policy-name\x20row\x20+\x20the\x20order-address\x20identifier\x20row,\x20compared\x20against\x20the\x20rating\x20floor).\x20The\x20text\x20row\x20is\x20display;\x20this\x20row\x20is\x20payout\x20authority.':'Order-keyed\x20numeric\x20rating\x20(F-62):\x20one\x20U64\x20row\x20per\x20ORDER\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address;\x20value\x20=\x20stars,\x20e.g.\x201..5;\x20write-once\x20—\x20a\x20rewrite\x20attempt\x20aborts\x20on-chain,\x20K3(a)).\x20Writes\x20require\x20the\x20same\x20review\x20credential\x20as\x20the\x20\x27review\x27\x20text\x20policy\x20—\x20a\x20verified\x20completed-order\x20buyer.\x20This\x20—\x20not\x20the\x20\x27review\x27\x20text\x20row\x20(same\x20order\x20key,\x20String\x20payload)\x20—\x20is\x20the\x20row\x20a\x20reward\x20good-review\x20leg\x20must\x20query\x20(query\x20repository.data:\x20the\x20policy-name\x20row\x20+\x20the\x20order-address\x20identifier\x20row,\x20compared\x20against\x20the\x20rating\x20floor).\x20The\x20text\x20row\x20is\x20display;\x20this\x20row\x20is\x20payout\x20authority.','write_guard':R,'id_from':'none','value_type':'U64','write_once':!m},...w?[{'name':'review_decision','description':'Merchant\x20approval\x20ledger\x20for\x20the\x20review\x20bounty\x20(professional\x20form):\x20one\x20U64\x20row\x20per\x20order\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address;\x20value\x20=\x20approved\x20payout\x20in\x20smallest\x20units).\x20A\x20row\x20whose\x20value\x20>=\x20the\x20promised\x20payout\x20IS\x20the\x20approval\x20the\x20claim\x20guard\x27s\x20decision\x20leg\x20reads\x20(tpl_repository_review_decision_gate).\x20Writes\x20REQUIRE\x20the\x20merchant\x20decision\x20credential\x20(guard\x20step\x20\x27guard_review_decision\x27);\x20buyers\x20hold\x20no\x20write\x20path.','write_guard':[{'guard':ref('guard_review_decision')}],'id_from':'none','value_type':'U64'}]:[]]}),'requires':['repository_review',t,...w?['guard_review_decision']:[]],'notes':'F-BS5-03\x20(bst5-mn-261101):\x20the\x20credential-bound\x20and\x20ONLY\x20forms\x20of\x20the\x20review\x20repository\x27s\x20\x27review\x27/\x27rating\x27\x20policies\x20—\x20the\x20early\x20create\x20(pre-wave)\x20cannot\x20carry\x20them\x20(an\x20id_from=none\x20policy\x20without\x20a\x20write_guard\x20aborts\x20the\x20create\x20on-chain:\x20the\x20chain\x20requires\x20a\x20non-empty\x20write_guard\x20on\x20the\x20create\x20path\x20too),\x20so\x20they\x20land\x20here\x20now\x20that\x20the\x20credential\x20guards\x20exist.\x20The\x20buyer\x20writes\x20BOTH\x20rows\x20at\x20review\x20time\x20(repository.data_add\x20{name:\x27rating\x27,\x20items:[{data:[{id:<order\x20address>,\x20data:<stars>}]}]}\x20with\x20the\x20same\x20passport\x20as\x20the\x20forward);\x20a\x20good-review\x20bounty\x20claim\x20guard\x20must\x20query\x20the\x20order-keyed\x20U64\x20\x27rating\x27\x20row,\x20never\x20the\x20text\x20row.'+(w?'\x20[review_decision\x27s\x20write\x20credential\x20frozen\x20AFTER\x20guard_review_decision\x20—\x20HOST-GRAPH-01\x20discipline.]':'')}),j['push']({'op':'configure','id':'service_review_repository','target':ref('service'),'method':'repositories','params':P({'op':'add','objects':[ref('repository_review')]}),'requires':['service','repository_review']});}if(c==='review_reward'){const S=p;if(S===undefined||S['step_id']===undefined)l['push']({'code':'REVIEW_REWARD_GUARD_MISSING','detail':'review_mode\x20\x27review_reward\x27\x20promises\x20a\x20claim\x20reward,\x20but\x20no\x20RESOLVED\x20host:\x22reward\x22\x20guard\x20spec\x20'+'exists\x20to\x20gate\x20the\x20claim.\x20Mount\x20a\x20reward\x20claim\x20guard\x20(e.g.\x20pattern.progress_state_check\x20anchored\x20'+'on\x20the\x20review\x20node\x20or\x20the\x20delivered\x20terminal\x20+\x20review\x20evidence\x20hash)\x20and\x20keep\x20it\x20resolvable\x20—\x20'+'an\x20unguarded\x20incentive\x20promise\x20must\x20not\x20publish\x20(INV-4).\x20The\x20root\x20must\x20also\x20carry\x20the\x20BKN-P2\x20'+'positive-amount\x20leg\x20(order.amount\x20>=\x201)\x20so\x20zero-total\x20orders\x20can\x20never\x20claim.'});else{const T=b['reward_funding'],U=S['params']?.['reward_claim_amount'];let V=U!==undefined&&U!==null?U:b['reward_claim_amount'],W='';if(V===undefined){const a2=b['review_reward_per_claim'];a2!==undefined&&a2!==null&&Number(a2)>0x0&&(V=a2,W='input\x20review_reward_per_claim');}if(V===undefined){const a3=a['fee_params']?.['review_reward_per_claim'];typeof a3==='number'&&a3>0x0&&(V=a3,W='template\x20fee_param\x20review_reward_per_claim\x20(override\x20with\x20the\x20reward_claim_amount\x20input)');}if(V===undefined){const a4=lowestSalePrice(b['sales']);a4!==undefined&&(V=String(Math['max'](Math['floor'](a4*0.02),0x1)),W='derived:\x202%\x20of\x20the\x20cheapest\x20SKU\x20('+a4+'\x20smallest\x20units),\x20floored\x20at\x201\x20(T-02)');}let X='';if(V!==undefined){const a5=numericAmount(String(V)),a6=lowestSalePrice(b['sales']);if(a5!==undefined&&a6!==undefined&&a6>0x0&&a5>0.5*a6){const a7=numericAmount(String(b['reward_funding']??'')),a8=a7!==undefined&&a5>0x0?'\x20the\x20reward_funding\x20pool\x20covers\x20~'+Math['floor'](a7/a5)+'\x20claim(s)':'';X='\x20⚠\x20T-02\x20SCALE:\x20the\x20per-claim\x20bounty\x20('+a5+')\x20exceeds\x20half\x20the\x20cheapest\x20SKU\x20price\x20('+a6+')\x20—\x20'+('each\x20claimed\x20order\x20pays\x20out\x20more\x20than\x20the\x20sale\x20earns;\x20a\x20low-price\x20SKU\x20makes\x20the\x20rail\x20a\x20bounty-farm\x20target.'+a8);}}if(V!==undefined&&!W['startsWith']('derived:')){const a9=0x5b8d80,aa=numericAmount(String(V));aa!==undefined&&aa<a9&&l['push']({'code':'REWARD_BELOW_CLAIM_GAS','detail':'The\x20per-claim\x20bounty\x20('+V+'\x20smallest\x20units)\x20is\x20below\x20the\x20claim\x20GAS\x20FLOOR\x20'+('('+a9+'\x20smallest\x20units\x20=\x200.006\x20WOW):\x20a\x20claim\x20transaction\x20costs\x20≈0.0026\x20WOW\x20on\x20mainnet\x20')+'(cour\x20BOUNTY-BELOW-GAS,\x20etsm\x20measured),\x20so\x20claiming\x20at\x20this\x20bounty\x20LOSES\x20money\x20and\x20no\x20rational\x20user\x20ever\x20'+'claims\x20—\x20the\x20funded\x20pool\x20is\x20a\x20dead\x20incentive\x20(and\x20whatever\x20the\x20pool\x20holds\x20is\x20stranded\x20until\x20the\x20guard\x20is\x20'+('reworked).\x20Source:\x20'+(W||'spec.params\x20reward_claim_amount')+'.\x20Fix:\x20pin\x20')+'reward_claim_amount\x20/\x20review_reward_per_claim\x20>=\x200.006\x20WOW\x20(6_000_000\x20smallest\x20units)\x20per\x20claim,\x20or\x20drop\x20the\x20'+'review_reward\x20track\x20(review_mode\x20without\x20a\x20payable\x20bounty\x20is\x20the\x20honest\x20shape).'});}if(V!==undefined&&!W['startsWith']('derived:')){const ab=numericAmount(String(V)),ac=lowestSalePrice(b['sales']);ab!==undefined&&ac!==undefined&&ac>0x0&&ab>BOUNTY_TO_MIN_SKU_ADVISORY_RATIO*ac&&(S['purpose']=S['purpose']+'\x20REWARD_BOUNTY_OVER_GOODS_VALUE\x20(P-021,\x20ADVISORY\x20—\x20not\x20a\x20blocker):\x20the\x20explicitly\x20'+('chosen\x20per-claim\x20bounty\x20('+ab+'\x20smallest\x20units)\x20is\x20'+(ab/ac)['toFixed'](0x1)+'x\x20the\x20')+('cheapest\x20positive\x20SKU\x20price\x20('+ac+'\x20smallest\x20units).\x20Anti-farm\x20review:\x20a\x20bounty\x20far\x20above\x20the\x20')+'goods\x20value\x20is\x20usually\x20a\x20misconfiguration\x20or\x20a\x20deliberate\x20farm\x20target\x20—\x20confirm\x20the\x20ratio\x20is\x20'+('intended\x20before\x20funding\x20the\x20pool.\x20Source:\x20'+(W||'spec.params\x20reward_claim_amount')+'.'));}const Y=h['get'](S['key']);Y!==undefined&&!rootHasRewardRecordGate(Y['root'])&&l['push']({'code':'REVIEW_REWARD_UNARMED','detail':'review_reward\x20claim\x20guard\x20\x27'+S['key']+'\x27\x20carries\x20no\x20record-gate:\x20Reward.claim\x20has\x20no\x20order\x20binding\x20of\x20its\x20own\x20'+'(OFN-C1),\x20so\x20a\x20funded\x20pool\x20behind\x20this\x20guard\x20is\x20a\x20replay-drain\x20target.\x20'+SV2_UNARMED_PRESCRIPTION+'\x20—\x20wrapped\x20in\x20'+'logic_and\x20with\x20the\x20identity\x20leg\x20(Signer\x20==\x20order.owner),\x20the\x20BKN-P2\x20positive-amount\x20'+'leg\x20(order.amount\x20>=\x201\x20—\x20zero-total\x20orders\x20must\x20never\x20claim)\x20and\x20the\x20existing\x20checks\x20'+'(see\x20tpl_reward_one_time_claim\x20v55\x20notes;\x20guard-risk\x20R-X1-14\x20audits\x20the\x20built\x20guard).\x20'+'Professional\x20approval\x20form\x20(F10\x20opt-in):\x20set\x20review_decision_enabled=true\x20to\x20have\x20this\x20'+'plan\x20emit\x20the\x20decision\x20channel\x20(guard\x20step\x20\x27guard_review_decision\x27\x20+\x20the\x20repository\x27s\x20'+'\x27review_decision\x27\x20policy),\x20then\x20compose\x20the\x20decision\x20leg\x20from\x20'+'tpl_repository_review_decision_gate\x20into\x20the\x20root\x20(find_where\x20over\x20\x27review_decision\x27\x20'+'with\x20vec_contains_address\x20pinning\x20the\x20submitted\x20order)\x20so\x20the\x20bounty\x20pays\x20only\x20'+'merchant-approved\x20orders.\x20'+'Until\x20armed,\x20do\x20not\x20fund\x20the\x20pool.'});let Z;if(Y!==undefined&&rootHasRewardRecordGate(Y['root']))for(const ad of Y['table']){const ae=ad;if(ae['b_submission']===!![]&&String(ae['value_type']??'')['toLowerCase']()==='address'&&(String(ae['object_type']??'')==='Order'||/order/i['test'](String(ae['name']??'')))){Z=ae['identifier'];break;}}const a0=S['params']?.['evidence']??b['review_claim_evidence'];let a1;if(a0!==undefined&&a0!==null&&typeof a0==='object'){const af=a0,ag=toByteVector(af['key']),ah=toByteVector(af['predicate']);ag!==undefined&&ah!==undefined&&(Z===undefined?l['push']({'code':'REVIEW_REWARD_EVIDENCE_NO_STAMP','detail':'review_reward\x20resolved\x20an\x20evidence\x20binding\x20request,\x20but\x20the\x20claim\x20guard\x20mount\x20carries\x20no\x20'+'store_from_id\x20stamp\x20slot\x20—\x20the\x20evidence\x20binding\x20reads\x20THE\x20store_from\x20row\x20(the\x20submitted\x20'+'Order\x20address),\x20so\x20the\x20chain\x20refuses\x20the\x20guard\x20at\x20build\x20time\x20—\x20the\x20claim-time\x20'+'evidence\x20binding\x20aborts\x20with\x20E_EVIDENCE_NEEDS_STORE_FROM.\x20Give\x20the\x20claim\x20guard\x27s\x20table\x20an\x20address-typed\x20Order\x20'+'submission\x20row\x20(b_submission)\x20so\x20the\x20mount\x20can\x20pin\x20store_from_id,\x20then\x20rebuild.'}):a1={'repo':ref('repository_review'),'key':ag,'predicate':ah});}V===undefined&&l['push']({'code':'REVIEW_REWARD_AMOUNT_MISSING','detail':'review_mode\x20\x27review_reward\x27\x20resolved\x20a\x20claim\x20guard\x20but\x20no\x20per-claim\x20bounty\x20was\x20provided\x20or\x20derivable.\x20'+'The\x20reward\x20guard_add\x20mount\x20REQUIRES\x20an\x20amount\x20(schema-required)\x20—\x20a\x20plan\x20step\x20emitted\x20without\x20'+'it\x20fails\x20mid-execution.\x20Pass\x20\x27reward_claim_amount\x27\x20(a\x20display\x20string\x20with\x20the\x20token\x20'+'symbol\x20like\x20\x271WOW\x27,\x20or\x20a\x20smallest-unit\x20integer\x20like\x20\x27100000000\x27),\x20set\x20it\x20in\x20the\x20guard\x20'+'spec\x27s\x20params,\x20or\x20include\x20a\x20parseable\x20sales\x20catalog\x20(inputs.sales\x20with\x20numeric\x20prices)\x20so\x20the\x20'+'T-02\x20default\x20applies\x20(2%\x20of\x20the\x20cheapest\x20SKU,\x20floored\x20at\x201\x20smallest\x20unit).'}),j['push']({'op':'configure','id':'reward_review_guard_add','target':ref('reward_review'),'method':'guard_add','params':P({'guard':ref(S['step_id']),'recipient':{'Signer':'signer'},...V!==undefined?{'amount':{'type':'Fixed','value':String(V)}}:{},...Z!==undefined?{'store_from_id':Z}:{},...a1!==undefined?{'evidence':a1}:{}}),'requires':['reward_review'],'notes':'RECIPIENT\x20(crs-mn-261015\x20F-12):\x20recipient\x20is\x20pinned\x20to\x20{Signer:\x27signer\x27}\x20—\x20the\x20claim\x20entry\x20'+'requires\x20recipient\x20==\x20the\x20transaction\x20sender\x20(E_CLAIM_RECIPIENT_NOT_SIGNER\x20otherwise);\x20a\x20GuardIdentifier\x20recipient\x20'+'resolves\x20to\x20the\x20submitted\x20Order\x20and\x20can\x20never\x20be\x20paid.'+(V!==undefined?'\x20AMOUNT\x20(BK15-F09):\x20per-claim\x20bounty\x20pinned\x20at\x20plan\x20time\x20('+String(V)+')'+(W?'\x20—\x20'+W+';\x20override\x20with\x20the\x20reward_claim_amount\x20input':'')+'\x20—\x20no\x20execution-time\x20fill\x20needed.'+X:'')+(Z!==undefined?'\x20SV-2\x20entry\x20stamp:\x20store_from_id\x20pins\x20the\x20per-order\x20stamp\x20slot\x20(the\x20submitted\x20Order\x20'+'address)\x20so\x20claim\x20records\x20key\x20per\x20order\x20—\x20once\x20per\x20buyer\x20per\x20order\x20(azx7-mn-261014\x20T8).':'')+(a1!==undefined?'\x20EVIDENCE\x20(ksk9d2-tn-261026\x20F-01):\x20the\x20guard\x20carries\x20an\x20evidence\x20binding\x20—\x20at\x20claim\x20the\x20'+'chain\x20counts\x20repository\x20rows\x20under\x20the\x20binding\x27s\x20(repo,\x20key)\x20matching\x20the\x20predicate\x20for\x20'+'THIS\x20claim\x27s\x20own\x20store_from\x20value\x20(the\x20submitted\x20order)\x20and\x20aborts\x2015\x20'+'(E_EVIDENCE_NOT_OWNED)\x20when\x20none:\x20a\x20borrowed\x20foreign\x20row\x20can\x20never\x20satisfy\x20the\x20bounty;\x20'+'the\x20order\x27s\x20attestation\x20row\x20must\x20exist\x20before\x20the\x20claim.'+'\x20PACKAGE\x20AVAILABILITY\x20(ksr-tn-261026\x20Q8-F04):\x20the\x20native\x20evidence-pinning\x20entry\x20is\x20'+'UNAVAILABLE\x20on\x20the\x20currently\x20deployed\x20package\x20—\x20batch\x20guard_add\x20submissions\x20silently\x20'+'DROP\x20the\x20pin\x20and\x20the\x20direct\x20face\x20hard-fails\x20with\x20a\x20missing-entry\x20error\x20(classified\x20'+'capability_unavailable,\x20non-retryable).\x20The\x20reward\x20guard_add\x20read-back\x20contract\x20'+'reports\x20EVIDENCE\x20BINDING\x20VERIFIED\x20/\x20NOT\x20ON\x20CHAIN\x20after\x20the\x20landed\x20call\x20—\x20treat\x20NOT\x20ON\x20'+'CHAIN\x20as\x20the\x20truth:\x20fall\x20back\x20to\x20the\x20repository-floor\x20guard\x20leg\x20and\x20disclose\x20that\x20it\x20'+'proves\x20only\x20\x27a\x20qualifying\x20row\x20exists\x20for\x20this\x20order\x27,\x20not\x20who\x20wrote\x20it.\x20Do\x20not\x20'+'re-send\x20guard_add\x20to\x20\x27fix\x27\x20a\x20dropped\x20pin.':'')}),j['push']({'op':'configure','id':'service_rewards','target':ref('service'),'method':'rewards','params':P({'op':'add','objects':[ref('reward_review')]}),'requires':['service']}),typeof T==='string'||typeof T==='number'?k['push']({'op':'configure','id':'reward_review_coin_add','target':ref('reward_review'),'method':'coin_add','params':{'balance':typeof T==='number'?T:String(T)},'requires':['reward_review']}):l['push']({'code':'REVIEW_REWARD_UNFUNDED','detail':'review_mode\x20\x27review_reward\x27\x20without\x20a\x20\x27reward_funding\x27\x20input\x20(INV-4\x20R-REWARD-FUNDED):\x20the\x20incentive\x20'+'is\x20a\x20marketing\x20promise\x20that\x20must\x20be\x20FUNDED\x20when\x20the\x20Service\x20is\x20built\x20(sale-time\x20planning\x20—\x20pool\x20>=\x20'+'expected\x20orders\x20x\x20per-order\x20reward,\x20benchmark\x20fee_param\x20review_reward_pool).\x20Pass\x20reward_funding\x20'+'(smallest-unit\x20string)\x20to\x20fund\x20the\x20Reward\x20object,\x20or\x20drop\x20to\x20review_mode\x20\x22review\x22.'});}}}if(d!==undefined){const ai=g['find'](aj=>aj['key']===d);if(ai===undefined||ai['step_id']===undefined)l['push']({'code':'EXPERIENCE_COMPENSATION_GUARD_MISSING','detail':'experience_compensation_mode\x20\x27reward\x27\x20armed\x20the\x20goodwill\x20track,\x20but\x20the\x20injected\x20claim\x20guard\x20'+('\x27'+d+'\x27\x20never\x20resolved\x20to\x20a\x20guard\x20step\x20(no\x20delivery-class\x20node\x20and\x20no\x20final\x20')+'terminal\x20in\x20machine_shape\x20to\x20anchor\x20the\x20claim\x20on).\x20Mount\x20a\x20claim-able\x20shape,\x20or\x20set\x20'+'inputs.experience_compensation_mode=\x22none\x22.'});else{const aj=h['get'](ai['key']);aj!==undefined&&!rootHasRewardRecordGate(aj['root'])&&l['push']({'code':'EXPERIENCE_COMPENSATION_UNARMED','detail':'experience-compensation\x20claim\x20guard\x20\x27'+ai['key']+'\x27\x20carries\x20no\x20record-gate:\x20Reward.claim\x20has\x20no\x20'+'order\x20binding\x20of\x20its\x20own\x20(OFN-C1),\x20so\x20a\x20funded\x20pool\x20behind\x20this\x20guard\x20is\x20a\x20replay-drain\x20target.\x20'+'SV2_UNARMED_PRESCRIPTION\x20applies\x20—\x20keep\x20the\x20template\x27s\x20record-gate\x20leg\x20(per-order\x20once)\x20'+('wrapped\x20in\x20logic_and\x20with\x20the\x20identity\x20leg,\x20or\x20resolve\x20\x27'+ai['key']+'\x27\x20to\x20a\x20named\x20design\x20')+'that\x20carries\x20one.\x20Until\x20armed,\x20do\x20not\x20fund\x20the\x20pool.'});const ak=b['experience_claim_amount'],al=a['fee_params']['experience_claim_amount'],am=typeof ak==='string'&&ak['trim']()!==''||typeof ak==='number'?ak:typeof al==='string'||typeof al==='number'?al:undefined,an=am===undefined?NaN:Number(String(am)['replace'](/^[^0-9]*/,''));if(am===undefined||!(an>0x0))l['push']({'code':'EXPERIENCE_COMPENSATION_AMOUNT_MISSING','detail':'experience_compensation_mode\x20\x27reward\x27\x20resolved\x20a\x20claim\x20guard\x20but\x20no\x20per-claim\x20goodwill\x20tier\x20was\x20provided.\x20'+'The\x20reward\x20guard_add\x20mount\x20REQUIRES\x20an\x20amount\x20(schema-required)\x20—\x20a\x20plan\x20step\x20emitted\x20without\x20it\x20'+'fails\x20mid-execution.\x20Pass\x20\x27experience_claim_amount\x27\x20(a\x20display\x20string\x20with\x20the\x20token\x20symbol\x20like\x20'+'\x270.2WOW\x27,\x20or\x20a\x20smallest-unit\x20integer\x20like\x20\x27200000000\x27)\x20or\x20declare\x20fee_param\x20'+'experience_claim_amount\x20on\x20the\x20template.'});else an<0x5b8d80&&l['push']({'code':'EXPERIENCE_COMPENSATION_BELOW_CLAIM_GAS','detail':'experience-compensation\x20tier\x20'+an+'\x20is\x20below\x20the\x20claim-gas\x20floor\x20'+0x5b8d80+':\x20'+'a\x20buyer\x20who\x20claims\x20would\x20pay\x20more\x20gas\x20than\x20the\x20goodwill\x20pays\x20out\x20—\x20the\x20rail\x20is\x20dead\x20on\x20arrival\x20'+'(same\x20arithmetic\x20as\x20REWARD_BELOW_CLAIM_GAS).\x20Raise\x20fee_param\x20experience_claim_amount.'});let ao;if(aj!==undefined&&rootHasRewardRecordGate(aj['root']))for(const aq of aj['table']){const ar=aq;if(ar['b_submission']===!![]&&String(ar['value_type']??'')['toLowerCase']()==='address'&&(String(ar['object_type']??'')==='Order'||/order/i['test'](String(ar['name']??'')))){ao=ar['identifier'];break;}}j['push']({'op':'configure','id':'reward_experience_guard_add','target':ref('reward_experience'),'method':'guard_add','params':P({'guard':ref(ai['step_id']),'recipient':{'Signer':'signer'},...am!==undefined&&an>0x0?{'amount':{'type':'Fixed','value':String(am)}}:{},...ao!==undefined?{'store_from_id':ao}:{}}),'requires':['reward_experience'],'notes':'EXPERIENCE-COMPENSATION\x20(K3\x20C-11):\x20the\x20goodwill\x20claim\x20mount.\x20recipient\x20pinned\x20to\x20{Signer:\x27signer\x27}\x20—\x20'+'the\x20payout\x20lands\x20on\x20the\x20CLAIMER\x27s\x20own\x20account\x20(E_CLAIM_RECIPIENT_NOT_SIGNER\x20otherwise),\x20per-order\x20once\x20'+('(template\x20record-gate'+(ao!==undefined?',\x20store_from_id\x20'+ao+'\x20=\x20the\x20submitted\x20Order\x20stamp':'')+').')+(am!==undefined&&an>0x0?'\x20AMOUNT:\x20Fixed\x20tier\x20pinned\x20at\x20plan\x20time\x20('+String(am)+')\x20—\x20knowable\x20up\x20front,\x20no\x20execution-time\x20fill.':'')+'\x20The\x20pool\x20is\x20NOT\x20escrow:\x20a\x20claim\x20blocks\x20nothing\x20in\x20the\x20order\x27s\x20own\x20settlement,\x20and\x20nothing\x20is\x20ever\x20'+'deducted\x20from\x20the\x20merchant\x20(the\x20chain\x20has\x20no\x20debit/clawback\x20primitive).'}),j['push']({'op':'configure','id':'service_rewards_experience','target':ref('service'),'method':'rewards','params':P({'op':'add','objects':[ref('reward_experience')]}),'requires':['service']});const ap=b['experience_pool_funding'];typeof ap==='string'||typeof ap==='number'?k['push']({'op':'configure','id':'reward_experience_coin_add','target':ref('reward_experience'),'method':'coin_add','params':{'balance':typeof ap==='number'?ap:String(ap)},'requires':['reward_experience']}):l['push']({'code':'EXPERIENCE_COMPENSATION_UNFUNDED','detail':'experience_compensation_mode\x20\x27reward\x27\x20without\x20an\x20\x27experience_pool_funding\x27\x20input\x20(INV-4\x20family,\x20'+'fail-closed):\x20an\x20unfunded\x20goodwill\x20promise\x20must\x20not\x20publish.\x20Plan\x20the\x20pool\x20as\x20~expected\x20'+'experience\x20failures\x20x\x20the\x20per-claim\x20tier\x20(fee_param\x20experience_claim_amount),\x20pass\x20'+'experience_pool_funding\x20(smallest-unit\x20string)\x20to\x20fund\x20the\x20Reward\x20object,\x20or\x20set\x20'+'inputs.experience_compensation_mode=\x22none\x22\x20to\x20drop\x20the\x20track.'});}}return{'steps':j,'fundingSteps':k,'blockers':l};}export function emitArbitrationBindings({template:a,inputs:b,needsArbitration:c,shape:d,guardSpecs:e,specByKey:f}){const g=[],h=[],i=[],j=e['some'](l=>l['template_id']==='tpl_forward_arb_ruling_won'),k=[];j&&(k['push']('ARB\x20AWARD\x20SEQUENCING\x20(N1,\x20K4R-261103):\x20this\x20build\x20mounts\x20an\x20arb-ruling-won\x20edge\x20whose\x20claimed_by\x20leg\x20is\x20a\x20SEQUENCING\x20SEAL,\x20not\x20a\x20funding\x20gate\x20—\x20the\x20ruling\x20edge\x20advances\x20only\x20after\x20the\x20award\x20is\x20claimed\x20or\x20the\x20case\x20is\x20concluded.\x20The\x20award\x20CLAIM\x20requires\x20the\x20service\x20compensation\x20pool\x20to\x20cover\x20the\x20indemnity\x20(an\x20empty\x20pool\x20aborts\x20the\x20claim\x20with\x20code\x2027,\x20E_COMPENSATION_NOT_MATCH);\x20a\x20keeper\x20CONCLUDE\x20stamps\x20claimed_by\x20WITHOUT\x20any\x20fund\x20(BF-14)\x20and\x20is\x20the\x20zero-fund\x20escape\x20—\x20orchestrate\x20it\x20in\x20the\x20keeper\x20runbook\x20either\x20way.'),k['push']('ARB\x20DUAL-TRACK\x20NETTING\x20(decision\x2011,\x20disclosed\x20at\x20publish):\x20the\x20arbitration\x20award\x20pays\x20from\x20the\x20service\x20compensation\x20fund\x20as\x20an\x20INDEPENDENT\x20commercial\x20track\x20—\x20it\x20never\x20moves\x20the\x20order\x20escrow.\x20A\x20buyer\x20may\x20collect\x20BOTH\x20the\x20award\x20and\x20an\x20escrow\x20refund\x20on\x20the\x20same\x20order;\x20the\x20dual-payout\x20confirmation\x20gate\x20(and\x20the\x20store\x27s\x20standing\x20netting\x20policy)\x20governs\x20that\x20combination,\x20not\x20the\x20chain.'));if(c){g['push']({'op':'configure','id':'service_arbitrations','target':ref('service'),'method':'arbitrations','params':P({'op':'add','objects':[ref('arbitration')]})});const l=e['find'](o=>o['template_id']==='tpl_voting_guard_open_vote'&&o['step_id']!==undefined);l?.['step_id']!==undefined&&g['push']({'op':'configure','id':'arbitration_voting_guard','target':ref('arbitration'),'method':'voting_guard','params':P({'op':'set','guards':[{'guard':ref(l['step_id']),'vote_weight':{'FixedValue':0x1}}]}),...a['arbitration_mode']==='third_party'?{'account':'arb_controller'}:{}});const m=d['some'](o=>{if(o['semantic_role']!=='final')return![];for(const p of o['from']??[]){if(typeof p==='string')continue;const q=p['guard_key']===undefined?undefined:f['get'](p['guard_key']);if(q?.['template_id']==='tpl_forward_arb_ruling_won')return!![];}return![];}),n=b['compensation_fund'];if(typeof n==='string'||typeof n==='number'){const o=numericAmount(n);(m||j)&&o!==undefined&&o<=0x0?i['push']({'code':'ARB_REFUND_WITHOUT_FUND','detail':'This\x20build\x20declares\x20inputs.compensation_fund\x20=\x20'+JSON['stringify'](n)+'\x20on\x20an\x20arb-ruling-won\x20mount\x20'+'(the\x20claimed_by\x20sequencing\x20seal\x20makes\x20the\x20award\x20CLAIM\x20the\x20enforcement\x20step).\x20On\x20a\x20POST-settlement\x20'+'re-route\x20the\x20escrow\x20is\x20already\x20drained\x20when\x20the\x20ruling\x20lands,\x20so\x20the\x20fund\x20is\x20the\x20buyer\x27s\x20only\x20remedy\x20—\x20'+'and\x20a\x20zero/negative\x20fund\x20promise\x20is\x20an\x20UNFUNDED\x20remedy\x20(etsm-mn-261102-z5r8\x20F-02:\x20the\x20funding\x20step\x20would\x20'+'ship\x20balance\x20\x220\x22\x20and\x20the\x20COMPENSATION_FUND_REQUIRED\x20gate\x20would\x20never\x20see\x20it).\x20Pass\x20a\x20non-zero\x20'+'inputs.compensation_fund\x20(>=\x20the\x20largest\x20single-order\x20exposure),\x20or\x20rebuild\x20on\x20a\x20template\x20without\x20the\x20arb\x20re-route.'}):h['push']({'op':'configure','id':'service_compensation','target':ref('service'),'method':'compensation_fund_add','params':{'balance':String(n)}});}else{if(j&&!m){const p=b['sales']??a['sales']??[],q=p['map'](t=>numericAmount(t['price']))['filter'](s=>s!==undefined&&s>0x0),r=q['length']>0x0?Math['max'](...q):undefined;if(r!==undefined){const s=BigInt(Math['round'](r))*0x3n;h['push']({'op':'configure','id':'service_compensation','target':ref('service'),'method':'compensation_fund_add','params':{'balance':s['toString']()},'notes':'N1\x20AUTO-SIZED\x20arbitration\x20pool:\x203x\x20the\x20largest\x20SKU\x20price\x20('+s['toString']()+'\x20=\x203\x20x\x20'+Math['round'](r)+')\x20—\x20the\x20award\x20ceiling\x20(MAX_INDEMNITY_MULTIPLE)\x20sizing.\x20Override\x20with\x20inputs.compensation_fund\x20before\x20materialize;\x20fund\x20at\x20the\x20post-deploy\x20top-up\x20step.'}),k['push']('ARB\x20POOL\x20AUTO-SIZED\x20(N1,\x20K4R-261103):\x20this\x20build\x27s\x20compensation\x20pool\x20is\x20auto-funded\x20at\x203x\x20the\x20largest\x20SKU\x20price\x20because\x20it\x20mounts\x20an\x20arb-ruling-won\x20edge\x20whose\x20claimed_by\x20seal\x20requires\x20an\x20enforceable\x20award.\x20Size\x20it\x20deliberately\x20—\x20pass\x20inputs.compensation_fund\x20(>=\x20the\x20largest\x20single-order\x20exposure)\x20if\x20your\x20dispute\x20volume\x20or\x20price\x20basis\x20differs.');}else k['push']('ARB\x20POOL\x20LEG\x20OMITTED\x20(N1,\x20K4R-261103):\x20this\x20build\x20mounts\x20an\x20arb-ruling-won\x20edge\x20whose\x20claimed_by\x20seal\x20requires\x20an\x20enforceable\x20award,\x20but\x20no\x20sellable\x20price\x20basis\x20exists\x20to\x20auto-size\x20the\x20compensation\x20pool\x20from.\x20Fund\x20the\x20pool\x20at\x20the\x20post-deploy\x20top-up\x20step\x20(>=\x20the\x20largest\x20single-order\x20exposure)\x20BEFORE\x20any\x20dispute\x20lands\x20—\x20an\x20empty\x20pool\x20aborts\x20the\x20award\x20claim\x20with\x20code\x2027.');}else m&&i['push']({'code':'COMPENSATION_FUND_REQUIRED','detail':'This\x20build\x20routes\x20a\x20POST-settlement\x20arbitration\x20re-route\x20(an\x20arb-ruling-won\x20guard\x20on\x20an\x20edge\x20'+'leaving\x20a\x20settled\x20terminal):\x20the\x20escrow\x20is\x20already\x20drained\x20when\x20that\x20ruling\x20lands,\x20so\x20the\x20buyer\x27s\x20'+'only\x20remedy\x20is\x20the\x20compensation\x20fund\x20—\x20which\x20this\x20build\x20never\x20creates.\x20Pass\x20'+'inputs.compensation_fund\x20(>=\x20the\x20largest\x20single-order\x20exposure)\x20so\x20the\x20indemnity\x20is\x20real,\x20'+'or\x20rebuild\x20on\x20a\x20template\x20without\x20the\x20post-settlement\x20arb\x20edge.'});}}return{'steps':g,'fundingSteps':h,'blockers':i,'disclosures':k};}export function emitServicePublish(){const a=[];return a['push']({'op':'publish','id':'service_publish','target':ref('service'),'preflight':[{'check':'service_publish','status':'pending'},{'check':'FUND-EXIT-01','status':'pending'},{'check':'PLAN-ALLOC-01','status':'pending'},{'check':'TASKBIND-02','status':'pending'}]}),{'steps':a};}export function computeMoneyRailKeys({rowsWithAttachments:a,guardSpecs:b}){const c=new Set(a['map'](f=>f['guard_key'])['filter'](f=>typeof f==='string')),d=new Set(b['filter'](f=>f['host']==='reward'&&f['step_id']!==undefined)['map'](f=>f['key'])),e=new Set([...c,...d]);return{'allocatorBoundKeys':c,'moneyRailKeys':e};}export function checkForeignServicePins({resolvedGuards:a,edgeBoundKeys:b,moneyRailKeys:c}){const d=[],e=/^0x[0-9a-fA-F]{20,64}$/,f=h=>{const i=a['get'](h);if(i===undefined)return[];const j=new Set(),k=m=>{if(Array['isArray'](m)){for(const o of m)k(o);return;}if(m===null||typeof m!=='object')return;const n=m;if(n['type']==='logic_equal'){const p=Array['isArray'](n['nodes'])?n['nodes']:n['left']!==undefined||n['right']!==undefined?[n['left'],n['right']]:[],s=p['find'](u=>u!==null&&typeof u==='object'&&typeof u['query']==='string'&&u['query']['startsWith']('order.service')),t=p['find'](u=>u!==s);s!==undefined&&t!==undefined&&t!==null&&typeof t==='object'&&t['type']==='identifier'&&j['add'](String(t['identifier']));}for(const u of Object['values'](n))k(u);};k(i['root']);const l=[];for(const m of i['table']){const n=m;if(n['b_submission']===!![]||n['value_type']!=='Address')continue;const o=n['value'];if(typeof o!=='string'||!e['test'](o))continue;if(!j['has'](String(n['identifier']??'?')))continue;l['push'](String(n['identifier']??'?'));}return l;};for(const g of a['keys']()){if(!b['has'](g)&&!c['has'](g))continue;for(const h of f(g)){d['push']({'code':'GUARD_FOREIGN_SERVICE','detail':'guard\x20\x27'+g+'\x27\x20pins\x20the\x20Service\x20by\x20on-chain\x20address\x20literal\x20(table\x20slot\x20'+h+'\x20on\x20an\x20'+'order.service\x20comparison\x20leg)\x20while\x20bound\x20into\x20this\x20build.\x20'+'The\x20plan\x27s\x20Service\x20is\x20created\x20BY\x20this\x20plan\x20and\x20cannot\x20equal\x20a\x20pre-existing\x20address,\x20so\x20the\x20pin\x20names\x20a\x20foreign\x20or\x20'+'stale\x20object:\x20each\x20object\x20is\x20well-formed\x20alone,\x20but\x20the\x20cross-object\x20identity\x20assert\x20aborts\x20every\x20guarded\x20forward\x20'+'(klook\x20B11\x20class),\x20and\x20Guard\x20+\x20machine\x20are\x20both\x20create/publish-frozen\x20—\x20unrepairable.\x20'+'Bind\x20by\x20plan\x20reference\x20({\x22$ref\x22:\x22service\x22})\x20or\x20by\x20the\x20P16\x20circular\x20service\x20NAME\x20instead.\x20'+'(A\x200x\x20literal\x20in\x20a\x20NON-service\x20slot\x20—\x20e.g.\x20a\x20judge\x20account\x20pin,\x20R-C4-04\x20—\x20is\x20a\x20legal\x20business\x20pin\x20and\x20not\x20flagged.)'});}}return{'blockers':d};}export function auditRepoIntegrityAndCallerLegs({steps:a,resolvedGuards:b,moneyRailKeys:c,recoverTwinRails:d}){const e=[],f=new Map(),h=new Map(),i=(v,w)=>{for(const x of w){const y=typeof x['name']==='string'?x['name']:undefined;if(y!==undefined)v['keys']['add'](y);const z=Array['isArray'](x['write_guard'])?x['write_guard']:[];for(const A of z){const B=A['guard'],C=typeof B==='string'?B:B!==null&&typeof B==='object'&&typeof B['$ref']==='string'?B['$ref']:undefined;if(C===undefined||y===undefined)continue;const D=v['writeGuards']['get'](y)??new Set();D['add'](C),v['writeGuards']['set'](y,D);}}};for(const v of a){if(v['op']!=='create'||v['object']!=='repository')continue;const w=v['params'],x={'keys':new Set(),'writeGuards':new Map()};i(x,Array['isArray'](w['policies'])?w['policies']:[]),f['set'](v['id'],x);if(typeof w['name']==='string')h['set'](w['name'],x);}for(const y of a){if(y['op']!=='configure'||y['method']!=='policies')continue;const z=y['target'],A=z!==null&&typeof z==='object'&&typeof z['$ref']==='string'?z['$ref']:undefined,B=A!==undefined?f['get'](A):undefined;if(B===undefined)continue;const C=y['params']['policy'];i(B,Array['isArray'](C)?C:[]);}const j=(D,E)=>E===undefined?undefined:D['find'](F=>F['identifier']===E),k=(D,E)=>{const F=j(D,E)?.['value'];if(F!==null&&typeof F==='object'&&typeof F['$ref']==='string')return f['get'](F['$ref']);return typeof F==='string'?h['get'](F):undefined;},l=(D,E)=>{const F=j(D,E)?.['value'];return typeof F==='string'?F:undefined;},m=new Map([['vec_contains_string',![]],['vec_indexof_string',![]],['vec_contains_string_nocase',!![]],['vec_indexof_string_nocase',!![]]]),n=new Set(['query_repository_data_keys_where','query_repository_policies_keys']),o=(D,E)=>{const F=[],G=I=>{const J=I?.['identifier'];return typeof J==='number'?J:undefined;},H=I=>{if(I===null||typeof I!=='object')return;if(Array['isArray'](I)){for(const L of I)H(L);return;}const J=I;if(J['type']==='query_repository_data_find_where'||J['type']==='query_repository_data_count_where'||J['type']==='query_repository_data_sum_where'||J['type']==='query_repository_data_sum_where_bound'||J['type']==='query_repository_data_sum_where_bound_all'){const M=k(D,G(J['object'])),N=l(D,G(J['key']));if(M!==undefined&&N!==undefined)F['push']({'repo':M,'key':N,'nocase':![]});}if(J['type']==='query'&&typeof J['query']==='string'&&/^repository\.data\b/i['test'](J['query'])){const O=k(D,G(J['object'])),Q=Array['isArray'](J['parameters'])?J['parameters']:[],R=l(D,G(Q[0x0]));if(O!==undefined&&R!==undefined)F['push']({'repo':O,'key':R,'nocase':![]});}if(J['type']==='query_repository_data'||J['type']==='query_repository_data_has'){const S=k(D,G(J['object'])),T=typeof J['key']==='string'?J['key']:undefined;if(S!==undefined&&T!==undefined)F['push']({'repo':S,'key':T,'nocase':![]});}const K=typeof J['type']==='string'?m['get'](J['type']):undefined;if(K!==undefined){const U=Array['isArray'](J['nodes'])?J['nodes']:[J['nodeLeft'],J['nodeRight']],V=U[0x0];if(V!==null&&typeof V==='object'&&typeof V['type']==='string'&&n['has'](V['type'])){const W=k(D,G(V['object']));if(W!==undefined)for(const X of U['slice'](0x1)){const Y=l(D,G(X));if(Y!==undefined)F['push']({'repo':W,'key':Y,'nocase':K});}}}for(const Z of Object['keys'](J))H(J[Z]);};return H(E),F;},p=(D,E,F)=>F?[...D['keys']]['some'](G=>G['toLowerCase']()===E['toLowerCase']()):D['keys']['has'](E),q=(D,E,F)=>F?[...D['writeGuards']]['find'](([G])=>G['toLowerCase']()===E['toLowerCase']())?.[0x1]:D['writeGuards']['get'](E);for(const [D,E]of b){if(E['stepId']===undefined)continue;for(const F of o(E['table'],E['root'])){!p(F['repo'],F['key'],F['nocase'])&&e['push']({'code':'POLICY_KEY_UNRESOLVED','detail':'guard\x20\x27'+D+'\x27\x20reads\x20repository\x20policy\x20key\x20\x27'+F['key']+'\x27,\x20but\x20NO\x20repository\x20create\x20step\x20in\x20this\x20'+'plan\x20defines\x20that\x20policy\x20—\x20as\x20built\x20the\x20read\x20'+'is\x20identically\x20ZERO\x20or\x20an\x20empty\x20key\x20list\x20(REPO-GATE-KEY-01):\x20the\x20gated\x20forward\x20never\x20opens\x20and\x20every\x20order\x20freezes\x20mid-rail\x20(bsx\x20BSX-F01:\x20'+'the\x20delivery\x20gate\x20read\x20\x27license_grant\x27\x20while\x20the\x20repository\x20stored\x20\x27grant\x27).\x20Policies\x20are\x20NOT\x20chain-frozen\x20—\x20'+'the\x20repository\x27s\x20policy-management\x20permission\x20(index\x20102)\x20can\x20add\x20the\x20missing\x20key\x20post-publish\x20—\x20but\x20do\x20not\x20ship\x20the\x20dead\x20rail:\x20'+'align\x20the\x20guard\x27s\x20row\x20'+'key\x20with\x20a\x20policy\x20name\x20this\x20plan\x20actually\x20creates.'}),q(F['repo'],F['key'],F['nocase'])?.['has'](E['stepId'])&&e['push']({'code':'CREDENTIAL_CYCLE','detail':'guard\x20\x27'+D+'\x27\x20is\x20a\x20write\x20credential\x20of\x20a\x20repository\x20policy\x20it\x20also\x20READS\x20(\x27'+F['key']+'\x27)\x20—\x20to\x20write\x20'+'the\x20row\x20you\x20must\x20first\x20pass\x20a\x20guard\x20requiring\x20the\x20row.\x20Unsatisfiable\x20by\x20construction\x20(bsn7\x20T-01\x20/\x20'+'bsx\x20BSX-F02:\x20the\x20review\x20write\x20credential\x20fell\x20back\x20to\x20the\x20reward-claim\x20guard,\x20which\x20requires\x20the\x20'+'rating\x20row\x20it\x20gates).\x20The\x20write\x20credential\x20must\x20be\x20an\x20identity/progress\x20credential\x20that\x20reads\x20'+'nothing\x20from\x20that\x20repository.'});}}const r=(G,H)=>{let I=![];const J=K=>{if(I||K===null||typeof K!=='object')return;if(Array['isArray'](K)){for(const M of K)J(M);return;}const L=K;if(L['type']==='context'&&L['context']===H)I=!![];for(const N of Object['keys'](L))J(L[N]);};return J(G),I;},u=G=>{let H=![];const I=J=>{if(H||J===null||typeof J!=='object')return;if(Array['isArray'](J)){for(const L of J)I(L);return;}const K=J;K['type']==='query'&&typeof K['query']==='string'&&/named_operator|permission|arb\./i['test'](K['query'])&&(H=!![]);for(const M of Object['keys'](K))I(K[M]);};return I(G),H;};for(const G of b['keys']()){if(!c['has'](G))continue;if(d['has'](G)||/recover/i['test'](G))continue;const H=b['get'](G);if(r(H['root'],'Signer'))continue;if(u(H['root']))continue;if(r(H['root'],'Clock'))continue;e['push']({'code':'MONEY_RAIL_CALLER_LEG_MISSING','detail':'money\x20rail\x20\x27'+G+'\x27\x20(allocator\x20row\x20or\x20reward\x20claim)\x20has\x20NO\x20caller-authorization\x20leg:\x20'+'alloc_by_guard\x20and\x20Reward\x20claims\x20are\x20NOT\x20forwards\x20—\x20'+'the\x20chain\x20injects\x20the\x20order-holder\x20rail\x20on\x20forward\x20ops\x20only\x20and\x20neither\x20op\x20has\x20a\x20'+'chain-side\x20caller\x20check,\x20so\x20this\x20rail\x20is\x20driveable\x20by\x20ANY\x20passport\x20holder\x20(gf30\x20A2\x20'+'settle_BY_OUTSIDER_v2\x20drained\x20o4;\x20rex5\x20T-27\x20rex-buy2\x20drained\x20a\x20third\x20party\x27s\x20escrow).\x20Bind\x20one:\x20'+'order.owner\x20==\x20Signer\x20OR\x20order.agent\x20has\x20Signer\x20(buyer),\x20or\x20the\x20dynamic-permission\x20leg\x20—\x20'+'service.permission\x20==\x20a\x20submitted\x20Permission\x20slot,\x20then\x20permission.owner\x20==\x20Signer\x20OR\x20'+'permission.admin\x20has\x20Signer\x20(merchant\x20or\x20keeper,\x20survives\x20rotation;\x20K-4).\x20State-determined\x20'+'exception\x20stays\x20open:\x20context\x20Clock\x20(time\x20gates).\x20Decision\x2011:\x20order.claimed_by\x20is\x20NEVER\x20an\x20'+'authorization\x20on\x20a\x20fund\x20rail\x20—\x20a\x20claimed_by\x20leg\x20there\x20is\x20the\x20RAIL_CLAIMED_BY_LEG\x20critical,\x20'+'blocked\x20by\x20the\x20rail\x20verifier\x20regardless\x20of\x20caller\x20identity.'});}return{'blockers':e};}export function emitSupplyChain({supplyChain:a,steps:b,derivedParams:c}){const d=[],e=[];let f;if(a!==undefined&&a['length']>0x0){const g=b['find'](n=>n['op']==='create'&&n['object']==='service'),h=g!==undefined&&g['op']==='create'&&typeof g['params']['name']==='string'?g['params']['name']:'',i=new Set(b['map'](n=>n['id'])),j=new Set(),k=new Set(),l=((()=>{for(let n=b['length']-0x1;n>=0x0;n-=0x1){const o=b[n];if(o['op']==='publish'&&o['target']['$ref']==='service')return n;}return b['length'];})());let m=0x0;a['forEach']((n,o)=>{const p=n['id_prefix']??(o===0x0?'sc':'sc'+String(o+0x1)),q='supply-chain\x20promise\x20#'+String(o+0x1)+'\x20(\x27'+(n['sub_service']||'unset\x20provider')+'\x27,\x20'+String(n['axis'])+')';if(n['service_step_id']!==undefined&&n['service_step_id']!=='service'){d['push']({'code':'SUPPLY_CHAIN_ID_CONFLICT','detail':q+':\x20service_step_id\x20\x27'+n['service_step_id']+'\x27\x20names\x20no\x20step\x20in\x20this\x20plan.\x20Compile\x20'+'attaches\x20a\x20promise\x20to\x20its\x20own\x20Service\x20create,\x20whose\x20id\x20is\x20always\x20\x27service\x27\x20—\x20drop\x20the\x20field\x20'+'or\x20pass\x20\x27service\x27.'});return;}let r=n['repository_name'];if(r!==undefined&&j['has'](r)){d['push']({'code':'SUPPLY_CHAIN_ID_CONFLICT','detail':q+':\x20repository_name\x20\x27'+r+'\x27\x20is\x20already\x20created\x20by\x20an\x20earlier\x20promise\x20—\x20one\x20'+('Repository\x20cannot\x20be\x20created\x20twice.\x20Pass\x20\x27repository:\x20'+r+'\x27\x20on\x20this\x20promise\x20to\x20')+'REUSE\x20the\x20shared\x20ledger\x20instead\x20of\x20creating\x20it.'});return;}if(n['repository']===undefined&&r===undefined){const u=(n['service_name']||h||'service')+'_supply_chain';if(j['has'](u))r=u+'_'+p;}const s=emitSupplyChainPromise({...n,'service_name':n['service_name']||h,'service_step_id':'service','id_prefix':p,...r!==undefined?{'repository_name':r}:{}});for(const v of s['blockers'])d['push']({'code':v['code'],'detail':q+':\x20'+v['detail']});const t=s['steps']['find'](w=>i['has'](w['id']));if(t!==undefined){d['push']({'code':'SUPPLY_CHAIN_ID_CONFLICT','detail':q+':\x20emitted\x20step\x20id\x20\x27'+t['id']+'\x27\x20already\x20exists\x20in\x20the\x20plan.\x20Each\x20promise\x20names\x20its\x20'+'objects\x20\x27<prefix>_gate\x27\x20/\x20\x27_write\x27\x20/\x20\x27_ack\x27\x20/\x20\x27_rendezvous\x27\x20/\x20\x27_bind_repository\x27\x20/\x20\x27_alloc\x27,\x20'+'so\x20give\x20this\x20promise\x20a\x20distinct\x20id_prefix.'});return;}for(const w of s['steps']){i['add'](w['id']),w['op']==='create'&&w['object']==='repository'&&typeof w['params']['name']==='string'&&j['add'](w['params']['name']);}b['splice'](l+m,0x0,...s['steps']),m+=s['steps']['length'],c['push'](...s['derived_params']??[]);if(s['steps']['length']===0x0)return;e['push'](s),k['add'](n['axis']);});if(k['size']>0x0){const n=[...k];f=n['length']===0x1?n[0x0]:'mixed';}}return{'supplyChainEmissions':e,'fulfillmentAxis':f,'blockers':d};}
|
|
1
|
+
import{SV2_UNARMED_PRESCRIPTION}from'../knowledge/protocol-facts.js';import{verifyAllocatorRails}from'../knowledge/allocator-rail-verifier.js';import{TASK_BINDING_SLOT}from'../knowledge/onchain-constants.js';import{rootHasRewardRecordGate,SERVICE_SALE_INPUT_FIELDS,PLAN_SALE_META_FIELDS}from'../knowledge/template-scanner.js';import{guardTemplateHasIdentityLeg}from'../knowledge/builtin-templates.js';import{numericAmount}from'../knowledge/audit-rules.js';import{emitSupplyChainPromise}from'./supply-chain-emit.js';import{fillGuardTemplate}from'../knowledge/guard-templates.js';import{P,ref}from'./plan.js';import{truncateProseUtf8}from'./materialize.js';import{MAX_MACHINE_NODES,MAX_NODE_INBOUND_PAIRS}from'./shape-expand.js';import{validateGuardTreeShape}from'../knowledge/guard-render.js';import{MAX_POLICY_DESCRIPTION_LEN,WOW_SINGLETON_IDS}from'@wowok/wowok';function lowestSalePrice(a){if(!Array['isArray'](a))return undefined;let b;for(const c of a){const d=numericAmount(c?.['price']);if(d!==undefined&&d>0x0)b=b===undefined?d:Math['min'](b,d);}return b;}const BOUNTY_TO_MIN_SKU_ADVISORY_RATIO=0xa;function toByteVector(a){if(Array['isArray'](a))return a['every'](c=>typeof c==='number'&&Number['isInteger'](c)&&c>=0x0&&c<=0xff)?a:undefined;if(typeof a==='string'&&a['length']>0x0)return Array['from'](new TextEncoder()['encode'](a));return undefined;}const CANONICAL_CURRENCY='0x2::wow::WOW',QUALIFIED_TYPE_RE=/^0x[0-9a-fA-F]{1,64}::[a-zA-Z_][a-zA-Z0-9_]*::[A-Za-z_][A-Za-z0-9_]*$/;export function normalizeCurrency(a){const b=a['trim']();if(QUALIFIED_TYPE_RE['test'](b))return b;if(/^\$?wow$/i['test'](b))return CANONICAL_CURRENCY;return undefined;}const capUtf8=(a,b)=>{if(Buffer['byteLength'](a,'utf8')<=b)return[a,![]];return[truncateProseUtf8(a,b-0x3)+'…',!![]];},MAX_DESCRIPTION_CONTENT_BYTES=0xf9e,proseTruncatedAdvisory=(a,b,c,d)=>'PROSE_TRUNCATED\x20(F-08,\x20ADVISORY\x20—\x20not\x20a\x20blocker):\x20'+a+'\x20measured\x20'+b+'\x20UTF-8\x20bytes,\x20over\x20the\x20'+('on-chain\x20cap\x20of\x20'+c+'\x20('+d+')\x20—\x20it\x20shipped\x20truncated\x20to\x20a\x20semantic\x20summary\x20(leading\x20template-id/purpose\x20')+'sentences\x20preserved).\x20The\x20build\x20is\x20NOT\x20blocked;\x20tighten\x20the\x20prose\x20at\x20authoring\x20time\x20if\x20the\x20full\x20wording\x20matters.';function offTaskSlotIdentityLegs(a){const b=new Set(['order.owner','order.agent\x20has']),c=new Set(['query_order_named_operator_member']),d=new Set(),e=[],f=g=>{if(g===null||typeof g!=='object')return;const h=g;if(h['type']==='logic_equal'&&Array['isArray'](h['nodes'])){const l=h['nodes']['filter'](m=>m!==null&&typeof m==='object'&&m['type']==='identifier'&&typeof m['identifier']==='number');if(l['some'](m=>m['identifier']===TASK_BINDING_SLOT)){for(const m of l)d['add'](m['identifier']);}}const i=h['object'],j=typeof h['query']==='string'&&b['has'](h['query'])||typeof h['type']==='string'&&c['has'](h['type']);if(j&&i!==null&&typeof i==='object'&&typeof i['identifier']==='number'){const o=i['identifier'],p=typeof h['query']==='string'?h['query']:h['type'];if(o!==TASK_BINDING_SLOT)e['push']({'query':p,'identifier':o});}if(Array['isArray'](h['nodes'])){for(const q of h['nodes'])f(q);}if(h['node']!==undefined&&typeof h['node']==='object')f(h['node']);};return f(a),e['filter'](g=>!d['has'](g['identifier']));}const MODE_MAP={'amount':'Amount','rate':'Rate','surplus':'Surplus','formula':'Formula'};export function emitIdentityPhase({template:a,base:b}){const c=[];c['push']({'op':'create','id':'permission','object':'permission','params':{'name':b+'_permission'}});const d=a['arbitration_mode']!==undefined&&a['arbitration_mode']!=='none';return d&&c['push']({'op':'create','id':'permission_arb','object':'permission','params':{'name':b+'_arb_permission'},...a['arbitration_mode']==='third_party'?{'account':'arb_controller'}:{},'notes':'MUST\x20be\x20created\x20by\x20a\x20different\x20account\x20than\x20the\x20service\x20permission\x20'+'(E_ARBITRATION_PERMISSION_CONFLICT=33):\x20dispute\x20neutrality.\x20'+'third_party\x20builds\x20declare\x20account\x20\x27arb_controller\x27\x20—\x20provide\x20'+'accounts.arb_controller\x20to\x20plan_execute.'}),c['push']({'op':'create','id':'contact','object':'contact','params':{'name':b+'_contact','ims':{'op':'set','im':[{'at':{'$late':{'by':'env_signer'}}}]}},'notes':'R8:\x20customer-service\x20channel;\x20mandatory\x20when\x20customer_required\x20is\x20set.\x20'+'required_info\x20is\x20SELF-ATTESTED\x20—\x20the\x20chain\x20stores\x20the\x20buyer\x27s\x20claim\x20verbatim\x20and\x20nothing\x20verifies\x20it\x20'+'(the\x20bind\x20path\x20only\x20proves\x20the\x20claim\x20came\x20from\x20this\x20order\x27s\x20owner).\x20A\x20genuine\x20credential\x20gate\x20requires\x20'+'a\x20Proof-backed\x20delivery\x20guard\x20(see\x20the\x20privacy-delivery\x20design;\x20not\x20wired\x20by\x20default).'}),{'steps':c,'needsArbitration':d};}const rewardRowIdentifiers=a=>{const b=new Set(),c=d=>{if(Array['isArray'](d)){for(const f of d)c(f);return;}if(typeof d!=='object'||d===null)return;const e=d;if(typeof e['type']==='string'&&e['type']['startsWith']('query_reward_record')){const g=e['object'];if(g!==undefined&&typeof g['identifier']==='number')b['add'](g['identifier']);}for(const h of Object['values'](e))c(h);};return c(a),b;};export function emitRewardClaimEarly({reviewMode:a,guardSpecs:b,resolvedGuards:c,rewardMark:d}){const e=[],f=a==='review_reward'?b['find'](g=>g['host']==='reward'):undefined;if(a==='review_reward'&&f?.['step_id']!==undefined){const g=c['get'](f['key']);if(g!==undefined){const h=rewardRowIdentifiers(g['root']);c['set'](f['key'],{...g,'table':g['table']['map'](i=>{const j=i;if(j['b_submission']===!![]||!h['has'](j['identifier']))return i;return{...j,'value':ref('reward_review')};})});}e['push']({'op':'create','id':'reward_review','object':'reward','params':P({'name':d,'description':'Review\x20incentive\x20pool\x20(sale-time\x20planned;\x20terms\x20disclosed\x20at\x20quote/buy):\x20claim\x20gated\x20by\x20guard\x20\x27'+f['key']+'\x27.'}),'notes':'REVIEW-COMPONENT:\x20the\x20funded\x20reward\x20must\x20be\x20perceivable\x20by\x20the\x20buyer\x20BEFORE\x20ordering\x20—\x20the\x20full\x20terms\x20ride\x20the\x20quote/buy\x20surface\x20(REVIEW-COMPONENT-PLAN\x20§4).\x20'+'[ZR-08:\x20created\x20BEFORE\x20its\x20claim\x20guard\x20—\x20the\x20guard\x27s\x20Reward-address\x20row\x20freezes\x20at\x20creation\x20and\x20binds\x20this\x20pool\x20by\x20plan\x20ref\x20{\x22$ref\x22:\x22reward_review\x22}]'});}return{'steps':e};}export function emitExperiencePoolEarly({experienceClaimKey:a,guardSpecs:b,resolvedGuards:c,poolMark:d}){const e=[];if(a===undefined)return{'steps':e};const f=b['find'](h=>h['key']===a);if(f===undefined||f['step_id']===undefined)return{'steps':e};const g=c['get'](f['key']);if(g!==undefined){const h=rewardRowIdentifiers(g['root']);c['set'](f['key'],{...g,'table':g['table']['map'](i=>{const j=i;if(j['b_submission']===!![]||!h['has'](j['identifier']))return i;return{...j,'value':ref('reward_experience')};})});}return e['push']({'op':'create','id':'reward_experience','object':'reward','params':P({'name':d,'description':'Experience-compensation\x20pool\x20(K3\x20C-11;\x20terms\x20disclosed\x20at\x20quote/buy):\x20the\x20merchant\x20pre-funds\x20this\x20goodwill\x20pool\x20and\x20buyers\x20claim\x20PROACTIVELY\x20per\x20guard\x20\x27'+f['key']+'\x27.\x20NOT\x20escrow\x20—\x20it\x20never\x20touches\x20the\x20order\x27s\x20own\x20settlement\x20(a\x20claim\x20blocks\x20nothing;\x20nothing\x20is\x20ever\x20deducted\x20from\x20the\x20merchant).\x20The\x20balance\x20is\x20finite:\x20a\x20claim\x20above\x20the\x20remaining\x20balance\x20aborts,\x20and\x20the\x20merchant\x20may\x20withdraw\x20the\x20unclaimed\x20remainder\x20once\x20the\x20claim\x20window\x20lapses.'}),'notes':'EXPERIENCE-COMPENSATION\x20(K3\x20C-11):\x20the\x20goodwill\x20pool\x20must\x20be\x20perceivable\x20by\x20the\x20buyer\x20BEFORE\x20ordering\x20—\x20the\x20four\x20disclosure\x20duties\x20ride\x20the\x20quote/buy\x20surface\x20(pool\x20≠\x20escrow\x20/\x20finite\x20+\x20withdrawable\x20/\x20proactive\x20in-window\x20claim\x20/\x20Fixed-tier\x20amount).\x20'+'[ZR-08:\x20created\x20BEFORE\x20its\x20claim\x20guard\x20—\x20the\x20guard\x27s\x20Reward-address\x20row\x20freezes\x20at\x20creation\x20and\x20binds\x20this\x20pool\x20by\x20plan\x20ref\x20{\x22$ref\x22:\x22reward_experience\x22}]'}),{'steps':e};}export function emitPriceRebatePoolEarly({priceRebateClaimKey:a,guardSpecs:b,resolvedGuards:c,poolMark:d}){const e=[];if(a===undefined)return{'steps':e};const f=b['find'](h=>h['key']===a);if(f===undefined||f['step_id']===undefined)return{'steps':e};const g=c['get'](f['key']);if(g!==undefined){const h=rewardRowIdentifiers(g['root']);c['set'](f['key'],{...g,'table':g['table']['map'](i=>{const j=i;if(j['b_submission']===!![]||!h['has'](j['identifier']))return i;return{...j,'value':ref('reward_price_rebate')};})});}return e['push']({'op':'create','id':'reward_price_rebate','object':'reward','params':P({'name':d,'description':'Price-rebate\x20pool\x20(stage2\x20#1\x20P-11;\x20terms\x20disclosed\x20at\x20quote/buy):\x20the\x20merchant\x20pre-funds\x20this\x20rebate\x20budget\x20and\x20buyers\x20claim\x20PROACTIVELY\x20per\x20guard\x20\x27'+f['key']+'\x27.\x20NOT\x20escrow\x20—\x20it\x20never\x20touches\x20the\x20order\x27s\x20own\x20settlement\x20(a\x20claim\x20blocks\x20nothing;\x20nothing\x20is\x20ever\x20deducted\x20from\x20the\x20merchant).\x20The\x20balance\x20is\x20finite:\x20a\x20claim\x20above\x20the\x20remaining\x20balance\x20aborts,\x20and\x20the\x20merchant\x20may\x20withdraw\x20the\x20unclaimed\x20remainder\x20once\x20the\x20claim\x20window\x20lapses.'}),'notes':'PRICE-REBATE\x20(stage2\x20#1\x20P-11,\x20FLOWS\x20E28):\x20the\x20mispricing-remedy\x20pool\x20must\x20be\x20perceivable\x20by\x20the\x20buyer\x20BEFORE\x20ordering\x20—\x20the\x20same\x20disclosure\x20duties\x20as\x20the\x20experience\x20pool\x20ride\x20the\x20quote/buy\x20surface\x20(pool\x20≠\x20escrow\x20/\x20finite\x20+\x20withdrawable\x20/\x20proactive\x20in-window\x20claim\x20/\x20Fixed-tier\x20amount;\x20NO\x20on-chain\x20mispricing\x20evidence\x20leg\x20—\x20no\x20price\x20oracle,\x20red\x20line\x203).\x20Cheaper\x20direct-sale\x20cure:\x20fold\x20the\x20correction\x20into\x20the\x20quote\x20BEFORE\x20payment;\x20this\x20pool\x20only\x20remedies\x20an\x20ALREADY-collected\x20mischarge.\x20'+'[ZR-08:\x20created\x20BEFORE\x20its\x20claim\x20guard\x20—\x20the\x20guard\x27s\x20Reward-address\x20row\x20freezes\x20at\x20creation\x20and\x20binds\x20this\x20pool\x20by\x20plan\x20ref\x20{\x22$ref\x22:\x22reward_price_rebate\x22}]'}),{'steps':e};}export function checkDaysUnitSlots({resolvedGuards:a}){const b=[];{const c=0x5265c00,d=e=>{const f=e['value'],h=typeof f==='number'?f:typeof f==='string'?Number(f):NaN;return Number['isFinite'](h)?h:undefined;};for(const [e,f]of a){const h=f['table'],i=h['filter'](m=>typeof m?.['name']==='string'&&/day/i['test'](m['name'])),j=i['find'](m=>/ms[_\s]?per[_\s]?day/i['test'](m['name']));if(j===undefined)continue;const k=d(j);if(k===undefined||k===c)continue;const l=i['some'](m=>m!==j&&(d(m)??0x0)>0xe42);if(!l)continue;b['push']({'code':'DAYS_SLOT_UNIT_MISMATCH','detail':'guard\x20\x27'+e+'\x27:\x20a\x20day-denominated\x20slot\x20is\x20stuffed\x20with\x20MILLISECONDS\x20while\x20its\x20ms_per_day\x20row\x20reads\x20'+k+'\x20'+'(tbpr7\x20F-V3-04:\x20DAYS\x20slots\x20carrying\x20173000/864000\x20beside\x20ms_per_day\x20=\x201).\x20Guards\x20are\x20immutable\x20—\x20a\x20wrong\x20'+'unit\x20is\x20PERMANENT:\x20the\x20window\x20runs\x20~6\x20orders\x20of\x20magnitude\x20long\x20(or\x20short)\x20and\x20no\x20keeper\x20call\x20can\x20fix\x20it.\x20'+'Day\x20slots\x20carry\x20DAY\x20COUNTS\x20(twin\x20templates\x20scale\x20by\x2086400000\x20at\x20compile;\x20on-chain\x20day\x20twins\x20keep\x20the\x20'+'ms_per_day\x20=\x2086400000\x20row):\x20set\x20ms_per_day\x20back\x20to\x2086400000\x20and\x20re-derive\x20the\x20day\x20slots\x20via\x20fee-param\x20bindings.'});}}return{'blockers':b};}export function checkWindowTruncation({resolvedGuards:a}){const b=[],c=0x5265c00,d=0x36ee80,e=f=>{const h=f['value'],i=typeof h==='number'?h:typeof h==='string'?Number(h):NaN;return Number['isFinite'](i)?i:undefined;};for(const [f,h]of a){const i=new Map();for(const o of h['table']){if(!o||typeof o!=='object'||Array['isArray'](o))continue;const p=o;typeof p['identifier']==='number'&&p['b_submission']!==!![]&&i['set'](p['identifier'],p);}const j=q=>typeof q==='number'?i['get'](q):undefined,k=q=>{const s=[];for(const t of['nodes','and','or','left','right']){const u=q[t];if(Array['isArray'](u))s['push'](...u);else{if(u!==undefined)s['push'](u);}}return s;},l=q=>{if(!q||typeof q!=='object'||Array['isArray'](q))return{'multiplies':0x0,'total':0x0};const s=q,t=typeof s['type']==='string'?s['type']:'';if(t==='calc_number_multiply'&&Array['isArray'](s['nodes'])&&s['nodes']['length']===0x2){const [x,y]=s['nodes'],z=x!==null&&typeof x==='object'&&x['type']==='identifier'?j(x['identifier']):undefined,A=y!==null&&typeof y==='object'&&y['type']==='identifier'?j(y['identifier']):undefined;if(z===undefined||A===undefined)return undefined;const B=e(z)===c?z:e(A)===c?A:undefined;if(B===undefined)return undefined;const C=B===z?A:z;if(C['value_type']!=='U64'||B['value_type']!=='U64')return undefined;const D=e(C);if(D===undefined)return undefined;return{'multiplies':0x1,'total':D};}let u=0x0,w=0x0;for(const E of k(s)){const F=l(E);if(F===undefined)return undefined;u+=F['multiplies'],w+=F['total'];}return{'multiplies':u,'total':w};},m=(q,s)=>{if(!q||typeof q!=='object'||Array['isArray'](q))return;const t=q,u=typeof t['type']==='string'?t['type']:'',v=u['includes']('lesser')?!![]:u['includes']('greater')?![]:s;if(u['includes']('lesser')){const w=t['nodes'],x=Array['isArray'](w)?w[0x1]:undefined,y=x!==undefined?l(x):{'multiplies':0x0,'total':0x0};y!==undefined&&y['multiplies']>0x0&&y['total']<0x1&&b['push']({'code':'WINDOW_TRUNCATION_ZERO','detail':'guard\x20\x27'+f+'\x27:\x20a\x20CLOSING\x20window\x27s\x20day\x20slots\x20total\x20'+String(y['total'])+'\x20day(s)\x20—\x20a\x20zero\x20(or\x20'+'sub-1\x20fraction,\x20which\x20the\x20U64\x20slot\x20truncates\x20to\x200\x20at\x20BCS\x20encode)\x20makes\x20the\x20leg\x20compute\x20'+'anchor\x20+\x200\x20×\x2086400000\x20on-chain,\x20so\x20the\x20`<=`\x20window\x20welds\x20shut\x20the\x20instant\x20its\x20anchor\x20entry\x20'+'lands\x20and\x20never\x20reopens\x20(Guards\x20are\x20immutable;\x20the\x20live\x20run\x20compiled\x20a\x200.002-day\x20test\x20window\x20'+'into\x20exactly\x20this\x20shape).\x20Pass\x20whole\x20days,\x20or\x20answer\x20the\x20window\x27s\x20PARALLEL\x20`*_ms`\x20knob\x20'+'(e.g.\x20review_window_ms:\x20600000\x20=\x20a\x2010-minute\x20window;\x20nnd4\x20F-04)\x20—\x20the\x20compiler\x20then\x20emits\x20'+'the\x20millisecond-denominated\x20slot\x20pair\x20(duration_ms\x20beside\x20a\x20day-factor\x20of\x201).'});}if(u['includes']('greater')){const z=t['nodes'],A=Array['isArray'](z)?z[0x1]:undefined,B=A!==undefined?l(A):{'multiplies':0x0,'total':0x0};B!==undefined&&B['multiplies']>0x0&&B['total']>0x0&&B['total']<0x1&&b['push']({'code':'WINDOW_TRUNCATION_ZERO','detail':'guard\x20\x27'+f+'\x27:\x20an\x20OPENING\x20window\x27s\x20day\x20slots\x20total\x20'+String(B['total'])+'\x20day(s)\x20—\x20the\x20U64\x20slot\x20'+'truncates\x20the\x20fraction\x20to\x200,\x20so\x20the\x20`>=`\x20leg\x20computes\x20anchor\x20+\x200\x20×\x2086400000\x20and\x20the\x20window\x20'+'opens\x20at\x20its\x20anchor\x20instead\x20of\x20waiting\x20the\x20declared\x20fraction\x20(Guards\x20are\x20immutable;\x20on\x20a\x20fund\x20'+'rail\x20this\x20flips\x20the\x20exit\x20polarity\x20—\x20a\x20refund/claim\x20window\x20unlocks\x20before\x20its\x20business\x20'+'precondition).\x20Pass\x20whole\x20days,\x20or\x20answer\x20the\x20window\x27s\x20PARALLEL\x20`*_ms`\x20knob\x20'+'(duration_ms\x20beside\x20a\x20day-factor\x20of\x201,\x20nnd4\x20F-04).\x20An\x20exact\x200\x20(deliberate\x20no-delay\x20open)\x20stays\x20legal.'});}for(const C of k(t))m(C,v);};m(h['root'],![]);const n=q=>{if(!q||typeof q!=='object'||Array['isArray'](q))return;const s=q,t=typeof s['type']==='string'?s['type']:'';if(t==='calc_number_multiply'&&Array['isArray'](s['nodes'])&&s['nodes']['length']===0x2){const [u,v]=s['nodes'],w=u!==null&&typeof u==='object'&&u['type']==='identifier'?j(u['identifier']):undefined,x=v!==null&&typeof v==='object'&&v['type']==='identifier'?j(v['identifier']):undefined;if(w!==undefined&&x!==undefined){const y=e(w)===d?w:e(x)===d?x:undefined,z=y===undefined?undefined:y===w?x:w,A=z!==undefined?e(z):undefined;A!==undefined&&Number['isFinite'](A)&&!Number['isInteger'](A)&&b['push']({'code':'WINDOW_TRUNCATION_ZERO','detail':'guard\x20\x27'+f+'\x27:\x20an\x20hours-denominated\x20slot\x20(row\x20'+String(z?.['identifier'])+')\x20carries\x20'+String(A)+'\x20'+'beside\x20the\x203600000\x20hours→ms\x20row\x20—\x20a\x20FRACTIONAL\x20hour\x20count\x20is\x20unrepresentable\x20in\x20the\x20U64\x20slot:\x20'+('BCS\x20truncates\x20it\x20to\x20'+String(Math['trunc'](A))+'\x20and\x20the\x20band/window\x20the\x20term\x20bounds\x20collapses\x20to\x20')+'0\x20(the\x20mtw-mainnet\x20run\x27s\x20travel\x20fee\x20ladder\x20compiled\x20a\x200.5-hour\x20tier\x20seam\x20to\x20tier\x20+\x200,\x20melting\x20'+'two\x20cancellation\x20bands\x20into\x20one;\x20Guards\x20are\x20immutable).\x20Answer\x20whole\x20hours,\x20or\x20resolve\x20the\x20'+'guard\x20with\x20an\x20ms-denominated\x20table\x20(duration_ms)\x20where\x20the\x20fraction\x20is\x20representable.'});}}for(const B of k(s))n(B);};n(h['root']);}return{'blockers':b};}export function checkWindowUnitNaming({resolvedGuards:a}){const b=[],c=0x5265c00,d=0x36ee80,e=i=>typeof i==='string'&&/(^|_)(hours?|hrs?)(\b|_)/i['test'](i),f=i=>typeof i==='string'&&/(^|_)(days?)(\b|_)/i['test'](i),h=i=>typeof i==='string'&&/(^|_)(ms|millis(econds?)?)(\b|_)/i['test'](i);for(const [i,j]of a){const k=new Map();for(const o of j['table']){if(!o||typeof o!=='object'||Array['isArray'](o))continue;const p=o;typeof p['identifier']==='number'&&p['b_submission']!==!![]&&k['set'](p['identifier'],p);}const l=q=>typeof q==='number'?k['get'](q):undefined,m=q=>{const s=[];for(const t of['nodes','and','or','left','right']){const u=q[t];if(Array['isArray'](u))s['push'](...u);else{if(u!==undefined)s['push'](u);}}return s;},n=q=>{if(!q||typeof q!=='object'||Array['isArray'](q))return;const s=q,t=typeof s['type']==='string'?s['type']:'';if(t==='calc_number_multiply'&&Array['isArray'](s['nodes'])&&s['nodes']['length']===0x2){const [u,v]=s['nodes'],w=u!==null&&typeof u==='object'&&u['type']==='identifier'?l(u['identifier']):undefined,x=v!==null&&typeof v==='object'&&v['type']==='identifier'?l(v['identifier']):undefined;if(w!==undefined&&x!==undefined){const y=rowNumOfLocal(w),z=rowNumOfLocal(x),A=y===c||y===d?w:z===c||z===d?x:undefined,B=A===undefined?undefined:A===w?x:w;if(A!==undefined&&B!==undefined){const C=rowNumOfLocal(A)===c?'days':'hours',D=B['name'],E=e(D),F=f(D),G=h(D),H=C==='days'&&(E||G)||C==='hours'&&(F||G);H&&b['push']({'code':'WINDOW_UNIT_NAMING','detail':'guard\x20\x27'+i+'\x27:\x20slot\x20'+String(B['identifier'])+'\x20is\x20named\x20\x27'+String(D)+'\x27\x20but\x20the\x20'+('expression\x20multiplies\x20it\x20by\x20'+(C==='days'?'86400000\x20(days→ms)':'3600000\x20(hours→ms)')+'\x20—\x20')+'the\x20NAME\x20speaks\x20a\x20different\x20unit\x20than\x20the\x20VALUE\x20is\x20consumed\x20as\x20(kl\x20F-ORDER-06:\x20an\x20'+'\x27hours\x27-named\x20slot\x20riding\x20the\x20day\x20factor\x20turned\x20a\x2060-minute\x20window\x20into\x2060\x20days).\x20'+'Rename\x20the\x20slot\x20to\x20the\x20unit\x20it\x20carries,\x20or\x20fix\x20the\x20factor\x20—\x20Guards\x20freeze\x20at\x20publish\x20'+'and\x20every\x20later\x20reader\x20inherits\x20the\x20lie.'});}}}for(const I of m(s))n(I);};n(j['root']);}return{'blockers':b};}function rowNumOfLocal(a){const b=a['value'],c=typeof b==='number'?b:typeof b==='string'?Number(b):NaN;return Number['isFinite'](c)?c:undefined;}export function emitServiceDraft({template:a,base:b,inputs:c}){const d=[],e=[],f=typeof c['currency']==='string'?c['currency']['trim']():'',g=f===''?CANONICAL_CURRENCY:normalizeCurrency(f);g===undefined&&e['push']({'code':'CURRENCY_UNRESOLVED','detail':'inputs.currency\x20\x27'+String(c['currency'])+'\x27\x20is\x20not\x20a\x20resolvable\x20token\x20type.\x20Pass\x20the\x20'+'fully-qualified\x20form\x20\x270x2::wow::WOW\x27\x20or\x20the\x20bare\x20symbol\x20\x27WOW\x27\x20(aliased\x20here).\x20The\x20plan\x20carries\x20the\x20'+'canonical\x20default\x20so\x20the\x20shape\x20stays\x20inspectable,\x20but\x20the\x20verdict\x20is\x20blocked:\x20an\x20unqualified\x20symbol\x20'+'aborts\x20at\x20the\x20service\x20create\x20(type_parameter\x20validation)\x20AFTER\x20earlier\x20steps\x20already\x20ran\x20—\x20plan_execute\x20'+'is\x20not\x20transactional\x20(algr9\x20F-03:\x204\x20orphan\x20objects\x20behind\x20the\x20failed\x20step).'});const h=g??CANONICAL_CURRENCY;return d['push']({'op':'create','id':'service','object':'service','params':P({'name':b+'_service','type_parameter':h,'permission':ref('permission'),'um':ref('contact'),'description':a['id']+'\x20—\x20compiled\x20by\x20the\x20composition\x20compiler',...Array['isArray'](c['customer_required'])?{'customer_required':c['customer_required']}:{}}),'notes':'Draft\x20first\x20(F-01):\x20registers\x20the\x20LocalMark\x20name\x20every\x20guard\x20resolves\x20at\x20runtime.\x20'+'machine/repositories/buy_guard\x20attach\x20in\x20configure\x20steps\x20after\x20machine_publish\x20'+'(schema-sanctioned\x20phased\x20build;\x20machine/order_allocators\x20remain\x20publish-frozen).'}),{'steps':d,'currency':h,'blockers':e};}function runtimeWriteReceipt({policy:a,idFrom:b,valueType:c,writeGuard:d,submissionNote:e}){const f=b==='signer'||b==='clock',g=d['length']>0x0?'write_guard\x20'+JSON['stringify'](d)+'\x20MUST\x20ride\x20the\x20call'+e:'the\x20policy\x20ships\x20no\x20write_guard\x20(legal\x20only\x20for\x20signer/clock\x20rows)';return{'repository':ref('repository'),'policy':a,'id_from':f?b:'none','shape':f?'single_value':'items','call':{'data_add':f?{'name':a,'data':'<writer\x20payload\x20(value_type\x20'+c+')>',...d['length']>0x0?{'write_guard':d}:{}}:{'name':a,'items':[{'id':'<caller-chosen\x20row\x20key\x20(value_type\x20'+c+')>','data':'<row\x20payload>'}],...d['length']>0x0?{'write_guard':d}:{}}},'notes':f?'F-19\x20(dspt-mn-261104):\x20id_from='+b+'\x20rows\x20write\x20ONLY\x20this\x20single-value\x20data_add\x20form\x20—\x20the\x20items\x20shape\x20routes\x20to\x20'+('the\x20on-chain\x20batch-row\x20import\x20path\x20(multi-row\x20writes),\x20which\x20requires\x20id_from==ID_FROM_NONE\x20and\x20aborts\x20a\x20'+b+'-keyed\x20policy\x20')+('with\x20E_POLICY_ID_FROM_NONE=21;\x20the\x20row\x20id\x20auto-derives\x20from\x20the\x20writing\x20'+b+'.\x20'+g+'.\x20')+'The\x20write\x20is\x20a\x20RUNTIME\x20chain\x20op\x20(executed\x20by\x20each\x20writer\x20at\x20order\x20time)\x20—\x20this\x20receipt\x20documents\x20the\x20shape,\x20never\x20a\x20Plan\x20step.':'F-19\x20(dspt-mn-261104):\x20id_from=none\x20rows\x20write\x20ONLY\x20the\x20items\x20data_add\x20form\x20(the\x20batch-row\x20import\x20path\x20—\x20every\x20item\x20'+('carries\x20its\x20own\x20caller-chosen\x20row\x20id\x20of\x20value_type\x20'+c+');\x20a\x20single-value\x20form\x20would\x20auto-derive\x20the\x20id\x20from\x20')+('the\x20writer\x20and\x20abort\x20(E_POLICY_ID_FROM_NONE=21\x20family).\x20'+g+'.\x20')+'The\x20write\x20is\x20a\x20RUNTIME\x20chain\x20op\x20—\x20this\x20receipt\x20documents\x20the\x20shape,\x20never\x20a\x20Plan\x20step.'};}export const GOAL_LATCH_ARM_STEP_ID='repository_goal_latch_arm';export function goalLatchArmFromResolved(a,b){const c=k=>k!=null&&typeof k==='object'&&!Array['isArray'](k),d=k=>{if(Array['isArray'](k['nodes']))return k['nodes']['filter'](c);if(c(k['node']))return[k['node']];return[];},e=(k,l)=>l===undefined?undefined:k['find'](m=>c(m)&&Number(m['identifier'])===l)?.['value'],f=k=>typeof k==='string'&&k['length']>0x0&&!k['includes']('${'),g=k=>{if(typeof k==='number'&&Number['isInteger'](k)&&k>0x0)return String(k);if(typeof k==='string'&&/^\d+$/['test'](k)&&BigInt(k)>0x0n)return k;return undefined;};let h,i;const j=k=>{if(h===undefined){h=k;return;}if(h['key']===k['key']&&h['threshold']===k['threshold'])return;i='two\x20DISTINCT\x20goal-latch\x20arms\x20detected\x20in\x20one\x20build:\x20{key:\x22'+h['key']+'\x22,\x20threshold:'+h['threshold']+'}\x20vs\x20'+('{key:\x22'+k['key']+'\x22,\x20threshold:'+k['threshold']+'}\x20—\x20the\x20repository\x20builtin\x20spec\x20is\x20a\x20SINGLE\x20slot\x20')+'(re-arming\x20overwrites),\x20so\x20the\x20kernel\x20refuses\x20to\x20guess\x20which\x20goal\x20is\x20real.\x20Keep\x20ONE\x20threshold\x20aggregate\x20per\x20'+'build\x20(or\x20use\x20distinct\x20contribution\x20keys\x20AND\x20arm\x20the\x20rest\x20at\x20runtime),\x20then\x20recompile.';};for(const k of a['values']()){if(!c(k['root']))continue;const l=(m,n,o)=>{if(o>0x18||i!==undefined)return;const p=typeof m['type']==='string'?m['type']:'';if(p['startsWith']('query_repository_data_sum_where')&&n!==undefined){const q=typeof n['type']==='string'?n['type']:'';if(/^logic_as_u256_(greater|lesser)/['test'](q)&&Array['isArray'](n['nodes'])){const r=n['nodes'],s=r['find'](z=>c(z)&&z!==m),t=s!==undefined&&s['type']==='identifier'&&Number['isFinite'](Number(s['identifier']))?Number(s['identifier']):undefined,u=c(m['object'])&&Number['isFinite'](Number(m['object']['identifier']))?Number(m['object']['identifier']):undefined,v=c(m['key'])&&Number['isFinite'](Number(m['key']['identifier']))?Number(m['key']['identifier']):undefined,w=e(k['table'],u),x=e(k['table'],v),y=e(k['table'],t);w===b&&f(x)&&g(y)!==undefined&&j({'key':x,'threshold':g(y)});}}for(const z of d(m))l(z,m,o+0x1);};l(k['root'],undefined,0x0);if(i!==undefined)return{'conflict':i};}return{'arm':h,'conflict':i};}export function emitEvidenceRepository({needsRepository:a,base:b,inputs:c,guardSpecs:d,resolvedGuards:e}){const f=[],g=[],h=[],i=[],j=[],k=a?goalLatchArmFromResolved(e,b+'_evidence'):{};k['conflict']!==undefined&&g['push']({'code':'GOAL_LATCH_THRESHOLD_CONFLICT','detail':k['conflict']});if(a){const l=Array['isArray'](c['repository_policies'])?c['repository_policies']['filter'](q=>typeof q==='object'&&q!==null):[],m=l['map'](q=>Array['isArray'](q['write_guard'])?q:{'write_guard':[],...q}),n=[];for(const p of m){const q=p['description'];if(typeof q!=='string')continue;const [r,s]=capUtf8(q,MAX_POLICY_DESCRIPTION_LEN);s&&(p['description']=r,n['push'](proseTruncatedAdvisory('caller-supplied\x20repository_policies\x20entry\x20\x27'+String(p['name']??'(unnamed)')+'\x27\x20description',Buffer['byteLength'](q,'utf8'),MAX_POLICY_DESCRIPTION_LEN,'on-chain\x20repository\x20policy\x20description\x20length\x20cap')));}for(const t of l){const u=typeof t['id_from']==='string'?t['id_from']['toLowerCase']():'none',v=Array['isArray'](t['write_guard'])?t['write_guard']['length']:0x0;u==='none'&&v===0x0&&g['push']({'code':'REPO_POLICY_WRITE_GUARD_REQUIRED','detail':'repository_policies\x20entry\x20\x27'+String(t['name']??'(unnamed)')+'\x27\x20declares\x20id_from\x20'+'\x27none\x27\x20(caller-supplied\x20row\x20key)\x20with\x20NO\x20write_guard\x20—\x20the\x20chain\x20aborts\x20policy\x20'+'creation\x20with\x20E_POLICY_WRITE_GUARD_REQUIRED\x20=\x2022\x20at\x20the\x20create\x20step\x20or\x20at\x20any\x20later\x20'+'policy\x20add\x20(the\x20id\x20is\x20caller-chosen,\x20so\x20an\x20ungated\x20rule\x20'+'would\x20let\x20anyone\x20write\x20the\x20row).\x20Attach\x20a\x20write_guard:[{guard:...}]\x20leg,\x20or\x20switch\x20'+'the\x20policy\x20to\x20id_from\x20\x22signer\x22/\x22clock\x22\x20if\x20the\x20row\x20key\x20may\x20be\x20derived\x20from\x20the\x20writer.'});}const o=new Set(l['map'](w=>w['name']));for(const w of m){const x=typeof w['name']==='string'?w['name']:undefined;if(x===undefined)continue;j['push'](runtimeWriteReceipt({'policy':x,'idFrom':typeof w['id_from']==='string'?w['id_from']['toLowerCase']():'none','valueType':typeof w['value_type']==='string'?w['value_type']:'String','writeGuard':Array['isArray'](w['write_guard'])?w['write_guard']:[],'submissionNote':';\x20the\x20passport\x20must\x20submit\x20the\x20write_guard\x27s\x20b_submission\x20rows'}));}for(const y of d){if(y['host']!=='repository'||y['step_id']===undefined)continue;const z='host:\x22repository\x22\x20guard\x20\x27'+y['key']+'\x27\x20(step\x20\x27'+y['step_id']+'\x27)';if(y['policy']===undefined){g['push']({'code':'REPO_GUARD_POLICY_MISSING','detail':z+'\x20declares\x20no\x20policy\x20on\x20the\x20guards[]\x20entry.\x20Its\x20Repository\x20policy\x20'+'(name\x20/\x20id_from\x20/\x20value_type)\x20is\x20business\x20data\x20the\x20kernel\x20must\x20not\x20fabricate,\x20'+'and\x20an\x20unbound\x20repository\x20guard\x20is\x20an\x20orphan\x20create\x20that\x20leaves\x20the\x20Repository\x20'+'open\x20to\x20any\x20writer.\x20Add\x20policy:{name,\x20id_from,\x20value_type}\x20to\x20the\x20spec,\x20or\x20bind\x20'+'the\x20guard\x20through\x20repository_policies\x20inputs\x20with\x20this\x20guard\x27s\x20own\x20write_guard\x20shape.'});continue;}const A=y['policy']['name']??y['key'],B=(y['policy']['id_from']??'none')['toLowerCase'](),C=y['policy']['id_from_submission'],D=y['policy']['data_from_submission'];C!==undefined&&(B==='signer'||B==='clock')&&g['push']({'code':'REPO_GUARD_SUBMISSION_ID_FORBIDDEN','detail':z+'\x20declares\x20id_from_submission\x20'+C+'\x20while\x20its\x20policy\x20id_from\x20is\x20'+('\x27'+B+'\x27\x20—\x20the\x20row\x20id\x20is\x20AUTO-generated\x20from\x20the\x20'+B+'\x20there,\x20and\x20a\x20')+'submission-derived\x20id\x20conflicts\x20with\x20that\x20routing\x20(the\x20chain\x20aborts\x20policy\x20creation\x20'+'with\x20E_POLICY_ID_FROM_SUBMISSION_FORBIDDEN\x20=\x2023\x20—\x20at\x20the\x20create\x20step\x20or\x20at\x20any\x20later\x20'+'permission-102\x20policy\x20add\x20—\x20so\x20this\x20must\x20be\x20fixed,\x20BK15-F13).\x20Drop\x20id_from_submission\x20'+'(keep\x20data_from_submission\x20—\x20the\x20value\x20leg\x20is\x20legal\x20under\x20signer\x20routing),\x20or\x20switch\x20'+'the\x20policy\x20to\x20id_from\x20\x22none\x22\x20(caller-supplied\x20row\x20key,\x20guarded\x20by\x20this\x20write_guard).'});{const J=e['get'](y['key']),K=[['id_from_submission',C],['data_from_submission',D]];for(const [L,M]of K){if(M===undefined)continue;const N=J?.['table']['find'](O=>O['identifier']===M);(J===undefined||N===undefined||N['b_submission']!==!![])&&g['push']({'code':'REPO_GUARD_SUBMISSION_SLOT_UNKNOWN','detail':z+'\x20declares\x20'+L+'\x20'+M+',\x20but\x20the\x20resolved\x20guard\x20table\x20has\x20'+'NO\x20b_submission=true\x20row\x20at\x20that\x20identifier\x20—\x20the\x20passport\x20builder\x20DROPS\x20'+'undeclared\x20slots,\x20so\x20this\x20pairing\x20leg\x20would\x20silently\x20derive\x20nothing\x20at\x20write\x20'+'time\x20(the\x20write\x20aborts\x20or\x20writes\x20caller-free\x20values,\x20BK15-F13).\x20Declare\x20a\x20'+('b_submission=true\x20table\x20row\x20at\x20identifier\x20'+M+'\x20on\x20the\x20guard,\x20or\x20point\x20')+(L+'\x20at\x20an\x20existing\x20submission\x20slot.')});}}if(o['has'](A))continue;const E=y['policy']['description']??y['purpose'],[F,G]=capUtf8(E,MAX_POLICY_DESCRIPTION_LEN);G&&(y['purpose']=y['purpose']+'\x20'+proseTruncatedAdvisory('repository\x20policy\x20\x27'+A+'\x27\x20description',Buffer['byteLength'](E,'utf8'),MAX_POLICY_DESCRIPTION_LEN,'on-chain\x20repository\x20policy\x20description\x20length\x20cap'));const H={'name':A,'description':F,'id_from':y['policy']['id_from']??'none','value_type':y['policy']['value_type']??'String','write_once':y['policy']['write_once']??![]},I=[{'guard':ref(y['step_id']),...C!==undefined?{'id_from_submission':C}:{},...D!==undefined?{'data_from_submission':D}:{}}];h['push']({...H,'write_guard':I}),i['push'](y['step_id']),j['push'](runtimeWriteReceipt({'policy':A,'idFrom':B,'valueType':y['policy']['value_type']??'String','writeGuard':I,'submissionNote':';\x20the\x20passport\x20must\x20submit\x20the\x20write_guard\x27s\x20b_submission\x20rows'}));}f['push']({'op':'create','id':'repository','object':'repository','params':P({'name':b+'_evidence',...m['length']>0x0?{'policies':m}:{}}),'notes':'Evidence\x20rows\x20(tracking\x20hash,\x20receipts,\x20WTS\x20proofs).\x20Created\x20BEFORE\x20the\x20guard\x20wave\x20so\x20the\x20guards\x27\x20table\x20rows\x20reach\x20this\x20repository\x20by\x20plan\x20ref.\x20[F-BS5-03\x20(bst5-mn-261101):\x20the\x20create\x20ships\x20ONLY\x20caller-supplied\x20policies\x20that\x20are\x20legal\x20at\x20construction\x20—\x20every\x20guard-derived\x20policy\x20lands\x20at\x20the\x20repository_write_guards\x20configure\x20step\x20right\x20after\x20the\x20wave,\x20in\x20its\x20credential-bound\x20(write_guard-attached)\x20form,\x20the\x20ONLY\x20legal\x20shape\x20for\x20id_from=none.]'+(n['length']>0x0?'\x20'+n['join']('\x20'):'')});}return{'steps':f,'repoBoundPolicies':h,'repoBoundStepIds':i,'runtimeWrites':j,'blockers':g,...k['arm']!==undefined?{'goalLatchArm':k['arm']}:{}};}export function emitReviewRepositoryEarly({reviewMode:a,base:b,inputs:c}){const d=[],e=[];return a!=='none'&&(c['buyer_review_enabled']===!![]&&e['push'](runtimeWriteReceipt({'policy':'buyer_review','idFrom':'signer','valueType':'String','writeGuard':[],'submissionNote':''})),d['push']({'op':'create','id':'repository_review','object':'repository','params':P({'name':b+'_review','description':'Structured\x20buyer\x20reputation\x20rows\x20(AR-1:\x20emitted\x20by\x20the\x20build\x20plan\x20—\x20no\x20manual\x20setup).',...c['buyer_review_enabled']===!![]?{'policies':[{'name':'buyer_review','description':'Merchant-side\x20structured\x20feedback\x20on\x20the\x20order/buyer\x20(D-R7\x20bidirectional\x20reputation,\x20opt-in).\x20One\x20immutable\x20row\x20per\x20writer\x20(id_from=Signer;\x20write-once\x20—\x20a\x20rewrite\x20attempt\x20aborts\x20on-chain,\x20K3(a)).\x20NO\x20write\x20guard\x20by\x20design:\x20merchant\x20authority\x20is\x20verified\x20at\x20READ\x20time\x20(the\x20writer\x20must\x20control\x20the\x20order\x27s\x20service\x20—\x20graph\x20ControlIndex).\x20Payload:\x20JSON\x20text\x20{rating,\x20tags?,\x20orderRef?}.','id_from':'signer','value_type':'String','write_once':!![],'write_guard':[]}]}:{}}),'notes':'REVIEW-COMPONENT\x20AR-1\x20(F-05\x20early\x20form):\x20the\x20review\x20TEXT\x20still\x20rides\x20the\x20forward\x20message\x20(D-R1\x20dual\x20carrier);\x20this\x20repository\x20carries\x20ONLY\x20the\x20structured\x20row.\x20The\x20buyer\x20writes\x20BOTH\x20rows\x20at\x20review\x20time,\x20both\x20ORDER-KEYED\x20(F09):\x20\x27review\x27\x20(text\x20JSON,\x20id\x20=\x20the\x20ORDER\x20address)\x20AND\x20\x27rating\x27\x20(U64\x20stars,\x20id\x20=\x20the\x20ORDER\x20address).\x20The\x20\x27rating\x27\x20row\x20is\x20what\x20a\x20reward\x20good-review\x20leg\x20reads\x20(F-62).\x20Buyers\x20resolve\x20this\x20object\x20by\x20name\x20(workspace/onchain_objects)\x20—\x20never\x20guess\x20an\x20address.\x20[F-BS5-03\x20(bst5-mn-261101):\x20the\x20\x27review\x27/\x27rating\x27\x20policies\x20(id_from=none,\x20order-keyed)\x20ship\x20ONLY\x20on\x20the\x20repository_review_write_guards\x20configure\x20step\x20in\x20their\x20credential-bound\x20form\x20—\x20an\x20id_from=none\x20policy\x20without\x20a\x20write_guard\x20aborts\x20the\x20create\x20on-chain\x20(the\x20chain\x20requires\x20a\x20non-empty\x20write_guard\x20on\x20BOTH\x20the\x20create\x20path\x20and\x20every\x20later\x20policy\x20add).\x20buyer_review\x20(id_from=signer)\x20is\x20the\x20one\x20create-legal\x20policy.]'})),{'steps':d,'runtimeWrites':e};}export function rewritePlanRefs({base:a,resolvedGuards:b}){{const c=new Map([[a+'_service','service'],[a+'_evidence','repository'],[a+'_review','repository_review'],[a+'_arbitration','arbitration']]);for(const [,d]of b){for(const e of d['table']){const f=e,h=typeof f['value']==='string'?c['get'](f['value']):undefined;if(h!==undefined)f['value']=ref(h);}}}}export function dropEmptyVecGuards({resolvedGuards:a,guardSpecs:b,steps:c}){const d=[],e=[];{const f=new Map();for(const [i,j]of a){const k=new Set();for(const l of j['table']){const m=l;m['b_submission']===![]&&Array['isArray'](m['value'])&&m['value']['length']===0x0&&typeof m['identifier']==='number'&&k['add'](m['identifier']);}if(k['size']>0x0)f['set'](i,k);}const h=(n,o)=>{if(n===null||typeof n!=='object')return![];const p=n;if(p['type']!=='vec_contains_address'||!Array['isArray'](p['nodes']))return![];const q=p['nodes']['find'](s=>s['type']==='identifier');return q!==undefined&&typeof q['identifier']==='number'&&o['has'](q['identifier']);};for(const [n,o]of f){const p=a['get'](n),q=p['root'],s=b['find'](v=>v['key']===n),t=q['type']==='logic_not'&&h(q['node'],o);if(t&&s?.['host']==='service'&&n==='buy'){a['delete'](n),s['step_id']=undefined,e['push'](n);continue;}const u=[...o]['map'](String);d['push']({'code':'GUARD_EMPTY_VEC_ROW','detail':'guard\x20\x27'+n+'\x27\x20declares\x20static\x20vec\x20row(s)\x20'+u['join'](',\x20')+'\x20with\x20an\x20EMPTY\x20array\x20—\x20'+'the\x20executor\x20refuses\x20empty\x20static\x20vec\x20slots\x20(LE-10:\x20the\x20chain\x27s\x20table\x20builder\x20silently\x20DROPS\x20empty\x20'+'vectors,\x20so\x20the\x20created\x20Guard\x20would\x20diverge\x20from\x20the\x20reviewed\x20spec\x20—\x20mainnet\x207\x20submitted\x20->\x206\x20stored).\x20'+'Two\x20legal\x20exits:\x20(a)\x20arm\x20the\x20list\x20with\x20at\x20least\x20one\x20address\x20(the\x20blocklist\x20twin\x27s\x20intended\x20armed\x20form:\x20'+'list\x20the\x20provider-side\x20account(s)\x20to\x20ban\x20self-purchase);\x20or\x20(b)\x20if\x20the\x20empty\x20list\x20IS\x20the\x20intended\x20open\x20'+('polarity,\x20omit\x20the\x20guard:\x20guard_resolutions\x20{\x22'+n+'\x22:\x20{\x22kind\x22:\x20\x22omit\x22}}\x20—\x20the\x20compile\x20honors\x20omission\x20')+'and\x20the\x20attached\x20rail\x20ships\x20un-gated\x20(there\x20is\x20no\x20constant-true\x20Guard\x20object\x20to\x20fabricate).'});}}if(e['length']>0x0){const v=c['find'](w=>w['op']==='create'&&w['id']==='service');v!==undefined&&(v['notes']=(v['notes']??'')+'\x20[F-04\x20open-store\x20drop:\x20the\x20blocklist\x20buy\x20guard\x20('+e['join'](',\x20')+')\x20resolved\x20to\x20an\x20EMPTY\x20blocklist\x20—\x20NOT(vec_contains(empty))\x20is\x20constant\x20true,\x20a\x20no-op\x20gate,\x20and\x20the\x20executor\x20refuses\x20empty\x20vec\x20rows\x20(LE-10)\x20—\x20so\x20the\x20guard\x20and\x20its\x20buy\x20mount\x20are\x20OMITTED:\x20this\x20store\x20ships\x20OPEN.\x20To\x20arm\x20the\x20self-purchase\x20ban,\x20fill\x20the\x20blocklist\x20at\x20generation.]');}return{'blockers':d};}export function emitLoyaltyGate({template:a,base:b,guardSpecs:c,resolvedGuards:d}){const e=[],f=a['fee_params']['loyalty_min_orders'];if(f===undefined)return{'blockers':e};const h=typeof f==='number'?f:Number(String(f)['replace'](/^[^0-9]*/,''));if(!Number['isFinite'](h)||h<0x0)return e['push']({'code':'LOYALTY_MIN_ORDERS_INVALID','detail':'fee_param\x20\x27loyalty_min_orders\x27\x20=\x20'+String(f)+'\x20on\x20\x27'+a['id']+'\x27\x20is\x20not\x20a\x20non-negative\x20integer\x20—\x20'+'the\x20cross-order\x20gate\x20(U-19a)\x20needs\x20a\x20positive\x20order\x20count\x20(0\x20=\x20disabled).\x20Fix\x20the\x20value.'}),{'blockers':e};if(h===0x0)return{'blockers':e};if(!Number['isInteger'](h))return e['push']({'code':'LOYALTY_MIN_ORDERS_INVALID','detail':'fee_param\x20\x27loyalty_min_orders\x27\x20=\x20'+String(h)+'\x20on\x20\x27'+a['id']+'\x27\x20is\x20fractional\x20—\x20the\x20entity_order\x20'+'counter\x20is\x20a\x20whole\x20number\x20(query\x202251\x20returns\x20U64).\x20Round\x20to\x20an\x20integer\x20or\x20set\x200\x20to\x20disable.'}),{'blockers':e};const i=new Set();for(const v of d['values']()){for(const w of v['table']){const x=w['identifier'];if(typeof x==='number')i['add'](x);}}const j=()=>{for(let y=0x1;y<=0xfd;y++)if(!i['has'](y))return i['add'](y),y;return-0x1;},k=j(),l=j();if(k<0x0||l<0x0)return e['push']({'code':'LOYALTY_MIN_ORDERS_INVALID','detail':'no\x20free\x20guard-table\x20identifier\x20below\x20the\x20protocol\x20once\x20slots\x20(254/255)\x20to\x20host\x20the\x20loyalty\x20rows\x20on\x20\x27'+a['id']+'\x27\x20—\x20'+'the\x20resolved\x20guard\x20tables\x20are\x20saturated.\x20Reduce\x20static\x20rows\x20or\x20split\x20the\x20guard.'}),{'blockers':e};const m={'identifier':k,'b_submission':![],'value_type':'Address','value':WOW_SINGLETON_IDS['entityOrder'],'name':'EntityOrder\x20registrar\x20(genesis\x20singleton\x20object.move\x20@0xaa8)'},o={'identifier':l,'b_submission':![],'value_type':'U64','value':h,'name':'loyalty_min_orders\x20threshold\x20(orders\x20participated,\x20>=)'},p={'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':'entity_order.entity\x20count','object':{'identifier':k},'parameters':[{'type':'context','context':'Signer'}]},{'type':'identifier','identifier':l}]},q='buy',s=c['find'](y=>y['host']==='service'&&y['key']===q),t=d['get'](q);let u;if(s!==undefined&&t!==undefined)t['root']={'type':'logic_and','nodes':[t['root'],p]},t['table']['push'](m,o),u=t['stepId'];else{u=b+'_guard_loyalty';const y={'key':q,'template_id':'kernel.loyalty_min_orders','host':'service','purpose':'Repeat-purchase\x20eligibility\x20gate\x20(U-19a/N-12):\x20buy\x20requires\x20the\x20buyer\x27s\x20protocol-maintained\x20'+'entity_order\x20participation\x20count\x20(query\x202251)\x20to\x20be\x20>=\x20loyalty_min_orders','step_id':u};s!==undefined?(s['template_id']=y['template_id'],s['step_id']=u):c['push'](y),d['set'](q,{'stepId':u,'description':'Buy\x20requires\x20>=\x20'+h+'\x20prior\x20order\x20participations\x20by\x20the\x20buyer\x20address\x20(entity_order.entity\x20count,\x20'+'query\x202251\x20over\x20the\x20genesis\x20singleton\x20@0xaa8).\x20Protocol-maintained\x20counter\x20—\x20no\x20keeper,\x20no\x20writes.','table':[m,o],'root':p});}return{'blockers':e,'disclosure':'[kernel:\x20cross-order\x20loyalty\x20gate\x20(U-19a/N-12)\x20armed\x20on\x20the\x20buy\x20face\x20—\x20guard\x20'+u+',\x20threshold\x20'+h+']\x20'+'entity_order.entity\x20count\x20(query\x202251)\x20counts\x20orders\x20the\x20buyer\x20address\x20has\x20PARTICIPATED\x20IN:\x20every\x20role,\x20'+('every\x20status,\x20this\x20order\x20included\x20at\x20buy\x20time.\x20The\x20gate\x20is\x20\x22>=\x20'+h+'\x20orders\x20participated\x22,\x20NOT\x20\x22>=\x20'+h+'\x20orders\x20')+'completed\x22\x20—\x20roles\x20cannot\x20filter\x20history\x20(2253/2254\x20are\x20per-order\x20pair\x20predicates)\x20and\x20there\x20is\x20no\x20per-status\x20'+'counter\x20verb.\x20The\x20counter\x20is\x20protocol-maintained\x20(the\x20protocol\x20records\x20the\x20owner\x20role\x20at\x20every\x20order\x20'+'creation;\x20genesis\x20singleton\x20@0xaa8)\x20—\x20zero\x20keeper,\x20zero\x20configuration.'};}const WIP_HASH_QUERY='order.item.wip_hash',WIP_HASH_OPTIONAL_QUERY='order.item.wip_hash_or_absent';export function rewriteQueryTotality({resolvedGuards:a,inputs:inputs={}}){const b=[],c=new Set();if(Array['isArray'](inputs['sales']))for(const j of inputs['sales']){const k=j?.['name'];if(typeof k==='string'&&k!=='')c['add'](k);}if(c['size']===0x0)return{'blockers':b};let d=0x0;const e=[],f=new Set(),g=l=>{if(typeof l!=='object'||l===null)return undefined;const m=l;if(m['type']!=='query'||typeof m['query']!=='string')return undefined;return m['query']['trim']()['toLowerCase']()===WIP_HASH_QUERY?m:undefined;},h=(l,m)=>{if(typeof l!=='object'||l===null)return undefined;const n=l;if(n['type']==='constant'&&typeof n['value']==='string')return n['value'];if(n['type']==='identifier'&&typeof n['identifier']==='number')return m['get'](n['identifier']);return undefined;};for(const [l,m]of a){const n=new Map();for(const p of m['table']){if(!p||typeof p!=='object'||Array['isArray'](p))continue;const q=p;typeof q['identifier']==='number'&&typeof q['value']==='string'&&n['set'](q['identifier'],q['value']);}const o=s=>{if(Array['isArray'](s)){for(const u of s)o(u);return;}if(typeof s!=='object'||s===null)return;const t=s;if(typeof t['type']==='string'&&t['type']['startsWith']('logic')){const w=Array['isArray'](t['nodes'])?t['nodes']:undefined,x=w??[t['left'],t['right']],y=x['findIndex'](z=>g(z)!==undefined);if(y>=0x0){const z=y===0x0?0x1:0x0,A=h(x[z],n);if(A!==undefined&&!c['has'](A)){g(x[y])['query']=WIP_HASH_OPTIONAL_QUERY,d+=0x1,f['add'](A);if(!e['includes'](l))e['push'](l);}}}for(const B of Object['values'](t))o(B);};o(m['root']);}if(d===0x0)return{'blockers':b};const i='OPTIONAL\x20QUERY\x20REWRITE\x20(C1,\x20R-QUERY-TOTALITY):\x20'+d+'\x20wip-hash\x20comparison(s)\x20in\x20guard(s)\x20'+('['+e['join'](',\x20')+']\x20compared\x20order.item.wip_hash\x20against\x20constant(s)\x20')+('['+[...f]['join'](',\x20')+']\x20not\x20provable\x20in\x20this\x20plan\x27s\x20sales\x20catalog\x20—\x20rewritten\x20to\x20the\x20')+'optional\x20query\x20order.item.wip_hash_or_absent\x20(v143,\x20enable_guard_query_optional_family):\x20a\x20'+'missing\x20sale\x20row\x20reads\x20\x22\x22\x20and\x20the\x20leg\x20judges\x20false\x20instead\x20of\x20the\x20strict\x20native\x20abort\x20that\x20'+'would\x20wedge\x20the\x20order\x27s\x20fund\x20rails.';return{'blockers':b,'disclosure':i};}export function emitSlaCompensation({template:a,base:b,inputs:inputs={},shape:c,guardSpecs:d,resolvedGuards:e,specByKey:f}){const g=[],h=a['fee_params']??{},i=inputs['on_time_guarantee']==='voucher'?'proactive_payment':h['sla_compensation_mode'];if(i===undefined||i==='none')return{'blockers':g,'shape':c};if(i!=='proactive_payment'&&i!=='ladder')return g['push']({'code':'SLA_COMPENSATION_INVALID','detail':'fee_param\x20\x27sla_compensation_mode\x27\x20=\x20\x27'+String(i)+'\x27\x20on\x20\x27'+a['id']+'\x27\x20is\x20not\x20one\x20of\x20'+'none\x20|\x20proactive_payment\x20|\x20ladder.\x20\x27proactive_payment\x27\x20mounts\x20the\x20breach->compensated\x20rail\x20'+'(tpl_forward_penalty_payment);\x20\x27ladder\x27\x20is\x20carried\x20by\x20the\x20D5\x20cancel_tier_N_*\x20band\x20keys.'}),{'blockers':g,'shape':c};if(i==='ladder'){const D=Object['keys'](h)['filter'](E=>/^cancel_tier_\d+_boundary_hours$/['test'](E));if(D['length']===0x0)return g['push']({'code':'SLA_COMPENSATION_INVALID','detail':'sla_compensation_mode\x20=\x20\x27ladder\x27\x20on\x20\x27'+a['id']+'\x27\x20requires\x20the\x20D5\x20tiered-band\x20knobs\x20'+'(cancel_tier_N_boundary_hours\x20/\x20cancel_tier_N_charge_bps\x20fee_params)\x20—\x20the\x20ladder\x20value\x20is\x20an\x20'+'alias\x20for\x20the\x20D5\x20carrier,\x20not\x20a\x20second\x20mechanism.\x20Arm\x20the\x20cancel_tier_N_*\x20keys\x20or\x20use\x20'+'\x27proactive_payment\x27\x20for\x20the\x20flat\x20single-penalty\x20rail.'}),{'blockers':g,'shape':c};return{'blockers':g,'shape':c,'disclosure':'[kernel:\x20SLA\x20ladder\x20(N-01)\x20carried\x20by\x20the\x20D5\x20tiered-band\x20rails]\x20sla_compensation_mode=\x27ladder\x27\x20is\x20'+'an\x20alias:\x20the\x20cancel_tier_N_boundary_hours\x20/\x20cancel_tier_N_charge_bps\x20fee\x20params\x20compile\x20the\x20tier\x20'+'bands\x20(tpl_time_window_band_abs_order_holder\x20edges\x20+\x20per-tier\x20allocator\x20groups,\x20R-LADDER-MONOTONIC-01\x20'+'guarded).\x20No\x20separate\x20ladder\x20topology\x20is\x20emitted\x20—\x20one\x20mechanism,\x20one\x20carrier\x20(N-08).'};}const j=inputs['sla_penalty_amount']??h['sla_penalty_amount'],k=typeof j==='number'?j:Number(String(j??'')['replace'](/^[^0-9]*/,''));if(!Number['isFinite'](k)||!Number['isInteger'](k)||k<=0x0)return g['push']({'code':'SLA_COMPENSATION_INVALID','detail':'fee_param\x20\x27sla_penalty_amount\x27\x20=\x20\x27'+String(j)+'\x27\x20on\x20\x27'+a['id']+'\x27\x20is\x20not\x20a\x20positive\x20integer\x20'+'(base\x20units)\x20—\x20the\x20penalty\x20guard\x20compares\x20the\x20Payment\x20amount\x20against\x20this\x20constant\x20'+'(logic_as_u256_greater_or_equal).\x20Set\x20the\x20clause\x20amount\x20in\x20smallest\x20units,\x20or\x20drop\x20the\x20knob.'}),{'blockers':g,'shape':c};const l=inputs['sla_deadline_hours']??h['sla_deadline_hours'],m=typeof l==='number'?l:Number(String(l??'')['replace'](/^[^0-9]*/,''));if(!Number['isFinite'](m)||m<=0x0)return g['push']({'code':'SLA_COMPENSATION_INVALID','detail':'fee_param\x20\x27sla_deadline_hours\x27\x20=\x20\x27'+String(l)+'\x27\x20on\x20\x27'+a['id']+'\x27\x20is\x20not\x20a\x20positive\x20number\x20—\x20'+'the\x20SLA\x20deadline\x20names\x20the\x20promise\x20window\x20(marker\x20+\x20keeper\x20duty\x20anchor);\x20it\x20must\x20be\x20positive\x20hours.'}),{'blockers':g,'shape':c};const n=inputs['sla_marker_version']??h['sla_marker_version']??0x1,o=typeof n==='number'?n:Number(String(n)['replace'](/^[^0-9]*/,''));if(!Number['isFinite'](o)||!Number['isInteger'](o)||o<=0x0)return g['push']({'code':'SLA_COMPENSATION_INVALID','detail':'fee_param\x20\x27sla_marker_version\x27\x20=\x20\x27'+String(n)+'\x27\x20on\x20\x27'+a['id']+'\x27\x20is\x20not\x20a\x20positive\x20integer\x20—\x20'+'the\x20marker\x20version\x20suffix\x20is\x20the\x20clause\x20nonce:\x20bumping\x20it\x20invalidates\x20payments\x20minted\x20against\x20an\x20'+'older\x20clause\x20(old\x20payments\x20must\x20not\x20satisfy\x20a\x20new\x20amount).\x20Default\x201.'}),{'blockers':g,'shape':c};const p='sla-'+String(m)+'h-v'+o,q=new Set((a['allocator']?.['rows']??[])['filter'](E=>E['track']==='settlement')['map'](E=>E['guard_key'])['filter'](E=>typeof E==='string'&&E['trim']()!=='')),r=E=>typeof E==='string'&&/^(settle|release|payout)/i['test'](E);let s,t,u;for(const E of c){for(const F of E['from']??[]){const G=typeof F==='string'?{'prev':F}:F,H=typeof G['guard_key']==='string'&&q['has'](G['guard_key'])||r(G['forward']);if(!H)continue;s=E,u=G;break;}if(u!==undefined)break;}t=u!==undefined?c['find'](I=>I['name']===u['prev']):undefined;if(s===undefined||u===undefined||t===undefined)return g['push']({'code':'SLA_PROACTIVE_NO_SETTLEMENT_EDGE','detail':'sla_compensation_mode\x20=\x20\x27proactive_payment\x27\x20on\x20\x27'+a['id']+'\x27\x20found\x20no\x20settlement\x20edge\x20to\x20splice\x20'+'the\x20breach\x20waypoint\x20onto\x20(no\x20edge\x20rides\x20a\x20settlement-track\x20allocator\x20guard_key\x20or\x20a\x20'+'Settle/Release/Payout\x20forward,\x20or\x20the\x20edge\x27s\x20predecessor\x20node\x20is\x20missing\x20from\x20the\x20shape).\x20The\x20'+'proactive\x20rail\x20parks\x20orders\x20before\x20settlement,\x20so\x20it\x20needs\x20a\x20settlement\x20path\x20to\x20guard\x20—\x20give\x20the\x20'+'machine\x20a\x20settle\x20edge\x20or\x20use\x20mode\x20\x27ladder\x27/\x27none\x27.'}),{'blockers':g,'shape':c};if(f['has']('sla_penalty')||e['has']('sla_penalty'))return g['push']({'code':'SLA_COMPENSATION_INVALID','detail':'guard\x20key\x20\x27sla_penalty\x27\x20already\x20exists\x20on\x20\x27'+a['id']+'\x27\x20—\x20the\x20SLA\x20compensation\x20mount\x20owns\x20that\x20key.\x20'+'Rename\x20the\x20pre-existing\x20guard.'}),{'blockers':g,'shape':c};const v={};if(u['operator']!==undefined)v['operator']=u['operator'];if(u['permission_index']!==undefined)v['permission_index']=u['permission_index'];const w=fillGuardTemplate('tpl_forward_penalty_payment',{'penalty_marker':p,'penalty_amount':k,'service_name':b+'_service'});if(!w['ok'])return g['push']({'code':'SLA_COMPENSATION_INVALID','detail':'tpl_forward_penalty_payment\x20fill\x20failed\x20on\x20\x27'+a['id']+'\x27:\x20'+w['error']}),{'blockers':g,'shape':c};const x=b+'_guard_sla_penalty',y={'key':'sla_penalty','template_id':'tpl_forward_penalty_payment','host':'machine','purpose':'SLA\x20proactive\x20compensation\x20rail\x20(N-01):\x20the\x20breach->compensated\x20forward\x20advances\x20only\x20when\x20the\x20liable\x20'+'party\x20has\x20paid\x20an\x20on-chain\x20Payment\x20bound\x20to\x20THIS\x20order\x20(info.for),\x20carrying\x20THIS\x20clause\x27s\x20marker\x20'+('(\x27'+p+'\x27),\x20payable\x20to\x20the\x20order\x20owner,\x20for\x20at\x20least\x20'+k+'\x20base\x20units\x20—\x20the\x20255\x20once-slot\x20burns\x20')+'the\x20proof\x20so\x20one\x20Payment\x20settles\x20exactly\x20one\x20breach','step_id':x,'params':{'penalty_marker':p,'penalty_amount':k}};d['push'](y),f['set'](y['key'],y),e['set'](y['key'],{'stepId':x,'description':y['purpose'],'table':w['table'],'root':w['root']});const z=c['map'](I=>({...I,'from':[...I['from']??[]]})),A=z['find'](I=>I['name']===t['name']),B='sla_breach',C='sla_compensated';return z['push']({'name':B,'role':'SLA\x20breach\x20waypoint\x20(N-01):\x20the\x20order\x20parks\x20here\x20with\x20funds\x20intact\x20after\x20a\x20late\x20fulfillment\x20is\x20declared\x20—\x20'+'only\x20the\x20compensation\x20payment\x20proof\x20advances\x20it','from':[{'prev':u['prev'],'forward':'DeclareSlaBreach',...v}]}),z['push']({'name':C,'role':'SLA\x20compensated\x20waypoint\x20(N-01):\x20the\x20six-leg\x20penalty\x20payment\x20proof\x20(marker\x20\x27'+p+'\x27,\x20>=\x20'+k+')\x20'+'verified\x20and\x20burned\x20here;\x20the\x20resume\x20edge\x20re-enters\x20the\x20settlement\x20rail\x20from\x20this\x20node','from':[{'prev':B,'forward':'CompensateSlaBreach','guard_key':'sla_penalty',...v}]}),(A['from']!==undefined?A['from']:A['from']=[])['push']({'prev':C,'forward':'ResumeAfterCompensation',...v}),{'blockers':g,'shape':z,'keeperDuty':{'duty_kind':'sla_breach_check','detector':'timeout_intermediate','anchor':u['prev'],'window_param':'sla_deadline_hours','when':'sla_deadline_hours\x20('+String(m)+'h)\x20have\x20elapsed\x20past\x20the\x20fulfillment\x20anchor\x20and\x20the\x20order\x20has\x20'+('not\x20reached\x20settlement\x20—\x20the\x20SLA\x20window\x20(\x27'+p+'\x27)\x20has\x20closed'),'action':'verify\x20the\x20fulfillment\x20timestamp\x20against\x20the\x20'+String(m)+'h\x20window\x20and,\x20when\x20late,\x20declare\x20'+('the\x20breach\x20(forward\x20DeclareSlaBreach)\x20so\x20settlement\x20stays\x20parked\x20until\x20the\x20'+k+'-base-unit\x20')+'compensation\x20payment\x20verifies','miss_consequence':'an\x20undeclared\x20late\x20breach\x20lets\x20the\x20order\x20ride\x20the\x20normal\x20settlement\x20time-lock\x20and\x20'+'release\x20without\x20compensation\x20—\x20the\x20SLA\x20promise\x20degrades\x20to\x20an\x20arb-only\x20claim\x20(3x\x20cap\x20+\x20case\x20fee\x20'+'+\x2030d\x20freeze\x20for\x20the\x20buyer,\x20a\x20worse\x20branch\x20for\x20every\x20party\x20than\x20paying\x20the\x20penalty)'},'disclosure':'[kernel:\x20SLA\x20proactive\x20compensation\x20(U-01\x20reverse\x20expression\x20/\x20N-01)\x20armed\x20on\x20\x27'+b+'\x27\x20—\x20marker\x20'+('\x27'+p+'\x27,\x20penalty\x20'+k+'\x20base\x20units,\x20deadline\x20'+String(m)+'h]\x20The\x20machine\x20cannot\x20debit\x20anyone\x20')+'(no\x20clawback\x20primitive;\x20the\x20only\x20money\x20primitives\x20are\x20permissionless\x20voluntary\x20Payments\x20a\x20payer\x20signs)\x20—\x20'+'the\x20honest\x20form\x20is\x20\x22no\x20compensation\x20=>\x20no\x20release\x22:\x20a\x20declared\x20breach\x20parks\x20the\x20order\x20at\x20sla_breach\x20with\x20'+'funds\x20intact\x20until\x20the\x20liable\x20party\x27s\x20Payment\x20verifies\x20(tpl_forward_penalty_payment\x20six\x20legs,\x20255\x20'+'once-slot\x20burns\x20the\x20proof),\x20then\x20ResumeAfterCompensation\x20re-enters\x20the\x20settlement\x20rail.\x20Never\x20promise\x20'+'\x22automatic\x20fines\x22\x20—\x20the\x20chain\x20has\x20no\x20auto-debit;\x20non-compensation\x20escalates\x20to\x20arbitration\x20(3x\x20cap\x20+\x20'+'case\x20fee\x20+\x2030d\x20freeze),\x20which\x20is\x20the\x20branch\x20this\x20topology\x20prices\x20OUT.'};}export function emitNegotiationRail({template:a,base:b,inputs:c,shape:d,guardSpecs:e,resolvedGuards:f,specByKey:g,merchantIndex:h}){const i=[],j=d,k=H=>String(H?.['semantic_role']??''),l=H=>String(H?.['name']??''),m=H=>{const I=c?.[H]??a['fee_params']?.[H];return I===undefined||I===null?undefined:String(I);},n=(H,I)=>{const J=c?.[H]??a['fee_params']?.[H],K=typeof J==='number'?J:typeof J==='string'?Number(J):NaN;return Number['isFinite'](K)&&K>0x0?K:I;};if(String(m('negotiation_cancel_mode')??'on')['toLowerCase']()==='off')return{'blockers':i,'shape':d};const o=a['allocator']?.['rows'];if(!Array['isArray'](o)||o['length']===0x0)return{'blockers':i,'shape':d};const p=j['find'](H=>k(H)==='active');if(!p)return{'blockers':i,'shape':d};const q=H=>j['some'](I=>Array['isArray'](I?.['from'])&&I['from']['some'](J=>String(J?.['prev'])===H)),r=H=>!q(l(H)),s=j['find'](H=>r(H)&&(k(H)==='cancelled'||/cancel/i['test'](l(H)))&&a['allocator']['rows']['some'](I=>String(I?.['track'])==='refund'&&typeof I?.['guard_key']==='string'&&(Array['isArray'](H?.['from'])?H['from']:[])['some'](J=>J?.['guard_key']===I['guard_key'])));if(!s||l(s)===l(p))return{'blockers':i,'shape':d};const t=j['some'](H=>/cancel_requested|refund_requested/i['test'](l(H))||Array['isArray'](H?.['from'])&&H['from']['some'](I=>/request.*cancel|cancel.*request|refund_request/i['test'](String(I?.['forward']??''))));if(t)return{'blockers':i,'shape':d};const u=l(s),v=n('negotiation_response_days',0x3),w='negotiation_cancel';if(d['length']+0x1>MAX_MACHINE_NODES)return i['push']({'code':'NEGOTIATION_RAIL_NODE_CAP','detail':'Negotiation\x20rail\x20(§7-8):\x20shape\x20\x27'+b+'\x27\x20wants\x20the\x20buyer\x20negotiation\x20waypoint,\x20but\x20it\x20already\x20holds\x20'+(d['length']+'/'+MAX_MACHINE_NODES+'\x20nodes\x20(the\x20machine\x20node\x20cap).\x20Blocker,\x20never\x20a\x20silent\x20drop\x20—\x20')+'raise\x20the\x20shape\x20or\x20declare\x20the\x20rail\x20explicitly.'}),{'blockers':i,'shape':d};if((s['from']?.['length']??0x0)+0x2>MAX_NODE_INBOUND_PAIRS)return i['push']({'code':'NEGOTIATION_RAIL_FAN_IN_CAP','detail':'Negotiation\x20rail\x20(§7-8):\x20terminal\x20\x27'+u+'\x27\x20would\x20take\x20'+((s['from']?.['length']??0x0)+0x2)+'\x20'+('inbound\x20pairs\x20(grant\x20+\x20timeout\x20on\x20top\x20of\x20'+(s['from']?.['length']??0x0)+'),\x20breaching\x20')+('MAX_NODE_INBOUND_PAIRS\x20('+MAX_NODE_INBOUND_PAIRS+').\x20Blocker,\x20never\x20a\x20silent\x20drop.')}),{'blockers':i,'shape':d};const x=b+'_guard_negotiation_cancel_timeout',y={'key':'negotiation_cancel_timeout','template_id':'tpl_time_lock_progress_days','host':'machine','purpose':'Negotiation-rail\x20timeout\x20(§7-8):\x20the\x20keeper\x20closes\x20a\x20stalled\x20negotiation\x20—\x20Clock\x20>=\x20the\x20'+('negotiation_cancel\x20ENTRY\x20+\x20'+v+'d\x20—\x20advancing\x20into\x20\x27'+u+'\x27,\x20whose\x20own\x20')+'node-gated\x20full-refund\x20allocator\x20pays\x20the\x20buyer\x20(the\x20request\x20parked\x20funds\x20at\x20the\x20draft\x20'+'waypoint;\x20money\x20only\x20ever\x20moves\x20at\x20the\x20terminal)','step_id':x,'params':{'expected_node':w,'claim_window_days':v}};e['push'](y),g['set'](y['key'],y);const z=fillGuardTemplate(y['template_id'],{...y['params'],'service_name':b+'_service'});if(!z['ok'])return i['push']({'code':'NEGOTIATION_RAIL_INVALID','detail':'tpl_time_lock_progress_days\x20fill\x20failed\x20on\x20\x27'+a['id']+'\x27:\x20'+z['error']}),{'blockers':i,'shape':d};f['set'](y['key'],{'stepId':y['key'],'description':y['purpose'],'table':z['table'],'root':z['root']});const A=d['map'](H=>({...H,'from':[...H['from']??[]]})),B=A,C=B['find'](H=>l(H)===l(p)),D=B['find'](H=>l(H)===u);B['push']({'name':w,'role':'Negotiation\x20waypoint\x20(§7-8):\x20the\x20buyer\x20parked\x20the\x20order\x20here\x20to\x20negotiate\x20a\x20cancel\x20—\x20funds\x20intact,\x20'+('no\x20money\x20moves\x20at\x20this\x20node;\x20the\x20merchant\x20grants\x20(full\x20refund\x20via\x20\x27'+u+'\x27),\x20declines\x20')+('(work\x20resumes),\x20or\x20the\x20'+v+'d\x20window\x20lapses\x20(keeper\x20closes\x20with\x20the\x20same\x20full\x20refund)'),'semantic_role':'draft','operator':'order_payer','from':[{'prev':l(p),'forward':'RequestNegotiatedCancel','operator':'order_payer'}]}),C['from']['push']({'prev':w,'forward':'DeclineNegotiatedCancel','operator':'merchant','permission_index':h}),D['from']['push']({'prev':w,'forward':'GrantNegotiatedCancel','operator':'merchant','permission_index':h},{'prev':w,'forward':'NegotiatedCancelTimeout','operator':'merchant','permission_index':h,'guard_key':'negotiation_cancel_timeout'});let E=![],F='';if(String(m('on_partial_refund')??'lock')['toLowerCase']()==='continue'){const H=o['find'](I=>{if(String(I?.['track'])!=='refund')return![];const J=D['from']['some'](L=>L?.['guard_key']===I?.['guard_key']);if(!J)return![];if(I?.['value_from'])return!![];const K=typeof I?.['value']==='number'?I['value']:Number(I?.['value']);return Number['isFinite'](K)&&K>0x0&&K<0x2710;});H?(C['from']['push']({'prev':u,'forward':'SettlementResume','operator':'merchant','permission_index':h}),E=!![],F='partial-refund\x20band\x20rail\x20\x27'+String(H['guard_key'])+'\x27'):F='on_partial_refund=continue\x20was\x20set\x20but\x20no\x20partial-refund\x20band\x20rail\x20lands\x20on\x20a\x20cancelled\x20terminal\x20—\x20nothing\x20to\x20resume';}const G=['[kernel:\x20negotiation\x20rail\x20(§7-8)\x20spliced\x20into\x20\x27'+b+'\x27]\x20The\x20buyer\x20now\x20holds\x20a\x20sovereign\x20early\x20exit:\x20'+'RequestNegotiatedCancel\x20parks\x20the\x20order\x20at\x20negotiation_cancel\x20(draft\x20waypoint\x20—\x20funds\x20intact,\x20nothing\x20'+('moves);\x20the\x20merchant\x27s\x20GrantNegotiatedCancel\x20/\x20the\x20'+v+'d\x20')+('NegotiatedCancelTimeout\x20land\x20at\x20\x27'+u+'\x27,\x20whose\x20OWN\x20node-gated\x20full-refund\x20allocator\x20pays\x20the\x20')+'buyer\x20(money\x20is\x20terminal-gated,\x20never\x20waypoint-gated\x20—\x20the\x20same\x20reason\x20the\x20flagship\x27s\x20GrantCancelBySeller\x20'+'carries\x20no\x20edge\x20allocator);\x20DeclineNegotiatedCancel\x20resumes\x20work\x20(fresh\x20entry\x20re-anchors\x20the\x20active\x20'+'windows,\x20CHAIN-TRUTH\x20§10).\x20Opt\x20out\x20with\x20negotiation_cancel_mode:\x22off\x22\x20—\x20an\x20explicit\x20sovereignty\x20choice,\x20'+'never\x20a\x20silent\x20default.'];if(E)G['push']('[kernel:\x20partial-refund\x20resolution\x20(§7-1)\x20on_partial_refund:\x22continue\x22]\x20'+F+':\x20'+('SettlementResume\x20re-enters\x20\x27'+l(p)+'\x27\x20from\x20\x27'+u+'\x27\x20so\x20fulfillment\x20continues\x20after\x20')+'a\x20settled\x20partial\x20refund\x20(fresh\x20entry\x20re-anchors\x20the\x20windows;\x20find=last\x20entry\x20truth).\x20Default\x20\x22lock\x22\x20'+'keeps\x20the\x20band\x20cancel\x20terminal\x20—\x20set\x20the\x20param\x20explicitly\x20to\x20resume.');else F!==''&&G['push']('[kernel:\x20partial-refund\x20resolution\x20(§7-1)]\x20'+F+'\x20(advisory).');return{'blockers':i,'shape':A,'disclosure':G['join']('\x20')};}export function emitRefundConvergence({template:a,base:b,shape:c,guardSpecs:d,resolvedGuards:f,specByKey:g,merchantIndex:h}){const i=[],j=(a['allocator']?.['rows']??[])['filter'](t=>t['track']==='refund');if(j['length']===0x0)return{'blockers':i,'shape':c};if(c['some'](t=>t['name']==='closed_refunded'))return{'blockers':i,'shape':c};if(c['length']+0x1>MAX_MACHINE_NODES)return i['push']({'code':'REFUND_CONVERGENCE_NODE_CAP','detail':'refund-track\x20template\x20\x27'+a['id']+'\x27\x20('+j['length']+'\x20refund\x20row(s))\x20needs\x20the\x20kernel-injected\x20'+('closed_refunded\x20convergence\x20terminal,\x20but\x20the\x20shape\x20already\x20holds\x20'+c['length']+'/'+MAX_MACHINE_NODES+'\x20')+'nodes\x20(the\x20chain\x27s\x20machine\x20node-count\x20cap)\x20—\x20adding\x20it\x20would\x20abort\x20the\x20chain\x20create.\x20Simplify\x20the\x20shape\x20(or\x20declare\x20your\x20own\x20'+'closed_refunded\x20node)\x20instead\x20of\x20shipping\x20a\x20refund\x20loop\x20with\x20no\x20provable\x20close.'}),{'blockers':i,'shape':c};const k='refund_latch_convergence';let l=k,m=0x2;while(g['has'](l)||f['has'](l)){l=k+'_'+m,m+=0x1;}const o='Refund-latch\x20convergence\x20(K3\x20C3):\x20this\x20forward\x20advances\x20ONLY\x20when\x20order.principal_refunded\x20'+'(chain-query\x201579,\x20the\x20RefundStamp\x20latch\x20the\x20order\x20layer\x20sets\x20once\x20and\x20never\x20forgeably)\x20reads\x20TRUE\x20on\x20THIS\x20order\x20(254\x20'+'task-binding\x20slot)\x20—\x20the\x20latch\x20is\x20set\x20once\x20by\x20the\x20chain\x20when\x20the\x20refund\x20principal\x20is\x20paid\x20back\x20'+'in\x20full,\x20so\x20closed_refunded\x20is\x20reachable\x20exactly\x20when\x20the\x20refund\x20loop\x20has\x20provably\x20closed.\x20'+('Caller\x20face:\x20the\x20forward\x20rides\x20the\x20merchant\x20permission\x20rail\x20(index\x20'+h+');\x20no\x20')+'allocator\x20binds\x20here\x20—\x20the\x20refund\x20rail\x20already\x20drained\x20before\x20the\x20latch\x20could\x20set.',p=b+'_guard_refund_latch_convergence',q={'key':l,'template_id':'kernel.refund_latch_convergence','host':'machine','purpose':o,'step_id':p};d['push'](q),g['set'](q['key'],q),f['set'](q['key'],{'stepId':p,'description':o,'table':[{'identifier':TASK_BINDING_SLOT,'b_submission':!![],'value_type':'Address','name':'Task-binding\x20order\x20(refund\x20principal\x20latch)'}],'root':{'type':'query','query':'order.principal_refunded','object':{'identifier':TASK_BINDING_SLOT},'parameters':[]}});const r=c['map'](t=>({...t,'from':[...t['from']??[]]})),s=new Set();for(const t of r){for(const u of t['from']??[]){const v=typeof u==='object'&&u!==null?u['prev']:u;if(typeof v==='string'&&v!=='')s['add'](v);}}if(s['size']>MAX_NODE_INBOUND_PAIRS)return i['push']({'code':'REFUND_CONVERGENCE_FAN_IN_CAP','detail':'refund-track\x20template\x20\x27'+a['id']+'\x27:\x20'+s['size']+'\x20non-terminal\x20nodes\x20would\x20each\x20gain\x20a\x20'+('closed_refunded\x20leg,\x20breaching\x20MAX_NODE_INBOUND_PAIRS='+MAX_NODE_INBOUND_PAIRS+'\x20(the\x20chain\x27s\x20')+'per-node\x20inbound-pair\x20cap)\x20'+'on\x20the\x20injected\x20terminal\x20—\x20the\x20chain\x20create\x20aborts.\x20Route\x20the\x20refund\x20through\x20a\x20segment\x20terminal\x20sweep\x20'+'or\x20declare\x20a\x20narrower\x20convergence\x20design\x20instead\x20of\x20failing\x20at\x20publish\x20freeze.'}),{'blockers':i,'shape':c};return r['push']({'name':'closed_refunded','optional':!![],'role':'Refund\x20convergence\x20terminal\x20(K3\x20C3):\x20the\x20canonical\x20bookkeeping\x20close\x20for\x20the\x20refund\x20loop\x20—\x20'+'reachable\x20only\x20through\x20the\x20refund_latch_convergence\x20guard\x20(order.principal_refunded\x20==\x20true).\x20'+'DRIVE\x20RECIPE\x20(UCAT-261109\x20F-02):\x20these\x20edges\x20MUST\x20be\x20advanced\x20via\x20operate.scope=\x27generic\x27\x20—\x20'+'the\x20order-scoped\x20entries\x20run\x20the\x20zombie-order\x20shield\x20BEFORE\x20guard\x20evaluation,\x20and\x20this\x20edge\x27s\x20guard\x20'+'being\x20true\x20IS\x20the\x20shield\x27s\x20abort\x20condition,\x20so\x20order-scoped\x20driving\x20aborts\x2015\x20every\x20time','from':[...s]['map'](w=>({'prev':w,'forward':'ConvergeRefunded','guard_key':l,'permission_index':h}))}),{'blockers':i,'shape':r,'disclosure':'[kernel:\x20refund-latch\x20convergence\x20(K3\x20C3)\x20armed\x20on\x20\x27'+b+'\x27\x20—\x20refund\x20track\x20with\x20'+(j['length']+'\x20row(s)]\x20The\x20machine\x20now\x20carries\x20a\x20canonical\x20closed_refunded\x20terminal:\x20every\x20')+'non-terminal\x20state\x20can\x20advance\x20ConvergeRefunded\x20ONLY\x20when\x20order.principal_refunded\x20(1579)\x20reads\x20'+'true\x20on\x20this\x20order\x20—\x20the\x20unforgeable\x20full-refund\x20latch\x20—\x20riding\x20the\x20merchant\x20permission\x20rail\x20'+('(index\x20'+h+').\x20No\x20funds\x20move\x20on\x20these\x20edges;\x20the\x20terminal\x20is\x20the\x20provable\x20close\x20of\x20the\x20')+'refund\x20loop,\x20publish-gate-checked\x20by\x20R-REFUND-CONVERGENCE.\x20'+'DRIVE\x20SCOPE\x20(UCAT-261109\x20F-02,\x20chain\x20truth\x20in\x20the\x20progress\x20package):\x20drive\x20ConvergeRefunded\x20with\x20'+'operate.scope=\x27generic\x27\x20—\x20order-scoped\x20advances\x20run\x20the\x20zombie\x20shield\x20(abort\x20E_ORDER_PRINCIPAL_REFUNDED)\x20BEFORE\x20guard\x20'+'evaluation,\x20and\x20this\x20edge\x27s\x20guard\x20being\x20true\x20is\x20exactly\x20the\x20shield\x27s\x20condition,\x20so\x20the\x20order-scoped\x20'+'path\x20can\x20never\x20fire\x20(the\x20reports\x27\x20\x22structurally\x20unreachable\x22\x20read\x20proved\x20only\x20that\x20path\x20dead).\x20The\x20'+'generic\x20entries\x20(the\x20progress\x20package\x27s\x20shared\x20advance\x20with\x20order=false)\x20skip\x20the\x20shield\x20by\x20design\x20—\x20K3\x20'+'CHAIN-TRUTH.md\x20option\x20b\x20—\x20while\x20guard,\x20task\x20binding\x20and\x20permission\x20still\x20verify.\x20Fulfillment\x20edges\x20'+'keep\x20the\x20default\x20order\x20scope:\x20generic\x20is\x20a\x20convergence-bookkeeping\x20rail,\x20not\x20a\x20post-refund\x20delivery\x20lane.'};}const LATE_REMEDY_KEEPER_INDEX=0x3ea;export function emitLateRemedyEdges({template:a,base:b,inputs:inputs={},shape:c,guardSpecs:d,resolvedGuards:e,specByKey:f}){const h=[],i=a['fee_params']??{},j=inputs['late_remedy_mode']??i['late_remedy_mode'];if(j===undefined||j==='none')return{'blockers':h,'shape':c};if(j!=='keeper_reopen')return h['push']({'code':'LATE_REMEDY_INVALID','detail':'fee_param\x20\x27late_remedy_mode\x27\x20=\x20\x27'+String(j)+'\x27\x20on\x20\x27'+a['id']+'\x27\x20is\x20not\x20one\x20of\x20'+'none\x20|\x20keeper_reopen\x20—\x20the\x20mode\x20decides\x20whether\x20time-window-locked\x20edges\x20gain\x20a\x20keeper-gated\x20'+'late\x20twin\x20(\x27{forward}_late\x27,\x20tpl_late_remedy_keeper_forward).\x20Set\x20\x27keeper_reopen\x27\x20to\x20arm\x20the\x20'+'remedy\x20rail,\x20or\x20\x27none\x27\x20to\x20keep\x20strict\x20windows.'}),{'blockers':h,'shape':c};const k=(s,t)=>{if(typeof s!=='object'||s===null||t>0x8)return![];const u=s;if(u['type']==='calc_number_multiply')return!![];for(const w of Object['values'](u)){if(Array['isArray'](w)){for(const x of w)if(k(x,t+0x1))return!![];}else{if(k(w,t+0x1))return!![];}}return![];},l=s=>{const t=(u,w)=>{if(typeof u!=='object'||u===null||w>0xc)return![];const x=u;if(typeof x['type']==='string'&&x['type']['includes']('lesser')){const y=Array['isArray'](x['nodes'])?x['nodes']:[x['left'],x['right']];if(y['some'](z=>k(z,0x0)))return!![];}for(const z of Object['values'](x)){if(Array['isArray'](z)){for(const A of z)if(t(A,w+0x1))return!![];}else{if(t(z,w+0x1))return!![];}}return![];};return t(s,0x0);},m=new Set();for(const [s,t]of e){if(l(t['root']))m['add'](s);}if(m['size']===0x0)return{'blockers':h,'shape':c};const o=c['map'](u=>({...u,'from':[...u['from']??[]]}));let p=0x0;const q=[];for(const u of o){const v=u,w=v['from']??(v['from']=[]);for(const x of[...w]){if(typeof x!=='object'||x===null)continue;const y=x;if(typeof y['guard_key']!=='string'||!m['has'](y['guard_key']))continue;if(typeof y['prev']!=='string'||y['prev']==='')continue;const z=typeof y['forward']==='string'&&y['forward']!==''?y['forward']:'advance',A=z+'_late';if(w['some'](I=>typeof I==='object'&&I!==null&&I['forward']===A))continue;if(!o['some'](I=>I['name']===y['prev']))continue;const B='late_remedy_'+z;let C=B,D=0x2;while(f['has'](C)||e['has'](C)){C=B+'_'+D,D+=0x1;}const E='Late-remedy\x20keeper\x20twin\x20(K3\x20D3):\x20the\x20strict\x20forward\x20\x27'+z+'\x27\x20is\x20welded\x20by\x20its\x20closing\x20'+('time\x20window;\x20\x27'+A+'\x27\x20is\x20the\x20AFTER-HOURS\x20path\x20to\x20the\x20SAME\x20target\x20(\x27'+v['name']+'\x27),\x20gated\x20by\x20')+('the\x20keeper\x20identity\x20—\x20node\x20pin\x20\x27'+y['prev']+'\x27,\x20the\x20org\x27s\x20CURRENT\x20permission\x20(dynamic\x20idiom),\x20and\x20')+('the\x20signer\x27s\x20entity\x20holding\x20the\x20keeper\x20slot\x20(1008,\x20index\x20'+LATE_REMEDY_KEEPER_INDEX+').\x20No\x20time\x20leg\x20')+'by\x20design:\x20the\x20window\x20stays\x20strict\x20on\x20the\x20original\x20edge,\x20the\x20keeper\x20holds\x20the\x20only\x20after-hours\x20key.',F=b+'_guard_'+C,G=fillGuardTemplate('tpl_late_remedy_keeper_forward',{'expected_node':y['prev'],'service_name':b+'_service','staff_permission_index':LATE_REMEDY_KEEPER_INDEX});if(!G['ok']){h['push']({'code':'LATE_REMEDY_INVALID','detail':'tpl_late_remedy_keeper_forward\x20fill\x20failed\x20on\x20\x27'+a['id']+'\x27\x20('+A+'):\x20'+G['error']});continue;}const H={'key':C,'template_id':'tpl_late_remedy_keeper_forward','host':'machine','purpose':E,'step_id':F,'params':{'expected_node':y['prev'],'staff_permission_index':LATE_REMEDY_KEEPER_INDEX}};d['push'](H),f['set'](H['key'],H),e['set'](H['key'],{'stepId':F,'description':E,'table':G['table'],'root':G['root']}),w['push']({'prev':y['prev'],'forward':A,'guard_key':C,'permission_index':LATE_REMEDY_KEEPER_INDEX}),p+=0x1,q['push'](A);}}if(p===0x0)return{'blockers':h,'shape':c};const r=o['some'](I=>{const J=I['from']??[];return J['length']>MAX_NODE_INBOUND_PAIRS;});if(r)return h['push']({'code':'LATE_REMEDY_FAN_IN_CAP','detail':'late_remedy_mode\x20=\x20\x27keeper_reopen\x27\x20on\x20\x27'+a['id']+'\x27\x20pushed\x20a\x20target\x20node\x20past\x20'+('MAX_NODE_INBOUND_PAIRS='+MAX_NODE_INBOUND_PAIRS+'\x20inbound\x20edges\x20—\x20the\x20chain\x20create\x20aborts.\x20')+'Narrow\x20the\x20welded-edge\x20set\x20(fewer\x20window\x20guards)\x20or\x20ship\x20the\x20twins\x20by\x20hand\x20on\x20a\x20smaller\x20segment.'}),{'blockers':h,'shape':c};return{'blockers':h,'shape':o,'disclosure':'[kernel:\x20late-remedy\x20rail\x20(K3\x20D3)\x20armed\x20on\x20\x27'+b+'\x27\x20—\x20'+p+'\x20keeper\x20twin(s):\x20'+(q['join'](',\x20')+']\x20Each\x20welded\x20time-window\x20edge\x20gained\x20a\x20same-target\x20late\x20twin\x20guarded\x20by\x20')+'the\x20KEEPER\x20identity\x20only\x20(tpl_late_remedy_keeper_forward:\x20node\x20pin\x20+\x20dynamic\x20permission\x20+\x201008\x20keeper\x20'+('slot,\x20index\x20'+LATE_REMEDY_KEEPER_INDEX+';\x20edge\x20rides\x20the\x20keeper\x20permission\x20rail).\x20The\x20strict\x20window\x20keeps\x20')+'its\x20weld\x20—\x20after\x20hours,\x20ONLY\x20a\x20keeper-attributed\x20signer\x20can\x20drive\x20the\x20twin.\x20Holder\x20of\x20the\x201002\x20slot\x20is\x20'+'an\x20operating\x20disclosure;\x20publish-gate-checked\x20by\x20R-LATE-REMEDY.'};}export function emitArbitrationHoist({needsArbitration:a,template:b,base:c,currency:d}){const e=[];return a&&e['push']({'op':'create','id':'arbitration','object':'arbitration',...b['arbitration_mode']==='third_party'?{'account':'arb_controller'}:{},'params':P({'name':c+'_arbitration','permission':ref('permission_arb'),'type_parameter':d,'pause':![]}),'notes':'Independent\x20venue\x20(R2);\x20activates\x20atomically\x20(create+unpause\x20same\x20PTB).\x20[W5-05:\x20created\x20BEFORE\x20the\x20guard\x20wave\x20so\x20arb-ruling\x20guard\x20tables\x20bind\x20it\x20by\x20plan\x20ref]'}),{'steps':e};}export function emitGuardWave({resolvedGuards:a,specByKey:b,slot254Injected:c,repoBoundPolicies:d,repoBoundStepIds:e,goalLatchArm:f}){const g=[],h=i=>{const j=a['get'](i),k=b['get'](i)?.['purpose'];return{'op':'create','id':j['stepId'],'object':'guard','params':P({'description':j['description'],'table':j['table'],'root':j['root']}),'notes':c['has'](i)?(k??'Guard')+'\x20[kernel:\x20protocol\x20slot\x20254\x20(task\x20binding)\x20auto-declared]':k};};for(const [i]of a)g['push'](h(i));return d['length']>0x0&&g['push']({'op':'configure','id':'repository_write_guards','target':ref('repository'),'method':'policies','params':P({'op':'add','policy':d}),'requires':['repository',...e],'notes':'F-BS5-03\x20(bst5-mn-261101):\x20the\x20ONLY\x20landing\x20place\x20for\x20the\x20evidence\x20repository\x27s\x20guard-derived\x20policies\x20—\x20the\x20create\x20cannot\x20carry\x20them\x20(an\x20id_from=none\x20policy\x20without\x20a\x20write_guard\x20aborts\x20on-chain:\x20the\x20chain\x20requires\x20a\x20non-empty\x20write_guard\x20on\x20the\x20create\x20path\x20too),\x20so\x20the\x20credential-bound\x20forms\x20(write_guard\x20attached)\x20are\x20added\x20to\x20the\x20live\x20repository\x20here,\x20now\x20that\x20the\x20guards\x20exist\x20(the\x20plan-ref\x20rewrite\x20closed\x20the\x20double-object\x20cycle).'}),f!==undefined&&g['push']({'op':'configure','id':GOAL_LATCH_ARM_STEP_ID,'target':ref('repository'),'method':'builtin_spec','params':P({'key':f['key'],'threshold':f['threshold']}),'requires':['repository',...d['length']>0x0?['repository_write_guards']:[]],'notes':'C7\x27①\x20goal-latch\x20arm\x20(v142):\x20arms\x20the\x20builtin\x20contribution\x20spec\x20on\x20THIS\x20build\x27s\x20evidence\x20ledger\x20—\x20'+('key\x20\x27'+f['key']+'\x27\x20at\x20goal\x20threshold\x20'+f['threshold']+'.\x20Once\x20the\x20ledger\x27s\x20aggregate\x20reaches\x20the\x20')+'threshold\x20a\x20MONOTONIC\x20GoalStamp\x20latches\x20(GoalReachedEvent)\x20and\x20the\x20guard\x20sum-where\x20queries\x20(1179/1181)\x20saturate\x20'+'to\x20max(sum,\x20stamp)\x20for\x20this\x20key\x20forever\x20—\x20a\x20missed-goal\x20polarity\x20can\x20never\x20pass\x20on\x20the\x20same\x20key\x20again,\x20so\x20a\x20'+'later\x20campaign\x20round\x20needs\x20a\x20NEW\x20contribution\x20key.\x20Buyers\x20should\x20record\x20contributions\x20via\x20progress\x20'+'operate.contribute\x20(row\x20+\x20edge\x20advance\x20in\x20ONE\x20atomic\x20tx);\x20disarming\x20never\x20removes\x20a\x20latched\x20stamp.'}),{'steps':g};}export function emitMachine({template:a,base:b,shape:c,resolvedGuards:d,specByKey:e,injectedOrderHolderKeys:f,merchantIndex:h}){const i=[],j=[],k=new Set(c['map'](r=>r['name'])),l=new Set((a['allocator']?.['rows']??[])['filter'](s=>s['track']==='settlement')['map'](s=>s['guard_key'])['filter'](r=>typeof r==='string'&&r['trim']()!=='')),n=[],p=new Set(),q=new Map();for(const r of c){if(r['from']===undefined||r['from']['length']===0x0){j['push']({'code':'MACHINE_EDGES_MISSING','detail':'machine_shape\x20node\x20\x27'+r['name']+'\x27\x20declares\x20no\x20\x27from\x27\x20edges.\x20Edges\x20are\x20data\x20'+'(REPORT\x20#10\x20A-2:\x20a\x20missing\x20paid->closed_cancel\x20edge\x20bricks\x20the\x20shop\x20at\x20publish).\x20'+'Annotate\x20the\x20node\x20with\x20from:\x20[...]\x20(use\x20prev:\x20\x22\x22\x20for\x20the\x20entry\x20edge).'});continue;}const s=[],t=new Map(),u=new Map();for(const w of r['from']){const x=typeof w==='string'?{'prev':w}:w;if(x['prev']!==''&&!k['has'](x['prev'])){j['push']({'code':'EDGE_UNKNOWN_PREV','detail':'node\x20\x27'+r['name']+'\x27\x20edge\x20prev\x20\x27'+x['prev']+'\x27\x20is\x20not\x20a\x20machine_shape\x20node'});continue;}if(x['prev']===r['name']){j['push']({'code':'SELF_LOOP_EDGE','detail':'machine\x20node\x20\x27'+r['name']+'\x27\x20edge\x20\x27'+(x['forward']??'?')+'\x27\x20has\x20prev\x20\x27'+x['prev']+'\x27\x20—\x20'+'a\x20SELF-loop\x20(prev\x20==\x20the\x20node\x20that\x20owns\x20this\x20from-list).\x20A\x20same-node\x20forward\x20never\x20'+'moves\x20progress.current:\x20the\x20tap\x20is\x20a\x20paid\x20no-op\x20and\x20every\x20path\x20that\x20leaves\x20the\x20node\x20'+'stays\x20unreachable.\x20Remedy:\x20mount\x20the\x20edge\x20in\x20the\x20TARGET\x20node\x27s\x20from-list\x20'+('(from:\x20[{\x20prev:\x20\x22'+x['prev']+'\x22,\x20...\x20}]\x20under\x20node\x20\x27<target>\x27\x20—\x20e.g.\x20the\x20T-02\x20cure\x20moved\x20')+'WithdrawReturn\x20into\x20\x27delivered\x27.from),\x20or\x20delete\x20the\x20edge\x20if\x20no\x20movement\x20was\x20intended'});continue;}const y=typeof x['guard_key']==='string'?x['guard_key']:'',z=y!==''?e['get'](y):undefined,A=z&&typeof z['params']==='object'&&z['params']!==null?z['params']['expected_node']:undefined;if(typeof A==='string'&&A!==''&&A!==x['prev']){j['push']({'code':'NODE_GATE_SOURCE_MISMATCH','detail':'machine\x20node\x20\x27'+r['name']+'\x27\x20edge\x20\x27'+(x['forward']??'?')+'\x27\x20(guard\x20\x27'+y+'\x27)\x20mounts\x20'+('prev\x20\x27'+x['prev']+'\x27\x20but\x20its\x20guard\x20gate\x20pins\x20expected_node\x20\x27'+A+'\x27\x20—\x20the\x20')+'chain\x20checks\x20progress.current\x20==\x20expected_node\x20at\x20tap\x20time\x20while\x20the\x20edge\x20can\x20only\x20'+'fire\x20from\x20prev,\x20so\x20the\x20guard\x20evaluates\x20FALSE\x20on\x20every\x20tap\x20and\x20the\x20forward\x20aborts\x20in\x20'+'guard\x20verification.\x20Remedy:\x20mount\x20the\x20edge\x20under\x20'+('the\x20node\x20whose\x20from-list\x20carries\x20prev:\x27'+A+'\x27,\x20or\x20re-point\x20the\x20guard\x27s\x20')+('expected_node\x20to\x20\x27'+x['prev']+'\x27\x20—\x20one\x20of\x20the\x20two\x20must\x20name\x20the\x20other\x27s\x20node')});continue;}const B=x['operator']??r['operator']??(x['prev']===''?'order_payer':'merchant'),C=x['named_operator']??r['named_operator'],D=x['forward']??(x['prev']===''?'enter_'+r['name']:x['prev']+'_to_'+r['name']);x['permission_index']!==undefined&&B==='order_payer'&&j['push']({'code':'PERMISSION_INDEX_DROPPED','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20declares\x20permission_index\x20'+x['permission_index']+'\x20on\x20operator\x20\x27order_payer\x27.\x20'+'The\x20two\x20are\x20contradictory\x20rails:\x20\x27order_payer\x27\x20compiles\x20to\x20the\x20on-chain\x20order-holder\x20check\x20(namedOperator\x20\x22\x22),\x20which\x20the\x20chain\x20evaluates\x20FIRST,\x20'+'so\x20the\x20declared\x20permission\x20index\x20is\x20silently\x20dropped\x20and\x20the\x20forward\x20remains\x20open\x20to\x20EVERY\x20order\x20agent\x20—\x20the\x20opposite\x20of\x20the\x20entity-only\x20intent\x20'+'(alg2-tn-261025\x20T8e:\x20the\x20provider\x20self-advanced\x20the\x20evaluation\x20forward\x20and\x20settled\x20the\x20escrow\x20to\x20itself).\x20Pick\x20ONE\x20rail:\x20remove\x20permission_index\x20to\x20keep\x20the\x20'+('buyer\x20rail,\x20or\x20remove\x20the\x20\x27order_payer\x27\x20operator\x20(node-level\x20or\x20edge-level)\x20so\x20this\x20forward\x20binds\x20permission_index\x20'+x['permission_index']+'\x20only')});C!==undefined&&x['permission_index']!==undefined&&j['push']({'code':'NAMED_OPERATOR_RAIL_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20declares\x20named_operator\x20\x27'+C+'\x27\x20AND\x20permission_index\x20'+x['permission_index']+'.\x20'+'namedOperator\x20and\x20permissionIndex\x20are\x20OR-options\x20in\x20the\x20on-chain\x20pre-check\x20(namedOperator\x20first),\x20so\x20both\x20rails\x20on\x20one\x20forward\x20'+'is\x20a\x20widening\x20ambiguity\x20—\x20the\x20forward\x20stays\x20open\x20to\x20whichever\x20rail\x20matches\x20and\x20neither\x20the\x20roster-only\x20nor\x20the\x20entity-only\x20intent\x20binds.\x20'+'Pick\x20ONE\x20rail:\x20drop\x20permission_index\x20to\x20keep\x20the\x20named\x20roster\x20rail,\x20or\x20drop\x20named_operator\x20to\x20keep\x20the\x20permission\x20entity\x20rail'});C!==undefined&&(x['operator']==='order_payer'||r['operator']==='order_payer')&&j['push']({'code':'NAMED_OPERATOR_RAIL_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20declares\x20named_operator\x20\x27'+C+'\x27\x20on\x20an\x20EXPLICIT\x20operator:\x27order_payer\x27.\x20'+'Both\x20ride\x20the\x20namedOperator\x20rail\x20with\x20different\x20payloads\x20—\x20the\x20buyer\x20self-advance\x20(\x27\x27\x20resolves\x20to\x20the\x20order\x20payer)\x20and\x20the\x20'+('third-party\x20namespace\x20(\x27'+C+'\x27\x20resolves\x20to\x20the\x20per-order\x20roster)\x20cannot\x20share\x20one\x20forward;\x20one\x20of\x20them\x20would\x20silently\x20lose.\x20')+'Pick\x20ONE\x20rail:\x20drop\x20the\x20operator\x20declaration\x20to\x20keep\x20the\x20named\x20roster\x20rail,\x20or\x20drop\x20named_operator\x20to\x20keep\x20the\x20buyer\x20self-advance'});const E=x['guard_key']!==undefined&&x['guard_key']['trim']()!==''&&l['has'](x['guard_key'])||/settle|release|payout/i['test'](D);{E&&x['permission_index']===undefined&&C===undefined&&B!=='order_payer'&&j['push']({'code':'RELEASE_EDGE_PERMISSIONLESS','detail':'settlement\x20edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20(forward\x20\x27'+D+'\x27,\x20guard\x20\x27'+(x['guard_key']??'none')+'\x27)\x20binds\x20NO\x20permission_index\x20and\x20NO\x20named_operator\x20rail\x20—\x20it\x20compiles\x20PERMISSIONLESS:\x20the\x20on-chain\x20permission\x20layer\x20checks\x20namedOperator\x20then\x20permissionIndex,\x20and\x20with\x20neither\x20present\x20ANYONE\x20with\x20a\x20valid\x20order\x20passport\x20can\x20advance\x20the\x20release\x20and\x20move\x20the\x20escrow\x20(5R-07①\x20F-56,\x20tbp\x20T17\x20live:\x20an\x20unrelated\x20buyer\x27s\x20wallet\x20executed\x20the\x20payout).\x20Bind\x20ONE\x20rail:\x20permission_index\x201002\x20(the\x20keeper\x20or\x20merchant\x20release\x20slot\x20—\x20recommended\x20default\x20C:\x20the\x20time-lock\x20guard\x20+\x20keeper\x20duty\x20+\x20bounty\x20schedule\x20the\x20release)\x20or\x20a\x20stricter\x20merchant-approval\x20rail\x20for\x20high-ticket\x20builds\x20(default\x20A:\x20the\x20merchant\x27s\x20own\x20approval\x20BEFORE\x20the\x20escrow\x20moves).\x20Pair\x20the\x20rail\x20with\x20the\x20guard\x27s\x20identity\x20leg\x20(Signer\x20binding)\x20as\x20defense\x20in\x20depth\x20—\x20declared\x20in\x20the\x20guard\x20table,\x20verified\x20by\x20the\x20audit\x20face'});}const F={'name':D,'weight':0x1,...C!==undefined?{'namedOperator':C}:B==='order_payer'?{'namedOperator':''}:{'permissionIndex':x['permission_index']??h}};{const J=F['permissionIndex'];if(typeof J==='number'){const K=q['get'](J);if(K!==undefined)K['push'](D);else q['set'](J,[D]);}}if(x['guard_key']!==undefined){const L=e['get'](x['guard_key']);if(L===undefined)j['push']({'code':'GUARD_KEY_UNKNOWN','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20binds\x20unknown\x20guard_key\x20\x27'+x['guard_key']+'\x27'});else{for(const N of L['purpose']['matchAll'](/progress\.current\s*==\s*([a-z0-9_]+)/g)){const O=N[0x1];k['has'](O)&&O!==x['prev']&&j['push']({'code':'FORWARD_GUARD_PINNED_TO_NON_PREV','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+L['key']+'\x27\x20pins\x20progress.current\x20==\x20\x27'+O+'\x27,\x20but\x20a\x20'+('forward\x20guard\x20evaluates\x20BEFORE\x20the\x20advance\x20(progress.current\x20==\x20prev\x20\x27'+x['prev']+'\x27),\x20so\x20the\x20pin\x20')+'can\x20never\x20pass\x20—\x20dead\x20rail\x20(bkng\x20F22).\x20Keep\x20the\x20pin\x20on\x20the\x20allocator\x20row\x20(evaluated\x20at\x20alloc,\x20'+'current\x20=\x20the\x20reached\x20node);\x20put\x20only\x20time/identity\x20legs\x20on\x20the\x20forward.'});}const M=L['template_id']==='pattern.identity_check_order_holder'||L['template_id']==='tpl_forward_order_holder'||L['template_id']==='tpl_forward_order_holder_or_time'||L['template_id']==='tpl_time_window_upper_order_holder'||L['template_id']==='tpl_time_window_band_abs_order_holder'||L['template_id']==='tpl_forward_order_holder_time_lock_absolute';if(M&&C!==undefined)j['push']({'code':'FORWARD_GUARD_IDENTITY_NAMED_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+L['key']+'\x27\x20is\x20an\x20order-holder\x20(buyer)\x20identity\x20'+('check\x20but\x20the\x20forward\x20rides\x20a\x20named_operator\x20rail\x20(\x27'+C+'\x27\x20—\x20a\x20third\x20party\x20that\x20is\x20')+'neither\x20the\x20merchant\x20entity\x20nor\x20the\x20buyer).\x20The\x20identity\x20layer\x20runs\x20BEFORE\x20the\x20guard\x20and\x20the\x20'+'roster\x20signer\x20is\x20never\x20the\x20order\x20owner\x20—\x20nobody\x20can\x20pass\x20both.\x20Move\x20the\x20buyer-identity\x20leg\x20'+'off\x20this\x20forward\x20(the\x20roster\x20forward\x20may\x20carry\x20only\x20evidence/time\x20guards),\x20or\x20split\x20the\x20hop.'});else M&&B!=='order_payer'&&j['push']({'code':'FORWARD_GUARD_IDENTITY_PERM_CONFLICT','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+L['key']+'\x27\x20is\x20an\x20order-holder\x20(buyer)\x20identity\x20'+'check\x20but\x20the\x20forward\x20rides\x20a\x20permissionIndex\x20rail\x20(merchant-side\x20slot).\x20The\x20identity\x20layer\x20'+'runs\x20BEFORE\x20the\x20guard,\x20and\x20the\x20two\x20signer\x20sets\x20are\x20disjoint\x20—\x20nobody\x20can\x20pass\x20both\x20(bkng\x20F23).\x20'+'Use\x20operator\x20\x27order_payer\x27\x20(namedOperator\x20\x22\x22\x20—\x20the\x20buyer\x20self-advance)\x20for\x20this\x20edge.'});{const Q=d['get'](L['key']);if(Q!==undefined){const R=Q['table']['some'](T=>T['identifier']===TASK_BINDING_SLOT),S=offTaskSlotIdentityLegs(Q['root'])['filter'](T=>{if(!R)return![];const U=Q['table']['find'](V=>V['identifier']===T['identifier']);return U!==undefined&&U['b_submission']===!![];});for(const T of S){j['push']({'code':'GUARD_IDENTITY_SLOT_NOT_TASKBOUND','detail':'edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20guard\x20\x27'+L['key']+'\x27\x20reads\x20'+T['query']+'\x20off\x20free\x20'+('submission\x20slot\x20'+T['identifier']+'\x20—\x20hijackable\x20(rex-mn-261021\x20T10):\x20the\x20caller\x20fills\x20free\x20')+'slots,\x20so\x20an\x20attacker\x20submits\x20their\x20OWN\x20order\x20there\x20(signer\x20==\x20order.owner\x20passes\x20against\x20'+('their\x20own\x20order)\x20and\x20advances\x20the\x20VICTIM\x27s\x20order\x20carried\x20by\x20slot\x20'+TASK_BINDING_SLOT+';\x20with\x20')+'namedOperator\x20\x22\x22\x20the\x20permission\x20layer\x20passes\x20for\x20anyone,\x20so\x20this\x20'+('guard\x20is\x20the\x20only\x20identity\x20leg.\x20Anchor\x20the\x20'+T['query']+'\x20query\x20on\x20identifier\x20')+(TASK_BINDING_SLOT+'\x20(the\x20task-binding\x20order\x20anchor\x20—\x20the\x20order\x20the\x20forward\x20actually\x20mutates).')});}}}if(L['step_id']!==undefined){F['guard']=ref(L['step_id']);if(E&&B==='order_payer'&&C===undefined){const U=d['get'](L['key']);U!==undefined&&!guardTemplateHasIdentityLeg(U['root'])&&j['push']({'code':'RELEASE_EDGE_NO_IDENTITY','detail':'settlement\x20edge\x20\x27'+x['prev']+'\x27->\x27'+r['name']+'\x27\x20(forward\x20\x27'+D+'\x27,\x20guard\x20'+('\x27'+L['key']+'\x27,\x20design\x20\x27'+L['template_id']+'\x27)\x20rides\x20the\x20buyer\x20rail\x20(operator\x20')+'\x27order_payer\x27\x20→\x20namedOperator\x20\x22\x22\x20with\x20NO\x20permissionIndex)\x20and\x20its\x20guard\x20carries\x20NO\x20'+'order-holder\x20identity\x20leg\x20—\x20on\x20a\x20guard-bound\x20forward\x20the\x20chain\x20skips\x20the\x20'+'permission\x20assert,\x20so\x20ANY\x20signer\x20holding\x20a\x20passport\x20for\x20this\x20guard\x20can\x20drive\x20the\x20'+'settlement\x20(gfm35-tn-261029\x20F02\x20live:\x20an\x20outsider\x20force-released\x20and\x20settled\x20order).\x20'+'Bind\x20a\x20guard\x20whose\x20root\x20carries\x20the\x20owner/agent\x20identity\x20legs\x20over\x20slot\x20254\x20—\x20e.g.\x20'+'tpl_forward_order_holder_time_lock_absolute\x20for\x20a\x20deadline\x20self-heal\x20(split\x20guard\x20'+'key:\x20keep\x20the\x20pure\x20time\x20lock\x20on\x20the\x20keeper/merchant\x20edge),\x20'+'tpl_time_window_upper_absolute_ms\x20for\x20a\x20closing\x20window.\x20The\x20STATE_AUTHORIZING\x20'+'exemption\x20covers\x20keeper/merchant\x20rails\x20only,\x20never\x20the\x20buyer\x20release\x20rail'});}}}}if(F['guard']===undefined&&B==='order_payer'&&C===undefined){const V=f['get'](D);if(V!==undefined){const W=e['get'](V);W?.['step_id']!==undefined&&(F['guard']=ref(W['step_id']));}}const G=t['get'](x['prev']);G!==undefined?G['push'](F):t['set'](x['prev'],[F]);const H=u['get'](x['prev']),I=C!==undefined?'namedOperator:'+C:B==='order_payer'?'namedOperator:':'permissionIndex:'+(x['permission_index']??h);C!==undefined&&p['add'](C),H!==undefined?H['add'](I):u['set'](x['prev'],new Set([I]));}const v=r['threshold']??0x0;for(const [X,Y]of t){v>Y['length']&&j['push']({'code':'PAIR_THRESHOLD_UNREACHABLE','detail':'node\x20\x27'+r['name']+'\x27\x20pair\x20from\x20\x27'+(X===''?'(entry)':X)+'\x27\x20declares\x20threshold\x20'+v+'\x20'+('but\x20the\x20pair\x20merges\x20only\x20'+Y['length']+'\x20forward(s)\x20at\x20weight\x201\x20each\x20—\x20the\x20pair\x20can\x20never\x20')+'migrate\x20and\x20the\x20publish\x20aborts.\x20Add\x20one\x20distinct-operator\x20forward\x20per\x20required\x20signature,\x20or\x20'+'lower\x20the\x20threshold\x20to\x20the\x20forward\x20count.'});if(v>=0x2){const Z=u['get'](X)?.['size']??0x0;Z<0x2&&j['push']({'code':'PAIR_THRESHOLD_SINGLE_OPERATOR','detail':'node\x20\x27'+r['name']+'\x27\x20pair\x20from\x20\x27'+(X===''?'(entry)':X)+'\x27\x20declares\x20threshold\x20'+v+'\x20'+'but\x20every\x20forward\x20rides\x20the\x20SAME\x20operator\x20rail\x20—\x20one\x20party\x20can\x20tap\x20all\x20of\x20them\x20and\x20the\x20'+'declared\x20dual\x20confirmation\x20silently\x20dissolves\x20(each\x20forward\x20locks\x20to\x20its\x20first\x20operator).\x20'+'Give\x20each\x20required\x20signature\x20its\x20own\x20rail\x20(e.g.\x20permission_index\x201001\x20+\x20operator\x20\x27order_payer\x27).'});}s['push']({'prev_node':X,'threshold':v,'forwards':Y});}n['push']({'name':r['name'],...r['semantic_role']!==undefined?{'role':r['semantic_role']}:{},...r['optional']===!![]?{'optional':!![]}:{},'pairs':s});}if(p['size']>0x0){const a0=/(named[-_ ]?operator|operator roster|\broster\b|dispatch|permission.{0,12}221)/i,a1=(a['build_notes']??[])['some'](a2=>a0['test'](a2));!a1&&j['push']({'code':'NAMED_OPERATOR_ROSTER_UNDISCLOSED','detail':'machine_shape\x20binds\x20a\x20named\x20third-party\x20operator\x20namespace\x20('+[...p]['map'](a2=>'\x27'+a2+'\x27')['join'](',\x20')+')\x20'+'but\x20no\x20build_note\x20discloses\x20the\x20roster\x20management.\x20The\x20per-order\x20NamedOperator\x20roster\x20(max\x2060\x20rosters\x20/\x2080\x20addresses)\x20is\x20written\x20at\x20'+'runtime\x20by\x20the\x20account\x20holding\x20permission\x20index\x20221\x20—\x20without\x20a\x20disclosed\x20dispatch\x20duty\x20the\x20forward\x20compiles\x20but\x20nobody\x20can\x20ever\x20'+'pass\x20it\x20(silent\x20brick).\x20Add\x20a\x20build_note\x20stating\x20WHO\x20writes\x20the\x20roster,\x20WHEN\x20(per\x20order?\x20per\x20shift?),\x20and\x20what\x20happens\x20on\x20a\x20miss\x20'+'(e.g.\x20\x22namedOperator\x20\x27delivery_team\x27\x20roster\x20is\x20written\x20per\x20order\x20by\x20the\x20dispatch\x20keeper\x20via\x20permission\x20221;\x20an\x20unassigned\x20order\x20'+'waits\x20until\x20the\x20keeper\x20assigns\x20a\x20courier\x22).\x20K-4\x20stance:\x20dispatch\x20assignment\x20is\x20an\x20OFF-CHAIN\x20keeper\x20optimization,\x20never\x20a\x20chain\x20scheduler'});}for(const a2 of[...q['keys']()]['sort']((a3,a4)=>a3-a4)){if(a2<0x3e8)continue;const a3=q['get'](a2);i['push']({'op':'configure','id':'permission_grant_'+a2,'target':ref('permission'),'method':'table','params':P({'op':'add\x20perm\x20by\x20index','index':a2,'entity':[{'$late':{'by':'env_signer'}}]}),'notes':'F-19\x20(amz-k7q2,\x202026-11-04):\x20grant\x20permission\x20index\x20'+a2+'\x20to\x20the\x20deploy\x20signer\x20'+('({$late\x20env_signer})\x20—\x20forward(s)\x20'+a3['map'](a4=>'\x27'+a4+'\x27')['join'](',\x20')+'\x20ride\x20this\x20rail\x20on\x20the\x20')+'machine\x27s\x20Permission\x20(the\x20shared\x20Service\x20permission,\x20F-CSTC-05);\x20without\x20this\x20grant\x20each\x20of\x20them\x20'+'aborts\x20E_PERMISSION_DENIED\x20on\x20a\x20fresh\x20store.\x20Adjust\x20or\x20extend\x20the\x20entity\x20roster\x20on-chain\x20'+'post-deploy\x20as\x20staff/keeper\x20roles\x20change.'});}return p['size']>0x0&&i['push']({'op':'configure','id':'permission_grant_221_roster','target':ref('permission'),'method':'table','params':P({'op':'add\x20perm\x20by\x20index','index':0xdd,'entity':[{'$late':{'by':'env_signer'}}]}),'notes':'F-SS10-R7\x20(ss10-mn-261109):\x20grant\x20permission\x20index\x20221\x20(the\x20namedOperator\x20roster-write\x20'+('index)\x20to\x20the\x20deploy\x20signer\x20—\x20the\x20machine\x20binds\x20roster\x20namespace(s)\x20'+[...p]['map'](a4=>'\x27'+a4+'\x27')['join'](',\x20')+',\x20')+'and\x20every\x20per-order\x20roster\x20write\x20(progress_namedOperator\x20add)\x20aborts\x20E_PERMISSION_DENIED\x20without\x20it.\x20'+'The\x20roster\x20itself\x20is\x20per-order\x20on\x20chain\x20(each\x20Progress\x20carries\x20its\x20own;\x20max\x2060\x20rosters\x20/\x2080\x20addresses)\x20—\x20'+'filling\x20it\x20stays\x20the\x20dispatch\x20keeper\x27s\x20runtime\x20duty\x20(K-4);\x20re-grant\x20221\x20to\x20a\x20dedicated\x20keeper\x20account\x20on-chain\x20as\x20roles\x20separate.'}),i['push']({'op':'create','id':'machine','object':'machine','params':P({'name':b+'_machine','permission':ref('permission'),'nodes':n,...a['reentry_kind']!==undefined&&a['reentry_kind']!=='none'?{'reentry_kind':a['reentry_kind']}:{}})}),i['push']({'op':'publish','id':'machine_publish','target':ref('machine'),'preflight':[{'check':'machine_publish','status':'pending'},{'check':'TASKBIND-01','status':'pending'},{'check':'R-REFUND-CONVERGENCE','status':'pending'},{'check':'R-LATE-REMEDY','status':'pending'}]}),{'steps':i,'blockers':j};}export function emitServiceConfigure({guardSpecs:a,needsRepository:b}){const c=[],d=a['find'](e=>e['host']==='service'&&e['key']==='buy');return c['push']({'op':'configure','id':'service_machine','target':ref('service'),'method':'machine','params':ref('machine'),'requires':['machine_publish']}),b&&c['push']({'op':'configure','id':'service_repository','target':ref('service'),'method':'repositories','params':P({'op':'add','objects':[ref('repository')]}),'requires':['service','repository']}),d?.['step_id']!==undefined&&c['push']({'op':'configure','id':'service_buy_guard','target':ref('service'),'method':'buy_guard','params':ref(d['step_id']),'requires':['service',d['step_id']]}),{'steps':c};}export function parseSettlementPolicy(a,b){if(a===undefined||a===null)return undefined;const c=g=>{return b['push']({'code':'SETTLEMENT_POLICY_INVALID','detail':'settlement_policy\x20'+JSON['stringify'](a)+'\x20is\x20invalid:\x20'+g+'\x20The\x20policy\x20freezes\x20into\x20the\x20'+'allocator\x20sharing\x20vector\x20at\x20publish\x20(IMMUT-002)\x20—\x20an\x20ignored\x20policy\x20would\x20silently\x20settle\x20on\x20the\x20'+'template\x20default\x20while\x20the\x20build\x20report\x20claims\x20otherwise.\x20Pass\x20'+'{mode:\x22fixed\x22,amount}\x20|\x20{mode:\x22percent\x22,bp}\x20|\x20{mode:\x22tiered\x22,tiers:[{upto,bp}]}.'}),undefined;};if(typeof a!=='object'||Array['isArray'](a))return c('expected\x20an\x20object');const d=a,e=g=>typeof g==='number'?g:typeof g==='string'&&/^\d+(?:\.\d+)?$/['test'](g['trim']())?Number(g):undefined,f=d['mode'];if(f==='fixed'){const g=e(d['amount']);if(g===undefined||g<0x0)return c('mode\x20\x22fixed\x22\x20requires\x20amount\x20>=\x200');return{'mode':'fixed','amount':g};}if(f==='percent'){const h=e(d['bp']);if(h===undefined||!Number['isInteger'](h)||h<0x0||h>0x2710)return c('mode\x20\x22percent\x22\x20requires\x20an\x20integer\x20bp\x20in\x20[0,\x2010000]');return{'mode':'percent','bp':h};}if(f==='tiered'){const j=d['tiers'];if(!Array['isArray'](j)||j['length']===0x0)return c('mode\x20\x22tiered\x22\x20requires\x20a\x20non-empty\x20tiers\x20array');const k=[];for(const l of j){const m=l??{},n=e(m['upto']),o=e(m['bp']);if(n===undefined||n<0x0||o===undefined||!Number['isInteger'](o)||o<0x0||o>0x2710)return c('each\x20tier\x20requires\x20upto\x20>=\x200\x20and\x20an\x20integer\x20bp\x20in\x20[0,\x2010000]');k['push']({'upto':n,'bp':o});}for(let p=0x1;p<k['length'];p++){if(k[p]['upto']<=k[p-0x1]['upto'])return c('tier\x20upto\x20values\x20must\x20be\x20strictly\x20ascending');}return{'mode':'tiered','tiers':k};}return c('unknown\x20mode\x20\x27'+String(f)+'\x27\x20—\x20expected\x20fixed\x20|\x20percent\x20|\x20tiered');}export function emitAllocators({template:a,base:b,inputs:c,rowsWithAttachments:d,resolvedGuards:e,specByKey:f}){const h=[],i=d['length']>0x0?d:[{'track':'settlement','recipient':a['allocator']['recipient']==='fixed'?'entity':a['allocator']['recipient'],'recipient_key':a['allocator']['recipient_key'],'mode':a['allocator']['mode'],'value':a['allocator']['mode']==='rate'?0x2710:a['allocator']['mode']==='surplus'?'0':undefined}],j=[],k=new Map();for(const p of i){if(p['guard_key']!==undefined){let q=k['get'](p['guard_key']);q===undefined&&(q={'key':p['guard_key'],'rows':[]},k['set'](p['guard_key'],q),j['push'](q)),q['rows']['push'](p);}else j['push']({'rows':[p]});}const m=[],n=parseSettlementPolicy(c['settlement_policy'],h);if(n!==undefined)for(const s of j){if(s['rows'][0x0]===undefined||s['rows'][0x0]['track']!=='settlement')continue;const t=B=>B['recipient']==='entity'&&B['recipient_key']==='platform',u=B=>B['recipient']==='guard_identifier',v=s['rows']['filter'](B=>!t(B)&&!u(B));if(v['length']===0x0)continue;const w=v[0x0],x=B=>({...w,...B});let y;if(n['mode']==='fixed')y=[x({'mode':'amount','value':n['amount']})];else n['mode']==='percent'?(y=[x({'mode':'rate','value':n['bp']})],n['bp']<0x2710&&y['push'](x({'mode':'surplus','value':undefined,'note':'settlement_policy\x20percent\x20'+n['bp']+'bp:\x20the\x20Rate\x20remainder\x20is\x20swept\x20'+'to\x20this\x20Surplus\x20leg\x20(the\x20chain\x20rejects\x20a\x20no-surplus\x20Rate\x20plan\x20below\x2010000,\x20ERATE_NOT_10000)'}))):y=n['tiers']['map'](B=>x({'mode':'amount','value':Math['floor'](B['upto']*B['bp']/0x2710),'note':'settlement_policy\x20tier\x20upto='+B['upto']+'\x20bp='+B['bp']}));const z=[];let A=![];for(const B of s['rows']){if(!A&&!t(B)&&!u(B)){z['push'](...y),A=!![];continue;}z['push'](B);}s['rows']=z;}const o=new Set();for(const C of j){const D=[];let E;for(const J of C['rows']){let K=J['value'];K===undefined&&J['value_from']!==undefined&&(K=c[J['value_from']]??a['fee_params'][J['value_from']]);if(K===undefined&&J['value_from_complement']!==undefined){const N=J['value_from_complement'],O=c[N]??a['fee_params'][N],Q=typeof O==='number'?O:typeof O==='string'&&/^\d+(?:\.\d+)?$/['test'](O['trim']())?Number(O):undefined;if(J['mode']!=='rate'){h['push']({'code':'ALLOCATOR_COMPLEMENT_INVALID','detail':'allocator\x20row\x20('+J['track']+'/'+(J['recipient_key']??J['recipient'])+')\x20declares\x20value_from_complement\x20\x27'+N+'\x27\x20but\x20'+('mode\x20\x27'+J['mode']+'\x27\x20—\x20the\x20complement\x20is\x20RATE-domain\x20only\x20(10000\x20-\x20bps).\x20Use\x20value/value_from\x20for\x20Amount\x20rows.')});continue;}if(Q===undefined||!Number['isFinite'](Q)||Q<0x0||Q>0x2710){h['push']({'code':'ALLOCATOR_COMPLEMENT_INVALID','detail':'allocator\x20row\x20('+J['track']+'/'+(J['recipient_key']??J['recipient'])+')\x20value_from_complement\x20\x27'+N+'\x27\x20resolves\x20to\x20'+('\x27'+String(O)+'\x27\x20—\x20not\x20a\x20bps\x20value\x20in\x20[0,\x2010000];\x20the\x20complement\x20leg\x20cannot\x20be\x20computed.')});continue;}K=0x2710-Q;}if(K===undefined&&J['mode']!=='surplus'){h['push']({'code':'ALLOCATOR_VALUE_MISSING','detail':'allocator\x20row\x20('+J['track']+'/'+J['recipient']+')\x20has\x20neither\x20value\x20nor\x20a\x20resolvable\x20value_from'});continue;}(J['fix']!==undefined||J['fix_from']!==undefined)&&h['push']({'code':'ALLOCATOR_FIX_UNSUPPORTED','detail':'allocator\x20row\x20('+J['track']+'/'+J['recipient']+')\x20declares\x20fix/fix_from\x20—\x20the\x20chain\x20has\x20no\x20holdback\x20'+'parameter:\x20fix\x20is\x20computed\x20on-chain\x20as\x20the\x20sum\x20of\x20the\x20Amount\x20legs\x20and\x20those\x20legs\x20are\x20PAID\x20'+'in\x20full\x20at\x20release,\x20and\x20the\x20allocator-registration\x20call\x20surface\x20(guard,\x20sharing,\x20max)\x20has\x20no\x20fix\x20'+'argument,\x20so\x20this\x20value\x20never\x20reaches\x20the\x20chain.\x20To\x20keep\x20funds\x20in\x20the\x20pool,\x20do\x20not\x20distribute\x20them\x20'+'(a\x20separate\x20Allocation\x20object,\x20or\x20a\x20later\x20guard-gated\x20allocator);\x20to\x20combine\x20fixed\x20fees\x20with\x20a\x20'+'proportional\x20split,\x20use\x20explicit\x20Amount\x20legs\x20plus\x20Rate\x20legs\x20summing\x2010000.'});E??=J['note'];let L;if(J['recipient']==='entity'){const R=J['recipient_key']??'merchant';L={'Entity':{'name_or_address':{'$late':{'by':'local_name','mark':R}}}};}else{if(J['recipient']==='guard_identifier'){const S=Number(J['recipient_key']??0x0);L={'GuardIdentifier':S};const T=C['key']!==undefined?e['get'](C['key']):undefined;if(T!==undefined){const U=T['table']['find'](V=>V['identifier']===S);(U===undefined||U['b_submission']!==!![]||U['value_type']!=='Address')&&h['push']({'code':'GUARD_SLOT_UNKNOWN','detail':'allocator\x20leg\x20{GuardIdentifier:\x20'+S+'}\x20on\x20guard\x20\x27'+C['key']+'\x27\x20of\x20\x27'+b+'\x27:\x20the\x20bound\x20'+('Guard\x20table\x20has\x20no\x20slot\x20'+S+'\x20Address\x20submission\x20row\x20(b_submission:\x20true).\x20On\x20chain\x20the\x20leg\x20')+('reads\x20slot\x20'+S+'\x20as\x20its\x20payee\x20and\x20asserts\x20it\x20equals\x20the\x20paying\x20order\x20')+'(payment_info.for_object)\x20—\x20an\x20undeclared\x20or\x20STATIC\x20slot\x20aborts\x20at\x20alloc\x20time\x20with\x20code\x2015\x20'+'(ERECIPIENT_NOT_FOR_OBJECT)\x20and\x20the\x20leg\x27s\x20funds\x20stranded\x20'+'(az3/abnb7\x20mainnet\x20261013:\x20static\x20GuardIdentifier\x20legs\x20bricked\x20every\x20refund\x20rail).\x20'+'Guard/allocators/forwards\x20are\x20all\x20publish-frozen.\x20Declare\x20'+('{identifier:\x20'+S+',\x20b_submission:\x20true,\x20value_type:\x20\x22Address\x22}\x20in\x20the\x20Guard\x20table\x20')+'(templates\x20anchor\x20refund\x20rails\x20on\x20user\x20slot\x200\x20and\x20submit\x20the\x20Order\x20address\x20there).\x20Protocol\x20'+'slot\x20254\x20is\x20the\x20task-binding/once\x20slot:\x20naming\x20it\x20as\x20the\x20payee\x20arms\x20once-per-order,\x20so\x20a\x20'+'second\x20fire\x20aborts\x20E_ONCE_TRIGGERED\x20(16).'});}}else L={'Signer':'signer'};}const M=typeof K==='number'?K===0x0:typeof K==='string'&&/^\s*0+(?:\.0+)?\s*$/['test'](K);D['push']({'who':L,'sharing':String(K??'0'),'mode':MODE_MAP[J['mode']],'zeroEntityRate':J['recipient']==='entity'&&J['mode']==='rate'&&M,...J['recipient']==='entity'?{'payeeMark':J['recipient_key']??'merchant'}:{}});}const F=D['filter'](V=>V['zeroEntityRate']),G=F['length']>0x0&&F['length']<D['length']?D['filter'](V=>!V['zeroEntityRate']):D;for(const V of G)if(V['payeeMark']!==undefined)o['add'](V['payeeMark']);const H=G['map'](W=>({'who':W['who'],'sharing':W['sharing'],'mode':W['mode']}));if(H['length']===0x0)continue;if(G['length']>0x0&&G['every'](W=>W['mode']==='Rate')){const W=G['map'](X=>/^\d+$/['test'](X['sharing']['trim']())?Number(X['sharing']):Number['NaN']);if(W['every'](X=>Number['isFinite'](X))){const X=W['reduce']((Y,Z)=>Y+Z,0x0);if(X!==0x2710){const Y=Z=>{if(typeof Z==='string')return Z;const a0=Z;if(a0['GuardIdentifier']!==undefined)return'GuardIdentifier('+String(a0['GuardIdentifier'])+')';if('Signer'in a0)return'Signer';const a1=a0['Entity']?.['name_or_address']?.['$late']?.['mark'];return a1!==undefined?'Entity('+a1+')':JSON['stringify'](Z);};h['push']({'code':'RATE_SUM_INVALID','detail':'Rate\x20group\x20\x27'+(C['key']??C['rows'][0x0]['track']+'/signer')+'\x27\x20sums\x20to\x20'+X+'\x20bps,\x20not\x2010000\x20'+('('+G['map'](Z=>Y(Z['who'])+'='+Z['sharing'])['join']('\x20+\x20')+').\x20The\x20chain\x20aborts\x20the\x20')+'allocator\x20with\x20ERATE_NOT_10000\x20at\x20apply\x20time,\x20when\x20the\x20plan\x20is\x20already\x20publish-frozen\x20—\x20fix\x20'+'the\x20split\x20now:\x20the\x20legs\x20of\x20one\x20guard_key\x20must\x20add\x20up\x20to\x20the\x20whole\x20pool\x20(a\x20two-party\x20split\x20'+'leaves\x20the\x20remainder\x20to\x20value_from_complement,\x20never\x20to\x20a\x20guessed\x20literal).'});}}}const I=C['key']!==undefined?f['get'](C['key'])?.['step_id']:undefined;C['key']!==undefined&&!f['has'](C['key'])&&h['push']({'code':'GUARD_KEY_UNKNOWN','detail':'allocator\x20row\x20('+C['rows'][0x0]['track']+')\x20binds\x20unknown\x20guard_key\x20\x27'+C['key']+'\x27'}),m['push']({...I!==undefined?{'guard':ref(I)}:{},...C['key']!==undefined?{'guard_key':C['key']}:{},'track':C['rows'][0x0]['track'],'sharing':H,...E!==undefined?{'note':E}:{}});}return{'rows':i,'rowGroups':j,'allocatorRows':m,'externalMarks':o,'blockers':h};}export function checkAllocatorRails({rowGroups:a,resolvedGuards:b,shape:c,recoverTwinRails:d,declares:e}){const g=[];for(const j of a){if(j['rows'][0x0]===undefined||j['rows'][0x0]['track']!=='settlement')continue;if(j['rows']['length']===0x0){g['push']({'code':'SETTLEMENT_RATE_OVERSUBSCRIBED','detail':'settlement\x20allocator\x20group\x20\x27'+(j['key']??'signer')+'\x27\x20has\x20an\x20EMPTY\x20shares\x20vector\x20—\x20an\x20'+'allocator\x20with\x20no\x20legs\x20is\x20not\x20a\x20settlement\x20rail;\x20the\x20pool\x20would\x20strand.'});continue;}const k=[];for(const m of j['rows']){if(m['mode']!=='rate')continue;const n=m['value'];if(typeof n==='number'&&Number['isFinite'](n))k['push'](n);else{if(typeof n==='string'&&/^\d+$/['test'](n['trim']()))k['push'](Number(n));}}if(k['length']===0x0)continue;const l=k['reduce']((o,p)=>o+p,0x0);l>0x2710&&g['push']({'code':'SETTLEMENT_RATE_OVERSUBSCRIBED','detail':'settlement\x20allocator\x20group\x20\x27'+(j['key']??'signer')+'\x27\x20subscribes\x20'+l+'\x20bps\x20of\x20Rate\x20legs\x20'+('('+k['join']('\x20+\x20')+')\x20—\x20over\x20the\x2010000\x20bps\x20pool\x20ceiling.\x20The\x20chain\x20aborts\x20the\x20allocator\x20')+'(ERATE_EXCEEDS_10000)\x20at\x20apply\x20time\x20with\x20guard/allocator/forward\x20already\x20publish-frozen.\x20'+'Cap\x20the\x20settlement_policy\x20shares\x20(percent\x20bp\x20≤\x2010000;\x20tier\x20legs\x20sum\x20under\x20the\x20cap)\x20or\x20fix\x20'+'the\x20template\x27s\x20rate\x20rows.'});}const h=a['map'](o=>{if(o['key']===undefined)return undefined;const p=b['get'](o['key']);return{'key':o['key'],'track':o['rows'][0x0]['track'],'table':p?.['table']??[],'root':p?.['root'],'recoverTwin':d['has'](o['key']),'recipient':typeof o['rows'][0x0]?.['recipient']==='string'?o['rows'][0x0]['recipient']:undefined};})['filter'](o=>o!==undefined),i=[];if(h['length']>0x0){const o=verifyAllocatorRails(h,c['map'](r=>({'name':r['name'],'semanticRole':r['semantic_role'],'fromNodes':(r['from']??[])['map'](s=>typeof s==='string'?s:s['prev'])['filter'](s=>typeof s==='string'&&s!=='')})),{'declaredKeys':new Set(e['keys']())}),p=a['map'](r=>r['key'])['filter'](r=>r!==undefined&&!b['has'](r)),q=p['length']>0x0?'\x20UNRESOLVED\x20ALLOCATOR\x20GUARD\x20REFS\x20(likely\x20the\x20real\x20cause\x20—\x20these\x20guard_keys\x20match\x20no\x20resolved\x20guard,\x20e.g.\x20a\x20name\x20typo):\x20'+p['join'](',\x20')+'.':'';for(const r of o){if(r['code']==='RAIL_CLAIMED_BY_NODE_CONTRADICTION'){i['push'](r['detail']);continue;}if(r['level']==='info'&&r['railKey']!==undefined&&e['has'](r['railKey'])){i['push']('merchant-declared\x20exemption:\x20rail\x20\x27'+r['railKey']+'\x27\x20ships\x20without\x20a\x20caller\x20identity\x20leg\x20—\x20'+e['get'](r['railKey']));continue;}r['level']==='critical'&&g['push']({'code':r['code'],'detail':r['detail']+q});}}return{'blockers':g,'disclosures':i};}export function emitServiceAllocators({template:a,inputs:b,allocatorRows:c}){const d=[],e=a['allocator']['description'];let f,g=![];e!==undefined&&([f,g]=capUtf8(e,MAX_DESCRIPTION_CONTENT_BYTES));const h=g?proseTruncatedAdvisory('service_allocators\x20description',Buffer['byteLength'](e,'utf8'),MAX_DESCRIPTION_CONTENT_BYTES,'DescriptionSchema\x20(MAX_DESCRIPTION_LENGTH\x204000,\x20ULEB128-prefixed)'):undefined;return d['push']({'op':'configure','id':'service_allocators','target':ref('service'),'method':'order_allocators',...h!==undefined?{'notes':h}:{},'params':P({'description':f,'threshold':Number(b['threshold']??b['monthly_rent_amount']??a['fee_params']['threshold']??a['fee_params']['monthly_rent_amount']??0x0)||0x0,'allocators':c}),'requires':['machine_publish']}),{'steps':d};}export function checkEmittedStepShapes({steps:a}){const b=[],c=e=>{if(e===null)return'null';if(typeof e==='string')return'\x22'+e['slice'](0x0,0x18)+'\x22'+(e['length']>0x18?'…':'');if(Array['isArray'](e))return'array';if(typeof e==='object')return'{'+Object['keys'](e)['join'](',\x20')+'}';return typeof e;},d=e=>{if(e===null||typeof e!=='object'||Array['isArray'](e))return'not\x20a\x20tagged\x20recipient\x20object\x20(found\x20'+c(e)+')\x20—\x20the\x20schema\x20union\x20accepts\x20only\x20'+'{GuardIdentifier:\x20u8}\x20|\x20{Entity:\x20mark|object}\x20|\x20{Signer:\x20\x22signer\x22}';const f=Object['keys'](e);if(f['length']!==0x1)return'expected\x20exactly\x20ONE\x20recipient\x20tag,\x20found\x20['+f['join'](',\x20')+']';const g=f[0x0],h=e[g];if(g==='Signer'){if(h!=='signer')return'{Signer:\x20'+JSON['stringify'](h)+'}\x20—\x20the\x20literal\x20is\x20lowercase\x20\x22signer\x22';}else{if(g==='GuardIdentifier'){if(typeof h!=='number'||!Number['isInteger'](h)||h<0x0)return'{GuardIdentifier:\x20'+c(h)+'}\x20—\x20the\x20slot\x20is\x20a\x20u8\x20table\x20index';}else{if(g==='Entity'){if(typeof h!=='string'&&(h===null||typeof h!=='object'))return'{Entity:\x20'+c(h)+'}\x20—\x20a\x20mark\x20string\x20or\x20a\x20{name_or_address}\x20object';}else return'\x27'+g+'\x27\x20is\x20not\x20a\x20RecipientSchema\x20tag\x20(GuardIdentifier\x20|\x20Entity\x20|\x20Signer)';}}return undefined;};for(const e of a){if(e['op']==='configure'&&e['method']==='order_allocators'){const f=e['params']['allocators'];if(!Array['isArray'](f))continue;f['forEach']((g,h)=>{const i=g?.['sharing'];if(!Array['isArray'](i))return;i['forEach']((j,k)=>{const l=j?.['who'],m=d(l);m!==undefined&&b['push']({'code':'EMITTED_STEP_SHAPE_INVALID','detail':'step\x20\x27'+e['id']+'\x27\x20allocator['+h+']\x20sharing['+k+'].who\x20is\x20'+c(l)+':\x20'+m+'.\x20'+'The\x20call\x20layer\x27s\x20RecipientSchema\x20rejects\x20the\x20step\x20at\x20EXECUTION\x20with\x20schema_mismatch\x20'+'(nnd4\x20F-06:\x20the\x20bare\x20string\x20\x22Signer\x22\x20killed\x20the\x20service_allocators\x20configure\x20at\x20'+'step\x2035/44\x20and\x20blocked\x20the\x20remaining\x209\x20steps)\x20—\x20fix\x20the\x20EMITTER,\x20not\x20the\x20plan:\x20'+'this\x20gate\x20exists\x20so\x20a\x20shape\x20drift\x20fails\x20the\x20compile,\x20never\x20the\x20deploy.'});});});}if(e['op']==='create'&&e['object']==='guard'){const g=e['params']['root'],h=g===null||typeof g!=='object'?[{'path':'/root','message':'expected\x20a\x20Guard\x20node\x20object,\x20found\x20'+c(g)}]:validateGuardTreeShape(g);for(const i of h){b['push']({'code':'EMITTED_STEP_SHAPE_INVALID','detail':'step\x20\x27'+e['id']+'\x27\x20(guard\x20create)\x20root\x20at\x20'+i['path']+'\x20is\x20not\x20a\x20structured\x20Guard\x20node\x20tree:\x20'+(i['message']+'.\x20A\x20prose/logic-string\x20root\x20passes\x20emission\x20silently\x20and\x20dies\x20at\x20the\x20Guard\x20')+'create\x20(the\x20SDK\x20evaluator\x20walks\x20nodes,\x20never\x20prose)\x20—\x20the\x20root\x20must\x20be\x20the\x20structured\x20'+'node\x20vocabulary\x20({type:\x20logic_*|context|query|identifier|…})\x20the\x20guard\x20templates\x20fill.'});}}}return{'blockers':b};}const OWNER_CLASS_QUERY_RE=/^(order\.(owner|agent)|permission\.(owner|admin)|service\.permission)\b/i;function signerReachableArmPresent(a){let b=![];const c=(e,f)=>{if(b||e===null||typeof e!=='object')return;if(Array['isArray'](e)){for(const h of e)c(h,f);return;}const g=e;if(typeof g['type']==='string'&&/keys_where$/i['test'](g['type']))b=!![];if(g['kind']==='addressEq')b=!![];if(b)return;if(g['type']==='context'&&g['context']==='Signer'&&!f)b=!![];if(b)return;if(typeof g['query']==='string'&&OWNER_CLASS_QUERY_RE['test'](g['query'])){for(const i of Object['values'](g))c(i,!![]);return;}if(g['type']==='logic_equal'){const j=Array['isArray'](g['nodes'])?g['nodes']:g['left']!==undefined||g['right']!==undefined?[g['left'],g['right']]:[];j['forEach']((k,l)=>{const m=j['find']((o,p)=>p!==l);c(k,f||d(m));});return;}for(const k of Object['values'](g))c(k,f);},d=e=>e!==null&&typeof e==='object'&&!Array['isArray'](e)&&typeof e['query']==='string'&&OWNER_CLASS_QUERY_RE['test'](e['query']);return c(a,![]),b;}export function checkFundRailReachability({steps:a,resolvedGuards:b}){const c=[],d=new Set();for(const e of a){if(e['op']!=='configure'||e['method']!=='order_allocators')continue;const f=e['params']['allocators'];if(!Array['isArray'](f))continue;f['forEach']((h,i)=>{const j=h,k=j?.['sharing'];if(!Array['isArray'](k))return;const l=k['some'](q=>{if(q===null||typeof q!=='object'||Array['isArray'](q))return![];const r=q['who'];return r!==null&&typeof r==='object'&&!Array['isArray'](r)&&'Signer'in r;});if(!l)return;const m=j?.['guard_key'];if(typeof m!=='string'||d['has'](m))return;d['add'](m);const n=b['get'](m);if(n===undefined||n['root']===null||typeof n['root']!=='object')return;if(signerReachableArmPresent(n['root']))return;const o=typeof j?.['track']==='string'?j['track']:'?',p=typeof j?.['recipient_key']==='string'?j['recipient_key']:'signer';c['push']({'code':'FUND_RAIL_UNREACHABLE','detail':'allocator\x20row\x20['+i+']\x20('+o+'/'+p+')\x20on\x20guard\x20\x27'+m+'\x27\x20pays\x20the\x20DYNAMIC\x20'+'Recipient::Signer\x20(the\x20allocation\x20tx\x20sender),\x20but\x20the\x20resolved\x20guard\x20root\x20carries\x20NO\x20'+'caller-satisfiable\x20identity-binding\x20arm:\x20every\x20caller-authorization\x20comparison\x20pins\x20'+'context(Signer)\x20to\x20a\x20FIXED\x20order/permission\x20owner-class\x20identity\x20'+'(order.owner\x20/\x20order.agent\x20/\x20permission.owner\x20/\x20permission.admin\x20/\x20service.permission)\x20—\x20'+'the\x20intended\x20third-party\x20payee\x20(whatever\x20runtime\x20identity\x20the\x20rail\x20is\x20FOR,\x20e.g.\x20the\x20'+'judge-recorded\x20winner)\x20is\x20STRUCTURALLY\x20unable\x20to\x20fire\x20this\x20rail.\x20nnd4\x20F-01\x20(99designs\x20'+'design-contest\x20mainnet\x20261103):\x20the\x20signer\x20prize\x20rail\x20reused\x20the\x20owner/admin\x20caller\x20'+'template,\x20the\x20winner\x20was\x20neither,\x20and\x2013.8\x20WOW\x20stranded\x20—\x20discovered\x20only\x20after\x20real\x20'+'funds\x20were\x20on\x20chain,\x20because\x20guards\x20and\x20order_allocators\x20FREEZE\x20at\x20publish\x20(IMMUT-001).\x20'+'Cure\x20—\x20add\x20ONE\x20of\x20the\x20missing\x20arm\x20types:\x20(a)\x20the\x20SIGNER-BINDING\x20placement\x20leg\x20'+'logic_equal[context(Signer),\x20<self-submitted\x20probe>]\x20paired\x20with\x20a\x20keys_where/addressEq\x20'+'row-value\x20binding\x20(tpl_allocator_prize_settle_once\x20ships\x20the\x20third\x20arm\x20verbatim),\x20or\x20'+'(b)\x20a\x20fixed\x20payee\x20—\x20share\x20to\x20{Entity:\x20<mark>}\x20instead\x20of\x20the\x20dynamic\x20Signer\x20when\x20the\x20'+'payee\x20is\x20a\x20build-known\x20identity.'});});}return{'blockers':c};}export function checkWindowTopology({template:a}){const b=[],c=a['guards']??[],d=[];for(const h of c){const i=h['params'];if(i===undefined)continue;for(const [j,k]of Object['entries'](i)){typeof k==='string'&&k['length']>0x0&&/_(days|ms)$/['test'](j)&&d['push']({'guardKey':h['key'],'windowName':k});}}if(d['length']===0x0)return{'warnings':b};const e=new Map(c['map'](l=>[l['key'],l]));for(const l of a['machine_shape']??[]){const m=Array['isArray'](l['from'])?l['from']:[];for(const n of m){if(n===null||typeof n!=='object')continue;const o=n;for(const q of d){if(!l['role']['includes'](q['windowName']))continue;if(o['guard_key']===q['guardKey'])continue;const r=o['guard_key']!==undefined?e['get'](o['guard_key']):undefined;if(r!==undefined){const s=r['params'];if(s!==undefined&&typeof s['closing_window_days']==='string')continue;if(r['purpose']['includes'](q['windowName']))continue;}b['push']('WINDOW_CLOSING_NOT_MOUNTED:\x20edge\x20\x27'+(o['forward']??'?')+'\x27\x20->\x20node\x20\x27'+l['name']+'\x27\x20'+('(guard\x20'+(o['guard_key']??'UNBOUND')+')\x20purpose\x20names\x20window\x20\x27'+q['windowName']+'\x27,\x20but\x20the\x20edge\x27s\x20')+'guard\x20ships\x20neither\x20the\x20closing\x20window\x20leg\x20(params\x20closing_window_days/window_anchor_node,\x20'+'guard-fill\x20andClosingWindowLeg)\x20nor\x20is\x20it\x20the\x20window\x20guard\x20itself\x20—\x20the\x20window\x20semantics\x20ride\x20'+'keeper\x20discipline\x20alone\x20(nnd4\x20F-02:\x20the\x20contest\x20appeal\x20edge\x20stayed\x20reachable\x2066s\x20past\x20expiry\x20'+'while\x20the\x20finalize\x20lock\x20waited\x20on\x20the\x20keeper).\x20Mount\x20the\x20closing\x20leg\x20on\x20guard\x20'+('\x27'+(o['guard_key']??'<key>')+'\x27\x20(declare\x20params\x20{closing_window_days:\x20\x27'+q['windowName']+'\x27,\x20')+'window_anchor_node:\x20<anchor\x20node>})\x20or\x20bind\x20the\x20window\x20guard\x20to\x20this\x20edge.');}}}return{'warnings':b};}export function emitSales({template:a,inputs:b}){const c=[],d=[];if(Array['isArray'](b['sales'])&&b['sales']['length']>0x0){for(const f of b['sales']){const g=f;if(g===null||typeof g!=='object')continue;const h=Object['keys'](g)['filter'](i=>!SERVICE_SALE_INPUT_FIELDS['has'](i));h['length']>0x0&&d['push']({'code':'SALE_INPUT_UNKNOWN_FIELD','detail':'sales\x20SKU\x20\x27'+String(g['name']??'?')+'\x27\x20carries\x20field(s)\x20outside\x20the\x20executor\x27s\x20'+('ServiceSaleSchema\x20vocabulary:\x20'+h['map'](i=>'\x27'+i+'\x27')['join'](',\x20')+'.\x20Allowed:\x20name,\x20price,\x20')+'stock\x20(or\x20the\x20generator\x20alias\x20\x27quantity\x27),\x20suspension,\x20wip,\x20wip_hash\x20—\x20plus\x20the\x20PLAN-METADATA\x20'+'declaration\x20\x27incentive\x27\x20(accepted\x20as\x20declaration-only;\x20stripped\x20from\x20the\x20chain\x20payload\x20and\x20'+'retained\x20in\x20plan.inputs).\x20Unknown\x20fields\x20pass\x20emission\x20verbatim\x20and\x20abort\x20the\x20sales\x20configure\x20'+'at\x20execution\x20with\x20schema_mismatch\x20—\x20fix\x20the\x20inputs.sales\x20entries\x20'+'(cour-mn-261102-z5t8\x20E2:\x20generation-time\x20refusal\x20instead\x20of\x20a\x20guaranteed\x20execution\x20failure).'});}for(const i of b['sales']){const j=numericAmount(i?.['price']);j===0x0&&d['push']({'code':'SALE_ZERO_PRICE','detail':'sales\x20SKU\x20\x27'+String(i?.['name']??'?')+'\x27\x20lists\x20price\x20\x220\x22\x20—\x20a\x20zero-priced\x20'+'LISTING\x20is\x20refused\x20(E_ZERO_TOTAL_ORDER=42:\x20a\x20zero-total\x20order\x20carries\x20an\x20empty\x20'+'escrow\x20and\x20nothing\x20to\x20settle).\x20The\x20sanctioned\x20free\x20tier:\x20price\x20the\x20SKU\x20at\x201\x20smallest\x20unit\x20'+'(the\x20minimum\x20buyable\x20price),\x20or\x20deliver\x20it\x20outside\x20the\x20sales\x20rails.'});if((a?.['installment_mode']??'')==='deposit_balance'){const k=numericAmount(a?.['fee_params']?.['deposit_amount'])??numericAmount(b['deposit_amount']);k!==undefined&&j!==k&&d['push']({'code':'BUY_PRICE_DEPOSIT_MISMATCH','detail':'deposit_balance:\x20sales\x20SKU\x20\x27'+String(i?.['name']??'?')+'\x27\x20lists\x20'+('price\x20'+j+'\x20but\x20fee_param\x20deposit_amount\x20=\x20'+k+'\x20—\x20buy()\x20escrows\x20the\x20SKU\x20price\x20(Order.amount,\x20')+'one\x20PTB)\x20while\x20the\x20fund\x20gate\x20reads\x20full_price,\x20so\x20the\x20\x22deposit\x22\x20the\x20buyer\x20actually\x20fronts\x20is\x20the\x20'+'LISTING\x20price,\x20not\x20the\x20declared\x20deposit\x20(hiswkp\x20F-37:\x20buyers\x20fronted\x208\x20WOW\x20against\x20a\x205\x20WOW\x20deposit\x20'+'and\x20the\x20deposit\x20semantics\x20inverted\x20silently).\x20Price\x20the\x20SKU\x20AT\x20the\x20deposit,\x20or\x20declare\x20the\x20'+'deposit\x20via\x20fee_overrides\x20to\x20match\x20the\x20listing.'});}}{const l=b['sales']['map'](m=>{const o=m;if(o===null||typeof o!=='object')return 0x0;const p=numericAmount(o['stock'])??numericAmount(o['quantity']);return p===undefined?0x0:p;});l['length']>0x0&&l['every'](m=>m<=0x0)&&d['push']({'code':'SALE_ALL_ZERO_STOCK','detail':'every\x20sales\x20SKU\x20resolves\x20to\x20stock\x200\x20(missing\x20\x27stock\x27/\x27quantity\x27\x20counts\x20as\x200\x20—\x20the\x20'+'materialize\x20normalizer\x27s\x20fallback),\x20so\x20the\x20published\x20service\x20would\x20refuse\x20EVERY\x20buy\x20with\x20'+'E_STOCK_NOT_ENOUGH=16:\x20a\x20shop\x20where\x20nothing\x20is\x20buyable.\x20Pass\x20the\x20inventory\x20per\x20SKU\x20—\x20'+'inputs.sales[i].quantity\x20(or\x20.stock)\x20—\x20for\x20at\x20least\x20the\x20SKUs\x20that\x20must\x20be\x20sellable\x20at\x20'+'deploy.\x20A\x20single\x20deliberately\x20sold-out\x20SKU\x20is\x20fine\x20(only\x20the\x20ALL-zero\x20catalog\x20blocks);\x20'+'stock\x20can\x20be\x20topped\x20up\x20post-publish\x20via\x20the\x20service\x20sales\x20op,\x20but\x20the\x20first\x20buyable\x20'+'state\x20should\x20exist\x20at\x20deploy\x20(R19\x20first-deploy\x20completeness).'});}c['push']({'op':'configure','id':'service_sales','target':ref('service'),'method':'sales','params':{'op':'add','sales':b['sales']['map'](m=>{if(m===null||typeof m!=='object'||Array['isArray'](m))return m;const n={...m};for(const o of PLAN_SALE_META_FIELDS)delete n[o];return n;})}});const e=a!==undefined&&a['restock_on_refund']===!![]&&b['restock_on_refund']!==![];if(e)for(const m of b['sales']){const n=m?.['name'];if(typeof n!=='string'||n['trim']()==='')continue;c['push']({'op':'configure','id':'service_restock_flag_'+n,'target':ref('service'),'method':'restock','params':{'op':'flag','sale_name':n,'flagged':!![]}});}}return{'steps':c,'blockers':d};}export function emitReviewComponent({template:a,inputs:b,reviewMode:c,experienceClaimKey:d,priceRebateClaimKey:g,shape:h,guardSpecs:i,resolvedGuards:j,specByKey:k}){const l=[],m=[],o=[],p=a['fee_params']?.['setting_lock_days'],q=typeof p==='number'?p:Number(p);if(Number['isFinite'](q)&&q>0x1e){const t=Math['round']((q-0x1e)*0x5265c00);m['push']({'op':'configure','id':'service_setting_lock','target':ref('service'),'method':'setting_lock_duration_add','params':{'setting_lock_duration_add':t},'notes':'D-05\x20WIRED:\x20fee_param\x20setting_lock_days\x20'+q+'d\x20−\x20chain\x20default\x2030d\x20=\x20'+Math['round'](t/0x5265c00)+'d\x20add-only\x20delta\x20(safe_add\x20on\x20the\x20chain\x27s\x20DEFAULT_LOCK_DURATION\x20constant,\x202592000000\x20ms).\x20Lands\x20post-publish\x20(permission\x20317);\x20add-only\x20means\x20it\x20can\x20never\x20shorten.'});}const s=a['payment_model']==='subscription';if(c!=='none'){const u=h['some'](D=>/review/i['test'](D['name']));c==='review'&&!u&&o['push']({'code':'REVIEW_NODE_MISSING','detail':'review_mode\x20\x27'+c+'\x27\x20declares\x20the\x20buyer\x20review\x20reputation\x20rail,\x20but\x20machine_shape\x20has\x20no\x20'+'\x27reviewed\x27\x20node.\x20Add\x20a\x20buyer-advanced\x20review\x20node\x20(operator\x20order_payer)\x20with\x20an\x20EXIT\x20edge\x20back\x20to\x20the\x20'+'settlement\x20rail\x20(R-DEAD-END:\x20a\x20zero-exit\x20review\x20node\x20strands\x20the\x20escrow),\x20or\x20anchor\x20the\x20claim\x20on\x20the\x20'+'delivered\x20terminal\x20via\x20a\x20host:\x22reward\x22\x20guard\x20(review_mode\x20\x22review_reward\x22\x20variant).'});const v=h['filter'](D=>/review/i['test'](D['name']));if(v['length']>0x0){const D=new Set();for(const E of v){const F=E['from'];if(!Array['isArray'](F))continue;for(const G of F){if(typeof G==='string'&&G!=='')D['add'](G);else typeof G==='object'&&G!==null&&typeof G['prev']==='string'&&D['add'](G['prev']);}}for(const H of h){if(H['semantic_role']!=='final'&&H['semantic_role']!=='cancelled')continue;const I=H['from'];if(!Array['isArray'](I))continue;for(const J of I){if(typeof J!=='string'||!D['has'](J))continue;o['push']({'code':'REVIEW_REWARD_BYPASS','detail':'The\x20settlement\x20terminal\x20\x27'+H['name']+'\x27\x20is\x20reachable\x20from\x20the\x20review-capable\x20state\x20\x27'+J+'\x27\x20through\x20a\x20BARE\x20'+'default-advance\x20edge\x20—\x20any\x20caller\x20can\x20finalize\x20(and\x20release\x20the\x20escrow)\x20while\x20skipping\x20the\x20declared\x20review\x20'+('rail\x20(\x27'+v['map'](K=>K['name'])['join'](',\x20')+'\x27).\x20That\x20is\x20the\x20live\x20ORD-4\x20shape:\x20review\x20rating\x20and\x20reward\x20')+'leg\x20never\x20written,\x20settlement\x20still\x20paid.\x20Express\x20the\x20no-review\x20escape\x20as\x20an\x20AUTHORED\x20waiver\x20edge\x20—\x20'+('{\x20prev:\x20\x22'+J+'\x22,\x20forward:\x20\x22FinalizeWithoutReview\x22,\x20operator:\x20\x22merchant\x22,\x20permission_index:\x20<finalization\x20slot>\x20}\x20—\x20')+'so\x20a\x20human\x20role\x20decides\x20the\x20waiver\x20on\x20chain,\x20or\x20remove\x20the\x20review\x20declaration\x20if\x20the\x20product\x20does\x20not\x20want\x20one.'});}}}const w=i['find'](K=>K['host']==='reward'),x=K=>{const L=new Set(),M=K!==undefined?j['get'](K):undefined;if(M===undefined)return L;const N=new Map();for(const Q of M['table']){typeof Q['identifier']==='number'&&typeof Q['value']==='string'&&N['set'](Q['identifier'],Q['value']);}const O=R=>{if(Array['isArray'](R)){for(const T of R)O(T);return;}if(R===null||typeof R!=='object')return;const S=R;if(Array['isArray'](S['nodes'])){const [U,V]=S['nodes'];if(U?.['query']==='progress.current'&&typeof V?.['identifier']==='number'){const W=N['get'](V['identifier']);if(W!==undefined)L['add'](W);}O(S['nodes']);}};return O(M['root']),L;},y=h['find'](K=>/review/i['test'](K['name']))?.['name'];let z,A,B=[];if(y!==undefined){const K=[];for(const U of h){for(const V of U['from']??[]){const W=typeof V==='string'?{'prev':V,'guard_key':undefined}:V;K['push']({'prev':W['prev'],'guard_key':W['guard_key'],'target':U['name']});}}const L=K['filter'](X=>X['target']===y&&X['prev']!=='');B=[...new Set(L['map'](X=>X['prev']))];const M=[...new Set(L['flatMap'](X=>X['guard_key']!==undefined?[X['guard_key']]:[]))],N=M['length']===0x1?M[0x0]:M['length']===0x0?K['find'](X=>X['prev']===y&&X['guard_key']!==undefined)?.['guard_key']:undefined,O=x(N),Q=O['size']===0x0||O['size']===0x1&&B['length']===0x1&&B[0x0]===[...O][0x0],R=Q?N:undefined,S=R!==undefined?k['get'](R):undefined,T=S?.['template_id']==='tpl_review_submit_content_gate';z=T?undefined:S?.['step_id'],A=T?undefined:R;}if(z===undefined){const X=[...new Set([...h['filter'](a4=>/review/i['test'](a4['name'])||a4['semantic_role']==='final')['map'](a4=>a4['name']),...B])],Y={'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.owner','object':{'identifier':0x0},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'order.agent\x20has','object':{'identifier':0x0},'parameters':[{'type':'context','context':'Signer'}]}]},Z={'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},a0=X['map']((a4,a5)=>({'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'parameters':[]},{'type':'identifier','identifier':0x2+a5}]})),a1=a0['length']===0x1?a0[0x0]:a0['length']>0x1?{'type':'logic_or','nodes':a0}:undefined,a2=h['find'](a4=>a4['semantic_role']==='delivered'&&!/review/i['test'](a4['name']))?.['name'],a3=a2===undefined?undefined:{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query_progress_history_find','object':{'identifier':0x0,'convert_witness':'OrderProgress'},'where':{'nextNode':a2},'find':'last'},{'type':'identifier','identifier':0x2+X['length']}]};l['push']({'op':'create','id':'guard_review_write','object':'guard','params':P({'description':'Review\x20write\x20credential\x20(AR-3,\x20kernel-emitted):\x20the\x20signer\x20owns\x20or\x20administers\x20an\x20order\x20of\x20THIS\x20service'+(a1!==undefined?',\x20anchored\x20on\x20the\x20order\x20having\x20reached\x20'+X['join']('\x20/\x20'):'')+(a3!==undefined?',\x20and\x20the\x20order\x20must\x20have\x20ENTERED\x20the\x20\x27'+a2+'\x27\x20node\x20at\x20least\x20once\x20(history\x20probe\x20—\x20a\x20never-delivered\x20order\x20cannot\x20write\x20the\x20rating\x20row,\x20ksk4\x20F-04).\x20':'.\x20')+'Gates\x20the\x20\x27review\x27\x20and\x20\x27rating\x27\x20policies\x20of\x20the\x20plan-created\x20review\x20repository\x20—\x20reads\x20nothing\x20from\x20that\x20repository,\x20so\x20the\x20write\x20path\x20is\x20satisfiable\x20by\x20construction\x20(no\x20credential\x20cycle).','table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'order_being_reviewed'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':ref('service'),'name':'this_service'},...X['map']((a4,a5)=>({'identifier':0x2+a5,'b_submission':![],'value_type':'String','value':a4})),...a3!==undefined?[{'identifier':0x2+X['length'],'b_submission':![],'value_type':'U64','value':'0'}]:[]],'root':{'type':'logic_and','nodes':[...a1!==undefined?[a1]:[],...a3!==undefined?[a3]:[],Y,Z]}}),'notes':'AR-3\x20review\x20write\x20credential\x20(service\x20pinned\x20by\x20plan\x20ref\x20—\x20survives\x20permission\x20rotation).\x20The\x20buyer\x20writes\x20both\x20rows\x20at\x20review\x20time:\x20repository.data_add\x20{name:\x27review\x27|\x27rating\x27,\x20items:[{write_guard:\x27<this\x20guard>\x27,\x20data:[{id:<order\x20address>,\x20data:<stars/text>}]}]}\x20with\x20a\x20passport\x20submission\x20carrying\x20the\x20order.\x20Ordering\x20(F-05):\x20repository_review\x27s\x20create\x20is\x20EARLY\x20(pre-wave,\x20unguarded);\x20THIS\x20credential\x20exists\x20before\x20the\x20repository_review_write_guards\x20configure\x20step\x20that\x20freezes\x20the\x20credential\x20ref\x20(HOST-GRAPH-01).'}),z='guard_review_write',A='review_write';}const C=b['review_decision_enabled']===!![]&&c==='review_reward'&&w?.['step_id']!==undefined&&z!==undefined;C&&l['push']({'op':'create','id':'guard_review_decision','object':'guard','params':P({'description':'Merchant\x20review-decision\x20write\x20credential:\x20only\x20the\x20service\x20provider\x20(permission\x20owner\x20or\x20admin)\x20may\x20write\x20U64\x20decision\x20rows\x20(row\x20id\x20=\x20order\x20address,\x20value\x20=\x20approved\x20payout)\x20under\x20the\x20review\x20repository\x27s\x20\x27review_decision\x27\x20policy.','table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'order_being_approved'},{'identifier':0x1,'b_submission':![],'value_type':'Address','value':ref('service'),'name':'this_service'},{'identifier':0x2,'b_submission':!![],'value_type':'Address','name':'service_permission'}],'root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'order.service','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},{'type':'logic_equal','nodes':[{'type':'query','query':'service.permission','object':{'identifier':0x1},'parameters':[]},{'type':'identifier','identifier':0x2}]},{'type':'logic_or','nodes':[{'type':'logic_equal','nodes':[{'type':'query','query':'permission.owner','object':{'identifier':0x2},'parameters':[]},{'type':'context','context':'Signer'}]},{'type':'query','query':'permission.admin\x20has','object':{'identifier':0x2},'parameters':[{'type':'context','context':'Signer'}]}]}]}}),'notes':'REVIEW-DECISION\x20write\x20credential\x20(allocator\x20dynamic-permission\x20shape,\x20service\x20pinned\x20by\x20plan\x20ref\x20—\x20survives\x20permission\x20rotation).\x20The\x20decision\x20write\x20itself:\x20repository.data_add\x20'+'{name:\x27review_decision\x27,\x20items:[{write_guard:\x27<this\x20guard>\x27,\x20data:[{id:<order\x20address>,\x20data:<approved\x20payout\x20U64>}]}]}\x20with\x20a\x20passport\x20submission\x20carrying\x20the\x20order\x20and\x20the\x20permission.'});if(z!==undefined){const a4=[{'guard':ref(z)}];l['push']({'op':'configure','id':'repository_review_write_guards','target':ref('repository_review'),'method':'policies','params':P({'op':'add','policy':[{'name':'review','description':s?'Re-writable\x20rating\x20+\x20comment\x20row\x20per\x20ORDER,\x20re-written\x20at\x20each\x20renewal\x20period\x20(renewal\x20exception,\x20W5-13:\x20write_once\x20on\x20a\x20renewal-subscription\x20review\x20policy\x20bricks\x20period-2+\x20reviews\x20—\x20O-F13;\x20the\x20order\x20address\x20row\x20key\x20never\x20changes\x20across\x20renewals).\x20Writes\x20require\x20the\x20review\x20credential\x20(guard\x20key\x20\x27'+A+'\x27).\x20Payload:\x20JSON\x20text\x20{rating,\x20tags?,\x20orderRef?}.':'One\x20immutable\x20row\x20per\x20ORDER\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address\x20—\x20F09\x20yfd-ln-261024:\x20a\x20repeat\x20buyer\x20must\x20be\x20able\x20to\x20review\x20every\x20order;\x20the\x20old\x20Signer-keyed\x20row\x20made\x20order\x20#2\x20unwritable).\x20Write-once\x20—\x20a\x20rewrite\x20attempt\x20aborts\x20on-chain,\x20K3(a).\x20Writes\x20require\x20the\x20review\x20credential\x20(guard\x20key\x20\x27'+A+'\x27).\x20Payload:\x20JSON\x20text\x20{rating,\x20tags?,\x20orderRef?}.','write_guard':a4,'id_from':'none','value_type':'String','write_once':!s},{'name':'rating','description':s?'Order-keyed\x20numeric\x20rating\x20(F-62):\x20one\x20U64\x20row\x20per\x20ORDER\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address;\x20value\x20=\x20stars,\x20e.g.\x201..5),\x20re-written\x20at\x20each\x20renewal\x20period\x20(renewal\x20exception,\x20W5-13\x20—\x20O-F13:\x20write_once\x20would\x20brick\x20period-2+\x20ratings).\x20Writes\x20require\x20the\x20same\x20review\x20credential\x20as\x20the\x20\x27review\x27\x20text\x20policy\x20—\x20a\x20verified\x20completed-order\x20buyer.\x20This\x20—\x20not\x20the\x20\x27review\x27\x20text\x20row\x20(same\x20order\x20key,\x20String\x20payload)\x20—\x20is\x20the\x20row\x20a\x20reward\x20good-review\x20leg\x20must\x20query\x20(query\x20repository.data:\x20the\x20policy-name\x20row\x20+\x20the\x20order-address\x20identifier\x20row,\x20compared\x20against\x20the\x20rating\x20floor).\x20The\x20text\x20row\x20is\x20display;\x20this\x20row\x20is\x20payout\x20authority.':'Order-keyed\x20numeric\x20rating\x20(F-62):\x20one\x20U64\x20row\x20per\x20ORDER\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address;\x20value\x20=\x20stars,\x20e.g.\x201..5;\x20write-once\x20—\x20a\x20rewrite\x20attempt\x20aborts\x20on-chain,\x20K3(a)).\x20Writes\x20require\x20the\x20same\x20review\x20credential\x20as\x20the\x20\x27review\x27\x20text\x20policy\x20—\x20a\x20verified\x20completed-order\x20buyer.\x20This\x20—\x20not\x20the\x20\x27review\x27\x20text\x20row\x20(same\x20order\x20key,\x20String\x20payload)\x20—\x20is\x20the\x20row\x20a\x20reward\x20good-review\x20leg\x20must\x20query\x20(query\x20repository.data:\x20the\x20policy-name\x20row\x20+\x20the\x20order-address\x20identifier\x20row,\x20compared\x20against\x20the\x20rating\x20floor).\x20The\x20text\x20row\x20is\x20display;\x20this\x20row\x20is\x20payout\x20authority.','write_guard':a4,'id_from':'none','value_type':'U64','write_once':!s},...C?[{'name':'review_decision','description':'Merchant\x20approval\x20ledger\x20for\x20the\x20review\x20bounty\x20(professional\x20form):\x20one\x20U64\x20row\x20per\x20order\x20(id_from=None;\x20row\x20id\x20=\x20the\x20order\x20address;\x20value\x20=\x20approved\x20payout\x20in\x20smallest\x20units).\x20A\x20row\x20whose\x20value\x20>=\x20the\x20promised\x20payout\x20IS\x20the\x20approval\x20the\x20claim\x20guard\x27s\x20decision\x20leg\x20reads\x20(tpl_repository_review_decision_gate).\x20Writes\x20REQUIRE\x20the\x20merchant\x20decision\x20credential\x20(guard\x20step\x20\x27guard_review_decision\x27);\x20buyers\x20hold\x20no\x20write\x20path.','write_guard':[{'guard':ref('guard_review_decision')}],'id_from':'none','value_type':'U64'}]:[]]}),'requires':['repository_review',z,...C?['guard_review_decision']:[]],'notes':'F-BS5-03\x20(bst5-mn-261101):\x20the\x20credential-bound\x20and\x20ONLY\x20forms\x20of\x20the\x20review\x20repository\x27s\x20\x27review\x27/\x27rating\x27\x20policies\x20—\x20the\x20early\x20create\x20(pre-wave)\x20cannot\x20carry\x20them\x20(an\x20id_from=none\x20policy\x20without\x20a\x20write_guard\x20aborts\x20the\x20create\x20on-chain:\x20the\x20chain\x20requires\x20a\x20non-empty\x20write_guard\x20on\x20the\x20create\x20path\x20too),\x20so\x20they\x20land\x20here\x20now\x20that\x20the\x20credential\x20guards\x20exist.\x20The\x20buyer\x20writes\x20BOTH\x20rows\x20at\x20review\x20time\x20(repository.data_add\x20{name:\x27rating\x27,\x20items:[{data:[{id:<order\x20address>,\x20data:<stars>}]}]}\x20with\x20the\x20same\x20passport\x20as\x20the\x20forward);\x20a\x20good-review\x20bounty\x20claim\x20guard\x20must\x20query\x20the\x20order-keyed\x20U64\x20\x27rating\x27\x20row,\x20never\x20the\x20text\x20row.'+(C?'\x20[review_decision\x27s\x20write\x20credential\x20frozen\x20AFTER\x20guard_review_decision\x20—\x20HOST-GRAPH-01\x20discipline.]':'')}),l['push']({'op':'configure','id':'service_review_repository','target':ref('service'),'method':'repositories','params':P({'op':'add','objects':[ref('repository_review')]}),'requires':['service','repository_review']});}if(c==='review_reward'){const a5=w;if(a5===undefined||a5['step_id']===undefined)o['push']({'code':'REVIEW_REWARD_GUARD_MISSING','detail':'review_mode\x20\x27review_reward\x27\x20promises\x20a\x20claim\x20reward,\x20but\x20no\x20RESOLVED\x20host:\x22reward\x22\x20guard\x20spec\x20'+'exists\x20to\x20gate\x20the\x20claim.\x20Mount\x20a\x20reward\x20claim\x20guard\x20(e.g.\x20pattern.progress_state_check\x20anchored\x20'+'on\x20the\x20review\x20node\x20or\x20the\x20delivered\x20terminal\x20+\x20review\x20evidence\x20hash)\x20and\x20keep\x20it\x20resolvable\x20—\x20'+'an\x20unguarded\x20incentive\x20promise\x20must\x20not\x20publish\x20(INV-4).\x20The\x20root\x20must\x20also\x20carry\x20the\x20BKN-P2\x20'+'positive-amount\x20leg\x20(order.amount\x20>=\x201)\x20so\x20zero-total\x20orders\x20can\x20never\x20claim.'});else{const a6=b['reward_funding'],a7=a5['params']?.['reward_claim_amount'];let a8=a7!==undefined&&a7!==null?a7:b['reward_claim_amount'],a9='';if(a8===undefined){const af=b['review_reward_per_claim'];af!==undefined&&af!==null&&Number(af)>0x0&&(a8=af,a9='input\x20review_reward_per_claim');}if(a8===undefined){const ag=a['fee_params']?.['review_reward_per_claim'];typeof ag==='number'&&ag>0x0&&(a8=ag,a9='template\x20fee_param\x20review_reward_per_claim\x20(override\x20with\x20the\x20reward_claim_amount\x20input)');}if(a8===undefined){const ah=lowestSalePrice(b['sales']);ah!==undefined&&(a8=String(Math['max'](Math['floor'](ah*0.02),0x1)),a9='derived:\x202%\x20of\x20the\x20cheapest\x20SKU\x20('+ah+'\x20smallest\x20units),\x20floored\x20at\x201\x20(T-02)');}let aa='';if(a8!==undefined){const ai=numericAmount(String(a8)),aj=lowestSalePrice(b['sales']);if(ai!==undefined&&aj!==undefined&&aj>0x0&&ai>0.5*aj){const ak=numericAmount(String(b['reward_funding']??'')),al=ak!==undefined&&ai>0x0?'\x20the\x20reward_funding\x20pool\x20covers\x20~'+Math['floor'](ak/ai)+'\x20claim(s)':'';aa='\x20⚠\x20T-02\x20SCALE:\x20the\x20per-claim\x20bounty\x20('+ai+')\x20exceeds\x20half\x20the\x20cheapest\x20SKU\x20price\x20('+aj+')\x20—\x20'+('each\x20claimed\x20order\x20pays\x20out\x20more\x20than\x20the\x20sale\x20earns;\x20a\x20low-price\x20SKU\x20makes\x20the\x20rail\x20a\x20bounty-farm\x20target.'+al);}}if(a8!==undefined&&!a9['startsWith']('derived:')){const am=0x5b8d80,an=numericAmount(String(a8));an!==undefined&&an<am&&o['push']({'code':'REWARD_BELOW_CLAIM_GAS','detail':'The\x20per-claim\x20bounty\x20('+a8+'\x20smallest\x20units)\x20is\x20below\x20the\x20claim\x20GAS\x20FLOOR\x20'+('('+am+'\x20smallest\x20units\x20=\x200.006\x20WOW):\x20a\x20claim\x20transaction\x20costs\x20≈0.0026\x20WOW\x20on\x20mainnet\x20')+'(cour\x20BOUNTY-BELOW-GAS,\x20etsm\x20measured),\x20so\x20claiming\x20at\x20this\x20bounty\x20LOSES\x20money\x20and\x20no\x20rational\x20user\x20ever\x20'+'claims\x20—\x20the\x20funded\x20pool\x20is\x20a\x20dead\x20incentive\x20(and\x20whatever\x20the\x20pool\x20holds\x20is\x20stranded\x20until\x20the\x20guard\x20is\x20'+('reworked).\x20Source:\x20'+(a9||'spec.params\x20reward_claim_amount')+'.\x20Fix:\x20pin\x20')+'reward_claim_amount\x20/\x20review_reward_per_claim\x20>=\x200.006\x20WOW\x20(6_000_000\x20smallest\x20units)\x20per\x20claim,\x20or\x20drop\x20the\x20'+'review_reward\x20track\x20(review_mode\x20without\x20a\x20payable\x20bounty\x20is\x20the\x20honest\x20shape).'});}if(a8!==undefined&&!a9['startsWith']('derived:')){const ao=numericAmount(String(a8)),ap=lowestSalePrice(b['sales']);ao!==undefined&&ap!==undefined&&ap>0x0&&ao>BOUNTY_TO_MIN_SKU_ADVISORY_RATIO*ap&&(a5['purpose']=a5['purpose']+'\x20REWARD_BOUNTY_OVER_GOODS_VALUE\x20(P-021,\x20ADVISORY\x20—\x20not\x20a\x20blocker):\x20the\x20explicitly\x20'+('chosen\x20per-claim\x20bounty\x20('+ao+'\x20smallest\x20units)\x20is\x20'+(ao/ap)['toFixed'](0x1)+'x\x20the\x20')+('cheapest\x20positive\x20SKU\x20price\x20('+ap+'\x20smallest\x20units).\x20Anti-farm\x20review:\x20a\x20bounty\x20far\x20above\x20the\x20')+'goods\x20value\x20is\x20usually\x20a\x20misconfiguration\x20or\x20a\x20deliberate\x20farm\x20target\x20—\x20confirm\x20the\x20ratio\x20is\x20'+('intended\x20before\x20funding\x20the\x20pool.\x20Source:\x20'+(a9||'spec.params\x20reward_claim_amount')+'.'));}const ab=j['get'](a5['key']);ab!==undefined&&!rootHasRewardRecordGate(ab['root'])&&o['push']({'code':'REVIEW_REWARD_UNARMED','detail':'review_reward\x20claim\x20guard\x20\x27'+a5['key']+'\x27\x20carries\x20no\x20record-gate:\x20Reward.claim\x20has\x20no\x20order\x20binding\x20of\x20its\x20own\x20'+'(OFN-C1),\x20so\x20a\x20funded\x20pool\x20behind\x20this\x20guard\x20is\x20a\x20replay-drain\x20target.\x20'+SV2_UNARMED_PRESCRIPTION+'\x20—\x20wrapped\x20in\x20'+'logic_and\x20with\x20the\x20identity\x20leg\x20(Signer\x20==\x20order.owner),\x20the\x20BKN-P2\x20positive-amount\x20'+'leg\x20(order.amount\x20>=\x201\x20—\x20zero-total\x20orders\x20must\x20never\x20claim)\x20and\x20the\x20existing\x20checks\x20'+'(see\x20tpl_reward_one_time_claim\x20v55\x20notes;\x20guard-risk\x20R-X1-14\x20audits\x20the\x20built\x20guard).\x20'+'Professional\x20approval\x20form\x20(F10\x20opt-in):\x20set\x20review_decision_enabled=true\x20to\x20have\x20this\x20'+'plan\x20emit\x20the\x20decision\x20channel\x20(guard\x20step\x20\x27guard_review_decision\x27\x20+\x20the\x20repository\x27s\x20'+'\x27review_decision\x27\x20policy),\x20then\x20compose\x20the\x20decision\x20leg\x20from\x20'+'tpl_repository_review_decision_gate\x20into\x20the\x20root\x20(find_where\x20over\x20\x27review_decision\x27\x20'+'with\x20vec_contains_address\x20pinning\x20the\x20submitted\x20order)\x20so\x20the\x20bounty\x20pays\x20only\x20'+'merchant-approved\x20orders.\x20'+'Until\x20armed,\x20do\x20not\x20fund\x20the\x20pool.'});let ac;if(ab!==undefined&&rootHasRewardRecordGate(ab['root']))for(const aq of ab['table']){const ar=aq;if(ar['b_submission']===!![]&&String(ar['value_type']??'')['toLowerCase']()==='address'&&(String(ar['object_type']??'')==='Order'||/order/i['test'](String(ar['name']??'')))){ac=ar['identifier'];break;}}const ad=a5['params']?.['evidence']??b['review_claim_evidence'];let ae;if(ad!==undefined&&ad!==null&&typeof ad==='object'){const as=ad,at=toByteVector(as['key']),au=toByteVector(as['predicate']);at!==undefined&&au!==undefined&&(ac===undefined?o['push']({'code':'REVIEW_REWARD_EVIDENCE_NO_STAMP','detail':'review_reward\x20resolved\x20an\x20evidence\x20binding\x20request,\x20but\x20the\x20claim\x20guard\x20mount\x20carries\x20no\x20'+'store_from_id\x20stamp\x20slot\x20—\x20the\x20evidence\x20binding\x20reads\x20THE\x20store_from\x20row\x20(the\x20submitted\x20'+'Order\x20address),\x20so\x20the\x20chain\x20refuses\x20the\x20guard\x20at\x20build\x20time\x20—\x20the\x20claim-time\x20'+'evidence\x20binding\x20aborts\x20with\x20E_EVIDENCE_NEEDS_STORE_FROM.\x20Give\x20the\x20claim\x20guard\x27s\x20table\x20an\x20address-typed\x20Order\x20'+'submission\x20row\x20(b_submission)\x20so\x20the\x20mount\x20can\x20pin\x20store_from_id,\x20then\x20rebuild.'}):ae={'repo':ref('repository_review'),'key':at,'predicate':au});}a8===undefined&&o['push']({'code':'REVIEW_REWARD_AMOUNT_MISSING','detail':'review_mode\x20\x27review_reward\x27\x20resolved\x20a\x20claim\x20guard\x20but\x20no\x20per-claim\x20bounty\x20was\x20provided\x20or\x20derivable.\x20'+'The\x20reward\x20guard_add\x20mount\x20REQUIRES\x20an\x20amount\x20(schema-required)\x20—\x20a\x20plan\x20step\x20emitted\x20without\x20'+'it\x20fails\x20mid-execution.\x20Pass\x20\x27reward_claim_amount\x27\x20(a\x20display\x20string\x20with\x20the\x20token\x20'+'symbol\x20like\x20\x271WOW\x27,\x20or\x20a\x20smallest-unit\x20integer\x20like\x20\x27100000000\x27),\x20set\x20it\x20in\x20the\x20guard\x20'+'spec\x27s\x20params,\x20or\x20include\x20a\x20parseable\x20sales\x20catalog\x20(inputs.sales\x20with\x20numeric\x20prices)\x20so\x20the\x20'+'T-02\x20default\x20applies\x20(2%\x20of\x20the\x20cheapest\x20SKU,\x20floored\x20at\x201\x20smallest\x20unit).'}),l['push']({'op':'configure','id':'reward_review_guard_add','target':ref('reward_review'),'method':'guard_add','params':P({'guard':ref(a5['step_id']),'recipient':{'Signer':'signer'},...a8!==undefined?{'amount':{'type':'Fixed','value':String(a8)}}:{},...ac!==undefined?{'store_from_id':ac}:{},...ae!==undefined?{'evidence':ae}:{}}),'requires':['reward_review'],'notes':'RECIPIENT\x20(crs-mn-261015\x20F-12):\x20recipient\x20is\x20pinned\x20to\x20{Signer:\x27signer\x27}\x20—\x20the\x20claim\x20entry\x20'+'requires\x20recipient\x20==\x20the\x20transaction\x20sender\x20(E_CLAIM_RECIPIENT_NOT_SIGNER\x20otherwise);\x20a\x20GuardIdentifier\x20recipient\x20'+'resolves\x20to\x20the\x20submitted\x20Order\x20and\x20can\x20never\x20be\x20paid.'+(a8!==undefined?'\x20AMOUNT\x20(BK15-F09):\x20per-claim\x20bounty\x20pinned\x20at\x20plan\x20time\x20('+String(a8)+')'+(a9?'\x20—\x20'+a9+';\x20override\x20with\x20the\x20reward_claim_amount\x20input':'')+'\x20—\x20no\x20execution-time\x20fill\x20needed.'+aa:'')+(ac!==undefined?'\x20SV-2\x20entry\x20stamp:\x20store_from_id\x20pins\x20the\x20per-order\x20stamp\x20slot\x20(the\x20submitted\x20Order\x20'+'address)\x20so\x20claim\x20records\x20key\x20per\x20order\x20—\x20once\x20per\x20buyer\x20per\x20order\x20(azx7-mn-261014\x20T8).':'')+(ae!==undefined?'\x20EVIDENCE\x20(ksk9d2-tn-261026\x20F-01):\x20the\x20guard\x20carries\x20an\x20evidence\x20binding\x20—\x20at\x20claim\x20the\x20'+'chain\x20counts\x20repository\x20rows\x20under\x20the\x20binding\x27s\x20(repo,\x20key)\x20matching\x20the\x20predicate\x20for\x20'+'THIS\x20claim\x27s\x20own\x20store_from\x20value\x20(the\x20submitted\x20order)\x20and\x20aborts\x2015\x20'+'(E_EVIDENCE_NOT_OWNED)\x20when\x20none:\x20a\x20borrowed\x20foreign\x20row\x20can\x20never\x20satisfy\x20the\x20bounty;\x20'+'the\x20order\x27s\x20attestation\x20row\x20must\x20exist\x20before\x20the\x20claim.'+'\x20PACKAGE\x20AVAILABILITY\x20(ksr-tn-261026\x20Q8-F04):\x20the\x20native\x20evidence-pinning\x20entry\x20is\x20'+'UNAVAILABLE\x20on\x20the\x20currently\x20deployed\x20package\x20—\x20batch\x20guard_add\x20submissions\x20silently\x20'+'DROP\x20the\x20pin\x20and\x20the\x20direct\x20face\x20hard-fails\x20with\x20a\x20missing-entry\x20error\x20(classified\x20'+'capability_unavailable,\x20non-retryable).\x20The\x20reward\x20guard_add\x20read-back\x20contract\x20'+'reports\x20EVIDENCE\x20BINDING\x20VERIFIED\x20/\x20NOT\x20ON\x20CHAIN\x20after\x20the\x20landed\x20call\x20—\x20treat\x20NOT\x20ON\x20'+'CHAIN\x20as\x20the\x20truth:\x20fall\x20back\x20to\x20the\x20repository-floor\x20guard\x20leg\x20and\x20disclose\x20that\x20it\x20'+'proves\x20only\x20\x27a\x20qualifying\x20row\x20exists\x20for\x20this\x20order\x27,\x20not\x20who\x20wrote\x20it.\x20Do\x20not\x20'+'re-send\x20guard_add\x20to\x20\x27fix\x27\x20a\x20dropped\x20pin.':'')}),l['push']({'op':'configure','id':'service_rewards','target':ref('service'),'method':'rewards','params':P({'op':'add','objects':[ref('reward_review')]}),'requires':['service']}),typeof a6==='string'||typeof a6==='number'?m['push']({'op':'configure','id':'reward_review_coin_add','target':ref('reward_review'),'method':'coin_add','params':{'balance':typeof a6==='number'?a6:String(a6)},'requires':['reward_review']}):o['push']({'code':'REVIEW_REWARD_UNFUNDED','detail':'review_mode\x20\x27review_reward\x27\x20without\x20a\x20\x27reward_funding\x27\x20input\x20(INV-4\x20R-REWARD-FUNDED):\x20the\x20incentive\x20'+'is\x20a\x20marketing\x20promise\x20that\x20must\x20be\x20FUNDED\x20when\x20the\x20Service\x20is\x20built\x20(sale-time\x20planning\x20—\x20pool\x20>=\x20'+'expected\x20orders\x20x\x20per-order\x20reward,\x20benchmark\x20fee_param\x20review_reward_pool).\x20Pass\x20reward_funding\x20'+'(smallest-unit\x20string)\x20to\x20fund\x20the\x20Reward\x20object,\x20or\x20drop\x20to\x20review_mode\x20\x22review\x22.'});}}}if(d!==undefined){const av=i['find'](aw=>aw['key']===d);if(av===undefined||av['step_id']===undefined)o['push']({'code':'EXPERIENCE_COMPENSATION_GUARD_MISSING','detail':'experience_compensation_mode\x20\x27reward\x27\x20armed\x20the\x20goodwill\x20track,\x20but\x20the\x20injected\x20claim\x20guard\x20'+('\x27'+d+'\x27\x20never\x20resolved\x20to\x20a\x20guard\x20step\x20(no\x20delivery-class\x20node\x20and\x20no\x20final\x20')+'terminal\x20in\x20machine_shape\x20to\x20anchor\x20the\x20claim\x20on).\x20Mount\x20a\x20claim-able\x20shape,\x20or\x20set\x20'+'inputs.experience_compensation_mode=\x22none\x22.'});else{const aw=j['get'](av['key']);aw!==undefined&&!rootHasRewardRecordGate(aw['root'])&&o['push']({'code':'EXPERIENCE_COMPENSATION_UNARMED','detail':'experience-compensation\x20claim\x20guard\x20\x27'+av['key']+'\x27\x20carries\x20no\x20record-gate:\x20Reward.claim\x20has\x20no\x20'+'order\x20binding\x20of\x20its\x20own\x20(OFN-C1),\x20so\x20a\x20funded\x20pool\x20behind\x20this\x20guard\x20is\x20a\x20replay-drain\x20target.\x20'+'SV2_UNARMED_PRESCRIPTION\x20applies\x20—\x20keep\x20the\x20template\x27s\x20record-gate\x20leg\x20(per-order\x20once)\x20'+('wrapped\x20in\x20logic_and\x20with\x20the\x20identity\x20leg,\x20or\x20resolve\x20\x27'+av['key']+'\x27\x20to\x20a\x20named\x20design\x20')+'that\x20carries\x20one.\x20Until\x20armed,\x20do\x20not\x20fund\x20the\x20pool.'});const ax=b['experience_claim_amount'],ay=a['fee_params']['experience_claim_amount'],az=typeof ax==='string'&&ax['trim']()!==''||typeof ax==='number'?ax:typeof ay==='string'||typeof ay==='number'?ay:undefined,aA=az===undefined?NaN:Number(String(az)['replace'](/^[^0-9]*/,''));if(az===undefined||!(aA>0x0))o['push']({'code':'EXPERIENCE_COMPENSATION_AMOUNT_MISSING','detail':'experience_compensation_mode\x20\x27reward\x27\x20resolved\x20a\x20claim\x20guard\x20but\x20no\x20per-claim\x20goodwill\x20tier\x20was\x20provided.\x20'+'The\x20reward\x20guard_add\x20mount\x20REQUIRES\x20an\x20amount\x20(schema-required)\x20—\x20a\x20plan\x20step\x20emitted\x20without\x20it\x20'+'fails\x20mid-execution.\x20Pass\x20\x27experience_claim_amount\x27\x20(a\x20display\x20string\x20with\x20the\x20token\x20symbol\x20like\x20'+'\x270.2WOW\x27,\x20or\x20a\x20smallest-unit\x20integer\x20like\x20\x27200000000\x27)\x20or\x20declare\x20fee_param\x20'+'experience_claim_amount\x20on\x20the\x20template.'});else aA<0x5b8d80&&o['push']({'code':'EXPERIENCE_COMPENSATION_BELOW_CLAIM_GAS','detail':'experience-compensation\x20tier\x20'+aA+'\x20is\x20below\x20the\x20claim-gas\x20floor\x20'+0x5b8d80+':\x20'+'a\x20buyer\x20who\x20claims\x20would\x20pay\x20more\x20gas\x20than\x20the\x20goodwill\x20pays\x20out\x20—\x20the\x20rail\x20is\x20dead\x20on\x20arrival\x20'+'(same\x20arithmetic\x20as\x20REWARD_BELOW_CLAIM_GAS).\x20Raise\x20fee_param\x20experience_claim_amount.'});let aB;if(aw!==undefined&&rootHasRewardRecordGate(aw['root']))for(const aD of aw['table']){const aE=aD;if(aE['b_submission']===!![]&&String(aE['value_type']??'')['toLowerCase']()==='address'&&(String(aE['object_type']??'')==='Order'||/order/i['test'](String(aE['name']??'')))){aB=aE['identifier'];break;}}l['push']({'op':'configure','id':'reward_experience_guard_add','target':ref('reward_experience'),'method':'guard_add','params':P({'guard':ref(av['step_id']),'recipient':{'Signer':'signer'},...az!==undefined&&aA>0x0?{'amount':{'type':'Fixed','value':String(az)}}:{},...aB!==undefined?{'store_from_id':aB}:{}}),'requires':['reward_experience'],'notes':'EXPERIENCE-COMPENSATION\x20(K3\x20C-11):\x20the\x20goodwill\x20claim\x20mount.\x20recipient\x20pinned\x20to\x20{Signer:\x27signer\x27}\x20—\x20'+'the\x20payout\x20lands\x20on\x20the\x20CLAIMER\x27s\x20own\x20account\x20(E_CLAIM_RECIPIENT_NOT_SIGNER\x20otherwise),\x20per-order\x20once\x20'+('(template\x20record-gate'+(aB!==undefined?',\x20store_from_id\x20'+aB+'\x20=\x20the\x20submitted\x20Order\x20stamp':'')+').')+(az!==undefined&&aA>0x0?'\x20AMOUNT:\x20Fixed\x20tier\x20pinned\x20at\x20plan\x20time\x20('+String(az)+')\x20—\x20knowable\x20up\x20front,\x20no\x20execution-time\x20fill.':'')+'\x20The\x20pool\x20is\x20NOT\x20escrow:\x20a\x20claim\x20blocks\x20nothing\x20in\x20the\x20order\x27s\x20own\x20settlement,\x20and\x20nothing\x20is\x20ever\x20'+'deducted\x20from\x20the\x20merchant\x20(the\x20chain\x20has\x20no\x20debit/clawback\x20primitive).'}),l['push']({'op':'configure','id':'service_rewards_experience','target':ref('service'),'method':'rewards','params':P({'op':'add','objects':[ref('reward_experience')]}),'requires':['service']});const aC=b['experience_pool_funding'];typeof aC==='string'||typeof aC==='number'?m['push']({'op':'configure','id':'reward_experience_coin_add','target':ref('reward_experience'),'method':'coin_add','params':{'balance':typeof aC==='number'?aC:String(aC)},'requires':['reward_experience']}):o['push']({'code':'EXPERIENCE_COMPENSATION_UNFUNDED','detail':'experience_compensation_mode\x20\x27reward\x27\x20without\x20an\x20\x27experience_pool_funding\x27\x20input\x20(INV-4\x20family,\x20'+'fail-closed):\x20an\x20unfunded\x20goodwill\x20promise\x20must\x20not\x20publish.\x20Plan\x20the\x20pool\x20as\x20~expected\x20'+'experience\x20failures\x20x\x20the\x20per-claim\x20tier\x20(fee_param\x20experience_claim_amount),\x20pass\x20'+'experience_pool_funding\x20(smallest-unit\x20string)\x20to\x20fund\x20the\x20Reward\x20object,\x20or\x20set\x20'+'inputs.experience_compensation_mode=\x22none\x22\x20to\x20drop\x20the\x20track.'});}}if(g!==undefined){const aF=i['find'](aG=>aG['key']===g);if(aF===undefined||aF['step_id']===undefined)o['push']({'code':'PRICE_REBATE_GUARD_MISSING','detail':'price_rebate_mode\x20\x27reward\x27\x20armed\x20the\x20rebate\x20track,\x20but\x20the\x20injected\x20claim\x20guard\x20'+('\x27'+g+'\x27\x20never\x20resolved\x20to\x20a\x20guard\x20step\x20(no\x20final\x20terminal\x20in\x20machine_shape\x20to\x20')+'anchor\x20the\x20claim\x20on).\x20Mount\x20a\x20claim-able\x20shape,\x20or\x20set\x20inputs.price_rebate_mode=\x22none\x22.'});else{const aG=j['get'](aF['key']);aG!==undefined&&!rootHasRewardRecordGate(aG['root'])&&o['push']({'code':'PRICE_REBATE_UNARMED','detail':'price-rebate\x20claim\x20guard\x20\x27'+aF['key']+'\x27\x20carries\x20no\x20record-gate:\x20Reward.claim\x20has\x20no\x20'+'order\x20binding\x20of\x20its\x20own\x20(OFN-C1),\x20so\x20a\x20funded\x20pool\x20behind\x20this\x20guard\x20is\x20a\x20replay-drain\x20target.\x20'+'SV2_UNARMED_PRESCRIPTION\x20applies\x20—\x20keep\x20the\x20template\x27s\x20record-gate\x20leg\x20(per-order\x20once)\x20'+('wrapped\x20in\x20logic_and\x20with\x20the\x20identity\x20leg,\x20or\x20resolve\x20\x27'+aF['key']+'\x27\x20to\x20a\x20named\x20design\x20')+'that\x20carries\x20one.\x20Until\x20armed,\x20do\x20not\x20fund\x20the\x20pool.'});const aH=b['price_rebate_claim_amount'],aI=a['fee_params']['price_rebate_claim_amount'],aJ=typeof aH==='string'&&aH['trim']()!==''||typeof aH==='number'?aH:typeof aI==='string'||typeof aI==='number'?aI:undefined,aK=aJ===undefined?NaN:Number(String(aJ)['replace'](/^[^0-9]*/,''));if(aJ===undefined||!(aK>0x0))o['push']({'code':'PRICE_REBATE_AMOUNT_MISSING','detail':'price_rebate_mode\x20\x27reward\x27\x20resolved\x20a\x20claim\x20guard\x20but\x20no\x20per-claim\x20rebate\x20tier\x20was\x20provided.\x20'+'The\x20reward\x20guard_add\x20mount\x20REQUIRES\x20an\x20amount\x20(schema-required)\x20—\x20a\x20plan\x20step\x20emitted\x20without\x20it\x20'+'fails\x20mid-execution.\x20Pass\x20\x27price_rebate_claim_amount\x27\x20(a\x20display\x20string\x20with\x20the\x20token\x20symbol\x20like\x20'+'\x275WOW\x27,\x20or\x20a\x20smallest-unit\x20integer\x20like\x20\x27500000000\x27)\x20or\x20declare\x20fee_param\x20'+'price_rebate_claim_amount\x20on\x20the\x20template.'});else aK<0x5b8d80&&o['push']({'code':'PRICE_REBATE_BELOW_CLAIM_GAS','detail':'price-rebate\x20tier\x20'+aK+'\x20is\x20below\x20the\x20claim-gas\x20floor\x20'+0x5b8d80+':\x20'+'a\x20buyer\x20who\x20claims\x20would\x20pay\x20more\x20gas\x20than\x20the\x20rebate\x20pays\x20out\x20—\x20the\x20rail\x20is\x20dead\x20on\x20arrival\x20'+'(same\x20arithmetic\x20as\x20REWARD_BELOW_CLAIM_GAS).\x20Raise\x20fee_param\x20price_rebate_claim_amount.'});let aL;if(aG!==undefined&&rootHasRewardRecordGate(aG['root']))for(const aN of aG['table']){const aO=aN;if(aO['b_submission']===!![]&&String(aO['value_type']??'')['toLowerCase']()==='address'&&(String(aO['object_type']??'')==='Order'||/order/i['test'](String(aO['name']??'')))){aL=aO['identifier'];break;}}l['push']({'op':'configure','id':'reward_price_rebate_guard_add','target':ref('reward_price_rebate'),'method':'guard_add','params':P({'guard':ref(aF['step_id']),'recipient':{'Signer':'signer'},...aJ!==undefined&&aK>0x0?{'amount':{'type':'Fixed','value':String(aJ)}}:{},...aL!==undefined?{'store_from_id':aL}:{}}),'requires':['reward_price_rebate'],'notes':'PRICE-REBATE\x20(stage2\x20#1\x20P-11,\x20FLOWS\x20E28):\x20the\x20mispricing-remedy\x20claim\x20mount.\x20recipient\x20pinned\x20to\x20'+'{Signer:\x27signer\x27}\x20—\x20the\x20payout\x20lands\x20on\x20the\x20CLAIMER\x27s\x20own\x20account\x20(E_CLAIM_RECIPIENT_NOT_SIGNER\x20'+('otherwise),\x20per-order\x20once\x20(template\x20record-gate'+(aL!==undefined?',\x20store_from_id\x20'+aL+'\x20=\x20the\x20submitted\x20Order\x20stamp':'')+').')+(aJ!==undefined&&aK>0x0?'\x20AMOUNT:\x20Fixed\x20tier\x20pinned\x20at\x20plan\x20time\x20('+String(aJ)+')\x20—\x20knowable\x20up\x20front,\x20no\x20execution-time\x20fill.':'')+'\x20The\x20pool\x20is\x20NOT\x20escrow:\x20a\x20claim\x20blocks\x20nothing\x20in\x20the\x20order\x27s\x20own\x20settlement,\x20and\x20nothing\x20is\x20ever\x20'+'deducted\x20from\x20the\x20merchant\x20(the\x20chain\x20has\x20no\x20debit/clawback\x20primitive).'}),l['push']({'op':'configure','id':'service_rewards_price_rebate','target':ref('service'),'method':'rewards','params':P({'op':'add','objects':[ref('reward_price_rebate')]}),'requires':['service']});const aM=b['price_rebate_pool_funding'];typeof aM==='string'||typeof aM==='number'?m['push']({'op':'configure','id':'reward_price_rebate_coin_add','target':ref('reward_price_rebate'),'method':'coin_add','params':{'balance':typeof aM==='number'?aM:String(aM)},'requires':['reward_price_rebate']}):o['push']({'code':'PRICE_REBATE_UNFUNDED','detail':'price_rebate_mode\x20\x27reward\x27\x20without\x20a\x20\x27price_rebate_pool_funding\x27\x20input\x20(INV-4\x20family,\x20'+'fail-closed):\x20an\x20unfunded\x20rebate\x20promise\x20must\x20not\x20publish.\x20Plan\x20the\x20pool\x20as\x20~expected\x20'+'rebates\x20x\x20the\x20per-claim\x20tier\x20(fee_param\x20price_rebate_claim_amount),\x20pass\x20'+'price_rebate_pool_funding\x20(smallest-unit\x20string)\x20to\x20fund\x20the\x20Reward\x20object,\x20or\x20set\x20'+'inputs.price_rebate_mode=\x22none\x22\x20to\x20drop\x20the\x20track.'});}}return{'steps':l,'fundingSteps':m,'blockers':o};}export function emitArbitrationBindings({template:a,inputs:b,needsArbitration:c,shape:d,guardSpecs:e,specByKey:f}){const g=[],h=[],i=[],j=e['some'](l=>l['template_id']==='tpl_forward_arb_ruling_won'),k=[];j&&(k['push']('ARB\x20AWARD\x20SEQUENCING\x20(N1,\x20K4R-261103):\x20this\x20build\x20mounts\x20an\x20arb-ruling-won\x20edge\x20whose\x20claimed_by\x20leg\x20is\x20a\x20SEQUENCING\x20SEAL,\x20not\x20a\x20funding\x20gate\x20—\x20the\x20ruling\x20edge\x20advances\x20only\x20after\x20the\x20award\x20is\x20claimed\x20or\x20the\x20case\x20is\x20concluded.\x20The\x20award\x20CLAIM\x20requires\x20the\x20service\x20compensation\x20pool\x20to\x20cover\x20the\x20indemnity\x20(an\x20empty\x20pool\x20aborts\x20the\x20claim\x20with\x20code\x2027,\x20E_COMPENSATION_NOT_MATCH);\x20a\x20keeper\x20CONCLUDE\x20stamps\x20claimed_by\x20WITHOUT\x20any\x20fund\x20(BF-14)\x20and\x20is\x20the\x20zero-fund\x20escape\x20—\x20orchestrate\x20it\x20in\x20the\x20keeper\x20runbook\x20either\x20way.'),k['push']('ARB\x20DUAL-TRACK\x20NETTING\x20(decision\x2011,\x20disclosed\x20at\x20publish):\x20the\x20arbitration\x20award\x20pays\x20from\x20the\x20service\x20compensation\x20fund\x20as\x20an\x20INDEPENDENT\x20commercial\x20track\x20—\x20it\x20never\x20moves\x20the\x20order\x20escrow.\x20A\x20buyer\x20may\x20collect\x20BOTH\x20the\x20award\x20and\x20an\x20escrow\x20refund\x20on\x20the\x20same\x20order;\x20the\x20dual-payout\x20confirmation\x20gate\x20(and\x20the\x20store\x27s\x20standing\x20netting\x20policy)\x20governs\x20that\x20combination,\x20not\x20the\x20chain.'));if(c){g['push']({'op':'configure','id':'service_arbitrations','target':ref('service'),'method':'arbitrations','params':P({'op':'add','objects':[ref('arbitration')]})});const l=b['dispute_timeout_days']??a['fee_params']['dispute_timeout_days'],m=typeof l==='number'?l:typeof l==='string'&&/^\d+(?:\.\d+)?$/['test'](l['trim']())?Number(l):undefined;m!==undefined&&Number['isInteger'](m)&&m>0x0&&g['push']({'op':'configure','id':'arbitration_filing_policy','target':ref('arbitration'),'method':'filing_policy','params':P({'min_deposit':0x0,'voting_window_ms':m*0x5265c00}),...a['arbitration_mode']==='third_party'?{'account':'arb_controller'}:{}});const n=e['find'](q=>q['template_id']==='tpl_voting_guard_open_vote'&&q['step_id']!==undefined);n?.['step_id']!==undefined&&g['push']({'op':'configure','id':'arbitration_voting_guard','target':ref('arbitration'),'method':'voting_guard','params':P({'op':'set','guards':[{'guard':ref(n['step_id']),'vote_weight':{'FixedValue':0x1}}]}),...a['arbitration_mode']==='third_party'?{'account':'arb_controller'}:{}});const o=d['some'](q=>{if(q['semantic_role']!=='final')return![];for(const r of q['from']??[]){if(typeof r==='string')continue;const s=r['guard_key']===undefined?undefined:f['get'](r['guard_key']);if(s?.['template_id']==='tpl_forward_arb_ruling_won')return!![];}return![];}),p=b['compensation_fund'];if(typeof p==='string'||typeof p==='number'){const q=numericAmount(p);(o||j)&&q!==undefined&&q<=0x0?i['push']({'code':'ARB_REFUND_WITHOUT_FUND','detail':'This\x20build\x20declares\x20inputs.compensation_fund\x20=\x20'+JSON['stringify'](p)+'\x20on\x20an\x20arb-ruling-won\x20mount\x20'+'(the\x20claimed_by\x20sequencing\x20seal\x20makes\x20the\x20award\x20CLAIM\x20the\x20enforcement\x20step).\x20On\x20a\x20POST-settlement\x20'+'re-route\x20the\x20escrow\x20is\x20already\x20drained\x20when\x20the\x20ruling\x20lands,\x20so\x20the\x20fund\x20is\x20the\x20buyer\x27s\x20only\x20remedy\x20—\x20'+'and\x20a\x20zero/negative\x20fund\x20promise\x20is\x20an\x20UNFUNDED\x20remedy\x20(etsm-mn-261102-z5r8\x20F-02:\x20the\x20funding\x20step\x20would\x20'+'ship\x20balance\x20\x220\x22\x20and\x20the\x20COMPENSATION_FUND_REQUIRED\x20gate\x20would\x20never\x20see\x20it).\x20Pass\x20a\x20non-zero\x20'+'inputs.compensation_fund\x20(>=\x20the\x20largest\x20single-order\x20exposure),\x20or\x20rebuild\x20on\x20a\x20template\x20without\x20the\x20arb\x20re-route.'}):h['push']({'op':'configure','id':'service_compensation','target':ref('service'),'method':'compensation_fund_add','params':{'balance':String(p)}});}else{if(j&&!o){const r=b['sales']??a['sales']??[],s=r['map'](u=>numericAmount(u['price']))['filter'](u=>u!==undefined&&u>0x0),t=s['length']>0x0?Math['max'](...s):undefined;if(t!==undefined){const u=BigInt(Math['round'](t))*0x3n;h['push']({'op':'configure','id':'service_compensation','target':ref('service'),'method':'compensation_fund_add','params':{'balance':u['toString']()},'notes':'N1\x20AUTO-SIZED\x20arbitration\x20pool:\x203x\x20the\x20largest\x20SKU\x20price\x20('+u['toString']()+'\x20=\x203\x20x\x20'+Math['round'](t)+')\x20—\x20the\x20award\x20ceiling\x20(MAX_INDEMNITY_MULTIPLE)\x20sizing.\x20Override\x20with\x20inputs.compensation_fund\x20before\x20materialize;\x20fund\x20at\x20the\x20post-deploy\x20top-up\x20step.'}),k['push']('ARB\x20POOL\x20AUTO-SIZED\x20(N1,\x20K4R-261103):\x20this\x20build\x27s\x20compensation\x20pool\x20is\x20auto-funded\x20at\x203x\x20the\x20largest\x20SKU\x20price\x20because\x20it\x20mounts\x20an\x20arb-ruling-won\x20edge\x20whose\x20claimed_by\x20seal\x20requires\x20an\x20enforceable\x20award.\x20Size\x20it\x20deliberately\x20—\x20pass\x20inputs.compensation_fund\x20(>=\x20the\x20largest\x20single-order\x20exposure)\x20if\x20your\x20dispute\x20volume\x20or\x20price\x20basis\x20differs.');}else k['push']('ARB\x20POOL\x20LEG\x20OMITTED\x20(N1,\x20K4R-261103):\x20this\x20build\x20mounts\x20an\x20arb-ruling-won\x20edge\x20whose\x20claimed_by\x20seal\x20requires\x20an\x20enforceable\x20award,\x20but\x20no\x20sellable\x20price\x20basis\x20exists\x20to\x20auto-size\x20the\x20compensation\x20pool\x20from.\x20Fund\x20the\x20pool\x20at\x20the\x20post-deploy\x20top-up\x20step\x20(>=\x20the\x20largest\x20single-order\x20exposure)\x20BEFORE\x20any\x20dispute\x20lands\x20—\x20an\x20empty\x20pool\x20aborts\x20the\x20award\x20claim\x20with\x20code\x2027.');}else o&&i['push']({'code':'COMPENSATION_FUND_REQUIRED','detail':'This\x20build\x20routes\x20a\x20POST-settlement\x20arbitration\x20re-route\x20(an\x20arb-ruling-won\x20guard\x20on\x20an\x20edge\x20'+'leaving\x20a\x20settled\x20terminal):\x20the\x20escrow\x20is\x20already\x20drained\x20when\x20that\x20ruling\x20lands,\x20so\x20the\x20buyer\x27s\x20'+'only\x20remedy\x20is\x20the\x20compensation\x20fund\x20—\x20which\x20this\x20build\x20never\x20creates.\x20Pass\x20'+'inputs.compensation_fund\x20(>=\x20the\x20largest\x20single-order\x20exposure)\x20so\x20the\x20indemnity\x20is\x20real,\x20'+'or\x20rebuild\x20on\x20a\x20template\x20without\x20the\x20post-settlement\x20arb\x20edge.'});}}return{'steps':g,'fundingSteps':h,'blockers':i,'disclosures':k};}export function emitServicePublish(){const a=[];return a['push']({'op':'publish','id':'service_publish','target':ref('service'),'preflight':[{'check':'service_publish','status':'pending'},{'check':'FUND-EXIT-01','status':'pending'},{'check':'PLAN-ALLOC-01','status':'pending'},{'check':'TASKBIND-02','status':'pending'}]}),{'steps':a};}export function computeMoneyRailKeys({rowsWithAttachments:a,guardSpecs:b}){const c=new Set(a['map'](f=>f['guard_key'])['filter'](f=>typeof f==='string')),d=new Set(b['filter'](f=>f['host']==='reward'&&f['step_id']!==undefined)['map'](f=>f['key'])),e=new Set([...c,...d]);return{'allocatorBoundKeys':c,'moneyRailKeys':e};}export function checkForeignServicePins({resolvedGuards:a,edgeBoundKeys:b,moneyRailKeys:c}){const d=[],e=/^0x[0-9a-fA-F]{20,64}$/,f=h=>{const i=a['get'](h);if(i===undefined)return[];const j=new Set(),k=m=>{if(Array['isArray'](m)){for(const o of m)k(o);return;}if(m===null||typeof m!=='object')return;const n=m;if(n['type']==='logic_equal'){const p=Array['isArray'](n['nodes'])?n['nodes']:n['left']!==undefined||n['right']!==undefined?[n['left'],n['right']]:[],s=p['find'](u=>u!==null&&typeof u==='object'&&typeof u['query']==='string'&&u['query']['startsWith']('order.service')),t=p['find'](u=>u!==s);s!==undefined&&t!==undefined&&t!==null&&typeof t==='object'&&t['type']==='identifier'&&j['add'](String(t['identifier']));}for(const u of Object['values'](n))k(u);};k(i['root']);const l=[];for(const m of i['table']){const n=m;if(n['b_submission']===!![]||n['value_type']!=='Address')continue;const o=n['value'];if(typeof o!=='string'||!e['test'](o))continue;if(!j['has'](String(n['identifier']??'?')))continue;l['push'](String(n['identifier']??'?'));}return l;};for(const g of a['keys']()){if(!b['has'](g)&&!c['has'](g))continue;for(const h of f(g)){d['push']({'code':'GUARD_FOREIGN_SERVICE','detail':'guard\x20\x27'+g+'\x27\x20pins\x20the\x20Service\x20by\x20on-chain\x20address\x20literal\x20(table\x20slot\x20'+h+'\x20on\x20an\x20'+'order.service\x20comparison\x20leg)\x20while\x20bound\x20into\x20this\x20build.\x20'+'The\x20plan\x27s\x20Service\x20is\x20created\x20BY\x20this\x20plan\x20and\x20cannot\x20equal\x20a\x20pre-existing\x20address,\x20so\x20the\x20pin\x20names\x20a\x20foreign\x20or\x20'+'stale\x20object:\x20each\x20object\x20is\x20well-formed\x20alone,\x20but\x20the\x20cross-object\x20identity\x20assert\x20aborts\x20every\x20guarded\x20forward\x20'+'(klook\x20B11\x20class),\x20and\x20Guard\x20+\x20machine\x20are\x20both\x20create/publish-frozen\x20—\x20unrepairable.\x20'+'Bind\x20by\x20plan\x20reference\x20({\x22$ref\x22:\x22service\x22})\x20or\x20by\x20the\x20P16\x20circular\x20service\x20NAME\x20instead.\x20'+'(A\x200x\x20literal\x20in\x20a\x20NON-service\x20slot\x20—\x20e.g.\x20a\x20judge\x20account\x20pin,\x20R-C4-04\x20—\x20is\x20a\x20legal\x20business\x20pin\x20and\x20not\x20flagged.)'});}}return{'blockers':d};}export function auditRepoIntegrityAndCallerLegs({steps:a,resolvedGuards:b,moneyRailKeys:c,recoverTwinRails:d}){const e=[],f=new Map(),h=new Map(),i=(v,w)=>{for(const x of w){const y=typeof x['name']==='string'?x['name']:undefined;if(y!==undefined)v['keys']['add'](y);const z=Array['isArray'](x['write_guard'])?x['write_guard']:[];for(const A of z){const B=A['guard'],C=typeof B==='string'?B:B!==null&&typeof B==='object'&&typeof B['$ref']==='string'?B['$ref']:undefined;if(C===undefined||y===undefined)continue;const D=v['writeGuards']['get'](y)??new Set();D['add'](C),v['writeGuards']['set'](y,D);}}};for(const v of a){if(v['op']!=='create'||v['object']!=='repository')continue;const w=v['params'],x={'keys':new Set(),'writeGuards':new Map()};i(x,Array['isArray'](w['policies'])?w['policies']:[]),f['set'](v['id'],x);if(typeof w['name']==='string')h['set'](w['name'],x);}for(const y of a){if(y['op']!=='configure'||y['method']!=='policies')continue;const z=y['target'],A=z!==null&&typeof z==='object'&&typeof z['$ref']==='string'?z['$ref']:undefined,B=A!==undefined?f['get'](A):undefined;if(B===undefined)continue;const C=y['params']['policy'];i(B,Array['isArray'](C)?C:[]);}const j=(D,E)=>E===undefined?undefined:D['find'](F=>F['identifier']===E),k=(D,E)=>{const F=j(D,E)?.['value'];if(F!==null&&typeof F==='object'&&typeof F['$ref']==='string')return f['get'](F['$ref']);return typeof F==='string'?h['get'](F):undefined;},l=(D,E)=>{const F=j(D,E)?.['value'];return typeof F==='string'?F:undefined;},m=new Map([['vec_contains_string',![]],['vec_indexof_string',![]],['vec_contains_string_nocase',!![]],['vec_indexof_string_nocase',!![]]]),n=new Set(['query_repository_data_keys_where','query_repository_policies_keys']),o=(D,E)=>{const F=[],G=I=>{const J=I?.['identifier'];return typeof J==='number'?J:undefined;},H=I=>{if(I===null||typeof I!=='object')return;if(Array['isArray'](I)){for(const L of I)H(L);return;}const J=I;if(J['type']==='query_repository_data_find_where'||J['type']==='query_repository_data_count_where'||J['type']==='query_repository_data_sum_where'||J['type']==='query_repository_data_sum_where_bound'||J['type']==='query_repository_data_sum_where_bound_all'){const M=k(D,G(J['object'])),N=l(D,G(J['key']));if(M!==undefined&&N!==undefined)F['push']({'repo':M,'key':N,'nocase':![]});}if(J['type']==='query'&&typeof J['query']==='string'&&/^repository\.data\b/i['test'](J['query'])){const O=k(D,G(J['object'])),Q=Array['isArray'](J['parameters'])?J['parameters']:[],R=l(D,G(Q[0x0]));if(O!==undefined&&R!==undefined)F['push']({'repo':O,'key':R,'nocase':![]});}if(J['type']==='query_repository_data'||J['type']==='query_repository_data_has'||J['type']==='query_repository_data_author'){const S=k(D,G(J['object'])),T=typeof J['key']==='string'?J['key']:undefined;if(S!==undefined&&T!==undefined)F['push']({'repo':S,'key':T,'nocase':![]});}const K=typeof J['type']==='string'?m['get'](J['type']):undefined;if(K!==undefined){const U=Array['isArray'](J['nodes'])?J['nodes']:[J['nodeLeft'],J['nodeRight']],V=U[0x0];if(V!==null&&typeof V==='object'&&typeof V['type']==='string'&&n['has'](V['type'])){const W=k(D,G(V['object']));if(W!==undefined)for(const X of U['slice'](0x1)){const Y=l(D,G(X));if(Y!==undefined)F['push']({'repo':W,'key':Y,'nocase':K});}}}for(const Z of Object['keys'](J))H(J[Z]);};return H(E),F;},p=(D,E,F)=>F?[...D['keys']]['some'](G=>G['toLowerCase']()===E['toLowerCase']()):D['keys']['has'](E),q=(D,E,F)=>F?[...D['writeGuards']]['find'](([G])=>G['toLowerCase']()===E['toLowerCase']())?.[0x1]:D['writeGuards']['get'](E);for(const [D,E]of b){if(E['stepId']===undefined)continue;for(const F of o(E['table'],E['root'])){!p(F['repo'],F['key'],F['nocase'])&&e['push']({'code':'POLICY_KEY_UNRESOLVED','detail':'guard\x20\x27'+D+'\x27\x20reads\x20repository\x20policy\x20key\x20\x27'+F['key']+'\x27,\x20but\x20NO\x20repository\x20create\x20step\x20in\x20this\x20'+'plan\x20defines\x20that\x20policy\x20—\x20as\x20built\x20the\x20read\x20'+'is\x20identically\x20ZERO\x20or\x20an\x20empty\x20key\x20list\x20(REPO-GATE-KEY-01):\x20the\x20gated\x20forward\x20never\x20opens\x20and\x20every\x20order\x20freezes\x20mid-rail\x20(bsx\x20BSX-F01:\x20'+'the\x20delivery\x20gate\x20read\x20\x27license_grant\x27\x20while\x20the\x20repository\x20stored\x20\x27grant\x27).\x20Policies\x20are\x20NOT\x20chain-frozen\x20—\x20'+'the\x20repository\x27s\x20policy-management\x20permission\x20(index\x20102)\x20can\x20add\x20the\x20missing\x20key\x20post-publish\x20—\x20but\x20do\x20not\x20ship\x20the\x20dead\x20rail:\x20'+'align\x20the\x20guard\x27s\x20row\x20'+'key\x20with\x20a\x20policy\x20name\x20this\x20plan\x20actually\x20creates.'}),q(F['repo'],F['key'],F['nocase'])?.['has'](E['stepId'])&&e['push']({'code':'CREDENTIAL_CYCLE','detail':'guard\x20\x27'+D+'\x27\x20is\x20a\x20write\x20credential\x20of\x20a\x20repository\x20policy\x20it\x20also\x20READS\x20(\x27'+F['key']+'\x27)\x20—\x20to\x20write\x20'+'the\x20row\x20you\x20must\x20first\x20pass\x20a\x20guard\x20requiring\x20the\x20row.\x20Unsatisfiable\x20by\x20construction\x20(bsn7\x20T-01\x20/\x20'+'bsx\x20BSX-F02:\x20the\x20review\x20write\x20credential\x20fell\x20back\x20to\x20the\x20reward-claim\x20guard,\x20which\x20requires\x20the\x20'+'rating\x20row\x20it\x20gates).\x20The\x20write\x20credential\x20must\x20be\x20an\x20identity/progress\x20credential\x20that\x20reads\x20'+'nothing\x20from\x20that\x20repository.'});}}const r=(G,H)=>{let I=![];const J=K=>{if(I||K===null||typeof K!=='object')return;if(Array['isArray'](K)){for(const M of K)J(M);return;}const L=K;if(L['type']==='context'&&L['context']===H)I=!![];for(const N of Object['keys'](L))J(L[N]);};return J(G),I;},u=G=>{let H=![];const I=J=>{if(H||J===null||typeof J!=='object')return;if(Array['isArray'](J)){for(const L of J)I(L);return;}const K=J;K['type']==='query'&&typeof K['query']==='string'&&/named_operator|permission|arb\./i['test'](K['query'])&&(H=!![]);for(const M of Object['keys'](K))I(K[M]);};return I(G),H;};for(const G of b['keys']()){if(!c['has'](G))continue;if(d['has'](G)||/recover/i['test'](G))continue;const H=b['get'](G);if(r(H['root'],'Signer'))continue;if(u(H['root']))continue;if(r(H['root'],'Clock'))continue;e['push']({'code':'MONEY_RAIL_CALLER_LEG_MISSING','detail':'money\x20rail\x20\x27'+G+'\x27\x20(allocator\x20row\x20or\x20reward\x20claim)\x20has\x20NO\x20caller-authorization\x20leg:\x20'+'alloc_by_guard\x20and\x20Reward\x20claims\x20are\x20NOT\x20forwards\x20—\x20'+'the\x20chain\x20injects\x20the\x20order-holder\x20rail\x20on\x20forward\x20ops\x20only\x20and\x20neither\x20op\x20has\x20a\x20'+'chain-side\x20caller\x20check,\x20so\x20this\x20rail\x20is\x20driveable\x20by\x20ANY\x20passport\x20holder\x20(gf30\x20A2\x20'+'settle_BY_OUTSIDER_v2\x20drained\x20o4;\x20rex5\x20T-27\x20rex-buy2\x20drained\x20a\x20third\x20party\x27s\x20escrow).\x20Bind\x20one:\x20'+'order.owner\x20==\x20Signer\x20OR\x20order.agent\x20has\x20Signer\x20(buyer),\x20or\x20the\x20dynamic-permission\x20leg\x20—\x20'+'service.permission\x20==\x20a\x20submitted\x20Permission\x20slot,\x20then\x20permission.owner\x20==\x20Signer\x20OR\x20'+'permission.admin\x20has\x20Signer\x20(merchant\x20or\x20keeper,\x20survives\x20rotation;\x20K-4).\x20State-determined\x20'+'exception\x20stays\x20open:\x20context\x20Clock\x20(time\x20gates).\x20Decision\x2011:\x20order.claimed_by\x20is\x20NEVER\x20an\x20'+'authorization\x20on\x20a\x20fund\x20rail\x20—\x20a\x20claimed_by\x20leg\x20there\x20is\x20the\x20RAIL_CLAIMED_BY_LEG\x20critical,\x20'+'blocked\x20by\x20the\x20rail\x20verifier\x20regardless\x20of\x20caller\x20identity.'});}return{'blockers':e};}export function emitSupplyChain({supplyChain:a,steps:b,derivedParams:c}){const d=[],e=[];let f;if(a!==undefined&&a['length']>0x0){const g=b['find'](n=>n['op']==='create'&&n['object']==='service'),h=g!==undefined&&g['op']==='create'&&typeof g['params']['name']==='string'?g['params']['name']:'',i=new Set(b['map'](n=>n['id'])),j=new Set(),k=new Set(),l=((()=>{for(let n=b['length']-0x1;n>=0x0;n-=0x1){const o=b[n];if(o['op']==='publish'&&o['target']['$ref']==='service')return n;}return b['length'];})());let m=0x0;a['forEach']((n,o)=>{const p=n['id_prefix']??(o===0x0?'sc':'sc'+String(o+0x1)),q='supply-chain\x20promise\x20#'+String(o+0x1)+'\x20(\x27'+(n['sub_service']||'unset\x20provider')+'\x27,\x20'+String(n['axis'])+')';if(n['service_step_id']!==undefined&&n['service_step_id']!=='service'){d['push']({'code':'SUPPLY_CHAIN_ID_CONFLICT','detail':q+':\x20service_step_id\x20\x27'+n['service_step_id']+'\x27\x20names\x20no\x20step\x20in\x20this\x20plan.\x20Compile\x20'+'attaches\x20a\x20promise\x20to\x20its\x20own\x20Service\x20create,\x20whose\x20id\x20is\x20always\x20\x27service\x27\x20—\x20drop\x20the\x20field\x20'+'or\x20pass\x20\x27service\x27.'});return;}let r=n['repository_name'];if(r!==undefined&&j['has'](r)){d['push']({'code':'SUPPLY_CHAIN_ID_CONFLICT','detail':q+':\x20repository_name\x20\x27'+r+'\x27\x20is\x20already\x20created\x20by\x20an\x20earlier\x20promise\x20—\x20one\x20'+('Repository\x20cannot\x20be\x20created\x20twice.\x20Pass\x20\x27repository:\x20'+r+'\x27\x20on\x20this\x20promise\x20to\x20')+'REUSE\x20the\x20shared\x20ledger\x20instead\x20of\x20creating\x20it.'});return;}if(n['repository']===undefined&&r===undefined){const u=(n['service_name']||h||'service')+'_supply_chain';if(j['has'](u))r=u+'_'+p;}const s=emitSupplyChainPromise({...n,'service_name':n['service_name']||h,'service_step_id':'service','id_prefix':p,...r!==undefined?{'repository_name':r}:{}});for(const v of s['blockers'])d['push']({'code':v['code'],'detail':q+':\x20'+v['detail']});const t=s['steps']['find'](w=>i['has'](w['id']));if(t!==undefined){d['push']({'code':'SUPPLY_CHAIN_ID_CONFLICT','detail':q+':\x20emitted\x20step\x20id\x20\x27'+t['id']+'\x27\x20already\x20exists\x20in\x20the\x20plan.\x20Each\x20promise\x20names\x20its\x20'+'objects\x20\x27<prefix>_gate\x27\x20/\x20\x27_write\x27\x20/\x20\x27_ack\x27\x20/\x20\x27_rendezvous\x27\x20/\x20\x27_bind_repository\x27\x20/\x20\x27_alloc\x27,\x20'+'so\x20give\x20this\x20promise\x20a\x20distinct\x20id_prefix.'});return;}for(const w of s['steps']){i['add'](w['id']),w['op']==='create'&&w['object']==='repository'&&typeof w['params']['name']==='string'&&j['add'](w['params']['name']);}b['splice'](l+m,0x0,...s['steps']),m+=s['steps']['length'],c['push'](...s['derived_params']??[]);if(s['steps']['length']===0x0)return;e['push'](s),k['add'](n['axis']);});if(k['size']>0x0){const n=[...k];f=n['length']===0x1?n[0x0]:'mixed';}}return{'supplyChainEmissions':e,'fulfillmentAxis':f,'blockers':d};}
|