mirror of
https://github.com/microsoft/SkillOpt.git
synced 2026-07-04 14:39:00 +08:00
Updates the SkillOpt-Sleep plugin on top of the current main. User-facing and engine improvements since the initial drop: * Command renamed /sleep -> /skillopt-sleep across Claude Code + Codex shells; refreshed plugin READMEs and install scripts. * Built-in scheduling (skillopt_sleep/scheduler.py + __main__): schedule / unschedule the nightly cycle without external cron wiring. * Backend robustness: bounded retry with backoff (no more silent empty-string on transient 429/timeout), content-filter-safe rollout prompt, an output-contract guardrail that rejects edits violating the task's required format, and a per-sample cache key so repeated dream rollouts are independent samples (fixes degenerate single-sample reflection). * consolidate / rollout / replay: parallel multi-rollout dreaming, gate-mode controls, TaskRecord.system framing field. Scope: this commit ships only the plugin engine + shells. Research/benchmark harnesses and their data are intentionally not included; the public package has no dependency on them (the one research-evaluator import is now guarded). Marked as an early preview in the README; we'll keep iterating. 99/99 unit tests pass. Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
30 lines
1.5 KiB
Bash
Executable File
30 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Print (does NOT install) a crontab line that runs SkillOpt-Sleep nightly.
|
|
# The user copies the line into `crontab -e` if they want it.
|
|
set -euo pipefail
|
|
|
|
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
|
|
RUNNER="$PLUGIN_ROOT/scripts/sleep.sh"
|
|
PROJECT="${1:-$(pwd)}"
|
|
BACKEND="${2:-mock}"
|
|
|
|
# 3:17am local — deliberately off the :00 mark so many users don't all hit the
|
|
# API at once (and we leave room for jitter).
|
|
MIN=17
|
|
HOUR=3
|
|
|
|
cat <<EOF
|
|
# ── SkillOpt-Sleep nightly cycle ────────────────────────────────────────────
|
|
# Review past sessions, replay tasks, stage validated memory/skill updates.
|
|
# Runs at ${HOUR}:$(printf '%02d' $MIN) local every day. Output goes to the project's
|
|
# .skillopt-sleep/ dir; nothing live is changed until you run '/skillopt-sleep adopt'
|
|
# (unless you pass --auto-adopt below).
|
|
#
|
|
# Copy the next line into 'crontab -e':
|
|
${MIN} ${HOUR} * * * "${RUNNER}" run --project "${PROJECT}" --scope invoked --backend ${BACKEND} >> "${PROJECT}/.skillopt-sleep/cron.log" 2>&1
|
|
#
|
|
# For fully-autonomous adoption (power users), append: --auto-adopt
|
|
# To spend real API budget for genuine lift, set BACKEND=anthropic above.
|
|
# ────────────────────────────────────────────────────────────────────────────
|
|
EOF
|