Repository navigation
v0.5.0
Wakil 0.5.0 — per-project identity, hisn parity
Highlights
- Per-project identity (C1). Chat stores are keyed by the project directory (
ResolveProject, symlink-resolved).WAKIL_WORKSPACE_PATHno longer changes store keys. - Legacy store read-through (C2). Pre-0.5.0 shared memory store is opened read-only;
memory_get/memory_searchfall through to it. wakil state migrate --from-legacy(C3). Copies attributable legacy entries to their project stores. Dry-run by default.- First-start notice (C4). One notice line per project when a legacy store has entries.
--print-workspace-keyshows the legacy key and count. - hisn rootfs (P2).
sandbox.hisn.rootfsselects the session root filesystem. Needs hisn ≥ 0.3.2. - hisn persistent home (P1).
[home] persiston hisn ≥ 0.3.2;sandbox.hisn.homecontrols persist vs tmpfs. - Git identity and SSH signing (P3). Session gitconfig carries
user.name/user.email/user.signingkeyfrom global/system scope. Signing key fingerprint must be insandbox.hisn.ssh_keys.GIT_CONFIG_GLOBALpoints at the in-session path. - Browser under hisn (P4). Browser tools run inside the hisn session via
CLIExecerownership transport. Chromium ran inside the session on real hisn 0.3.2. - Signing enforcement (F5–F9). Fingerprint checked against
ssh_keys(F5). Signing bypass refused in enforced sessions —git -c commit.gpgsign=false,--no-gpg-sign,GIT_CONFIG_*env (F6).GIT_CONFIG_GLOBALpoints at the in-session home (F8). Signing guard allows reads (F7). Command-scopeGIT_CONFIG_*env vars override repo-local config (F9).
Security fixes
- F1: Broken or unapproved
.wakil/sandbox.jsonis a startup error — no docker fallback, no browser. - F4:
SSH_AUTH_SOCKpassed to the host-side hisn supervisor only; exec clients never get it. - F6: Signing bypass refused in enforced sessions (tool guard + prompt rule).
- F9: Signing settings injected at command scope via
GIT_CONFIG_COUNT/GIT_CONFIG_KEY_n/GIT_CONFIG_VALUE_n— repo-local.git/configcannot shadow the enforced key.
Known limitations
- Browser under hisn: name resolution fails on hosts where
/etc/resolv.confonly lists the systemd-resolved stub (127.0.0.53); hisn 0.3.2 drops loopback resolvers. Fixed in hisn 0.3.3.
Full details
See docs/CLOSEOUT-0.5.0.md for the complete commit list, review status, and host verification results.