Skip to content

docs(shepherd): record 0.3.0 apply-verb verdict + jailed live-claude smoke#22

Open
todie wants to merge 1 commit into
mainfrom
docs/shepherd-apply-verdict
Open

docs(shepherd): record 0.3.0 apply-verb verdict + jailed live-claude smoke#22
todie wants to merge 1 commit into
mainfrom
docs/shepherd-apply-verdict

Conversation

@todie

@todie todie commented Jul 11, 2026

Copy link
Copy Markdown
Member

What

Exercises the two shepherd 0.3.0 lanes the README flagged as never smoked, and replaces the runbook §3 hedge with the observed behavior.

Apply-verb verdict: does NOT materialize the working tree

Evidence (throwaway workspace, static-provider retained run writing APPLY_TEST.txt):

  • Before: working tree = readme.txt + demo scripts; run retained, output unconsumed.
  • shepherd run apply <run> → exit 0, settlement action applied, parent_world_before 2f1c93df… → parent_world_after f56340ea….
  • After: working tree byte-identical — no APPLY_TEST.txt, git status unchanged, sole commit still init.
  • Positive side: merged candidate commit caf40fbc… inside .vcscore/world-vectors/substrates/workspace.git contains workspace/APPLY_TEST.txt with the run's content; output state moved unconsumed → applied.
  • Propagation confirmed: a later run forked from the advanced parent world and carried APPLY_TEST.txt in its basis/changeset.

Conclusion: apply is a custody settlement (three-way merge onto the vcs-core parent world), same class as select/release/discard. Changeset-extract remains the only materialization path — §3 now states this plainly.

Jailed live-claude lane: works on 0.3.0

shepherd demo write agent-task ran end-to-end: run show reports enforcement: jail (launch_confined_attempted), auth via ANTHROPIC_API_KEY, donut.py retained, executed straight from the changeset (--read donut.py | python3 - rendered the animation), settled discarded, working tree untouched.

Checks

tests/test_pin.py (README/pin agreement) — 2 passed.

…smoke

Live-exercised the two lanes the README flagged as never smoked on 0.3.0:

- apply verb: shepherd run apply settles custody inside .vcscore only
  (output unconsumed -> applied, parent world advanced, merged candidate
  commit holds the file) — it does NOT materialize the working tree.
  Replaces the runbook §3 hedge with the observed before/after evidence;
  changeset-extract stays the materialization path.
- jailed live-claude lane: demo write agent-task ran end-to-end under the
  Landlock jail (enforcement: jail, auth via ANTHROPIC_API_KEY), donut.py
  retained and executable from the changeset, settled discarded.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant