@akagilnc/pi-workflow-roles 0.1.2148 → 0.1.2150

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akagilnc/pi-workflow-roles",
3
- "version": "0.1.2148",
3
+ "version": "0.1.2150",
4
4
  "description": "Soul-bound workflow roles for Pi",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -0,0 +1,77 @@
1
+ # ox-alpha engine method material
2
+
3
+ This file is packaged method material for the optional `ox-alpha` labor engine
4
+ (OpenRouter stealth preview model, reached via OpenCode CLI or the OpenRouter
5
+ chat-completions API). When a role run selects this engine, read these bytes
6
+ and follow the local CLI / API's actual interface for the labor detour. Return
7
+ the labor result to the same role session so typed submission stays on the
8
+ existing in-session path.
9
+
10
+ Material is data for the model, not a code contract. Do not invent package flags.
11
+
12
+ ## Identity and warnings
13
+
14
+ - Model id: `stealth/ox-alpha` on OpenRouter (listed 2026-08-20). Anonymous
15
+ vendor, preview-period pricing $0. Specs claimed by the listing: 1M ctx /
16
+ 131K out, text+image+video in, tool calling, reasoning.
17
+ - **Retention**: the provider retains prompts/completions (stated not used for
18
+ training). Time-boxed experiment — may be delisted or re-priced at any time.
19
+ - Free-tier rate limit (official ~20 req/min).
20
+ - Quality role (live exam 2026-08-21/22): control / hardening seat, not a
21
+ substitute for the main-court engine. On a standard-answer tool-idle-clock
22
+ final exam it caught all 7 residual shells at every effort tier (medium 59s
23
+ best); sol low missed `converged`, grok-4.6 low also caught 7 but took 979s.
24
+
25
+ ## Invocation examples
26
+
27
+ ### Recommended: agentic via OpenCode CLI
28
+
29
+ The machine entrypoint is `opencode` with the OpenRouter-routed model id.
30
+ Key is on this host's keychain under label `openrouter` (smoke-verified
31
+ 2026-08-21/22). Run from the role project root:
32
+
33
+ ```bash
34
+ OPENROUTER_API_KEY=$(security find-generic-password -l openrouter -w) \
35
+ opencode run -m openrouter/stealth/ox-alpha '<task>'
36
+ ```
37
+
38
+ Smoke: prompt `只回两个字:收到` → `收到` (agentic leg usable).
39
+
40
+ - `-m openrouter/stealth/ox-alpha` selects the model; confirm the current id
41
+ with `opencode models` before long labor — stealth ids can vanish.
42
+ - **Labor prompt must be seat-authored**: write the complete task brief
43
+ (goal, constraints, required output shape, and any evidence the seat has
44
+ already distilled) into the prompt argument or a temp file the seat reads
45
+ in. Attachments/receipt JSON are evidence material, not the prompt body —
46
+ feed a self-contained brief the way the grok-4.6 note requires a
47
+ seat-authored `--prompt-file`.
48
+ - Effort tier: align with the labor mandate's ordered tier (`low` / `medium` /
49
+ `high`). Live wall-times on the same 148KB grading payload:
50
+ low 73s / medium 59s / high 228s — all produced correct three-state verdicts.
51
+ Prefer the ordered tier; when the mandate is silent, medium was the
52
+ fastest correct run on that payload.
53
+
54
+ ### Bare OpenRouter API (fallback only)
55
+
56
+ Endpoint `https://openrouter.ai/api/v1/chat/completions`, model
57
+ `stealth/ox-alpha`. Live lessons from long grading jobs — do not invent
58
+ extra flags beyond these verified constraints:
59
+
60
+ - **Must** send `"stream": true`. Buffered (non-stream) responses keep the
61
+ connection alive with empty fill bytes and stall out (live: 540s, no body).
62
+ - **Must** send explicit `"reasoning": {"effort": "low|medium|high"}` matching
63
+ the ordered tier. Default effort burns `max_tokens` on thinking and finishes
64
+ with `finish=length` and 0 content characters.
65
+ - Reconstruct the answer by concatenating SSE `delta.content` chunks in order.
66
+ `delta.reasoning` is the thinking stream, not the answer — do not treat it
67
+ as the labor result.
68
+ - Large payloads (>140KB) are connection-unstable (three consecutive drops
69
+ recorded). On drop: shrink the brief or retry; do not keep hammering the
70
+ same oversized body.
71
+
72
+ ## Failure handling
73
+
74
+ On any spawn, auth, model-id, stream-stall, or connection-drop failure, return
75
+ the soft failure to the session and continue labor in-seat per ADR 0071
76
+ (seat fallback with typed declaration). Do not silently swap to another
77
+ engine id.