si fort
si fort wraps the native fort binary (github.com/Aureuma/fort) and keeps
runtime auth file-based. The dotenv encryption tool it brokers now lives in its
own repo: github.com/Aureuma/vault.
Wrapper Contract
si fortwraps the nativefortbinary and keeps runtime auth file-based.si codex spawn ...andsi codex shell ...provision or reuse a slot-scoped Fort session underCODEX_HOME/fort/(~/.si/codex/profiles/<profile>/fort/forprimary,~/.si/codex/profiles/<profile>/workers/<slot>/fort/for non-primary slots).- Host bootstrap/admin auth for provisioning uses the bootstrap token files at
~/.si/fort/bootstrap/admin.tokenand~/.si/fort/bootstrap/admin.refresh.token. - Runtime worker sessions use profile-local file-backed token paths for the short-lived access token and rotating refresh token.
- Wrapper behavior:
- prefers the Fort session under
CODEX_HOME/fort/whenCODEX_HOMEis set by a managed Codex profile runtime - does not accept caller-supplied
FORT_TOKEN_PATH/FORT_REFRESH_TOKEN_PATHas a normalsi fortruntime fallback - does not fall back to the active Codex profile outside a managed
si codex spawn/si codex shellruntime - fails loudly for runtime secret commands (
get,set,list,batch-get,run) when no usable runtime session exists or runtime refresh fails - uses bootstrap/admin auth only for explicit provisioning and admin commands (
agent ...,auth issue|login|list|revoke,auth session open) - runtime refresh is owned by the profile-scoped Fort refresher
- refuses to rotate a Codex profile
refresh.tokeninto a different output path; profile refresh tokens must be refreshed in place - passes explicit token-file auth to native
fortwhen default files are available (no bearer token argv injection) - rejects deprecated token-value env vars (
FORT_TOKEN,FORT_REFRESH_TOKEN) - strips legacy token env entries from child process env if present
- prefers the Fort session under
- Operational guidance:
- keep
~/.si/fort/bootstrap/*for break-glass recovery only - keep routine Fort access in
~/.si/codex/profiles/<profile>/fort/access.tokenandrefresh.token - invoke routine Fort commands through
si codex shell --profile <profile> --slot <slot> -- si fort ...when outside that profile runtime - Codex profile provisioning explicitly requests a
30drefresh-session TTL; Fort’s general default may be shorter for non-Codex sessions - Fort runtime agent IDs are slot-aware:
si-codex-<profile>forprimaryandsi-codex-<profile>--<slot>for non-primary slots
- keep
- For flags that belong to native
fortglobal options, pass through after--:si fort -- --host https://fort.aureuma.ai doctor

