Governed shell binary — human + machine modes (Rust)
Find a file
Tyler J King 919d8accde refactor: extract libgsh from monolith
Phase 2 of the WSL2 jumphost build.

Workspace: gsh/ (binary) + libgsh/ (library).

libgsh modules:
  ac.rs       — AC validation (R-22 single-use, R-23 corpus match, expiry)
  cr.rs       — CR construction + broker posting + inline AC request
  corpus.rs   — Corpus directory gate (killswitch)
  config.rs   — GshConfig from environment
  registry.rs — Filesystem-based consumed AC registry

gsh/src/main.rs: CLI only (~170 lines).
  Clap args, mode detection, calls libgsh, formats output.

11 unit tests in libgsh:
  ac: valid AC, expired, corpus mismatch, replay, missing context_id
  cr: broker URL formatting
  corpus: ungoverned skip, missing dir, command name extraction
  registry: consume and check
  config: default corpus_cid

Zero behavior change. Same JSON output, same exit codes,
same flags, same env vars, same broker interaction.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:31:50 -04:00
gsh refactor: extract libgsh from monolith 2026-04-02 09:31:50 -04:00
libgsh refactor: extract libgsh from monolith 2026-04-02 09:31:50 -04:00
.gitignore feat: gsh machine mode — first governed shell execution 2026-04-01 19:01:22 -04:00
Cargo.lock refactor: extract libgsh from monolith 2026-04-02 09:31:50 -04:00
Cargo.toml refactor: extract libgsh from monolith 2026-04-02 09:31:50 -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.