Embedding options

These are the in-process equivalents of deployment settings. pkg/peen accepts Go values and does not read these environment variables. The embedding guide covers lifecycle and construction. Zero-valued tuning fields take the defaults below; directories, models and the root agent require explicit construction choices.

Deployment variable Options field Embedded default
PEEN_CONFIG_DIR ConfigDirectory caller-supplied
PEEN_STATE_DIR StateDirectory ConfigDirectory + "-state"
PEEN_AGENT RootAgent DefaultRootAgent (core:general-purpose)
PEEN_DISABLED_CORE_SKILLS DisabledCoreSkills empty
PEEN_DISABLED_CORE_AGENTS DisabledCoreAgents empty
PEEN_AUTO_EVOLVE AutoEvolve false
PEEN_LEARNED_DIR LearnedDirectory ConfigDirectory + "/.agents/learned"
PEEN_WRITABLE_LEARNED_DIR WritableLearnedDirectory false
PEEN_UPSTREAMS Models or ModelResolver caller-supplied
PEEN_DEFAULT_MODEL DefaultModel caller-supplied
PEEN_COMPACTION_MODEL CompactionModel DefaultModel
PEEN_MAX_CONTEXT_TOKENS MaxContextTokens 32768
PEEN_OUTPUT_RESERVE_TOKENS OutputReserveTokens 4096
PEEN_COMPACTION_MODE CompactionMode drop-oldest
PEEN_COMPACTION_SUMMARY_PERCENT CompactionSummaryPercent 30
PEEN_COMPACTION_MAX_OUTPUT_TOKENS CompactionOutputTokens 16384
PEEN_CRASH_RECOVERY ResumeAfterCrash (true is resume) false
PEEN_MODEL_REQUEST_TIMEOUT ModelRequestTimeout 10m
PEEN_MAX_CONCURRENT_TURNS MaxConcurrentTurns 16
PEEN_MAX_QUEUED_USER_MESSAGES MaxQueuedUserMessages 16
PEEN_MAX_MESSAGE_BYTES MaxMessageBytes 262144
PEEN_MAX_SYSTEM_PROMPT_BYTES MaxSystemPromptBytes 65536
PEEN_MAX_SYSTEM_PROMPT_PERCENT MaxSystemPromptPercent (negative turns it off) 50
PEEN_MAX_IMAGES_PER_MESSAGE MaxImagesPerMessage 4
PEEN_MAX_IMAGE_BYTES MaxImageBytes, and ToolLimits.MaxImageBytes for readFile when that is set 5242880
PEEN_MAX_STORED_MESSAGE_BYTES MaxStoredMessageBytes 1048576
PEEN_MAX_TOOL_ROUNDS MaxToolRounds 32
PEEN_MAX_CONCURRENT_TOOLS MaxConcurrentTools 4
PEEN_TOOL_TIMEOUT ToolTimeout 15m
PEEN_MAX_TOOL_RESULT_TOKENS MaxToolResultTokens 8192
PEEN_MAX_TURN_TOKENS MaxTurnTokens 0
PEEN_DEFAULT_HOOK_COMMAND_TIMEOUT HookCommandTimeout 30s
PEEN_MAX_HOOK_COMMAND_OUTPUT MaxHookCommandOutput 65536
PEEN_TOOL_MAX_LIST_ENTRIES ToolLimits.MaxListEntries 1000
PEEN_TOOL_MAX_LIST_DEPTH ToolLimits.MaxListDepth 16
PEEN_TOOL_MAX_SEARCH_MATCHES ToolLimits.MaxSearchMatches 200
PEEN_TOOL_MAX_SEARCH_FILE_BYTES ToolLimits.MaxSearchFileBytes 2097152
PEEN_TOOL_MAX_READ_BYTES ToolLimits.MaxReadBytes 262144
PEEN_TOOL_MAX_READ_LINES ToolLimits.MaxReadLines 2000
PEEN_TOOL_MAX_WRITE_BYTES ToolLimits.MaxWriteBytes 4194304
PEEN_TOOL_MAX_EDITS ToolLimits.MaxEdits 64
PEEN_TOOL_MAX_DIFF_BYTES ToolLimits.MaxDiffBytes 65536
PEEN_TOOL_MAX_REMOVE_ENTRIES ToolLimits.MaxRemoveEntries 20000
PEEN_TOOL_MAX_COMMAND_OUTPUT_BYTES ToolLimits.MaxCommandOutputBytes 65536
PEEN_TOOL_MAX_FETCH_BYTES ToolLimits.MaxFetchBytes 2097152
PEEN_TOOL_MAX_PDF_BYTES ToolLimits.MaxPDFBytes 33554432
PEEN_DEFAULT_TOOL_COMMAND_TIMEOUT ToolLimits.CommandTimeout and ToolLimits.WaitJobTimeout 10m
PEEN_MAX_PENDING_EVENTS EventLimits.MaxPendingPerSession 256
PEEN_MAX_EVENT_SUMMARY_BYTES EventLimits.MaxSummaryBytes 4096
PEEN_MAX_EVENT_DATA_BYTES EventLimits.MaxDataBytes 65536
PEEN_MAX_EVENT_WAKES_PER_HOUR MaxEventWakesPerHour 60
PEEN_MAX_CHILD_AGENT_DEPTH AgentLimits.MaxDepth 5
PEEN_MAX_CHILD_AGENT_TURNS AgentLimits.MaxChildTurns 16
PEEN_MAX_CONCURRENT_AGENT_RUNS AgentLimits.MaxConcurrentRuns 4
PEEN_MAX_AGENT_RUN_EVENT_COUNT AgentLimits.MaxEventCount 2000
PEEN_MAX_AGENT_RUN_EVENT_BYTES AgentLimits.MaxEventBytes 65536
PEEN_MAX_ADHOC_AGENT_INSTRUCTION_BYTES AgentLimits.MaxAdHocInstructionBytes 65536
PEEN_ASK_TIMEOUT AskTimeout 0

Audit settings map PEEN_LOG_DIRECTORY to AuditLog.Directory and PEEN_LOG_RETENTION to AuditLog.Retention, which defaults to 336 hours. Set AuditLog.Enabled to enable the private sink. An empty audit directory uses StateDirectory/logs. Logger supplies the slog sink; MetricsRegisterer supplies the metrics destination. The embedding package starts no metrics listener.

HarnessLimits uses the harness defaults: 256 files, 64 instructions, 64 skills, 64 agents, 64 event handlers, 256 hooks, 1024 directory entries, 128 KiB per file and 1 MiB total context. EventLimits.SubscriberBuffer defaults to 32. These values have no corresponding PEEN environment variables.

Additional ToolLimits fields cover patches and jobs: MaxPatchBytes 1 MiB, MaxPatchFiles 64, MaxPatchHunks 256, MaxPatchChangedBytes 4 MiB, MaxJobOutputLines 2000, MaxReadJobOutputLines 500, JobStopGracePeriod 10 seconds and MaxListJobs 500. They use the same tool defaults as a controller.

Workspace defaults to the current directory captured at construction. Filesystem and WorkspaceID supply a virtual workspace instead. InMemoryStore uses ephemeral SQLite and temporary hook state. BaseSystemPrompt and AppendSystemPrompt provide prompt values; CompactionPrompt provides summarizer instructions. Harness, Tools, DisableTools, Hooks and CommandRunner provide extensions.

HTTP listeners and authentication, Docker profiles, worker supervision and controller workspace policy are deployment features. They have no in-process Options equivalent.