Governed shell binary — human + machine modes (Rust)
Find a file
Tyler J King 2f9401d3c4 feat: session mode — one AC for N commands
Per-invocation AC is the primitive for single governed ops.
Session mode is for scripts, pipelines, and interactive shells.

Per-invocation (unchanged):
  gsh --exec "cmd"  →  1 AC + 1 CR per command

Session mode (new):
  eval "$(gsh session-start --scope shell:session)"
  gsh --exec "cmd1"  # reuses session AC
  gsh --exec "cmd2"
  eval "$(gsh session-end)"

Detection: GSAP_SESSION_AC in environment.
Subcommands: session-start, session-end, session-status

Known gap: broker currently marks AC consumed after first CR.
Session commands 2+ get 404 on CR. This is a broker-side fix
(needs session AC type). gsh handles it gracefully.

Tested against live fastapi-gsap Spoke on Hetzner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:17:36 -04:00
src feat: session mode — one AC for N commands 2026-04-01 19:17:36 -04:00
.gitignore feat: gsh machine mode — first governed shell execution 2026-04-01 19:01:22 -04:00
Cargo.lock feat: gsh machine mode — first governed shell execution 2026-04-01 19:01:22 -04:00
Cargo.toml feat: gsh machine mode — first governed shell execution 2026-04-01 19:01:22 -04:00
DESIGN.md feat: gsh governed shell — design exploration 2026-03-30 23:20:27 -04:00
README.md Initial commit 2026-03-31 03:15:52 +00:00

gsh

gsh — the GCAP governed shell. Human and machine modes. Chronicle-attributed execution.