@stage5/lumine 0.2.82 → 0.2.83

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/sdk/LUMINE_ADMIN.md +71 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stage5/lumine",
3
- "version": "0.2.82",
3
+ "version": "0.2.83",
4
4
  "description": "Command line tools for launching Lumine builds on Twinkle.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2752,8 +2752,10 @@ primary review does not cover the target. An open review does not block a
2752
2752
  deployment or host hold. Its files, lease and database boundaries persist;
2753
2753
  active requests use the normal drain. A held or unavailable owner returns a
2754
2754
  retryable failure, so keep the session and retry when that host is available
2755
- again. Release operators can review final shutdown deltas via management SSH
2756
- and record their own evidence. An active review keeps ownership of clearing;
2755
+ again. Release operators review final shutdown deltas through the deployment
2756
+ workflow's private SSM/S3 snapshots (or interactive management access during
2757
+ explicit recovery) and record their evidence. Raw logs never belong in GitHub
2758
+ output. An active review keeps ownership of clearing;
2757
2759
  otherwise API stderr is cleared with the existing guarded
2758
2760
  `npm run logs:clear-errors` plus post-clear re-read. A stopped target whose final logs
2759
2761
  were reviewed does not need to be started for daily management; starting EC2
@@ -2995,7 +2997,7 @@ Mikey"** section carrying only
2995
2997
  the deltas and anomalies worth his time, next to the escalation list. Never
2996
2998
  dump raw sections at him.
2997
2999
 
2998
- ### Jev shadow pilot (standing duty, every full daily review; added 2026-09-19)
3000
+ ### Jev serving and audits (standing duty, every full daily review; updated 2026-09-20)
2999
3001
 
3000
3002
  Read `data.jevPilot` from `lumine admin brief --json` and carry it into
3001
3003
  the full report for Mikey. The active `daily-run report --json` also includes
@@ -3009,17 +3011,48 @@ seven completed days, and keep the in-progress day separate. Include paired
3009
3011
  decision counts, disagreements (especially Jev react / baseline respond),
3010
3012
  p50/p95 latency for each model, provider errors/timeouts, pending observations,
3011
3013
  known incremental cost, unknown-cost requests, ledger gaps and cap status.
3012
- The pilot's known recorded spend is already in application AI costs: never add
3013
- it again. Shadow mode changes no user-visible decisions and has not established
3014
- savings. Agreement is not accuracy; confidence is not a measured success rate.
3014
+ Separate `bySurface.comment` from `bySurface.chat`. For chat, report
3015
+ `routingFieldDisagreements`, `candidateSkippedBaselineRequired`, and missing
3016
+ routing-comparison evidence. Equal reply actions do not prove equal tool/history
3017
+ routing. Chat's baseline also extracts structured plans, while Jev compares seven
3018
+ routing choices plus reaction emoji; these latencies do not establish an end-to-end speedup.
3019
+ Mikey authorized production serving on September 20 for the tested comment and
3020
+ text-chat routing decisions. Include `serving.jevDecisions`, baseline and
3021
+ unreserved fallbacks with reasons, audit coverage, served disagreements,
3022
+ `serving.decisionLatencyMs`, chat added wait, and comment baseline calls avoided.
3023
+ Chat retains the existing full planner for outputs outside Jev's tested scope;
3024
+ comments run a 5% independent background baseline audit. Distinguish actual
3025
+ selected routes from unused comparisons and identify Turtle's deployment tests.
3026
+ Chat's `baseline_requires_reply` fallback preserves the planner's written reply
3027
+ when Jev would only react; report its frequency and review those disagreements.
3028
+ Reaction-only chat responses require both models to agree.
3029
+ Jev chooses the emoji from all 18 supported reactions in `chat-routing-v2`.
3030
+ Report `reactionChoices` usage by source, paired emoji disagreements, and missing
3031
+ legacy evidence; review whether the chosen tone fits the canonical conversation.
3032
+ Candidate and served emoji are in `reviewCandidates` routing objects. Earlier
3033
+ `chat-routing-v1` rows have no emoji comparison and must not count as agreement.
3034
+ Mikey explicitly requested all eligible requests with no daily request cap
3035
+ (`dailyLimit: 0`) and a cost report during every full website-management run.
3036
+ Run `lumine admin ai-costs day YYYY-MM-DD --json` for the last completed UTC day.
3037
+ Report the canonical `data.dailyAiCosts.byOperation` USD totals for `jev_reply_gate_serve`,
3038
+ `jev_chat_routing_serve`, any `_shadow` operations, and `jev_reply_gate_audit`.
3039
+ Separate comment/chat provider spend from background baseline-audit spend.
3040
+ Report unfinished selection/baseline-audit telemetry; synthetic probes are
3041
+ excluded from performance metrics but included in daily request and cost counts.
3042
+ If `telemetryStatus: partial` or `telemetryComplete: false`, detail metrics are a
3043
+ bounded recent sample, not full-day performance or cost; use the canonical daily
3044
+ AI-cost report for complete cost totals and record the coverage gap.
3045
+ Known Jev spend and `jev_reply_gate_audit` calls are already in application AI
3046
+ costs: never add them again or infer net savings from Jev cost alone. Agreement
3047
+ is not accuracy; confidence is not a measured success rate.
3015
3048
 
3016
3049
  Privately inspect the bounded `reviewCandidates` when needed, name what was
3017
- actually reviewed, and account for edited comments. Ordinary model disagreements
3050
+ actually reviewed, and account for edited comments or chat messages. Use the
3051
+ candidate's surface and target ID to find the correct canonical record. Ordinary model disagreements
3018
3052
  are evaluation findings; outages, stuck telemetry or missing ledger entries are
3019
3053
  operational findings. Report a recommendation to continue, adjust or stop, without
3020
- automatically enabling traffic, raising caps or promoting Jev to serving. Data
3021
- handling for under-18 users and TypeSafe account access must be resolved before
3022
- real conversations are sent. See `twinkle-api/JEV_PILOT.md` for configuration,
3054
+ automatically changing mode, scope or caps.
3055
+ See `twinkle-api/JEV_PILOT.md` for configuration,
3023
3056
  the synthetic evaluation step and release checks.
3024
3057
 
3025
3058
  ### Application AI calendar-month cost (standing duty, every full daily review)
@@ -3170,6 +3203,34 @@ reload while waiting in the queue. The current UTC day is returned with `inProgr
3170
3203
  **Headline `lastCompletedDay` (its exact `dayKey`) — never the in-progress
3171
3204
  day**, exactly as the closed-day AI-cost duty does.
3172
3205
 
3206
+ Since Mikey's 2026-09-20 decision, keep current Energy policy and worker
3207
+ capacity while observing. During every full run, supplement these counters
3208
+ with the read-only per-request diagnostic report (from the local API checkout):
3209
+
3210
+ ```bash
3211
+ ssh api-primary.twinkle.network \
3212
+ 'cd /home/ec2-user/server && timeout 75s node --max-old-space-size=128 -' \
3213
+ < scripts/build-energy-daily.cjs
3214
+ ```
3215
+
3216
+ This uses telemetry already recorded in queue jobs, canonical run sessions,
3217
+ provider-turn budget metadata and reservation usage; no new collection or API
3218
+ restart is needed. Save its JSON privately. Headline its last completed UTC
3219
+ day and compare the complete days in its seven-day window: queue wait p50/p90/
3220
+ maximum, starts waiting over 60 seconds, cancellations before start, unchanged
3221
+ budget stops, and the separate `handoff_only`, work-without-save and unknown
3222
+ patterns. Keep the two explicit denominators separate: unchanged stops / all
3223
+ budget stops, and unchanged stops / completed manual runs in the same cohort.
3224
+ Do not divide by usage reservations or assume busy-refusal counts measure waits.
3225
+
3226
+ Inspect the stop cases' observed starting budget, recorded work/handoff turns,
3227
+ remaining Energy and final-reservation spend. Missing lineage is unknown, not
3228
+ zero work or zero cost; final-reservation cost can exclude earlier planning
3229
+ reservations. The oldest day may be partial under rolling seven-day retention.
3230
+ These observations do not by themselves establish a bug or authorize an
3231
+ admission floor, extra worker capacity, budget cuts or model changes. Update
3232
+ todo 52 with the latest completed-day observations and any concrete regression.
3233
+
3173
3234
  `flags` lists every tripped check with its exact numbers: `overflow_usd`
3174
3235
  (overflow above $1 on a completed day), `budget_stop_unchanged_ratio` (more
3175
3236
  than 30% of at least 5 budget stops ended with nothing saved),