跳到正文
cccskills
免费在 GitHub 公开

promotion-tuner

Score recorded comparisons again by a tree's weighted measures, without models or spend. Read which promotions the score supports, which measure won each task, the A/A controls, and hours and dollars per promotion. Sweep the weights and the level by flag, and compare a candidate tree that changes a floor or the test.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(4)

  • SKILL.md9.0 KB
  • scripts/replay.ts20.0 KB
  • scripts/time.ts7.0 KB
  • scripts/tree.ts7.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Promotion tuner

A comparison scores each task by three weighted measures over the pairings of its solves, and one test over those scores at or under the level promotes (AGENTS.md, section 7, "The tally" and "The test"). This skill asks whether a tree's score supports the recorded promotions, and how other weights, another level or a candidate tree read the same solves. A replay starts no solve, calls no model and writes nothing of a campaign's.

What can be tuned, and whose it is

TermWhere it livesHow the replay changes it
The weights of validity, the objective and the billWEIGHTS, src/kernel/compare.ts; the operator's, in steps of five--weights v,o,b, in hundredths
The levelthe campaign's opening; the operator's--level
The room floor, the objective's full gain, the bill's floorROOM, FULL, CHEAPERa candidate tree
How a measure is read over the pairings, and the testpointsOf, flipP, stepOfa candidate tree

The weights and the level are the operator's conditions, so a sweep of them is evidence brought to the operator with a recommendation, never a change made on its own. A change to the score is no gain of a harness.

--weights needs no candidate: each measure's points are its mean over the pairings times its weight, so the replay divides the tree's points by the tree's weight and multiplies by the one asked. A measure the tree weighs at 0 cannot be scaled up, and is changed in a candidate tree. The floors shape the mean itself, so they too need a candidate.

The command

bun .claude/skills/promotion-tuner/scripts/replay.ts --tree <worktree> \
  [--logs <dir>] [--since <date>] [--name <campaign>]... [--weights v,o,b] [--level <n>] [--totals]
  • --tree names the worktree whose kernel scores the record, as an absolute path. The totals name its commit and whether src/ has uncommitted changes. A tree from before 21 October, which scores no weighted measures, is refused.
  • By default the shared run registry discovers campaigns in every worktree and archive, and refreshes remote logs and receipts through ANA_HOSTS. Load the host environment with bun --env-file=.env.runs .claude/skills/promotion-tuner/scripts/replay.ts .... Explicit --logs selects the offline layout <logs>/<worktree>/.ana/d2/<name>/log.jsonl, taking the largest copy of each campaign name there. Seeds with seed.json, names beginning sim-, rh- or test-, and rehearsals with a faux/ seat or solver are left out (campaignLogs, rehearsed in scripts/tree.ts). A campaign on another host is read from a copy laid out the same way: <dir>/<any>/.ana/d2/<name>/log.jsonl.
  • --since selects campaigns whose last event is at or after the date, five days back by default. Repeated --name selects named campaigns regardless of date.
  • --totals prints only the totals.

Live logs grow. Read the baseline and the candidate close together, and record the minute of each.

The script reaches a tree only through its own read, lastReports, pairsReported, pairsOf, pointsOf, WEIGHTS, flipP, measuresIn, billedBetween and BILLED (loadTree).

What to read

For each pair of harnesses, old digest first:

  • The first reading of the pair that steps, its W-L-T over the frontier and retained tasks together and its p, and then rightful, in doubt with its reasons (its A/A read a step, or a later reading of the pair lost more tasks than it won), or added by this score for a pair the campaign did not promote.
  • Which measure won each task of that reading: validity where validity gave it points, the objective where only the measures between two valid answers did and the objective among them, and the bill alone. This is the count to watch when the weights move: the bill takes a tenth of the weight, yet a task every solve of both sides answers validly can be won by the bill alone.
  • A pair that never steps: each reading, short of its level, with its A/A. NOT PROMOTED by this score marks a recorded promotion the score rejects.
  • Each promoted epoch and the open one: hours and billed dollars, split into the Examiner, comparisons and the Builder's own time (scripts/time.ts).

The totals count recorded promotions (rightful, in doubt, rejected), pairs the score adds, A/A controls and their steps, the tasks the promoting readings won by each measure, steps followed by a later reading of the pair and how many of those stepped again at their level, and how many only won at least as many tasks as they lost, and the median and range of promoted epochs' hours and dollars.

Read the reconciliation counts first.

  • A report written under the weights holds the points each measure gave (points). At the tree's own weights, its frontier, retained and A/A differences must read as stored: read otherwise than stored is 0 at the tree that wrote them. Anything else is a candidate change or a replay defect, and is explained before any other count is read.
  • A report from before 21 October was tallied rule by rule (validity, else the objective, else the bill) and holds no points. reading otherwise than recorded, to a step and from a step, counts what the weights changed on those readings. It is a finding about the score, never a defect.

An A/A is the reference against itself on mirrored halves of its solves (pairsOf with halves: "mirrored"), available at four or more solves a side, an even count. The tree's readsStepEitherWay reads it, either way at the comparison's level, as the whole-run reader and the UI do. An A/A step is false by construction.

rightful means the recorded solves support the promotion under this score. It cannot detect a lucky draw; the A/A, the false-promotion estimate and a later reading on fresh solves give other evidence (AGENTS.md, factor 2). Where only one score supports a promotion, name the score.

Tuning the score

  1. Run the baseline on main's tree, whole and with --totals, into the scratchpad, with the host environment loaded. Default discovery refreshes every host's records; use the same explicit offline --logs input for both trees when a frozen comparison is needed.
  2. Sweep --weights and --level first where they answer the question. Keep each set of weights in steps of five.
  3. For a floor or the test, make a candidate worktree from origin/main, following stack-pr, that changes one thing, and run the same table on it close to the baseline.
  4. Recommend a candidate only where promotions rise or hours per promotion fall, no A/A reads a step, and no added promotion is contradicted by a later reading of its pair. Count an added promotion with no later reading as untested, and give the won-by counts beside every candidate.
  5. Deliver both tables in the pull request as counts, with the reconciliation explained.
  6. Confirm live only on the operator's word, with a fresh campaign from a prompt at the candidate's commit and a prediction recorded before the first solve (AGENTS.md, section 10, item 9). Continuing a campaign at another commit measures no climb.

Limits of the replay:

  • An earlier promotion would change the reference, the Examiner's tasks and later comparisons. The replay reads pairs on the recorded path, not a campaign under the candidate.
  • A reading never bought has no solves to replay, and the weights change which comparisons a campaign would have bought.
  • A report before 14 October may name no task: its stored differences stand, and no weight moves them. Reports before 12 October hold no frontier and are left unread.
  • In a led campaign, Examiner sessions and comparisons run inside the Builder conversation. Builder alone subtracts their union; neither is time outside all three. A Builder session across a promotion bills where it ends. billedBetween also meters unfinished work, so the script prints the tree's sum less the parts to expose any difference.

The wall and the result

Keep the log on the exam side (AGENTS.md, sections 5 and 8). The script prints counts, session ids, short digests and campaign names, never task contents, answers, measures or checks. Only those aggregate results belong in a pull request or this skill.

Report, in order:

  1. The trees, their commits, the weights and level each read, and the minute each was read.
  2. The reconciliation counts on each.
  3. Recorded promotions: rightful, in doubt with reasons, and rejected by the score.
  4. Each candidate's totals beside the baseline, with each condition of tuning step 4 and its count, and the won-by counts.
  5. Campaigns left out, reports read from stored differences, and live counts that may move.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use after an Anabasis v2 comparison, checkpoint or system change, and before any sentence claims that a harness, a model or a patch improved something. States what one reading may be said to show: the identities it was made under, the counts kept apart, whether it was repeated, which part of a harness it belongs to, whether a mechanism was live in the run, and whether the measurement is valid as distinct from whether it was exploited. Ends in one fixed report.

中文简介正在准备中。当前显示原文说明。

s-smits/anabasis652026年10月23日 更新

Launch and collect independent Codex sessions (gpt-6-luna at high, xhigh or max; gpt-6.1-sol at low to xhigh) for bounded parallel work, from Claude Code or Codex: one manifest, one detached launcher, one report a session, a drain while it runs, and a retry of incomplete sessions. Owns the Codex transport when another skill sets the questions, as whole-run-investigation does for its lanes. Use when the operator asks for Luna or Sol sessions, a swarm, many sessions, a reasoning effort, a Codex subagent from Claude Code, or a later collection of reports. Distinguish a request to launch from one to wait and collect.

中文简介正在准备中。当前显示原文说明。

s-smits/anabasis652026年10月23日 更新

commit-r

免费

The commit-R protocol: a test-driven rewrite of one compartment of Anabasis v2. Commit what is in flight, remove the compartment's tests in an "R:" commit, write them again from a stated hypothesis so the production code fails on purpose, remove the production files in a second "R:" commit, then write the production code again, rewrite the neighbouring functions the old shape bent, and delete what served only it. Use when the operator says "commit R", "commit-R protocol", "remove and rewrite the tests" or "rewrite from scratch", or asks for a test-first pass that looks for a faster, simpler path to the same outcome.

中文简介正在准备中。当前显示原文说明。

s-smits/anabasis652026年10月23日 更新

The harnesses a campaign keeps, read outside a run: which there are and where each came from, what each is made of and what moved from its parent, what each was measured to be, trying one on a task, the audit before a promotion and the blind review at a handover, whether a part earns its place, and changing what makes a harness or what a seat is told about one. Use when the operator asks which harness is current, what a Builder changed, whether a harness is ready to promote or hand over, to run a kept harness on a task, or to change the harness contract. Reading one run is whole-run-investigation's, wording a claim attribution-and-proof's.

中文简介正在准备中。当前显示原文说明。

s-smits/anabasis652026年10月23日 更新

Hand a question about Anabasis v2 to an outside Oracle model as one task document and one zip. The Oracle reads GitHub; the zip carries what it cannot fetch: campaign logs and kept harnesses through `bun run runs zip`, a reader's output, predictions with how each resolved, patches for commits never pushed. Use when the operator asks to prepare an Oracle question, a report request, a problem statement or a second opinion on a run, a reading or a design, or to send the latest runs to an outside model. Produces local files; uploading is the operator's.

中文简介正在准备中。当前显示原文说明。

s-smits/anabasis652026年10月23日 更新

Measure whether a change made the tree simpler: line counts, branching, coupling, interface width, rule count, standing exemptions and model-visible prose across one diff or a stack of pull requests. Use before claiming a pass reduced complexity, when deciding which pull request added machinery, and to read a function's branch count, which no v2 gate reports.

中文简介正在准备中。当前显示原文说明。

s-smits/anabasis652026年10月23日 更新

查看 s-smits 的全部技能

报告此技能的问题