## Summary Close the hookless cold-start orientation gap for `soc-qh2g1` by making the live startup docs and skills point at explicit `ao session bootstrap` plus pulled context (`ao inject` / `ao lookup`) instead of hidden SessionStart behavior. ## Changes - Reframes live docs that still implied automatic startup/handoff injection to the hookless explicit-command path. - Updates source and Codex skill mirrors for `quickstart`, `inject`, `using-agentops`, `recover`, `bug-hunt`, and `session-bootstrap`. - Expands the cold-start and docs drift gates so `SessionStart hook`, `startup hooks`, and `auto-inject ... hook` promises fail unless explicitly hedged as opt-in, removed, or historical. - Refreshes scoped Codex skill hashes for the touched mirrors. ## Test plan - [x] `bash scripts/check-hookless-cold-start.sh` - [x] `bash scripts/check-doc-hooks-drift.sh` - [x] `bats tests/scripts/check-hookless-cold-start.bats tests/scripts/check-doc-hooks-drift.bats` - [x] `shellcheck scripts/check-hookless-cold-start.sh scripts/check-doc-hooks-drift.sh` - [x] `bash scripts/regen-codex-hashes.sh --check --only session-bootstrap,quickstart,inject,using-agentops,recover,bug-hunt` - [x] `bash scripts/validate-codex-generated-artifacts.sh` - [x] `bash scripts/validate-codex-lifecycle-guards.sh` - [x] `bash scripts/validate-agents-split.sh` - [x] `git diff --check` - [x] `bash scripts/validate-skill-runtime-parity.sh` - [x] `bash scripts/lint-codex-native.sh` Closes-scenario: soc-qh2g1#cold-start-orientation-coherence Bounded-context: BC1-Corpus Evidence: scripts/check-hookless-cold-start.sh
6.9 KiB
Environment Variables
All optional. AgentOps works out of the box with no configuration.
Council / Validation
These control /council, /vibe, /pre-mortem, and /post-mortem behavior.
| Variable | Default | Description |
|---|---|---|
COUNCIL_TIMEOUT |
120 |
Maximum time (seconds) for each judge to complete one round. If a judge times out, the council proceeds with remaining judges and notes it in the report. |
COUNCIL_CLAUDE_MODEL |
sonnet |
Claude model for judges. Use opus for high-stakes reviews (security audits, architecture decisions). Overrides --profile flag. |
COUNCIL_CODEX_MODEL |
(user's Codex default) | Override Codex model for --mixed mode. When unset, codex exec uses whatever model the user has configured as their default. |
COUNCIL_EXPLORER_MODEL |
sonnet |
Model for explorer sub-agents spawned by --explorers=N. Explorers do parallel deep-dive research before judges assess. |
COUNCIL_EXPLORER_TIMEOUT |
60 |
Maximum time (seconds) for each explorer sub-agent. Shorter than judge timeout since explorers do focused searches. |
COUNCIL_R2_TIMEOUT |
90 |
Maximum time (seconds) for debate round 2 (--debate). Shorter than R1 since judges already have their R1 analysis in context. |
Model Profiles
The --profile flag sets COUNCIL_CLAUDE_MODEL, judge count, and timeout as a bundle:
| Profile | Model | Judges | Timeout | Use case |
|---|---|---|---|---|
thorough |
opus | 3 | 120s | Security audits, architecture decisions |
balanced |
sonnet | 2 | 120s | Default — general validation |
fast |
haiku | 2 | 60s | Quick checks, mid-implementation sanity |
Explicit env vars override profiles: COUNCIL_CLAUDE_MODEL=opus beats --profile=fast.
MemRL Policy
These control deterministic MemRL policy evaluation in retry/escalation paths.
| Variable | Default | Description |
|---|---|---|
MEMRL_MODE |
off |
MemRL policy mode: off (strict legacy parity), observe (evaluate + audit without enforcement), enforce (evaluate + enforce `retry |
CLI / RPI Toolchain
These control AO CLI configuration loading and RPI control-plane command customization.
| Variable | Default | Description |
|---|---|---|
AGENTOPS_CONFIG |
unset | Explicit config file path for AO CLI. When set, this path is used instead of the default project config location (.agentops/config.yaml). |
AGENTOPS_RPI_WORKTREE_MODE |
auto |
Worktree policy for phased runs: auto, always, never. |
AGENTOPS_RPI_RUNTIME |
auto |
Legacy alias for runtime mode (auto, direct, stream). |
AGENTOPS_RPI_RUNTIME_MODE |
auto |
Preferred runtime mode variable (auto, direct, stream). Overrides AGENTOPS_RPI_RUNTIME when both are set. |
AGENTOPS_RPI_RUNTIME_COMMAND |
claude |
Runtime command used for phase prompt execution. |
AGENTOPS_RPI_AO_COMMAND |
ao |
ao command used for ratchet/checkpoint operations in RPI control plane. |
AGENTOPS_RPI_BD_COMMAND |
bd |
bd command used for epic and child issue queries in RPI control plane. |
AGENTOPS_RPI_TMUX_COMMAND |
tmux |
tmux command used for status liveness probes in RPI control plane. |
AGENTOPS_DREAM_REPORT_DIR |
.agents/overnight/latest |
Default output directory for private overnight Dream reports. |
AGENTOPS_DREAM_RUN_TIMEOUT |
8h |
Default maximum duration for a Dream run. |
AGENTOPS_DREAM_KEEP_AWAKE |
true |
Default keep-awake behavior for Dream runs. Accepts true/false, 1/0, yes/no, on/off. |
RPI_RUN_ID |
(unset) | When set, ao lookup --for=<skill> uses this as the context artifact directory name instead of generating an adhoc-<timestamp> ID. Automatically set by the /rpi orchestrator during phased runs. |
Hooks
These variables are for legacy or externally-authored opt-in hook profiles. AgentOps 3.0's default install ships no hooks; if you author hooks yourself, each hook should check AGENTOPS_HOOKS_DISABLED first (global kill switch), then its own variable.
| Variable | Default | Description |
|---|---|---|
AGENTOPS_HOOKS_DISABLED |
0 |
Set to 1 to disable all hooks at once. Global kill switch. Useful for debugging or when hooks interfere with a specific workflow. |
AGENTOPS_SESSION_START_DISABLED |
0 |
Legacy/opt-in: set to 1 to disable an authored session-start hook entirely. |
AGENTOPS_STARTUP_CONTEXT_MODE |
manual |
Legacy/opt-in: controls authored SessionStart behavior when hooks are installed. Default AgentOps startup is explicit: run ao session bootstrap, then ao inject / ao lookup. |
AGENTOPS_STARTUP_LEGACY_INJECT |
(unset) | Compatibility alias that forces manual startup mode regardless of AGENTOPS_STARTUP_CONTEXT_MODE. Use only as a rollback for older startup expectations that relied on hidden hook-managed startup context. |
AGENTOPS_FACTORY_ROUTER_DISABLED |
0 |
Set to 1 to disable the UserPromptSubmit factory intake hook that captures the first substantive prompt into .agents/ao/ state when startup had no goal. |
AGENTOPS_NEW_USER_WELCOME_DISABLED |
0 |
Set to 1 to disable the one-time UserPromptSubmit welcome that appears when AgentOps detects a brand-new repo with no existing .agents/ state. |
AGENTOPS_MEMORY_SYNC |
0 |
Set to 1 to enable repo-root MEMORY.md sync at SessionEnd. Writes session history with managed block markers for cross-runtime access (Codex, OpenCode). |
AGENTOPS_EVICTION_DISABLED |
0 |
Set to 1 to disable knowledge eviction. Eviction removes stale learnings that have decayed below the retention threshold. Disable if you want to keep all learnings indefinitely. |
AGENTOPS_GITIGNORE_AUTO |
legacy | Legacy compatibility knob. Repo-root .agents/ is always treated as local/private runtime state and must not be tracked. |
AGENTOPS_AUTO_PRUNE |
1 |
Set to 0 to disable automatic .agents/ directory pruning at session end. Pruning removes stale lock files and empty directories to keep the workspace clean. |
Usage Examples
# Repo-root .agents/ stays git-ignored; there is no commit opt-out.
# Use opus for a critical security review
COUNCIL_CLAUDE_MODEL=opus claude
# Then: /council --deep --preset=security-audit validate src/auth/
# Fast iteration — haiku judges, shorter timeout
COUNCIL_CLAUDE_MODEL=haiku COUNCIL_TIMEOUT=60 claude
# Keep all knowledge forever (disable eviction)
AGENTOPS_EVICTION_DISABLED=1 claude
# Disable all hooks temporarily
AGENTOPS_HOOKS_DISABLED=1 claude
Precedence
For council model selection:
COUNCIL_CLAUDE_MODELenv var (highest priority)--profile=<name>flag- Explicit
--count/--deep/--mixedflags - Skill defaults (sonnet, 2 judges, 120s)
For hooks:
AGENTOPS_HOOKS_DISABLED=1disables everything (highest priority)- Individual
AGENTOPS_*_DISABLED=1disables one hook - Default: all hooks enabled