@wowok/skills 1.1.2 → 1.1.3

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.
@@ -250,13 +250,13 @@ Include the selected Discount object ID in the `buy.discount` field:
250
250
 
251
251
  ### 3.2 Private Information Handling
252
252
 
253
- If Service requires private info (`customer_required`):
253
+ After order creation, the AI must check the Service's `customer_required` field to see what information the provider needs (e.g., phone, email, delivery address).
254
254
 
255
- 1. **NEVER put on-chain** send via Messenger
256
- 2. Include order ID in the message
257
- 3. Confirm receipt with seller
258
-
259
- **Tool**: `messenger_operation` with `send_message` operation.
255
+ 1. **Retrieve from local storage**: Use `query_toolkit` → `local_info_list` to retrieve your saved private information matching the `customer_required` fields. These are sensitive records stored only on your device.
256
+ 2. **AI should prompt**: If the required info is not in `local_info`, ask if the user wants to save it there for future use. If it exists, present it for user confirmation before sending.
257
+ 3. **Send via Messenger**: Use `messenger_operation` with `send_message` — **NEVER put private information on-chain**.
258
+ 4. **Include order ID** in the message for traceability.
259
+ 5. **Request explicit confirmation**: Unconfirmed delivery may stall order progress.
260
260
 
261
261
  ### 3.3 Post-Creation Notification
262
262
 
@@ -86,7 +86,7 @@ Design your service offering before building. This phase defines what customers
86
86
 
87
87
  ### 1.1 Product Promise (WIP Files)
88
88
 
89
- WIP (Witness Information Promise) files are **immutable product commitments** — your on-chain promise to customers.
89
+ WIP (Witness Immutable Promise) files are **immutable product commitments** — your on-chain promise to customers.
90
90
 
91
91
  **Creating WIP Files**:
92
92
 
@@ -419,6 +419,8 @@ Contact.ims[] → Your customer service addresses
419
419
  - Confirm understanding explicitly (ARK signature required for evidence)
420
420
  - Proactively communicate delays
421
421
 
422
+ > **AI reminder**: When fulfilling an order, the AI should proactively check whether the Service's `customer_required` fields (phone, email, delivery address, etc.) have been provided by the customer. If any are missing, prompt the provider to request them from the customer via Messenger using `messenger_operation` with `send_message`.
423
+
422
424
  > **Full Guide**: See [wowok-messenger](../wowok-messenger/SKILL.md) for messaging, WTS generation, and evidence management.
423
425
 
424
426
  ---
@@ -238,9 +238,24 @@ Use `Payment` objects for commercial transfers when possible — they offer Guar
238
238
 
239
239
  ## 9. Testing & Validation Workflow
240
240
 
241
- 1. **Design Phase**: Use `wowok_buildin_info` to discover available permissions and Guard instructions
241
+ 1. **Design Phase**: Use `wowok_buildin_info` to discover available permissions, Guard instructions, and value types
242
242
 
243
- **Tool**: `wowok_buildin_info` with `info_type: "permissions"` or `info_type: "guard_instructions"`.
243
+ **Tool**: `wowok_buildin_info` with `info: "permissions"`, `info: "guard_instructions"`, or `info: "value types"`.
244
+
245
+ ### 9.1 Value Types — Built-in Type Annotation System
246
+
247
+ WoWok's value type system is the foundation for type-safe data declarations used across Guards, records, and query instructions. Every data field in a Guard table or Guard submission carries a `value_type` annotation, ensuring the protocol can validate and process data correctly.
248
+
249
+ **When value types matter:**
250
+ - Defining Guard table columns: each Identifier in a Guard's `table` block requires a `value_type`
251
+ - Submitting data to Guards: `GuardSubmission` entries must match their declared `value_type`
252
+ - Reading Guard exports: `guard2file` output shows `value_type` for every Identifier
253
+ - Designing query instructions: both parameters and return values carry `value_type` annotations
254
+
255
+ - **String format is recommended** (e.g., `"U64"`, `"Address"`, `"VecString"`) for readability in Guard tables and submissions.
256
+ - Numeric codes (0–18) are accepted but obscure — prefer string names in all user-facing contexts.
257
+ - `Value` (19) is a protocol-internal type for dynamic value handling. It must **never** be used directly in user-defined Guards or submissions.
258
+ **Available value types** (queried via `wowok_buildin_info` with `info: "value types"`)
244
259
 
245
260
  2. **Export & Review**: Before publishing, use `guard2file` and `machineNode2file` to export and review definitions
246
261
 
@@ -272,6 +287,9 @@ For complex objects with many fields (Service, Machine), use **incremental build
272
287
  | Guard export | `guard2file` |
273
288
  | Machine export | `machineNode2file` |
274
289
  | Build-in info | `wowok_buildin_info` |
290
+ | Built-in permissions | `wowok_buildin_info` with `info: "permissions"` |
291
+ | Guard instructions | `wowok_buildin_info` with `info: "guard_instructions"` |
292
+ | Value types | `wowok_buildin_info` with `info: "value types"` |
275
293
 
276
294
  **Query Schema**: `schema_query({ action: "get", name: "<schema_name>" })`
277
295