U06: Preview a bounded change without turning advice into authority
Choose the commands you use
Operating system
CodeArbiter host
Know before you begin
U06 is a guided, runnable lesson in Academy Preview 0.30. Use its installed Prepare, Check, and Reset commands from this page; do not substitute repository-local source execution.
The website is the course interface. Academy CLI is a setup, Check, and recovery helper when a lesson is released. A direct native-terminal command has no !; a shell command passed through a harness begins with exactly one !; a host-native CodeArbiter command belongs in the harness and has no !. Each rendered action card labels the surface and supplies a copy button.
Confirm the public lesson boundary
You · Browser · All operating systems
Read this guided public lesson before running anything. Academy Preview 0.30 publishes U06 and its installed Prepare, Check, and Reset commands are the supported Academy lifecycle.
The website is the primary lesson surface and the installed Academy lifecycle is available for this accepted lab.
You know U06 is a guided, runnable public Academy lesson.
If the installed command cannot find U06, stop and verify you installed Preview 0.30. Do not run repository-local source as a substitute.
The Preview 0.30 manifest includes U06 in the available, runnable, and guided lists.
What you will prove
In a prepared attempt, you will turn one frozen Markdown seed into one exact safe policy. You will ask the selected host for a read-only ca-preview, evaluate its advice, and retain only two learner commits: the candidate, then its binding report. You do not push, change product code, add dependencies, or make an advanced operation look routine.
The source Check contract is deliberately narrow. It compares the prepared candidate bytes, exact final candidate bytes, candidate commit and tree, one changed path, canonical report bytes, a clean worktree, and four not-executed classifications. It does not prove that an agent command ran, what reviewers it predicted, whether a secret scan ran, or that you agreed with a preview.
Prepare safely
Prepare the U06 attempt
Use the installed Academy Prepare command to create the frozen U06 attempt and candidate.
Prepare is an Academy lifecycle operation, not a substitute for editing fixtures by hand.
Academy · Native terminal · Windows
$academy = "$env:LOCALAPPDATA\ArbiterAcademy\preview-0.30\Scripts\arbiter-academy.exe"
& $academy --repository (Get-Location).Path prepare U06-preview-and-advanced-surfaces
Academy · Native terminal · macOS
academy="${XDG_DATA_HOME:-$HOME/.local/share}/arbiter-academy/preview-0.30/bin/arbiter-academy"
"$academy" --repository "$PWD" prepare U06-preview-and-advanced-surfaces
Academy · Native terminal · Linux
academy="${XDG_DATA_HOME:-$HOME/.local/share}/arbiter-academy/preview-0.30/bin/arbiter-academy"
"$academy" --repository "$PWD" prepare U06-preview-and-advanced-surfaces
Preview 0.30 creates one numbered U06 attempt branch and the frozen candidate file.
If Prepare stops, preserve its message and correct only the stated repository condition. Do not create an attempt or candidate by hand.
The printed attempt branch and the frozen candidate path prove preparation completed.
Inspect the prepared scenario
In the prepared attempt, inspect the scenario descriptor before touching the candidate. This is a native terminal command and has no !.
The descriptor identifies a read-only preview over the attempt tree rather than a sandbox or hosted operation.
You · Native terminal · Windows
Get-Content training_scenarios/U06-preview-and-advanced-surfaces.json
You · Native terminal · macOS
cat training_scenarios/U06-preview-and-advanced-surfaces.json
You · Native terminal · Linux
cat training_scenarios/U06-preview-and-advanced-surfaces.json
The descriptor names read_only_preview, attempt-tree, and preview-not-run.
If the file is absent, stop and run Prepare again; do not create it yourself.
Retain the exact descriptor path and the attempt branch name.
Inspect the frozen candidate
Read the seeded candidate from the prepared attempt. It is the only learner-editable source in the first learner commit and this direct terminal command has no !.
The Check profile binds exact prepared and final candidate bytes; a generic document does not pass.
You · Native terminal · Windows
Get-Content docs/U06-preview-candidate.md
You · Native terminal · macOS
cat docs/U06-preview-candidate.md
You · Native terminal · Linux
cat docs/U06-preview-candidate.md
You see the intentionally incomplete U06 preview candidate and make no edit yet.
If its bytes differ from the prepared fixture, stop. Do not normalize or replace the seed.
The prepared commit and candidate path form the first report binding.
Prepare creates the bounded attempt and frozen candidate. Do not create the candidate, report, or attempt branch by hand.
Create a contained preview
Create only the contained candidate diff
Ask the selected host to replace only docs/U06-preview-candidate.md with the exact reviewed safe Markdown policy and stop before staging. This is a harness instruction, not a shell command, so it has no !.
The active agent owns the bounded edit; the learner owns inspection and later commits.
Your agent · Claude Code harness · All operating systems
Replace only docs/U06-preview-candidate.md.
Write this exact UTF-8 body, including final LF:
# U06 preview candidate
## Read-only documentation policy
Preview may inspect the prepared attempt and report predicted reviewers. It does not run a sandbox, create a skill, start watch, or convene a tribunal.
## Evidence
Record the reviewed commit, candidate tree, exact changed path, and repository bindings in the U06 Academy record.
Do not stage, commit, create a report, or run any advanced surface.
Your agent · Codex harness · All operating systems
Replace only docs/U06-preview-candidate.md.
Write this exact UTF-8 body, including final LF:
# U06 preview candidate
## Read-only documentation policy
Preview may inspect the prepared attempt and report predicted reviewers. It does not run a sandbox, create a skill, start watch, or convene a tribunal.
## Evidence
Record the reviewed commit, candidate tree, exact changed path, and repository bindings in the U06 Academy record.
Do not stage, commit, create a report, or run any advanced surface.
Your agent · Pi harness · All operating systems
Replace only docs/U06-preview-candidate.md.
Write this exact UTF-8 body, including final LF:
# U06 preview candidate
## Read-only documentation policy
Preview may inspect the prepared attempt and report predicted reviewers. It does not run a sandbox, create a skill, start watch, or convene a tribunal.
## Evidence
Record the reviewed commit, candidate tree, exact changed path, and repository bindings in the U06 Academy record.
Do not stage, commit, create a report, or run any advanced surface.
Your agent · Pi harness · All operating systems
Replace only docs/U06-preview-candidate.md.
Write this exact UTF-8 body, including final LF:
# U06 preview candidate
## Read-only documentation policy
Preview may inspect the prepared attempt and report predicted reviewers. It does not run a sandbox, create a skill, start watch, or convene a tribunal.
## Evidence
Record the reviewed commit, candidate tree, exact changed path, and repository bindings in the U06 Academy record.
Do not stage, commit, create a report, or run any advanced surface.
Only the candidate is modified and it remains unstaged.
If another path changes or staging begins, stop and preserve the state for review; do not erase it to hide the mistake.
The first learner commit must contain exactly docs/U06-preview-candidate.md.
Inspect the contained diff
Inspect the unstaged diff before asking for a preview. This native terminal observation has no ! and must show only the candidate path.
A read-only preview must be grounded in a bounded input, not a vague description of intended work.
You · Native terminal · Windows
git diff -- docs/U06-preview-candidate.md
git status --short
You · Native terminal · macOS
git diff -- docs/U06-preview-candidate.md
git status --short
You · Native terminal · Linux
git diff -- docs/U06-preview-candidate.md
git status --short
The only modified path is docs/U06-preview-candidate.md and the policy says preview is read-only.
If the diff contains another path, do not stage or preview it. Preserve the difference and start a reviewed retry later.
The candidate SHA-256 and changed_paths will be bound in the final report.
Run the host-native read-only preview
Ask the active CodeArbiter host for a read-only preview of the current diff. This host-native command has no ! and does not commit, stage, push, or execute advanced surfaces.
ca-preview is a bounded diff review; it is distinct from Academy Preview 0.30, which is the release name and public availability boundary.
Your agent · Claude Code harness · All operating systems
/ca:preview
Your agent · Codex harness · All operating systems
$ca-preview
Your agent · Pi harness · All operating systems
/ca-preview
Your agent · Pi harness · All operating systems
/skill:ca-preview
The host reports an advisory preview of the candidate diff without mutating repository state.
If the host cannot find the command, do not replace it with shell syntax. Record the unavailable host capability and retain the diff.
The later Academy binding record names only durable repository facts and not-executed classifications. It does not preserve ca-preview output or claim host invocation proof.
The two names are easy to confuse. Academy Preview 0.30 names an installed release and its public availability boundary. ca-preview is a host-native, advisory review of the current diff. It does not stage, commit, push, create a release, or give the agent authority to enlarge the change.
Read the preview
Assess the preview as advice
You · Active CodeArbiter harness · All operating systems
Read the preview output in the selected host. Confirm it addresses only documentation and does not claim a sandbox run, new skill, hosted watch, or tribunal.
The learner evaluates advisory output; a repository Check cannot prove the host result was understood.
You can state whether the candidate remains a docs-only, read-only policy before staging it.
If the preview points beyond the candidate boundary, stop and preserve the result instead of expanding scope.
No committed record preserves this advisory output; the later Academy binding record proves only repository facts and not-executed classifications.
Stage only the candidate
After reviewing the diff, stage only the candidate in a native terminal. This direct command has no !.
The strict first commit rejects any unrelated path.
You · Native terminal · Windows
git add -- docs/U06-preview-candidate.md
git diff --cached --name-only
You · Native terminal · macOS
git add -- docs/U06-preview-candidate.md
git diff --cached --name-only
You · Native terminal · Linux
git add -- docs/U06-preview-candidate.md
git diff --cached --name-only
The staged name list contains only docs/U06-preview-candidate.md.
If another path is staged, stop and inspect it. Do not use reset, restore, or a broad add to conceal it.
The candidate commit is the direct child of the prepared commit.
Commit the candidate through the gate
Run the host-native commit gate only after the staged boundary is correct. This is not a shell command and has no !.
The Academy teaches the governed commit path rather than a raw git commit shortcut.
Your agent · Claude Code harness · All operating systems
/ca:commit
Your agent · Codex harness · All operating systems
$ca-commit
Your agent · Pi harness · All operating systems
/ca-commit
Your agent · Pi harness · All operating systems
/skill:ca-commit
One linear candidate commit is created with no report path in it.
If the commit gate stops, address only its stated issue or preserve the attempt for Reset. Do not amend or force history.
The Check compares this commit's tree and candidate bytes with the final report bindings.
Treat the preview as a signal to inspect, not a verdict to obey blindly. The candidate commit must be the direct child of the prepared attempt and contain only docs/U06-preview-candidate.md. Preserve any mismatch for review instead of adding an unrelated correction or rewriting history.
Record evidence
Classify advanced surfaces without running them
You · Active CodeArbiter harness · All operating systems
Record each advanced surface as not run here: sandbox needs Docker and an untrusted target; new-skill needs a demonstrated gap and approved scope; watch needs a real hosted PR and CI; tribunal is a persistent expensive audit, not routine training. Do not execute any of those commands.
Knowing when not to invoke a powerful operation is part of power-user fluency.
You have four explicit not run here classifications and no advanced command execution.
If a real project qualifies for one surface, leave this lesson and use that operation's own scope and authorization process.
The report records ca-sandbox, ca-new-skill, ca-watch, and ca-tribunal as not-executed.
The four advanced surfaces are not run here. ca-sandbox needs Docker and an untrusted target. ca-new-skill needs a demonstrated gap and approved scope. ca-watch needs a real hosted PR and CI. ca-tribunal is a persistent, expensive audit, not routine training. Naming a surface in a report is not permission to execute it.
Write the Academy binding record
Ask the selected host to create only .codearbiter/reports/academy/U06-preview.json from the committed candidate and current prepared attempt, with canonical JSON and the four not-executed classifications. This is an Academy binding record, not ca-preview output: do not add reviewer predictions, scan status, or a claim that the host command ran. Do not stage or commit it yet.
The record binds durable repository facts without pretending to preserve telemetry from a read-only plugin command.
Your agent · Claude Code harness · All operating systems
Create only .codearbiter/reports/academy/U06-preview.json from the prepared commit and committed U06 candidate. Use canonical JSON, exact candidate bindings, read_only true, and all four advanced surfaces not-executed. It is an Academy binding record, not ca-preview output: do not include reviewer predictions, scan status, or invocation claims. Do not stage or commit.
Your agent · Codex harness · All operating systems
Create only .codearbiter/reports/academy/U06-preview.json from the prepared commit and committed U06 candidate. Use canonical JSON, exact candidate bindings, read_only true, and all four advanced surfaces not-executed. It is an Academy binding record, not ca-preview output: do not include reviewer predictions, scan status, or invocation claims. Do not stage or commit.
Your agent · Pi harness · All operating systems
Create only .codearbiter/reports/academy/U06-preview.json from the prepared commit and committed U06 candidate. Use canonical JSON, exact candidate bindings, read_only true, and all four advanced surfaces not-executed. It is an Academy binding record, not ca-preview output: do not include reviewer predictions, scan status, or invocation claims. Do not stage or commit.
Only the Academy binding record is modified; it binds the prepared commit, candidate commit, tree, path, SHA-256, and one changed path without claiming ca-preview telemetry.
If a field is not a repository binding or a not-executed classification, omit it. Do not invent placeholder SHA values, scan status, reviewer predictions, or invocation proof.
The second learner commit may contain only this canonical Academy record.
Inspect the Academy binding record
Inspect the unstaged binding record and candidate state in a native terminal. This direct command has no !.
The learner verifies the repository-evidence boundary before it becomes immutable history.
You · Native terminal · Windows
Get-Content .codearbiter/reports/academy/U06-preview.json
git status --short
You · Native terminal · macOS
cat .codearbiter/reports/academy/U06-preview.json
git status --short
You · Native terminal · Linux
cat .codearbiter/reports/academy/U06-preview.json
git status --short
The record names only the candidate binding, read_only true, and four not-executed surfaces; it contains no reviewer, scan, or invocation claim.
If any binding is absent, malformed, or claims ca-preview telemetry or an executed advanced surface, stop before staging.
Canonical JSON bytes and exact Academy record keys are part of the Check profile.
Stage only the report
Stage only the binding report in a native terminal. This direct command has no !.
The strict second commit rejects an extra changed path.
You · Native terminal · Windows
git add -- .codearbiter/reports/academy/U06-preview.json
git diff --cached --name-only
You · Native terminal · macOS
git add -- .codearbiter/reports/academy/U06-preview.json
git diff --cached --name-only
You · Native terminal · Linux
git add -- .codearbiter/reports/academy/U06-preview.json
git diff --cached --name-only
The staged name list contains only .codearbiter/reports/academy/U06-preview.json.
If another path appears, stop and inspect the attempt. Do not broaden the report commit.
The report must be the second and final learner commit.
Commit the evidence through the gate
Run the host-native commit gate only after the staged report is correct. This is not a shell command and has no !.
The final evidence enters history through the same governed route as the candidate.
Your agent · Claude Code harness · All operating systems
/ca:commit
Your agent · Codex harness · All operating systems
$ca-commit
Your agent · Pi harness · All operating systems
/ca-commit
Your agent · Pi harness · All operating systems
/skill:ca-commit
The report is the final direct child of the candidate commit.
If the gate stops, keep the attempt inspectable and resolve only the stated issue. Do not amend or rewrite the candidate commit.
The Check profile requires exactly two clean linear learner commits after preparation.
The second commit contains only .codearbiter/reports/academy/U06-preview.json. It is an Academy binding record, not ca-preview output: it binds the prepared commit, committed candidate, candidate tree, candidate path, candidate SHA-256, and the single changed path. It marks the policy read_only and classifies all four advanced surfaces as not-executed. Check independently rejects secret-bearing committed bytes; neither the record nor Check claims that ca-preview ran or persisted telemetry.
Check the boundary
Confirm the clean evidence boundary
Confirm that the attempt has no tracked or untracked changes. This native terminal check has no !.
A valid U06 report cannot compensate for leftover worktree state.
You · Native terminal · Windows
git status --porcelain --untracked-files=all
You · Native terminal · macOS
git status --porcelain --untracked-files=all
You · Native terminal · Linux
git status --porcelain --untracked-files=all
The command prints nothing.
If anything prints, stop and inspect it; do not delete, reset, or hide it to force a clean result.
The semantic Check rejects dirty and untracked paths.
Check the committed evidence
Use the installed Academy Check command after the exact two-commit evidence packet is clean.
Installed Academy availability and source-level semantic acceptance are different claims.
Academy · Native terminal · Windows
$academy = "$env:LOCALAPPDATA\ArbiterAcademy\preview-0.30\Scripts\arbiter-academy.exe"
& $academy --repository (Get-Location).Path check U06-preview-and-advanced-surfaces
Academy · Native terminal · macOS
academy="${XDG_DATA_HOME:-$HOME/.local/share}/arbiter-academy/preview-0.30/bin/arbiter-academy"
"$academy" --repository "$PWD" check U06-preview-and-advanced-surfaces
Academy · Native terminal · Linux
academy="${XDG_DATA_HOME:-$HOME/.local/share}/arbiter-academy/preview-0.30/bin/arbiter-academy"
"$academy" --repository "$PWD" check U06-preview-and-advanced-surfaces
Preview 0.30 accepts the exact prepared candidate, two committed evidence paths, and clean worktree.
If Check fails, preserve the attempt and repair only the reported evidence mismatch. Do not rewrite history or edit source fixtures.
Check limit: source Check verifies committed repository facts, not a host invocation, a human interpretation, or an advanced command execution.
Check limit: source Check verifies committed repository facts. It cannot establish that you ran ca-preview, understood its result, or consciously chose not to execute an advanced command. The installed Academy Preview 0.30 Check evaluates this accepted source contract.
Recover or continue
Reset a failed U06 attempt safely
Use the installed Academy Reset command only when you need a retry; it archives the failed attempt before preparing the next one.
Recovery preserves evidence; it is not a destructive Git cleanup recipe.
Academy · Native terminal · Windows
$academy = "$env:LOCALAPPDATA\ArbiterAcademy\preview-0.30\Scripts\arbiter-academy.exe"
& $academy --repository (Get-Location).Path reset U06-preview-and-advanced-surfaces
Academy · Native terminal · macOS
academy="${XDG_DATA_HOME:-$HOME/.local/share}/arbiter-academy/preview-0.30/bin/arbiter-academy"
"$academy" --repository "$PWD" reset U06-preview-and-advanced-surfaces
Academy · Native terminal · Linux
academy="${XDG_DATA_HOME:-$HOME/.local/share}/arbiter-academy/preview-0.30/bin/arbiter-academy"
"$academy" --repository "$PWD" reset U06-preview-and-advanced-surfaces
Preview 0.30 archives the failed attempt and prepares an independent retry.
Do not simulate a retry with reset --hard, branch deletion, or history rewriting; use the Academy Reset record.
The archived attempt reference and new prepared branch prove recovery preserved learner history.
Keep a failed attempt visible. Do not amend, rebase, force-update, delete, reset, or overwrite history to make an incomplete preview packet look valid. A future released Reset must archive the attempt before it creates a retry.
Hint 1
The candidate is a reviewed, frozen teaching target. Equivalent prose is not evidence when the Check requires exact final bytes.
Hint 2
Use the preview before staging the candidate. The report belongs only after that candidate is committed and its repository facts are available to bind.
Hint 3
The safest power-user move is often not running a powerful command. State why the surface is out of scope and preserve the narrow evidence you do have.