@wowok/skills 2.2.2 → 2.2.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/README.md +2 -2
- package/dist/skills.d.ts +3 -3
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +182 -10
- package/dist/skills.js.map +1 -1
- package/examples/Insurance/Insurance.md +77 -5
- package/examples/MyShop/MyShop.md +72 -35
- package/examples/ThreeBody_Signature/ThreeBody_Signature.md +91 -18
- package/examples/Travel/Travel.md +17 -25
- package/package.json +1 -1
- package/scripts/install.js +2 -2
- package/wowok-arbitrator/SKILL.md +4 -4
- package/wowok-auditor/SKILL.md +3 -3
- package/wowok-collaborator/SKILL.md +2 -2
- package/wowok-machine/SKILL.md +9 -9
- package/wowok-messenger/SKILL.md +1 -1
- package/wowok-onboard/SKILL.md +13 -13
- package/wowok-order/SKILL.md +4 -4
- package/wowok-output/SKILL.md +74 -33
- package/wowok-planner/SKILL.md +2 -2
- package/wowok-provider/SKILL.md +21 -21
- package/wowok-supplier/SKILL.md +4 -4
|
@@ -32,7 +32,7 @@ The following content has been pushed down to the MCP knowledge layer and is app
|
|
|
32
32
|
|
|
33
33
|
| Content | Access via (MCP action) | Applied Via |
|
|
34
34
|
|---------|--------------------------|-------------|
|
|
35
|
-
| Collaborator interest analysis (fund_flow / responsibility / leverage / stakes) | `
|
|
35
|
+
| Collaborator interest analysis (fund_flow / responsibility / leverage / stakes) | `query_toolkit` query_type='participation_radar' | role derivation → `collaborator-interest` |
|
|
36
36
|
| Progress routing rule (namedOperator vs permissionIndex) | `schema_query` action='get_safety_rules' | `onchain_operations` progress/order |
|
|
37
37
|
| Guard design + submission patterns | `schema_query` action='get_guard_design_patterns' | guard-gated forwards |
|
|
38
38
|
| Node game (threshold cooperation) | `evaluation_operation` action='node_game' | multi-role forward evaluation |
|
|
@@ -62,7 +62,7 @@ Two sub-kinds (derived on-chain, never asserted):
|
|
|
62
62
|
|
|
63
63
|
## What You Can Execute Now
|
|
64
64
|
|
|
65
|
-
Run `
|
|
65
|
+
Run `query_toolkit` query_type='participation_radar' with your account + the order's Progress. It returns:
|
|
66
66
|
|
|
67
67
|
- `operable` — forwards YOU can execute right now (permission / named-operator path).
|
|
68
68
|
- `waiting_on` — what the workflow waits on from other roles.
|
package/wowok-machine/SKILL.md
CHANGED
|
@@ -42,11 +42,11 @@ The following content has been pushed down to the MCP knowledge layer and is app
|
|
|
42
42
|
|
|
43
43
|
| Content | Access via (MCP action) | Applied Via |
|
|
44
44
|
|---------|--------------------------|-------------|
|
|
45
|
-
| Node design rules (node type specs, forward guard patterns, topology limits) | auto-applied |
|
|
46
|
-
| Machine scene/template selection | auto-applied |
|
|
47
|
-
| Forward Guard design patterns | `schema_query` action='get_guard_design_patterns' | `
|
|
48
|
-
| Safety rules (immutability, confirmation) | `schema_query` action='get_safety_rules' | Pre-publish checks + `
|
|
49
|
-
| Publish gate (4-layer fail-closed: checklist → risk → user → environment) | auto-applied | `
|
|
45
|
+
| Node design rules (node type specs, forward guard patterns, topology limits) | auto-applied | Industry mode defaults (`industry_pack_operation` action='list_modes') + `goal_operation` action='aggregate_risks' |
|
|
46
|
+
| Machine scene/template selection | auto-applied | Industry mode defaults (`industry_pack_operation` action='list_modes') |
|
|
47
|
+
| Forward Guard design patterns | `schema_query` action='get_guard_design_patterns' | `goal_operation` action='aggregate_risks' |
|
|
48
|
+
| Safety rules (immutability, confirmation) | `schema_query` action='get_safety_rules' | Pre-publish checks + `goal_operation` action='aggregate_risks' |
|
|
49
|
+
| Publish gate (4-layer fail-closed: checklist → risk → user → environment) | auto-applied | `goal_operation` action='aggregate_risks' + pre-publish gate |
|
|
50
50
|
|
|
51
51
|
This Skill keeps the **workflow conversation guidance**, **business flow design patterns**, and **machine lifecycle scripts**. The MCP layer handles node-design rule evaluation, scene/template selection, and risk aggregation.
|
|
52
52
|
|
|
@@ -74,7 +74,7 @@ This Skill keeps the **workflow conversation guidance**, **business flow design
|
|
|
74
74
|
|
|
75
75
|
A Guard validates the Forward's execution condition. **Retained submissions**: when `retained_submission` is set on a Guard, submitted values are stored in Progress history, uniquely located by `(current_node, next_node, forward_name)`. Later nodes query these values from history.
|
|
76
76
|
|
|
77
|
-
> **Guard construction**: Forward Guard design patterns (table design, computation trees, query instructions) now live in the MCP knowledge layer — query via `schema_query` action='get_guard_design_patterns', auto-applied via `
|
|
77
|
+
> **Guard construction**: Forward Guard design patterns (table design, computation trees, query instructions) now live in the MCP knowledge layer — query via `schema_query` action='get_guard_design_patterns', auto-applied via `goal_operation` action='aggregate_risks'. Query available Guard instructions via `wowok_buildin_info`.
|
|
78
78
|
|
|
79
79
|
### Threshold Mechanics
|
|
80
80
|
|
|
@@ -198,7 +198,7 @@ Decompose complex workflows into multiple Machines connected by Guard-based vali
|
|
|
198
198
|
3. "Does any step depend on an external process completing first?"
|
|
199
199
|
4. "Which party creates the sub-order, and which party verifies it?"
|
|
200
200
|
|
|
201
|
-
> **Guard construction**: Cross-Machine Guards use `convert_witness` with Progress query instructions. Design rules now live in the MCP knowledge layer — query via `schema_query` action='get_guard_design_patterns', applied via `
|
|
201
|
+
> **Guard construction**: Cross-Machine Guards use `convert_witness` with Progress query instructions. Design rules now live in the MCP knowledge layer — query via `schema_query` action='get_guard_design_patterns', applied via `goal_operation` action='aggregate_risks'. Query available Guard instructions via `wowok_buildin_info`.
|
|
202
202
|
|
|
203
203
|
### Dual-Signature Consensus
|
|
204
204
|
|
|
@@ -234,7 +234,7 @@ All stem from the same root: **every on-chain object has a publish/create freeze
|
|
|
234
234
|
| `refunded` (terminal) | `refund_routing` (routing) → Allocator fires |
|
|
235
235
|
| N/A (dispute) | `arbiter_rule` (routing) → Arbitration off-Machine (no Allocator) |
|
|
236
236
|
|
|
237
|
-
A complete R-M1-11-compliant rental topology
|
|
237
|
+
A complete R-M1-11-compliant rental topology ships as the `rental` industry mode's default Machine shape — query `industry_pack_operation` action='list_modes' for the per-industry defaults.
|
|
238
238
|
|
|
239
239
|
### Pre-Publish Validation Checklist
|
|
240
240
|
|
|
@@ -245,7 +245,7 @@ Before `publish: true`, verify:
|
|
|
245
245
|
- [ ] **Every node has outgoing Forwards** (except terminals): no dead-end nodes
|
|
246
246
|
- [ ] **Every node has incoming Pair** (except entry): no orphaned nodes
|
|
247
247
|
- [ ] **All thresholds independently achievable**: no dead branches (competing Pair always wins first)
|
|
248
|
-
- [ ] **⚠ R-M1-11 Compliance** (CRITICAL for deposit/refund scenarios): NO terminal nodes named `deposit_refunded`, `deposit_deducted`, `refunded`, or any name implying Machine-internal refund/deduction. Refund/deduction MUST flow through an **Allocator** triggered by a routing node (e.g., `return_approved`, `damage_confirmed`, `arbiter_rule`). Violating this causes funds to lock in the Machine with no Allocator path. Auto-enforced by MCP pre-publish checks and `
|
|
248
|
+
- [ ] **⚠ R-M1-11 Compliance** (CRITICAL for deposit/refund scenarios): NO terminal nodes named `deposit_refunded`, `deposit_deducted`, `refunded`, or any name implying Machine-internal refund/deduction. Refund/deduction MUST flow through an **Allocator** triggered by a routing node (e.g., `return_approved`, `damage_confirmed`, `arbiter_rule`). Violating this causes funds to lock in the Machine with no Allocator path. Auto-enforced by MCP pre-publish checks and `goal_operation` action='aggregate_risks'.
|
|
249
249
|
- [ ] All Guards exist on-chain and tested (use `gen_passport`)
|
|
250
250
|
- [ ] `namedOperator` vs `permissionIndex` correct per Forward
|
|
251
251
|
- [ ] Every Forward has at least one of `namedOperator` or `permissionIndex`
|
package/wowok-messenger/SKILL.md
CHANGED
|
@@ -72,7 +72,7 @@ The on-chain **Contact** object (`operation_type: "contact"`) is the bridge betw
|
|
|
72
72
|
|
|
73
73
|
**When to create**: Before Service publish, when `customer_required` is set (Service.um must point to a Contact). Reuse an existing Contact if you serve multiple Services with the same support channel.
|
|
74
74
|
|
|
75
|
-
**Lifecycle**: Contact is mutable (unlike Proof/Guard). `
|
|
75
|
+
**Lifecycle**: Contact is mutable (unlike Proof/Guard). IM mutations (`onchain_operations` contact with `ims: {op:'add'|'set'|'remove'|'clear', im:[...]}`) require permission index 453 (CONTACT_IM). No events emitted on IM mutations — poll `ims[]` field. If Contact is bound to `Permission.um`, clear that binding (permission op: `um: null`) BEFORE deleting the Contact (else dangling pointer). Full field constraints: MCP `schema_query` action='get' name='contact'.
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
package/wowok-onboard/SKILL.md
CHANGED
|
@@ -37,13 +37,13 @@ The following content has been pushed down to the MCP knowledge layer and is app
|
|
|
37
37
|
|
|
38
38
|
| Content | Access via (MCP action) | Applied Via |
|
|
39
39
|
|---------|--------------------------|-------------|
|
|
40
|
-
| Scenario mode defaults (per-industry Permission/Machine/Guard/Allocator) | `
|
|
41
|
-
| Safety rules (immutability, confirmation, object reuse) | `schema_query` action='get_safety_rules' | Pre-publish checks + `
|
|
42
|
-
| Guard / Machine / Arbitration / Treasury design rules | `schema_query` action='get_guard_design_patterns' | `
|
|
40
|
+
| Scenario mode defaults (per-industry Permission/Machine/Guard/Allocator) | `industry_pack_operation` action='list_modes' / 'recommend_industry' | Referenced when recording the Goal (`goal_operation` action='create') and when building each object |
|
|
41
|
+
| Safety rules (immutability, confirmation, object reuse) | `schema_query` action='get_safety_rules' | Pre-publish checks + `goal_operation` action='aggregate_risks' |
|
|
42
|
+
| Guard / Machine / Arbitration / Treasury design rules | `schema_query` action='get_guard_design_patterns' | `goal_operation` action='aggregate_risks' |
|
|
43
43
|
| Common mistakes (field/unit/workflow pitfalls) | `wowok_buildin_info` action='common mistakes' | Tool calls (proactive warnings) |
|
|
44
|
-
| Deployment checklist (publish readiness) | `
|
|
44
|
+
| Deployment checklist (publish readiness) | `goal_operation` action='aggregate_risks' (planned_objects / planned_operations) | deployment-scanner D-01..D-20 |
|
|
45
45
|
|
|
46
|
-
This Skill keeps the **overall onboarding flow**, the **dependency-aware build order**, and the **user-driving interaction rhythm** (see below).
|
|
46
|
+
This Skill keeps the **overall onboarding flow**, the **dependency-aware build order**, and the **user-driving interaction rhythm** (see below). The user's intent is recorded as a **Goal** (`goal_operation` action='create'); industry/scenario defaults come from `industry_pack_operation` action='recommend_industry' / 'list_modes', and the plan pipeline is `goal_operation` action='analyze_intent' — actual on-chain objects are created via `onchain_operations` in dependency order.
|
|
47
47
|
|
|
48
48
|
---
|
|
49
49
|
|
|
@@ -53,7 +53,7 @@ These four principles govern EVERY round. They are non-negotiable and replace th
|
|
|
53
53
|
|
|
54
54
|
1. **Review-first**: Before the first user choice, the AI MUST output a review that states (a) its understanding of the user's task, (b) the dependency-chain overview, and (c) the interaction contract. Only AFTER this review is the first choice presented.
|
|
55
55
|
2. **User-driven**: Every round is driven by an explicit user decision. The AI provides a `recommend` option but NEVER auto-advances. The user may pause at any important round to ask questions.
|
|
56
|
-
3. **Reuse / Customize / Discover (
|
|
56
|
+
3. **Reuse / Customize / Discover (choose one of three)**: For every component (Permission, Machine, Guard, Contact, Treasury, Arbitration, etc.), the AI MUST present three avenues — **reuse an existing object** (with its benefit), **customize a new object** (with its sub-task ability), or **discover an object** from other projects / the system. All three are mandatory to surface.
|
|
57
57
|
4. **Default-config disclosure**: Before creating any new object, the AI MUST disclose the default configuration and important information (purpose, key settings, caveats), then let the user decide. No silent defaults.
|
|
58
58
|
|
|
59
59
|
---
|
|
@@ -110,7 +110,7 @@ Each round below lists: **Semantic meaning**, **Core elements to confirm**, **De
|
|
|
110
110
|
- **Core elements to confirm**:
|
|
111
111
|
- Account: **reuse an existing account** (name/address) or **create new** (default name).
|
|
112
112
|
- Network: **testnet first** (recommended) or **mainnet directly**.
|
|
113
|
-
- Industry mode:
|
|
113
|
+
- Industry mode: resolved via `industry_pack_operation` action='recommend_industry' — see the Industry Selection Guide below.
|
|
114
114
|
- **Default config**: new account with a default name; testnet network; industry mode auto-fills scenario defaults (Machine shape, Guards, Allocator).
|
|
115
115
|
- **Reuse / Customize / Discover**: Reuse an existing account (benefit: keeps objects under one identity) — or create new.
|
|
116
116
|
- **Dependencies**: none (foundation).
|
|
@@ -145,7 +145,7 @@ Each round below lists: **Semantic meaning**, **Core elements to confirm**, **De
|
|
|
145
145
|
- Business flow: node list + forward paths.
|
|
146
146
|
- Permissions: per-forward `namedOperator` (`""`=OrderHolder / role name) or `permissionIndex`.
|
|
147
147
|
- Acceptance: per-forward Guard (or inline) — what must be verified before the transition executes.
|
|
148
|
-
- **Default config**: the industry mode's `machine_shape` + `guards` (query `
|
|
148
|
+
- **Default config**: the industry mode's `machine_shape` + `guards` (query `industry_pack_operation` action='list_modes'). Disclose these defaults FIRST, then let the user accept or customize.
|
|
149
149
|
- **Reuse / Customize / Discover**: Reuse an existing Machine template (`machineNode2file` export) or an existing Guard (`guard2file`). Customize: define your own nodes/forwards/guards. Discover: `machineNode2file` / `local_mark_list` for other projects' Machines/Guards.
|
|
150
150
|
- **Dependencies**: Service draft (R3) + Permission (R2).
|
|
151
151
|
- **R-M1-11 compliance**: Machine MUST use business-state nodes (e.g. `cancelled`, `returned`, `return_approved`), NOT dispute/refund terminal nodes (`refunded`, `deposit_refunded`, `disputed`, `arb`). Refund routes via Allocator; dispute routes via Arbitration.
|
|
@@ -214,7 +214,7 @@ Each round below lists: **Semantic meaning**, **Core elements to confirm**, **De
|
|
|
214
214
|
- **Core elements to confirm** (each optional, each with default disclosure + reuse/customize/discover):
|
|
215
215
|
- Reward (discounts/loyalty).
|
|
216
216
|
- Supply-chain promises / Repository.
|
|
217
|
-
- Audit: `
|
|
217
|
+
- Audit: `goal_operation` action='aggregate_risks' — fix ALL CRITICAL findings.
|
|
218
218
|
- **Default config**: none required — these are opt-in. The audit itself is mandatory.
|
|
219
219
|
- **Reuse / Customize / Discover**: each optional component can be created or discovered.
|
|
220
220
|
- **Dependencies**: R1–R9.
|
|
@@ -230,8 +230,8 @@ Each round below lists: **Semantic meaning**, **Core elements to confirm**, **De
|
|
|
230
230
|
- **Core elements to confirm**:
|
|
231
231
|
- **Test account**: which account places the order — default is the **service-creation account**, but the user may choose another account to simulate a buyer.
|
|
232
232
|
- **Advance path**: at each node, the user chooses which next node to advance to.
|
|
233
|
-
- **Per-node disclosure (before each advance)**: the MCP injects `semantic.workflow_guidance` (on query_toolkit Progress results: `_workflow_guidance` / `_workflow_guidance_text`) listing **ALL** reachable next nodes with their operator (`namedOperator=""` → order holder / `permissionIndex` → role / named operator), forward, weight, guard, business meaning, and a K3-framed recommendation (gains/risks/consistency). Relay this full list to the user (who can act, with which permission/account), then let the user choose — **AI
|
|
234
|
-
- **After each advance**: relay `semantic.workflow_receipt` — which account did what, whether the node migrated; if it did NOT migrate and threshold > 0, report threshold / accumulated weight / remaining / who must act next (K3 G4
|
|
233
|
+
- **Per-node disclosure (before each advance)**: the MCP injects `semantic.workflow_guidance` (on query_toolkit Progress results: `_workflow_guidance` / `_workflow_guidance_text`) listing **ALL** reachable next nodes with their operator (`namedOperator=""` → order holder / `permissionIndex` → role / named operator), forward, weight, guard, business meaning, and a K3-framed recommendation (gains/risks/consistency). Relay this full list to the user (who can act, with which permission/account), then let the user choose — **AI recommends, human decides** (K3 P3).
|
|
234
|
+
- **After each advance**: relay `semantic.workflow_receipt` — which account did what, whether the node migrated; if it did NOT migrate and threshold > 0, report threshold / accumulated weight / remaining / who must act next (K3 G4 threshold coordination).
|
|
235
235
|
- **Default config**: test account = service-creation account.
|
|
236
236
|
- **Reuse / Customize / Discover**: n/a (verification).
|
|
237
237
|
- **Dependencies**: Service published (R11) — `order_new` requires `bPublished=true`.
|
|
@@ -241,13 +241,13 @@ Each round below lists: **Semantic meaning**, **Core elements to confirm**, **De
|
|
|
241
241
|
|
|
242
242
|
## Industry Selection Guide
|
|
243
243
|
|
|
244
|
-
When the user describes their business (R1), query the authoritative industry list via `
|
|
244
|
+
When the user describes their business (R1), query the authoritative industry list via `industry_pack_operation` action='list_modes' — 8 entries: `freelance` / `rental` / `education` / `travel` / `subscription` / `retail` / `retail_d2c` / `general`. If unsure which fits, call `industry_pack_operation` action='recommend_industry' with the business description. Reference the chosen mode when recording the Goal (`goal_operation` action='create') and when building the Service — its defaults (Machine shape, Guards, Allocator) inform each round's config disclosure. Mid-onboarding iteration: `industry_pack_operation` action='derive_user_mode' / 'evolve_user_mode'.
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
248
248
|
## Deployment Checklist
|
|
249
249
|
|
|
250
|
-
Before declaring onboarding complete, run `
|
|
250
|
+
Before declaring onboarding complete, run `goal_operation` action='aggregate_risks' — MCP auto-checks machine binding, order_allocators, buy_guard, arbitration isolation, R-M1-11 compliance, and publish readiness (deployment-scanner D-01..D-20) against your planned objects/operations. Fix ALL CRITICAL findings, then verify the remaining hard gates via `query_toolkit` (onchain_objects). The authoritative checklist is served by MCP — do not re-derive it here.
|
|
251
251
|
|
|
252
252
|
---
|
|
253
253
|
|
package/wowok-order/SKILL.md
CHANGED
|
@@ -3,9 +3,9 @@ name: wowok-order
|
|
|
3
3
|
description: |
|
|
4
4
|
WoWok Buyer Guide — TWO lifecycles in one skill:
|
|
5
5
|
|
|
6
|
-
1. PROSPECT (
|
|
6
|
+
1. PROSPECT (prospect due diligence, pre-purchase): E1-E11 due diligence + consensus
|
|
7
7
|
building + trust-score synthesis, ending in a buy/no-buy decision.
|
|
8
|
-
2. CUSTOMER (
|
|
8
|
+
2. CUSTOMER (in-order fulfillment, post-order): order creation, progress advancement,
|
|
9
9
|
fund management, and arbitration.
|
|
10
10
|
|
|
11
11
|
For suppliers presenting to Demands, see wowok-supplier. For process
|
|
@@ -32,8 +32,8 @@ when_to_use:
|
|
|
32
32
|
|
|
33
33
|
| Lifecycle | Role | Phases | Ends with |
|
|
34
34
|
|-----------|------|--------|-----------|
|
|
35
|
-
| **Prospect** (
|
|
36
|
-
| **Customer** (
|
|
35
|
+
| **Prospect** (prospect due diligence) | You have NOT ordered yet | Phase 1 (E1-E11) + Phase 2 | buy / no-buy decision |
|
|
36
|
+
| **Customer** (in-order fulfillment) | You are the Order `builder` | Phase 3-6 + Fund Management | funds withdrawn / dispute resolved |
|
|
37
37
|
|
|
38
38
|
The prospect lifecycle is served primarily by MCP `trust_score` (`depth: "preorder"`) and the plug-in `evaluation_operation` — this skill keeps the dialogue flow. The customer lifecycle is on-chain (Order/Progress/Allocation/Arb).
|
|
39
39
|
|
package/wowok-output/SKILL.md
CHANGED
|
@@ -14,53 +14,89 @@ always: true
|
|
|
14
14
|
|
|
15
15
|
# Address Display Rules
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Environment split (read first)
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
this skill's shortening rules are DISABLED — display complete 66-character addresses.
|
|
19
|
+
Address rendering differs by environment — pick the correct mode:
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
| Environment | Default display | Full address |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| **WoWok client** (rich renderer available) | Full address — the client converts it into an address chip (name, DEFAULT badge, type icon, popup) | Always |
|
|
24
|
+
| **Other AI clients** (plain MCP clients, markdown only) | Name when resolved, otherwise SHORTID; DEFAULT marker on the default account | ONLY when the user explicitly asks |
|
|
25
|
+
|
|
26
|
+
Rules that hold in BOTH environments:
|
|
27
|
+
- **NEVER truncate with `…`** (e.g. `0x00f6…a5839` is FORBIDDEN). It is neither a valid full address nor a valid SHORTID — it cannot be resolved, copied, or acted on. The only compact form allowed is the SHORTID transform defined below.
|
|
28
|
+
- The full 66-character address is ALWAYS present in the tool results injected into your context — nothing is lost when you display a name/SHORTID; you can produce the full address on request.
|
|
29
|
+
|
|
30
|
+
## Inside the WoWok client (rich rendering — authoritative)
|
|
31
|
+
|
|
32
|
+
The client renders EVERY complete `0x`-prefixed address in your reply
|
|
33
|
+
automatically as the canonical address chip — local name, DEFAULT badge,
|
|
34
|
+
first-byte object-type icon, and hover popup (Explorer / Analyze / AI / copy).
|
|
35
|
+
|
|
36
|
+
Therefore:
|
|
37
|
+
- Write the full address in prose OR in inline code — both become chips.
|
|
38
|
+
- Do NOT attach names, labels, short ids, or parentheses to an address (no `(default)`, no `Name 0x<full-address>`); the client resolves and renders name/type/DEFAULT state itself.
|
|
39
|
+
|
|
40
|
+
## Other AI clients (generic MCP clients — plain markdown, no custom renderer)
|
|
23
41
|
|
|
24
|
-
|
|
42
|
+
External clients render standard markdown only (no popup, no chips). Default to
|
|
43
|
+
a CONCISE display — full 66-char addresses are noisy and are not shown unless
|
|
44
|
+
asked:
|
|
25
45
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
46
|
+
- **Named** (account name or local_mark resolved via `local_names` / tool
|
|
47
|
+
results): show the NAME ONLY, e.g. `alice_wallet`. Never append an id.
|
|
48
|
+
- **Unnamed**: show the SHORTID (format below), e.g. `10EF-A11`.
|
|
49
|
+
- **Default account** (the on-chain default account, which has an empty name):
|
|
50
|
+
mark it as `(default)`, e.g. `(default) 10EF-A11`.
|
|
51
|
+
- In tables: name or SHORTID in the cell; the full address is omitted by default.
|
|
52
|
+
- **Full address on request**: when the user explicitly asks to see full /
|
|
53
|
+
detailed / complete addresses ("show the full address", "give me the complete
|
|
54
|
+
address", "copyable address"), output the COMPLETE `0x` + 64 hex chars
|
|
55
|
+
wrapped in inline code so it is one-click copyable in any markdown client.
|
|
56
|
+
When a name is known, put name + full address together:
|
|
57
|
+
**alice_wallet** `0xFULLADDRESS`.
|
|
58
|
+
|
|
59
|
+
## User override
|
|
60
|
+
|
|
61
|
+
- Other clients, "show full / long / complete addresses" → output the full inline-code address for that reply.
|
|
62
|
+
- Other clients, "use short / compact" → SHORTID (already the default for unnamed addresses).
|
|
63
|
+
- WoWok client: always full addresses regardless — the chip renderer handles display.
|
|
64
|
+
|
|
65
|
+
## SHORTID format
|
|
66
|
+
|
|
67
|
+
System-wide rule (identical to the client's `formatAddress`):
|
|
68
|
+
1. Remove the `0x` prefix → hex string
|
|
69
|
+
2. Keep the FIRST 4 and the LAST 3 hex chars, joined by `-`
|
|
29
70
|
3. Convert to UPPERCASE
|
|
30
|
-
4.
|
|
31
|
-
5.
|
|
32
|
-
6. **Display rule**: no parentheses by default; parentheses are only used when paired with a name (see Display Format Rules below)
|
|
71
|
+
4. 7 hex chars or fewer → the whole string, uppercased
|
|
72
|
+
5. Empty / missing → `--`
|
|
33
73
|
|
|
34
74
|
**Examples**:
|
|
35
|
-
| Full Address |
|
|
75
|
+
| Full Address | SHORTID | Rule |
|
|
36
76
|
|---|---|---|
|
|
37
|
-
| `0xa1d421902a3e5f2e4da7590e8f243712b3b3479d1a07c48c2de543184fc97a33` | `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `0x2` | `2` | Short address, take actual length |
|
|
77
|
+
| `0xa1d421902a3e5f2e4da7590e8f243712b3b3479d1a07c48c2de543184fc97a33` | `A1D4-A33` | first 4 + `-` + last 3 |
|
|
78
|
+
| `0x10ef0000000000000000000000000000000000000000000000000000000cda11` | `10EF-A11` | first 4 + `-` + last 3 |
|
|
79
|
+
| `0x2` | `2` | ≤7 chars, as-is |
|
|
41
80
|
|
|
42
|
-
## Resolution
|
|
81
|
+
## Resolution priority
|
|
43
82
|
|
|
44
83
|
**Query Tool**: `query_toolkit` with `query_type: "local_names"`
|
|
45
84
|
|
|
46
85
|
Returns: `{ account?: string, local_mark?: string, address: string }`
|
|
47
86
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
| **Neither exists** | `{ID}` | `A1D42` |
|
|
87
|
+
- Named (account or local_mark resolved): display the name ONLY (WoWok client
|
|
88
|
+
renders the name chip itself; other clients show the name).
|
|
89
|
+
- Unnamed: WoWok client → full address (chip); other clients → SHORTID.
|
|
90
|
+
- The account with an empty name that is the on-chain default → other clients
|
|
91
|
+
tag it `(default)`; the WoWok client adds its DEFAULT badge automatically.
|
|
92
|
+
- When both an account name and a local_mark exist, prefer local_mark (object
|
|
93
|
+
names) for objects and the account name for user addresses.
|
|
56
94
|
|
|
57
95
|
---
|
|
58
96
|
|
|
59
|
-
## Name
|
|
97
|
+
## Name Display
|
|
60
98
|
|
|
61
|
-
-
|
|
62
|
-
- **Overflow handling**: Truncate to 17 chars + `...`
|
|
63
|
-
- **Example**: `three_body_signature_service_v2` → `three_body_sig...`
|
|
99
|
+
- Display the resolved name in full — the client does NOT truncate names.
|
|
64
100
|
|
|
65
101
|
# Amount Formatting Rules
|
|
66
102
|
|
|
@@ -100,10 +136,12 @@ Supported query types with `_money_display`:
|
|
|
100
136
|
```
|
|
101
137
|
| # | Time | Sender | Service | Amount | Order |
|
|
102
138
|
|---|------|--------|---------|--------|-------|
|
|
103
|
-
| 1 | {time} | {
|
|
139
|
+
| 1 | {time} | {addr-cell} | {addr-cell} | {amount} | {addr-cell} |
|
|
104
140
|
```
|
|
105
141
|
|
|
106
|
-
**
|
|
142
|
+
**Address cells follow the environment split above**:
|
|
143
|
+
- WoWok client → the cell contains the full address (rendered as an address chip automatically).
|
|
144
|
+
- Other clients → the cell contains the resolved name or the SHORTID (default account tagged `(default)`); full addresses only when the user explicitly asked for them.
|
|
107
145
|
|
|
108
146
|
## Event Type Fields
|
|
109
147
|
|
|
@@ -126,7 +164,7 @@ When user asks about field meanings:
|
|
|
126
164
|
- **Sender**: Account that initiated the transaction
|
|
127
165
|
- **Service**: Service object being ordered/interacted with
|
|
128
166
|
- **Order Object**: Unique on-chain identifier for this order
|
|
129
|
-
- **Short Address (
|
|
167
|
+
- **Short Address (SHORTID)**: Compact display form (first 4 + `-` + last 3 hex chars, uppercase). Default for unnamed addresses in other AI clients; the WoWok client applies it automatically inside its address chips. Never hand-truncate with `…`.
|
|
130
168
|
|
|
131
169
|
## Amounts
|
|
132
170
|
- **Raw**: Actual U64 integer stored on-chain
|
|
@@ -146,7 +184,10 @@ When user asks about field meanings:
|
|
|
146
184
|
- [ ] Query `local_names` for resolution
|
|
147
185
|
- [ ] Check for `_money_display` annotations in query results (primary amount source)
|
|
148
186
|
- [ ] If `_money_display` absent, query `token_list` for manual amount formatting
|
|
149
|
-
- [ ]
|
|
187
|
+
- [ ] Address display: WoWok client → full `0x`+64 hex addresses (auto chips);
|
|
188
|
+
other clients → resolved name, or SHORTID for unnamed / `(default)` for the
|
|
189
|
+
default account; full inline-code address only when the user asks
|
|
190
|
+
- [ ] Never hand-truncate addresses with `…` — SHORTID is the only compact form
|
|
150
191
|
- [ ] Apply amount format rules (use `_money_display` first; fallback to conservative)
|
|
151
192
|
- [ ] Render final output
|
|
152
193
|
|
package/wowok-planner/SKILL.md
CHANGED
|
@@ -27,7 +27,7 @@ Converts natural-language intent into an executable Object Dependency Graph (ODG
|
|
|
27
27
|
|
|
28
28
|
> **Layer**: L3 Skill, primary planner for L4 Harness Plan Loop
|
|
29
29
|
> **Related Skills**: [wowok-onboard](../wowok-onboard/SKILL.md) (guided execution), [wowok-machine](../wowok-machine/SKILL.md) (workflow design), [wowok-provider](../wowok-provider/SKILL.md) (post-plan operations)
|
|
30
|
-
> Industry modes, Guard design patterns, safety rules, and tool references now live in the MCP knowledge layer — query via `
|
|
30
|
+
> Industry modes, Guard design patterns, safety rules, and tool references now live in the MCP knowledge layer — query via `industry_pack_operation` (`recommend_industry` / `list_modes`) and `schema_query` (`get_guard_design_patterns` / `get_safety_rules` / `get_tool_reference`).
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -96,7 +96,7 @@ The ODG (Object Dependency Graph) is the single output artifact, persisted via `
|
|
|
96
96
|
}
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
Each object has: `id`, `type`, `status` (planned/created/published), `reversible` (true/false), `dependencies` (other object IDs), `user_decisions` (typed fields). Phases gate progression — `risk_check` calls `
|
|
99
|
+
Each object has: `id`, `type`, `status` (planned/created/published), `reversible` (true/false), `dependencies` (other object IDs), `user_decisions` (typed fields). Phases gate progression — `risk_check` calls `goal_operation` action='aggregate_risks' (with planned objects/operations), `final_audit` runs the pre-publish audit checklist (see wowok-auditor).
|
|
100
100
|
|
|
101
101
|
**Dependency-chain ordering rules (authoritative, verified from Move/SDK):**
|
|
102
102
|
1. **Service DRAFT is created BEFORE Machine** — Guards reference the Service by LocalMark NAME, so the Service skeleton must exist first to break the Guard↔Service circular dependency.
|
package/wowok-provider/SKILL.md
CHANGED
|
@@ -28,17 +28,17 @@ when_to_use:
|
|
|
28
28
|
|
|
29
29
|
## MCP Knowledge Layer
|
|
30
30
|
|
|
31
|
-
The following rule tables have been pushed down to the MCP knowledge layer and are automatically applied during
|
|
31
|
+
The following rule tables have been pushed down to the MCP knowledge layer and are automatically applied during on-chain operations. You do NOT need to manually check these — the MCP server enforces them.
|
|
32
32
|
|
|
33
33
|
| Rule Category | Access via (MCP action) | Applied By |
|
|
34
34
|
|---------------|--------------------------|------------|
|
|
35
|
-
| Safety rules (confirmation, immutability, object reuse) | `schema_query` action='get_safety_rules' | `
|
|
36
|
-
| Guard design patterns | `schema_query` action='get_guard_design_patterns' | `
|
|
37
|
-
| Machine topology rules | auto-applied | `
|
|
38
|
-
| Scenario mode defaults | `
|
|
35
|
+
| Safety rules (confirmation, immutability, object reuse) | `schema_query` action='get_safety_rules' | `goal_operation` action='aggregate_risks' + `onchain_operations` pre-publish |
|
|
36
|
+
| Guard design patterns | `schema_query` action='get_guard_design_patterns' | `goal_operation` action='aggregate_risks' (guard risk assessment) |
|
|
37
|
+
| Machine topology rules | auto-applied | `goal_operation` action='aggregate_risks' (machine risk assessment) |
|
|
38
|
+
| Scenario mode defaults | `industry_pack_operation` action='list_modes' / 'recommend_industry' | Referenced when recording the Goal and building the Service |
|
|
39
39
|
| Tool reference (gas, faucet, wrappers) | `schema_query` action='get_tool_reference' | All tool calls automatically |
|
|
40
40
|
|
|
41
|
-
**How to use**: Call `
|
|
41
|
+
**How to use**: Call `goal_operation` with `action: "aggregate_risks"` after completing your puzzle (pass your planned objects/operations) — the MCP server will automatically apply all relevant safety rules and return risk findings.
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
@@ -48,7 +48,7 @@ These four principles govern every service build/modify step. They mirror the wo
|
|
|
48
48
|
|
|
49
49
|
1. **Review-first**: State (a) what the AI understood about the service, (b) the dependency order to build/modify, and (c) the interaction contract — before the first choice.
|
|
50
50
|
2. **User-driven**: Every step is an explicit user decision; the AI provides a `recommend` but never auto-advances. The user may pause at any important step.
|
|
51
|
-
3. **Reuse / Customize / Discover (
|
|
51
|
+
3. **Reuse / Customize / Discover (choose one of three)**: For every component (Permission, Machine, Guard, Treasury, Contact, Arbitration, etc.), surface all three avenues — reuse an existing object (benefit), customize a new one (sub-task ability), or discover from other projects / the system.
|
|
52
52
|
4. **Default-config disclosure**: Disclose a new object's default config + important info + caveats BEFORE the user decides. No silent defaults.
|
|
53
53
|
|
|
54
54
|
---
|
|
@@ -124,13 +124,13 @@ Once R1-R7 confirmed, execute in strict order. Sub-tools are invoked via `wowok(
|
|
|
124
124
|
|
|
125
125
|
**STEP 7 — Trust (Arbitration + compensation_fund)**: REUSE third-party Arbitration (MUST NOT share Service's Permission — E_ARBITRATION_PERMISSION_CONFLICT 33; don't create your own). `compensation_fund_add` (internal Balance<T>, not Treasury); fund>0 requires non-empty arbitrations (E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND 25); withdraw needs bPaused + lock elapsed.
|
|
126
126
|
|
|
127
|
-
**STEP 8 — Publication**: pre-publish verify — (1) machineNode2file, (2) guard2file, (3)
|
|
127
|
+
**STEP 8 — Publication**: pre-publish verify — (1) machineNode2file, (2) guard2file, (3) `goal_operation` aggregate_risks → fix CRITICAL, (4) permission indexes granted, (5) arb permission isolation, (6) contact ims+enabled → `onchain_operations` service `publish: true` (L1-LOCKED: machine/order_allocators/arbitrations).
|
|
128
128
|
|
|
129
129
|
**STEP 9 — Post-publish + Test Order**: mutable fields (description/location/sales/customer_required/rewards add/repositories add). Test order: `order_new` (requires bPublished, else E_NOT_PUBLISHED) → disclose next nodes → advance (order.progress / progress.operate) → alloc_by_guard → verify distribution. User chooses test account (default: service-creation account).
|
|
130
130
|
|
|
131
131
|
### Post-Publish Mutability (SDK-LOCKED vs mutable)
|
|
132
132
|
|
|
133
|
-
Served by MCP `schema_query` action='get_safety_rules' (immutability-after-publish). Summary: `buy_guard` / `sales` / `description` / `repositories` / `rewards` are mutable; `machine` / `order_allocators` / `arbitrations` are SDK-LOCKED (
|
|
133
|
+
Served by MCP `schema_query` action='get_safety_rules' (immutability-after-publish). Summary: `buy_guard` / `sales` / `description` / `repositories` / `rewards` are mutable; `machine` / `order_allocators` / `arbitrations` are SDK-LOCKED (a new Service version is required to change them).
|
|
134
134
|
|
|
135
135
|
---
|
|
136
136
|
|
|
@@ -138,7 +138,7 @@ Served by MCP `schema_query` action='get_safety_rules' (immutability-after-publi
|
|
|
138
138
|
|
|
139
139
|
### Service Object Relationships
|
|
140
140
|
|
|
141
|
-
> **Boundary conditions**: Service/Machine are IMMUTABLE after publish; Payment is FROZEN at creation; Order/Progress/Arbitration operations are irreversible. Use `
|
|
141
|
+
> **Boundary conditions**: Service/Machine are IMMUTABLE after publish; Payment is FROZEN at creation; Order/Progress/Arbitration operations are irreversible. Use `query_toolkit` query_type='service_panorama' to check whether a Service has published objects.
|
|
142
142
|
|
|
143
143
|
```
|
|
144
144
|
Service → permission, machine (immutable), order_allocators (immutable),
|
|
@@ -199,28 +199,28 @@ WOW is the default settlement token. For stablecoin-denominated revenue (fiat-pe
|
|
|
199
199
|
|
|
200
200
|
---
|
|
201
201
|
|
|
202
|
-
##
|
|
202
|
+
## Service Iteration: New Version vs In-Place
|
|
203
203
|
|
|
204
|
-
When a merchant wants to modify an existing service (change workflow, add allocators, update guards), the AI must determine whether to modify
|
|
204
|
+
When a merchant wants to modify an existing service (change workflow, add allocators, update guards), the AI must determine whether to modify in place or build a new version.
|
|
205
205
|
|
|
206
206
|
### Decision Rule
|
|
207
207
|
|
|
208
208
|
| Scenario | Strategy | MCP Action |
|
|
209
209
|
|----------|----------|------------|
|
|
210
|
-
| Service NOT yet published | **In-place** — modify the current
|
|
211
|
-
| Service IS published | **
|
|
210
|
+
| Service NOT yet published | **In-place** — modify the current draft directly | `onchain_operations` (modify) |
|
|
211
|
+
| Service IS published | **New version** — build v2 objects and publish as a separate Service; v1 keeps running | `onchain_operations` (create + publish) |
|
|
212
212
|
|
|
213
|
-
###
|
|
213
|
+
### New-Version Workflow
|
|
214
214
|
|
|
215
|
-
When the service is already published and the user wants structural changes,
|
|
215
|
+
Published objects are IMMUTABLE on-chain — there is no in-place structural change and no version-fork tool. When the service is already published and the user wants structural changes, build the new version's objects with `onchain_operations`: reuse v1 objects by address where unchanged (Permission, Guards, Treasury, Contact…) and create new objects only for the changed parts (e.g. a new Machine). Then publish v2 as its own Service — v1 continues running uninterrupted as a separate, still-live Service.
|
|
216
216
|
|
|
217
|
-
Before
|
|
217
|
+
Before building v2, verify necessity via `query_toolkit` query_type='service_panorama' — a published Service confirms a new version is required (published objects are immutable).
|
|
218
218
|
|
|
219
|
-
### When to Recommend
|
|
219
|
+
### When to Recommend a New Version
|
|
220
220
|
|
|
221
|
-
- User says "I want to change my workflow" → check if published → recommend
|
|
222
|
-
- User says "I want to add a new product line" → if same Machine can handle it, in-place modify Service.sales; if needs new Machine,
|
|
223
|
-
- User says "I want to change fund distribution" → if Service not published, in-place; if published,
|
|
221
|
+
- User says "I want to change my workflow" → check if published → recommend a new version
|
|
222
|
+
- User says "I want to add a new product line" → if same Machine can handle it, in-place modify Service.sales; if it needs a new Machine, a new version
|
|
223
|
+
- User says "I want to change fund distribution" → if Service not published, in-place; if published, a new version (allocators are frozen after publish)
|
|
224
224
|
|
|
225
225
|
---
|
|
226
226
|
|
package/wowok-supplier/SKILL.md
CHANGED
|
@@ -32,9 +32,9 @@ The following content has been pushed down to the MCP knowledge layer and is app
|
|
|
32
32
|
| Content | Access via (MCP action) | Applied Via |
|
|
33
33
|
|---------|--------------------------|-------------|
|
|
34
34
|
| Demand semantics (open vs guarded, present paths) | `schema_query` action='get' (demand object schema, or on-demand knowledge) | `onchain_operations` demand |
|
|
35
|
-
| Supplier interest analysis (fund_flow / responsibility / leverage / stakes) | `
|
|
35
|
+
| Supplier interest analysis (fund_flow / responsibility / leverage / stakes) | `query_toolkit` query_type='participation_radar' | role derivation → `supplier-interest` |
|
|
36
36
|
| Demand/service matching | `evaluation_operation` action='demand_match' | read-only ranking |
|
|
37
|
-
| Safety rules (immutability, object reuse, confirmation) | `schema_query` action='get_safety_rules' | `
|
|
37
|
+
| Safety rules (immutability, object reuse, confirmation) | `schema_query` action='get_safety_rules' | `goal_operation` action='aggregate_risks' + pre-publish |
|
|
38
38
|
|
|
39
39
|
This Skill keeps the supplier **conversation flow** — discover → present → fulfill → collect. The MCP layer handles rules, matching, and own-interest surfacing.
|
|
40
40
|
|
|
@@ -55,7 +55,7 @@ Your payment is a two-hop waterfall: main order escrow → allocation → your s
|
|
|
55
55
|
|
|
56
56
|
1. **Review-first**: State (a) what the AI understood, (b) the decision order, and (c) the interaction contract — before the first choice.
|
|
57
57
|
2. **User-driven**: Every step is an explicit user decision; the AI provides a `recommend` but never auto-advances.
|
|
58
|
-
3. **Reuse / Customize / Discover (
|
|
58
|
+
3. **Reuse / Customize / Discover (choose one of three)**: For every component (service, passport, guard), surface reuse / customize / discover.
|
|
59
59
|
4. **Default-config disclosure**: Disclose defaults + caveats BEFORE the user decides.
|
|
60
60
|
|
|
61
61
|
---
|
|
@@ -114,7 +114,7 @@ If the upstream merchant stalls or withholds, escalate in order:
|
|
|
114
114
|
|
|
115
115
|
## Own-Interest Surfacing
|
|
116
116
|
|
|
117
|
-
Run `
|
|
117
|
+
Run `query_toolkit` query_type='participation_radar' with your account + sub-order progress. The MCP derives your role (supplier) and attaches `supplier-interest` (fund_flow / responsibility / leverage / stakes). Present it as neutral information — the supplier decides.
|
|
118
118
|
|
|
119
119
|
---
|
|
120
120
|
|