feat: export core Hermes skills
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# UWF Workflow Pitfalls for nantong-lease-audit
|
||||
|
||||
**Last updated**: 2026-06-30
|
||||
|
||||
## Pitfall 1: File Name Collision — Multiple Contracts per Campus
|
||||
|
||||
The `nantong-lease-audit` workflow writes output to:
|
||||
```
|
||||
/tmp/nantong-lease-audit/{{ campus }}-row-data.json
|
||||
```
|
||||
|
||||
When a campus has **multiple contracts** (e.g., 租赁 + 物业), running both contracts through the workflow causes the second to **overwrite** the first's JSON file.
|
||||
|
||||
**Discovered**: 通州金鹰 — 租赁合同 wrote `通州金鹰-row-data.json`, then 物业合同 overwrote it.
|
||||
|
||||
**Fix**: When running multiple contracts for the same campus:
|
||||
1. Run them sequentially (not in parallel) — OR —
|
||||
2. After each workflow completes, rename/copy the output before starting the next:
|
||||
```bash
|
||||
# After lease contract workflow completes:
|
||||
cp /tmp/nantong-lease-audit/通州金鹰-row-data.json \
|
||||
/tmp/nantong-lease-audit/通州金鹰-租赁-row-data.json
|
||||
# Then run property contract workflow (will overwrite 通州金鹰-row-data.json)
|
||||
```
|
||||
3. When building the xlsx, read both JSON files separately
|
||||
|
||||
**Current workaround used**: Read the lease contract data from CAS step output (`uwf step show <hash>`) if the JSON was overwritten, then manually reconstruct the property contract data.
|
||||
|
||||
## Pitfall 2: Workflow Prompt Variable Not Passed
|
||||
|
||||
The classifier role's moderator instruction shows empty values:
|
||||
```
|
||||
分类合同。OCR文本路径:,校区:,原始文件名:
|
||||
```
|
||||
|
||||
This happens when the `ocr_path`, `campus`, and `filename` variables are not properly interpolated from the thread start prompt. The classifier still works because the OCR path is in the task context, but the moderator prompt looks incomplete.
|
||||
|
||||
**Root cause**: The thread start prompt uses Chinese colons `:` which may not match the YAML template variable syntax. Current workaround: the classifier reads the OCR path from the task context anyway.
|
||||
|
||||
## Pitfall 3: Workflow v1 → v2 Hash Change
|
||||
|
||||
When the workflow YAML is updated and re-registered:
|
||||
- Old hash: `7KZ5BWT12R5RJ` (v1, no format templates)
|
||||
- New hash: `C77579MQ9QPKE` (v2, with H/K/L format templates + reference loading)
|
||||
|
||||
Threads started before the update continue using the old hash. Always verify which hash is active:
|
||||
```bash
|
||||
uwf workflow show nantong-lease-audit # Shows current hash
|
||||
```
|
||||
|
||||
## Pitfall 4: Background Exec Returns "Step 1 running"
|
||||
|
||||
When using `uwf thread exec <id> --count 20 --background`, the foreground output may show only:
|
||||
```
|
||||
Step 1 classifier → running
|
||||
```
|
||||
|
||||
This does NOT mean only step 1 ran. The background worker continues processing all steps. Check actual progress with:
|
||||
```bash
|
||||
uwf step list <thread-id>
|
||||
uwf thread show <thread-id>
|
||||
```
|
||||
|
||||
Expected progression: classifier → template-diff → rule-analyzer → data-extractor → end.
|
||||
Total time: ~15-20 minutes for all 4 steps.
|
||||
Reference in New Issue
Block a user