Clean em-dashes and smart quotes from markdown files
This commit is contained in:
@@ -12,7 +12,7 @@ A mod's Papyrus script calls:
|
||||
|
||||
```papyrus
|
||||
SkyrimNetApi.RegisterAction(
|
||||
string actionName, ; UPPERCASED in the registry — "OpenTrade" → "OPENTRADE"
|
||||
string actionName, ; UPPERCASED in the registry - "OpenTrade" → "OPENTRADE"
|
||||
string actionDescription,
|
||||
string eligibilityScriptName,
|
||||
string eligibilityFunctionName,
|
||||
@@ -43,7 +43,7 @@ A mod can drop YAML files into `SKSE/Plugins/SkyrimNet/config/actions/*.yaml` *i
|
||||
|
||||
**YAML actions preserve case** in the registry (unlike Papyrus actions). So `OpenTrade` stays `OpenTrade`.
|
||||
|
||||
**Schema** — sample from `SeverActions - SkyrimNet Action Pack/.../config/actions/attacktarget.yaml:1-37`:
|
||||
**Schema** - sample from `SeverActions - SkyrimNet Action Pack/.../config/actions/attacktarget.yaml:1-37`:
|
||||
```yaml
|
||||
customCategory: Combat
|
||||
name: AttackTarget
|
||||
@@ -64,9 +64,9 @@ eligibilityRules:
|
||||
```
|
||||
|
||||
**Contributing mods at last load** `[verified]` from `SkyrimNet.log`:
|
||||
- **`SeverActions - SkyrimNet Action Pack`** — ~80 generic actions (Combat/Travel/Economy/etc.). The big one.
|
||||
- **`IntelEngine`** — 15 actions (likely intelligence/observation-themed).
|
||||
- **`OStimNet_v0.9.2`** — ~10 actions, prefixed `tton_*` (sex/affection — adult mod).
|
||||
- **`SeverActions - SkyrimNet Action Pack`** - ~80 generic actions (Combat/Travel/Economy/etc.). The big one.
|
||||
- **`IntelEngine`** - 15 actions (likely intelligence/observation-themed).
|
||||
- **`OStimNet_v0.9.2`** - ~10 actions, prefixed `tton_*` (sex/affection - adult mod).
|
||||
|
||||
### 3. C++ registration
|
||||
|
||||
@@ -84,7 +84,7 @@ Actions can be grouped under categories defined in `cat_*.yaml` files. Categorie
|
||||
`Combat`, `Communication`, `Travel`, `Economy`, `Items`, `Magic`, `Outfit`, `Crafting`, `Scheduling`, `Command` (companion), `Arrest`.
|
||||
|
||||
**Two-stage flow:**
|
||||
1. GM (or native action selector) emits `ACTION: Communication PARAMS: {"intent": "express gratitude..."}` — picks the *category* and states the intent in natural language.
|
||||
1. GM (or native action selector) emits `ACTION: Communication PARAMS: {"intent": "express gratitude..."}` - picks the *category* and states the intent in natural language.
|
||||
2. C++ orchestrator fires a second LLM call using `prompts/native_action_selector_drilldown.prompt`, which sees only the leaf actions under that category plus the intent. Picks the specific leaf.
|
||||
|
||||
This pattern reduces cognitive load: instead of choosing among ~105 actions, the model picks one of ~10 categories then one of ~5-15 leaves.
|
||||
@@ -114,11 +114,11 @@ ACTION: None
|
||||
- Logged when not found: `[ActionManager.cpp:1783] ParseEmbeddedAction: No ACTION: line found in response`.
|
||||
- Logged when found: `[ActionManager.cpp:1814] ParseEmbeddedAction: Successfully parsed action 'X' with params: {...}`.
|
||||
|
||||
**Strip behavior:** `FilterActionLines` (`ActionManager.cpp:1840`) removes the recognized `ACTION:` line from dialogue text *before* TTS, so it isn't spoken aloud. **It only strips lines it parsed successfully** — malformed lines (the bug #2 case) stay in the text and get spoken.
|
||||
**Strip behavior:** `FilterActionLines` (`ActionManager.cpp:1840`) removes the recognized `ACTION:` line from dialogue text *before* TTS, so it isn't spoken aloud. **It only strips lines it parsed successfully** - malformed lines (the bug #2 case) stay in the text and get spoken.
|
||||
|
||||
---
|
||||
|
||||
## The two action selectors — how they relate
|
||||
## The two action selectors - how they relate
|
||||
|
||||
| Aspect | `gamemaster_action_selector` | `native_action_selector` |
|
||||
|---|---|---|
|
||||
@@ -148,9 +148,9 @@ We initially looked for them in `mods/SkyrimNet/` itself and didn't find them. T
|
||||
/home/dafit/Games/Skyrim/nimmersky/mods/OStimNet_v0.9.2/SKSE/Plugins/SkyrimNet/config/actions/*.yaml
|
||||
```
|
||||
|
||||
`[hypothesis]` — paths inferred from the contributing-mod names in the log; the agent didn't enumerate the actual files. Confirm by `find /home/dafit/Games/Skyrim/nimmersky/mods/ -name "*.yaml" -path "*/config/actions/*"`.
|
||||
`[hypothesis]` - paths inferred from the contributing-mod names in the log; the agent didn't enumerate the actual files. Confirm by `find /home/dafit/Games/Skyrim/nimmersky/mods/ -name "*.yaml" -path "*/config/actions/*"`.
|
||||
|
||||
This is also why "export from web UI" doesn't work cleanly — the UI sees actions in its registry but doesn't know they came from neighbor mods' folders, and can't reach back across mod boundaries to dump them.
|
||||
This is also why "export from web UI" doesn't work cleanly - the UI sees actions in its registry but doesn't know they came from neighbor mods' folders, and can't reach back across mod boundaries to dump them.
|
||||
|
||||
**Path forward for git-tracking:** symlink each contributing mod's `config/actions/` into a `nimmersky/skyrimnet/contributed-actions/{modname}/` archive, or write a one-shot collator script that copies them out.
|
||||
|
||||
@@ -158,13 +158,13 @@ This is also why "export from web UI" doesn't work cleanly — the UI sees actio
|
||||
|
||||
## The malformed-marker problem (bug #2)
|
||||
|
||||
The Dialogue model occasionally emits `OPENTRADE` (bare uppercase token) instead of `ACTION: OpenTrade`. The parser ignores the bare token, doesn't strip it, and it gets TTS'd as plain text — Arcadia speaks "OPENTRADE" out loud.
|
||||
The Dialogue model occasionally emits `OPENTRADE` (bare uppercase token) instead of `ACTION: OpenTrade`. The parser ignores the bare token, doesn't strip it, and it gets TTS'd as plain text - Arcadia speaks "OPENTRADE" out loud.
|
||||
|
||||
**Why it happens:** `submodules/user_final_instructions/0750_embedded_actions.prompt:6-9` lists actions to the LLM as bullets:
|
||||
```
|
||||
**Available Actions:**
|
||||
- `OPENTRADE` — Use ONLY if ...
|
||||
- `OFFERQUEST` — ...
|
||||
- `OPENTRADE` - Use ONLY if ...
|
||||
- `OFFERQUEST` - ...
|
||||
```
|
||||
The model sometimes emits the bare bullet name instead of the full `ACTION: OPENTRADE` line. The bullet list format encourages the mistake.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user