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.
80%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/meta-apply/SKILL.mdBefore each reviewer slot, follow Selectable Reviewers: resolve invocation →
.aris/reviewer.json→ Claude Code default (Codex MCP) withreviewer_route.pythrough the canonical helper resolver, preserving this slot's tier, fresh contexts, source/image inputs and deterministic gates. Codex examples/pins below apply only tobackend=codex; other routes use their own first-call/reply contract. Save the route and actual returned identity; unavailable selections areREVIEW_UNAVAILABLE. Classify acceptance from actual families/completion/scope. Forward invocation reviewer/model/effort overrides to reviewer-bearing children. Generation workers are unchanged.
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 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.
For each staged patch the user asks to land, in order — any failure ⇒ skip & report, never silently apply:
/meta-apply 1,3
or all); default to applying nothing.mcp__codex__codex (fresh thread,
NOT codex-reply; model: gpt-6-astra, 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.)provenance.py assert_cross_family — if it
raises (same family / unknown), refuse. Use actual author/reviewer identities, never infer the family from
the host or transport. This strict landing gate remains mandatory.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).
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.
For each patch that PASSED Step 1 and was named by the user:
.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).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..aris/meta/optimizations.jsonl:
{ts, patch, target, author_model, reviewer_model, jury_thread_id, applied: true}.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.
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):
verdict_id (auditable review) + content_hash (a later hand-edit
invalidates it).assert_cross_family must not raise. A
deterministic:<verifier> reviewer is valid per skill-governance.md.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)..aris/meta/pending/;
invents nothing of its own.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.
18bceb3
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.