@stage5/lumine 0.2.53 → 0.2.55

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/README.md CHANGED
@@ -229,6 +229,53 @@ claude "Read CLAUDE.md, then make the requested change."
229
229
  The login command uses a browser approval code and stores a scoped token and the
230
230
  selected project at `~/.twinkle/lumine-cli-auth.json`.
231
231
 
232
+ ## Sponsoring Zero or Ciel Build Workshop duty
233
+
234
+ Sponsorship is an approved contribution role, not an open switch and not a
235
+ website-management role. Applications are submitted only through Lumine CLI;
236
+ the Twinkle website provides instructions, but no application form.
237
+
238
+ ```bash
239
+ lumine sponsor agreement
240
+ lumine sponsor apply --providers codex --motivation "Why I want to help" \
241
+ --availability "My usual duty window" --accept-agreement
242
+ lumine sponsor status
243
+ ```
244
+
245
+ After Mikey approves an application, configure conservative limits based on
246
+ the subscription you are contributing, then start one foreground duty:
247
+
248
+ ```bash
249
+ lumine sponsor capacity --concurrency 1 --helpers 0 \
250
+ --daily-limit 3 --weekly-limit 10
251
+ lumine sponsor duty start zero --provider codex \
252
+ --model gpt-5.6-sol --effort max --service-tier priority
253
+ ```
254
+
255
+ Sponsor commands use the same browser-approval login as the rest of Lumine.
256
+ When no saved CLI login exists, the command opens Twinkle, waits for the person
257
+ using that browser to approve their own account, and then resumes. Any Twinkle
258
+ account may authenticate this way, but login never grants sponsor duty:
259
+ `sponsor duty start` still requires that exact account to have a canonical,
260
+ server-approved sponsor profile.
261
+
262
+ While that foreground process has a fresh server lease, Zero or Ciel exposes a
263
+ Build Workshop in chat and users may see the named sponsor and canonical queue.
264
+ With no live duty, the website stays in its ordinary chat state and shows none
265
+ of the Workshop UI. Press Ctrl-C to stop accepting work and drain already
266
+ claimed jobs before duty ends; `pause`, `resume`, and `stop` are also available.
267
+
268
+ Zero or Ciel remains the user-facing teammate. The local coding agent receives
269
+ only the initial relay and active-job Build follow-ups covered by the user’s
270
+ explicit Workshop consent, the assigned contribution branch, and its scoped
271
+ Build Forum—not the raw assistant chat. It
272
+ cannot merge into Main, publish, or use website-management APIs. Lumine records
273
+ the requested and provider-reported model, effort, service tier, runtime/usage
274
+ evidence, coordinator/helper tree, saved artifact, and branch notice. Every
275
+ completed handoff enters the daily integrity flow; probationary, hard-flagged,
276
+ and sampled work requires review. Each unique cleared handoff earns a flat 50
277
+ Karma Points, while retries and helper agents do not multiply the award.
278
+
232
279
  ## Privileged website administration
233
280
 
234
281
  `lumine admin` reuses Mikey's saved CLI login while keeping the visible public
@@ -248,6 +295,13 @@ lumine admin economy trace lock --days 3 \
248
295
  lumine admin rescue wordle-audit --days 30 \
249
296
  --reason "Identify recorded Wordle breaks and rescue status" --json
250
297
  lumine admin daily-run start --identity auto --comment-mode off --json
298
+ lumine admin sponsor applications list --status pending --json
299
+ lumine admin sponsor applications review 12 --decision approve \
300
+ --note "Approved for probationary duty" --json
301
+ lumine admin sponsor integrity scan --json
302
+ lumine admin sponsor integrity cases --status open --json
303
+ lumine admin sponsor integrity get 34 --json
304
+ lumine admin sponsor integrity review 34 --decision clear --json
251
305
  lumine admin todo list --json
252
306
  lumine admin todo add --kind experiment --status in_progress \
253
307
  --title "Validate Zero/Ciel cost optimization" \
@@ -336,10 +390,13 @@ includes `error.details.retryIdempotencyKey` so a partial attempt can be
336
390
  resumed with the exact generated key.
337
391
 
338
392
  Subject and queue listings use opaque, stable snapshot cursors. `--all`
339
- follows them automatically, saves a checkpoint after every canonical page,
340
- and records completed queue coverage in the run audit; `--resume` continues
341
- the exact same request. With `--all --json`, bounded progress goes to stderr so
342
- stdout remains one pipe-safe JSON value. Recommendation scans default to the previous completed
393
+ follows them automatically, fsyncs each confirmed page to a private NDJSON
394
+ candidate spool, saves only bounded cursor/boundary/count metadata in the
395
+ checkpoint, and records completed queue coverage in the run audit; `--resume`
396
+ verifies the confirmed spool prefix and continues the exact same request. The
397
+ final JSON contract still contains the complete collection, streamed from the
398
+ spool instead of accumulated in memory. With `--all --json`, bounded progress
399
+ goes to stderr so stdout remains one pipe-safe JSON value. Recommendation scans default to the previous completed
343
400
  run's start boundary for at-least-once coverage. Use `--after` for an explicit
344
401
  timestamp or `--include-legacy`
345
402
  for an intentional all-history scan. Subject `--after` is inclusive and
@@ -355,7 +412,11 @@ with `todo update`; completing a run does not complete its todos. Experiments
355
412
  must meet their stated acceptance criteria—lower AI cost with weaker user
356
413
  responses is not a successful optimization. `daily-run report` summarizes
357
414
  confirmed mutations, completed queue coverage, explicitly recorded escalations,
358
- unfinished todos, and the run brief before the run is completed.
415
+ unfinished todos, sponsor-integrity state, and the run brief before the run is
416
+ completed. A run cannot complete until its bounded sponsor-integrity snapshot
417
+ has been scanned and every selected case is cleared or disqualified. `hold` and
418
+ `flag` deliberately keep the run open for human judgment; scans never suspend,
419
+ revoke, or disqualify a sponsor automatically.
359
420
 
360
421
  Identity inspection, escalation dispositions, AI-bucket maintenance, and
361
422
  approved Notable User additions and todos are private operator bookkeeping and