meta-apply

GitHub

作为特权落地网关,仅允许人类用户授权将经跨模型陪审团审核通过的元优化补丁应用到技能库。通过独立 jury 验证和血缘检查,确保自我修改的安全性,防止未授权或错误的变更生效。

Trigger Scenarios

用户输入 /meta-apply 用户输入 meta apply 用户输入 land the staged patches 用户输入 应用优化

Install

npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill meta-apply -g -y
More Options

Use without installing

npx skills use wanshuiyin/Auto-claude-code-research-in-sleep@meta-apply

指定 Agent (Claude Code)

npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill meta-apply -a claude-code -g -y

安装 repo 全部 skill

npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --all -g -y

预览 repo 内 skill

npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --list

SKILL.md

Frontmatter
{
    "name": "meta-apply",
    "description": "Privileged applier that LANDS meta-optimize \/ corpus-audit patches the user approved — the ONLY skill permitted to mutate the skill corpus from a self-modification proposal, with cross-model jury and human approval at landing. Use when the user says \"meta apply\", \"\/meta-apply\", \"land the staged patches\", \"应用优化\", after a \/meta-optimize run.",
    "allowed-tools": "Bash(*), Read, Write, Edit, Grep, Glob, mcp__codex__codex, mcp__codex__codex-reply",
    "argument-hint": "[patch-number-or-all]"
}

Meta-Apply: the privileged landing gate for self-modification patches

This skill exists to enforce a privilege boundary. Producers like /meta-optimize (and, later, corpus-audit) are read-only — no Write/Edit, no apply step; they can only stage candidate patches under .aris/meta/pending/. This skill is the only place a staged patch becomes a real change to the corpus. Splitting "propose" from "land" across two skills with different tool grants is what makes "a loop cannot apply its own patch" structural rather than a sentence the producer is asked to obey.

It is human-invoked only. It runs when the user explicitly types /meta-apply after reading the producer's REPORT. That invocation IS the landing authorization (the locked 2026-05-30 decision: the human stays at the landing gate).

The acquittal is generated HERE, not relayed

The earlier design trusted a jury_verdict: pass field in the producer's manifest. That is forgeable — the producer writes that field, so a buggy/misaligned producer could stage a killed patch labelled "pass." So this skill does not trust any producer-written verdict. It runs the cross-model jury itself, at landing time, on the actual staged diff (fresh thread, paths-only). The verdict is produced where it is consumed, by the privileged human-invoked skill — nothing to forge.

The non-negotiable rules (jury-at-landing, reject-default)

For each staged patch the user asks to land, in order — any failure ⇒ skip & report, never silently apply:

  1. The human named THIS patch. Apply only patches the user listed (/meta-apply 1,3 or all); default to applying nothing.
  2. Fresh cross-model jury PASS, obtained now. Run mcp__codex__codex (fresh thread, NOT codex-reply; model: gpt-5.6-sol, config: {"model_reasoning_effort": "ultra"}, sandbox: read-only, paths-only per reviewer-independence.md) on the staged .diff + its target. Ask: does this change improve the harness without regressions; PASS or KILL + one-line reason. Include the scope-limits block from review-scope-limits.md in that prompt: this jury judges ARIS's own mechanism, so an over-defensive KILL permanently blocks a good patch. Note the block bans proposing new hash binding — it is not a reason to KILL a patch that touches the existing provenance stamp. KILL ⇒ refuse. The human cannot override a KILL — they may only pick among jury-PASSED survivors. (A loop can DRIVE; only the cross-model jury can ACQUIT.)
  3. Author ≠ reviewer family. The author is the producer's executor model; the reviewer is the codex model that just judged it. Run provenance.py assert_cross_family — if it raises (same family / unknown), refuse. (Here it always holds: producer=Claude, jury=codex. The check is the structural backstop.)

Workflow

Step 0: Load staging + resolve the helper

PENDING=".aris/meta/pending"
[ -d "$PENDING" ] || { echo "Nothing staged. Run /meta-optimize first."; exit 0; }
echo "Staged:"; cat "$PENDING/manifest.jsonl"

Resolve provenance.py via the 4-layer chain in integration-contract.md §2 (.aris/tools/tools/$ARIS_REPO/tools/$ARIS_REPO/tools/ via ~/.aris/repo).

Step 1: Jury-at-landing for each requested patch

For every patch the user asked to land, read its staged .diff and target, then run the fresh codex jury (Rule 2) — paths-only, no producer reasoning, no prior-round context. Record {patch, jury_verdict, jury_thread_id, one_line_reason}. Print a one-line result per patch (PASS → eligible / KILL → refused: <reason>).

The producer may have written an advisory pre-screen into the manifest to help the human read the REPORT — ignore it for the landing decision. Only this fresh verdict counts.

Step 2: Land the survivors (Write/Edit only — never Bash)

For each patch that PASSED Step 1 and was named by the user:

  1. Back up the target to .aris/meta/backups/<date>/<target> (use the Write tool to copy contents; corpus paths are not Bash-writable when corpus_write_guard is active — and the applier should use Write/Edit for corpus mutation anyway).
  2. Apply the diff by Edit/Write on the target corpus file.
  3. Stamp provenance on the changed file:
    python3 "$PROVENANCE" stamp "$TARGET" --author "$AUTHOR" \
      --reviewer "$JURY_MODEL" --verdict-id "$JURY_THREAD_ID"
    
    stamp() re-asserts cross-family and refuses on same-family — the structural backstop at the moment the authorization record is written. The stamp is a process receipt (who authored, who acquitted-at-landing, content hash) — NOT a claim the change is correct.
  4. Log to .aris/meta/optimizations.jsonl: {ts, patch, target, author_model, reviewer_model, jury_thread_id, applied: true}.

Step 3: Report

Per patch: LANDED <target> (+ backup path + provenance sidecar) or REFUSED <patch>: <reason>. Remove landed patches from .aris/meta/pending/. Remind the user a landed patch is revertable from its backup, and to test the changed skill next run.

Provenance is a receipt, not an acquittal of correctness

A stamp records that a change passed a process (cross-model jury at landing + human landing), not that it is correct. To prevent "approved-but-wrong with a stamp that vouches for it" (false-authority laundering — worse than no stamp, because a later auto-curator reads it as evidence):

  • The stamp carries verdict_id (auditable review) + content_hash (a later hand-edit invalidates it).
  • Recommended (not yet built): a TTL forcing re-review of long-lived auto-authored artifacts, and a behavioral auditor that REVOKES a stamp when a landed skill misbehaves. Track as follow-up; never treat a stamp as permanent truth.

Key Rules

  • Human-invoked only. Never run as a side-effect of another skill or a hook.
  • Jury-at-landing, reject-default, no override. The binding verdict is produced HERE on the staged diff; never trust a producer-written verdict; the human picks among survivors, never resurrects a KILL.
  • Cross-family or refuse. assert_cross_family must not raise. A deterministic:<verifier> reviewer is valid per skill-governance.md.
  • Corpus mutation goes through Write/Edit (reviewable, attributable), not Bash. The corpus_write_guard hook (if installed) additionally denies Bash corpus writes — it does NOT gate Write/Edit, so it does not by itself stop this skill from editing the corpus; the jury-at-landing + stamp discipline above is what governs Write/Edit mutations (that discipline is procedure, not a hook-enforced mechanism).
  • Back up before every mutation. Reversible by construction.
  • Only land staged patches. Applies what producers staged in .aris/meta/pending/; invents nothing of its own.

Review Tracing

Save each landing-jury codex call's trace per review-tracing.md to .aris/traces/meta-apply/<date>_run<NN>/ — the acquittal that landed a corpus change must be forensically recoverable.

Version History

  • f4f20f9 Current 2026-08-20 05:00

    新增 review-scope-limits.md 共享参考文件,限制评审者提议范围(如禁止提议新的哈希绑定),并在 meta-apply 等9个提示点插入该限制,以解决 gpt-5.6-sol 过度防御问题。

  • 53562a7 2026-07-25 10:41

Same Skill Collection

skills/ablation-planner/SKILL.md
skills/alphaxiv/SKILL.md
skills/analyze-results/SKILL.md
skills/arxiv/SKILL.md
skills/auto-paper-improvement-loop/SKILL.md
skills/auto-review-loop-llm/SKILL.md
skills/auto-review-loop-minimax/SKILL.md
skills/auto-review-loop/SKILL.md
skills/citation-audit/SKILL.md
skills/claims-drafting/SKILL.md
skills/comm-lit-review/SKILL.md
skills/deepxiv/SKILL.md
skills/dse-loop/SKILL.md
skills/embodiment-description/SKILL.md
skills/exa-search/SKILL.md
skills/experiment-audit/SKILL.md
skills/experiment-bridge/SKILL.md
skills/experiment-plan/SKILL.md
skills/experiment-queue/SKILL.md
skills/feishu-notify/SKILL.md
skills/figure-description/SKILL.md
skills/figure-spec/SKILL.md
skills/formula-derivation/SKILL.md
skills/gemini-search/SKILL.md
skills/grant-proposal/SKILL.md
skills/idea-creator/SKILL.md
skills/idea-discovery-robot/SKILL.md
skills/idea-discovery/SKILL.md
skills/interview-cheatsheet/SKILL.md
skills/invention-structuring/SKILL.md
skills/jurisdiction-format/SKILL.md
skills/kill-argument/SKILL.md
skills/mermaid-diagram/SKILL.md
skills/meta-optimize/SKILL.md
skills/monitor-experiment/SKILL.md
skills/novelty-check/SKILL.md
skills/openalex/SKILL.md
skills/overleaf-sync/SKILL.md
skills/paper-claim-audit/SKILL.md
skills/paper-compile/SKILL.md
skills/paper-figure/SKILL.md
skills/paper-illustration-image2/SKILL.md
skills/paper-illustration/SKILL.md
skills/paper-plan/SKILL.md
skills/paper-poster-html/SKILL.md
skills/paper-poster/SKILL.md
skills/paper-slides/SKILL.md
skills/paper-talk/SKILL.md
skills/paper-write/SKILL.md

Metadata

Files
0
Version
f4f20f9
Hash
5122453a
Indexed
2026-07-25 10:41

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 07:03
浙ICP备14020137号-1 $Map of visitor$