Skip to main content
TRW
Skip to content
TRWConfig Schema Reference

Config schema reference

A curated guide to the fields operators change most often, followed by the complete list of keys, generated from the Pydantic TRWConfig model. Run trw-mcp config-reference for the same fields with their environment variables.

File location

The config file lives at .trw/config.yaml at the repo root. It is created by trw-mcp init-project. Initialization writes a small baseline plus selected targets and overrides; unspecified fields inherit the remaining defaults.

Precedence (highest wins):

  1. Environment variables prefixed TRW_.
  2. .trw/config.yaml overrides.
  3. Machine defaults in ~/.trw/config.yaml.
  4. Field defaults declared in models/config/_fields_*.py.

Unknown keys (in both env and config.yaml) are ignored - model_config.extra = "ignore" on the BaseSettings class. A retired key is ignored too, with a warning that names it.

Top-level keys

The flat keys you see in config.yaml are the same as the field names on TRWConfig. A curated list of the keys users touch most often:

Key
framework_version
Type
str
Default
"v27.6_TRW"
Description
Pinned framework version for this repo.
Key
target_platforms
Type
list[str]
Default
["claude-code"]
Description
Selected client targets. Dedicated integrations sync native surfaces; the first entry resolves the primary profile.
Key
ceremony_mode
Type
"full" | "light"
Default
"full"
Description
Profile-derived when unchanged. light suppresses chatty nudges.
Key
response_format
Type
"yaml" | "json"
Default
"yaml"
Description
MCP tool response format.
Key
installation_id
Type
str
Default
""
Description
Installation ID used for telemetry correlation. Hashed (non-reversible double SHA-256) before transmission — the raw value never leaves the machine.
Key
parallelism_max
Type
int
Default
10
Description
Maximum concurrent shards or waves during orchestration.
Key
timebox_hours
Type
int
Default
8
Description
Total session timebox in hours.
Key
task_root
Type
str
Default
"docs"
Description
Root directory for PRDs and task artifacts.
Key
runs_root
Type
str
Default
".trw/runs"
Description
Directory for run artifacts.
Key
build_check_enabled
Type
bool
Default
true
Description
Whether recorded build-check evidence participates in delivery gating.
Key
embeddings_enabled
Type
bool
Default
true
Description
Dense vector embeddings on by default (needs the trw-memory[embeddings] embedder, which the installer adds unless --no-embeddings).
Key
platform_url
Type
str
Default
""
Description
Primary platform URL for sync and telemetry.
Key
platform_api_key
Type
SecretStr
Default
""
Description
Deprecated config-file credential. Use TRW_PLATFORM_API_KEY or .trw/credentials.yaml.

Check source for the hundreds of fields in the complete model: src/trw_mcp/models/config/. Run trw-mcp config-reference for a generated list keyed by env var name.

Curated field groups

These tables group related flat fields for reading; their headings are not all runtime property names. Actual type-narrowed projections include config.build, config.memory, config.orchestration, and config.tools. Ceremony controls remain flat or surface through config.ceremony_feedback and config.surfaces. Projection models are defined in _sub_models.py. At the YAML layer, the listed settings remain flat keys.

build

Key
build_check_enabled
Default
true
Description
Require recorded build-check evidence at the delivery gate; does not run tests.
Key
build_check_coverage_min
Default
85.0
Description
Minimum coverage percentage to pass the gate.
Key
build_gate_enforcement
Default
"lenient"
Description
One of strict, lenient, off.

memory

Key
learning_max_entries
Default
500
Description
Cap on total learnings before pruning runs.
Key
recall_max_results
Default
25
Description
Default result cap for trw_recall.
Key
dedup_skip_threshold
Default
0.95
Description
Cosine threshold above which dedupe treats entries as duplicates.
Key
dedup_merge_threshold
Default
0.85
Description
Cosine threshold above which near-duplicates merge.
Key
memory_consolidation_enabled
Default
true
Description
Periodic cluster consolidation of related entries.
Key
recall_user_tier_cap
Default
5
Description
Max user:local hits allowed into one recall result, so machine-wide entries cannot bury project precision.

orchestration

Key
parallelism_max
Default
10
Description
Maximum parallel shards.
Key
timebox_hours
Default
8
Description
Session timebox.
Key
auto_recall_enabled
Default
true
Description
Allow contextual recall in the trw_session_start pipeline; not per-tool injection.

ceremony fields

Key
nudge_enabled
Default
null
Description
Null defers to profile. Set explicit true or false to force.
Key
phase_gate_enforcement
Default
"lenient"
Description
strict, lenient, or off.
Key
cleanup_on_boot
Default
true
Description
Run the stale-pin and stale-run sweep on server startup.
Key
run_staleness_hours
Default
48
Description
Hours with no activity before a run is sweep-eligible.

tools projection

Key
tool_resolution_mode
Default
"standard"
Description
standard (default) or all. The surface is flat either way: every session sees the always-on tools plus each config-gated tool whose flag (comms_enabled, dispatch_tools_exposed, assess_enabled) is on. all additionally turns on the comms tools and trw_assess, never trw_dispatch.

Example config

Trimmed and commented example of .trw/config.yaml. Every field not listed falls back through the machine layer and then its built-in default.

# .trw/config.yaml
framework_version: v27.6_TRW

# Orchestration
parallelism_max: 10
timebox_hours: 8

# Platform sync (optional - local runs work without these)
platform_urls:
  - https://api.trwframework.com
  - http://localhost:8000
platform_telemetry_enabled: true
installation_id: trw-framework-dev

# Client profiles to keep in sync.
target_platforms:
  - claude-code
  - cursor-ide
  - cursor-cli
  - opencode
  - codex
  - copilot
  - antigravity-cli

# Memory
embeddings_enabled: true

# Secrets belong in TRW_PLATFORM_API_KEY or .trw/credentials.yaml.

Generate your own with trw-mcp init-project; it writes the baseline keys plus your selected targets and overrides.

Env var overrides

Flat fields on TRWConfig accept environment-variable overrides with the TRW_ prefix. The lookup is case-insensitive; unknown vars are ignored (the same policy used for unknown YAML keys).

Pattern
Scalar
Example variable
TRW_TASK_ROOT=docs
Maps to config key
task_root
Pattern
Number
Example variable
TRW_BUILD_CHECK_COVERAGE_MIN=90
Maps to config key
build_check_coverage_min
Pattern
Bool
Example variable
TRW_EMBEDDINGS_ENABLED=true
Maps to config key
embeddings_enabled
Pattern
List (JSON)
Example variable
TRW_TARGET_PLATFORMS=["cursor-ide","codex"]
Maps to config key
target_platforms
Pattern
Secret
Example variable
TRW_PLATFORM_API_KEY=trw_dk_…
Maps to config key
platform_api_key

Generator for the full list: trw-mcp config-reference. Prefix configured in _main_fields.py via SettingsConfigDict(env_prefix="TRW_").

All keys

Every one of the 310 keys TRWConfig reads, generated from the model on each release, so this list cannot fall behind the code.

Show all 310 keys
Key
aaref_version
Type
str
Default
"v3.3.0"
Description
AARE-F requirements-framework version stamp deployed with the project.
Key
access_count_utility_boost_cap
Type
float
Default
0.15
Description
Largest utility bonus a learning can earn from being recalled often.
Key
additional_repo_roots
Type
list[str]
Default
computed
Description
Sibling repository roots for multi-repo workspaces, so PRD key-file references into sibling repos resolve instead of failing as missing paths.
Key
agent_report_max_chars
Type
int
Default
800
Description
Character limit each bundled agent is asked to keep its final report within (guidance to the model); 0 renders no limit.
Key
agents_enabled
Type
bool | None
Default
null
Description
Install bundled sub-agent definitions; unset follows the client profile.
Key
agents_md_enabled
Type
bool
Default
true
Description
Write TRW's block into `AGENTS.md`.
Key
ambiguity_rate_max
Type
float
Default
0.05
Description
Highest allowed share of ambiguous terms in a PRD (0-1).
Key
anchor_validity_verified_floor
Type
float
Default
1.0
Description
Minimum recomputed anchor_validity for a 'verified' verification verdict.
Key
assertion_failure_penalty
Type
float
Default
0.15
Description
Recall-rank penalty (0-1) for a learning whose stored assertions fail verification, scaled by the failing fraction.
Key
assertion_stale_threshold_days
Type
int
Default
30
Description
Days after which a learning's assertion verification is stale and due for re-verification.
Key
assess_enabled
Type
bool
Default
false
Description
Expose the assess_support capability pack (trw_assess) on the resolved tool surface.
Key
auto_checkpoint_pre_compact
Type
bool
Default
true
Description
Write a checkpoint automatically before the client compacts context.
Key
auto_recall_enabled
Type
bool
Default
true
Description
Let the prompt hook inject relevant learnings before each prompt (the master `learning_recall_enabled` switch outranks it).
Key
auto_recall_max_results
Type
int
Default
3
Description
Most learnings the prompt hook injects per prompt.
Key
auto_recall_max_tokens
Type
int
Default
100
Description
Token budget for the learnings the prompt hook injects per prompt.
Key
auto_recall_min_score
Type
float
Default
0.35
Description
Minimum relevance (0-1, IDF-weighted share of prompt keywords a learning covers) a learning needs to be injected by the prompt hook.
Key
auto_recall_scan_cap
Type
int
Default
10000
Description
Most stored learnings the prompt hook's auto-recall scorer scans per prompt (0 or a small value scores only a recent window).
Key
backend_api_key
Type
str
Default
""
Description
API key for the sync backend; empty means none configured.
Key
backend_url
Type
str
Default
""
Description
Base URL of the sync backend; empty means no backend configured.
Key
backup_remote_enabled
Type
bool
Default
false
Description
Allow uploading a backup archive of the local store to the platform; off by default because the archive is the raw local store.
Key
boot_deferred_work_budget_ms
Type
int
Default
5000
Description
Budget (ms) for the post-'initialize' backend-sync resolution scheduled by PRD-CORE-248 FR01.
Key
boot_gc_deferred
Type
bool
Default
true
Description
When True, the boot-time stale-run + stale-pin sweep runs in a daemon background thread ('trw-boot-gc') instead of synchronously before the MCP initialize handshake, so large repos do not stall client connect (production feedback sub_psVs_nUWnLJGvOs3).
Key
build_check_coverage_min
Type
float
Default
85.0
Description
Minimum test coverage percentage a build check must report to pass the build gate.
Key
build_check_enabled
Type
bool
Default
true
Description
Run the build-check gate; false turns the build-check requirement off for validation and deliver.
Key
build_gate_enforcement
Type
Literal['strict', 'lenient', 'off']
Default
"lenient"
Description
How the build gate reacts to a failed check: `strict` blocks, `lenient` warns, `off` ignores it.
Key
ceremony_feedback_escalation_threshold
Type
float
Default
60.0
Description
Ceremony score below which recent sessions escalate the ceremony level.
Key
ceremony_feedback_escalation_window
Type
int
Default
5
Description
Number of recent sessions considered when deciding to escalate ceremony.
Key
ceremony_feedback_min_samples
Type
int
Default
10
Description
Sessions needed before ceremony feedback adjusts the ceremony level.
Key
ceremony_feedback_quality_threshold
Type
float
Default
0.9
Description
Outcome quality (0-1) at or above which a session counts as good for feedback.
Key
ceremony_feedback_score_threshold
Type
float
Default
80.0
Description
Ceremony score at or above which a session counts as well-run for feedback.
Key
ceremony_mode
Type
Literal['full', 'light']
Default
"full"
Description
Ceremony weight: `full` or `light` (shorter guidance and fewer nudges).
Key
changelog_advisory_enabled
Type
bool
Default
false
Description
Warn at deliver when source changed but the package changelog did not; off by default.
Key
checkpoint_suggest_hours
Type
int
Default
4
Description
Heartbeat-age threshold (hours) at which trw_checkpoint(heartbeat=True) reports should_checkpoint=True to the caller.
Key
cleanup_on_boot
Type
bool
Default
true
Description
When True, the MCP server runs the stale-pin + stale-run sweep on startup.
Key
code_index_bounds
Type
CodeIndexBounds
Default
computed
Description
PRD-CORE-300-FR15 build and query budgets for the local code index: directory entries, files, source bytes and wall-clock per build; query characters and terms, candidate rows, response bytes and wall-clock per query.
Key
code_index_exclude_dirs
Type
list[str]
Default
computed
Description
Directory names the code index skips when scanning the project.
Key
code_index_include_extensions
Type
list[str]
Default
computed
Description
File extensions the code index includes when scanning the project.
Key
code_index_max_file_bytes
Type
int
Default
1000000
Description
Largest file the code index reads.
Key
comms_body_max_bytes
Type
int
Default
8192
Description
Maximum comms message body size, in UTF-8 bytes.
Key
comms_candidate_ttl_seconds
Type
int
Default
3600
Description
Seconds an announced comms candidate stays admissible.
Key
comms_enabled
Type
bool
Default
true
Description
Enable the swarm comms tools; they do nothing until a formation is joined.
Key
comms_fetch_max_items
Type
int
Default
16
Description
Maximum messages returned by a single comms fetch page.
Key
comms_group_body_budget_bytes
Type
int
Default
16777216
Description
Live message-body bytes one comms group may hold.
Key
comms_group_row_limit
Type
int
Default
4096
Description
Lifetime rows (messages incl.
Key
comms_lease_ttl_seconds
Type
int
Default
120
Description
Comms endpoint lease lifetime, in seconds.
Key
comms_message_ttl_seconds
Type
int
Default
86400
Description
Seconds an unacknowledged comms message stays deliverable.
Key
comms_poll_interval_seconds
Type
int
Default
15
Description
Advertised comms poll interval, in seconds.
Key
comms_recipient_outstanding_limit
Type
int
Default
64
Description
Maximum unacknowledged messages outstanding for one recipient.
Key
comms_response_max_bytes
Type
int
Default
65536
Description
Maximum canonical JSON comms tool response, in UTF-8 bytes, excluding MCP framing.
Key
comms_retry_grace_seconds
Type
int
Default
3600
Description
Seconds a terminal message body is kept past its deadline.
Key
comms_scope_max_bytes
Type
int
Default
1024
Description
Maximum comms scope path length, in UTF-8 bytes.
Key
comms_scope_max_recipients
Type
int
Default
4
Description
Maximum peers one scoped comms notify may reach.
Key
comms_sender_admissions_per_minute
Type
int
Default
32
Description
Committed admissions allowed per sender per 60 seconds.
Key
comms_sqlite_busy_timeout_ms
Type
int
Default
5000
Description
Bounded SQLite busy timeout for comms transactions, in ms.
Key
comms_wait_interval_ms
Type
int
Default
1000
Description
Sleep between bounded inbox wait attempts, in milliseconds.
Key
comms_wait_max_seconds
Type
int
Default
30
Description
Maximum bounded inbox wait a caller may request, in seconds; 0 disables.
Key
compact_instructions_template
Type
str
Default
""
Description
Custom text for the instructions preserved across context compaction; empty uses the built-in template.
Key
completeness_min
Type
float
Default
0.85
Description
Lowest allowed PRD completeness score (0-1).
Key
complexity_hard_override_threshold
Type
int
Default
2
Description
Number of active risk signals at which the run is forced to the highest complexity tier regardless of score.
Key
complexity_tier_comprehensive
Type
int
Default
6
Description
Complexity score at or above (this value plus one) that classifies a run as COMPREHENSIVE.
Key
complexity_tier_minimal
Type
int
Default
1
Description
Complexity score at or below which a run is classified MINIMAL.
Key
complexity_weight_architecture_change
Type
int
Default
3
Description
Complexity points added when the task changes architecture.
Key
complexity_weight_cross_cutting
Type
int
Default
2
Description
Complexity points added when the task is cross-cutting.
Key
complexity_weight_external_integration
Type
int
Default
2
Description
Complexity points added when the task integrates an external system.
Key
complexity_weight_files_affected_max
Type
int
Default
5
Description
Cap on the complexity points contributed by the number of files a task affects.
Key
complexity_weight_large_refactoring
Type
int
Default
1
Description
Complexity points added when the task is a large refactoring.
Key
complexity_weight_novel_patterns
Type
int
Default
3
Description
Complexity points added when the task introduces novel patterns.
Key
compliance_changelog_filename
Type
str
Default
"CHANGELOG.md"
Description
File name of the project changelog the deliver changelog advisory looks at (default `CHANGELOG.md`).
Key
compliance_dir
Type
str
Default
"compliance"
Description
Directory under the TRW state dir that holds compliance records (default `compliance`).
Key
compliance_review_retention_days
Type
int
Default
365
Description
Days automated review records are kept before they may be pruned.
Key
context_dir
Type
str
Default
"context"
Description
Directory under the TRW state dir that holds live session context files (default `context`).
Key
cross_model_provider
Type
str
Default
""
Description
Dispatch client id (for example `codex`) used for cross-model review; empty means no reviewer.
Key
cross_model_review_enabled
Type
bool
Default
false
Description
Ask a second model family for a review of the diff in addition to the local review; off by default.
Key
cross_model_review_timeout_secs
Type
int
Default
30
Description
Seconds to wait for the cross-model reviewer before giving up.
Key
ctx_isolation_enabled
Type
bool
Default
true
Description
Master kill-switch for per-connection pin isolation.
Key
debug
Type
bool
Default
false
Description
Enable DEBUG-level logging and the .trw/logs/ file sink for every MCP client
Key
dedup_enabled
Type
bool
Default
true
Description
Check a new learning against existing ones and skip or merge near-duplicates.
Key
dedup_merge_threshold
Type
float
Default
0.85
Description
Similarity (0-1) at or above which a new learning is merged into an existing one.
Key
dedup_skip_threshold
Type
float
Default
0.95
Description
Similarity (0-1) at or above which a new learning is skipped as a duplicate.
Key
deferred_batch_max_seconds
Type
int
Default
300
Description
Seconds the whole deferred post-deliver batch may run.
Key
deferred_lock_stale_seconds
Type
int
Default
600
Description
Seconds after which a deferred-delivery lock is treated as abandoned and taken over.
Key
deferred_step_max_seconds
Type
int
Default
60
Description
Seconds one deferred post-deliver maintenance step may run before it is abandoned.
Key
degenerate_result_cooldown_calls
Type
int
Default
20
Description
Matching tool results to skip after an advisory fires, per session (NFR06 noise budget).
Key
degenerate_result_deadline_ms
Type
int
Default
computed
Description
Self-imposed wall-clock deadline; past it the adapter exits 0 without emitting (NFR01).
Key
degenerate_result_freshness_commands
Type
list[str]
Default
computed
Description
Command prefixes whose undated output cannot distinguish 'nothing there' from 'could not look'.
Key
degenerate_result_max_read_bytes
Type
int
Default
65536
Description
Cap on bytes read from a PostToolUse tool_response before shape classification (NFR03).
Key
degenerate_result_truncation_markers
Type
list[str]
Default
computed
Description
Literal markers whose presence means the result was capped rather than complete.
Key
degraded_detect_grace_seconds
Type
int
Default
180
Description
Seconds after the SessionStart epoch marker before the absent-MCP-surface detector may conclude the surface is absent.
Key
degraded_detect_min_prompts
Type
int
Default
2
Description
Minimum prompt index in this session before the absent-MCP-surface detector may fire.
Key
degraded_event_tail_lines
Type
int
Default
500
Description
PRD-FIX-128 external audit row 7.
Key
degraded_marker_retention_hours
Type
int
Default
24
Description
How long an epoch marker or emission latch belonging to an identity with NO live pin is kept before the SessionStart sweep reclaims it.
Key
deliver_gate_mode
Type
Literal['advisory', 'block_coding', 'block_all']
Default
"block_coding"
Description
Deliver gate posture: `advisory` warns only, `block_coding` blocks a missing build check for coding-type tasks, `block_all` blocks for every task type.
Key
deliver_gate_task_type_overrides
Type
dict[str, str]
Default
computed
Description
Per-task-type override of `deliver_gate_mode`, e.g.
Key
deliver_gate_unclassified_change_threshold
Type
int
Default
1
Description
Number of distinct files a session must modify before the missing-build deliver gate arms for a task type that does not inherently expect a build.
Key
deliver_graph_backfill_deadline_seconds
Type
float
Default
2.0
Description
Seconds the deliver-time knowledge-graph backfill may run before it stops.
Key
deliver_graph_backfill_enabled
Type
bool
Default
true
Description
On deliver, build knowledge-graph edges for not-yet-graphed learnings within a small time budget.
Key
delivery_busy_timeout_ms
Type
int
Default
5000
Description
SQLite busy timeout for the delivery operation store.
Key
delivery_operations_mode
Type
Literal['off', 'observe', 'enforce']
Default
"enforce"
Description
Delivery journal mode: `off` disables it, `observe` records without acting, `enforce` acts on it.
Key
delivery_queue_depth_max
Type
int
Default
128
Description
Bounded deferred FIFO queue depth (FR06).
Key
delivery_stale_lease_minutes
Type
int
Default
15
Description
Minutes a pending lease must be stale before FR04 takeover.
Key
dispatch_child_trw_access
Type
bool
Default
false
Description
Default for dispatch --with-trw: inject ONLY TRW's own stdio trw-mcp server into the child's argv so a dispatched peer can use TRW session/memory tools.
Key
dispatch_default_client
Type
str | None
Default
"codex"
Description
Client used when --client is omitted; None requires an explicit --client.
Key
dispatch_default_effort
Type
Literal['low', 'medium', 'high', 'xhigh', 'max'] | None
Default
null
Description
Effort for dispatched children when the request names none; overrides the role's table row.
Key
dispatch_default_efforts
Type
dict[Literal['claude', 'codex', 'agy', 'opencode', 'cursor-cli', 'copilot', 'grok'], Literal['low', 'medium', 'high', 'xhigh', 'max']]
Default
computed
Description
Per-client effort for dispatched children (e.g.
Key
dispatch_default_max_turns
Type
int
Default
30
Description
Turn cap for dispatched children (clients with a verified flag only); 0 disables it.
Key
dispatch_default_models
Type
dict[str, str]
Default
computed
Description
Per-client model override applied when --model is omitted (e.g.
Key
dispatch_default_read_only
Type
bool
Default
true
Description
Default read-only posture for dispatched children; --allow-writes overrides to False.
Key
dispatch_default_timeout_s
Type
int
Default
600
Description
Wall-clock timeout (seconds) applied when --timeout is omitted.
Key
dispatch_enabled_clients
Type
list[Literal['claude', 'codex', 'agy', 'opencode', 'cursor-cli', 'copilot', 'grok']]
Default
computed
Description
Dispatch targets the CLI may launch; a client outside this list is rejected.
Key
dispatch_fallback_clients
Type
list[str]
Default
computed
Description
Clients tried in order after quota_exhausted or a launch failure; --fallback-clients overrides.
Key
dispatch_max_concurrent_children
Type
int
Default
0
Description
Per-user cap on concurrently running dispatch children across processes; 0 disables it.
Key
dispatch_require_effort
Type
bool
Default
false
Description
Refuse (exit 2) a dispatch with no effort from --effort, dispatch_default_effort or the role table when its client and model accept an effort; clients without a carrier pass.
Key
dispatch_slot_wait_s
Type
float
Default
600.0
Description
Seconds a top-level dispatch waits for a free child slot before refusing with silence_reason concurrency_cap; a nested dispatch never waits.
Key
dispatch_tools_exposed
Type
bool
Default
false
Description
Expose the dispatch capability pack (trw_dispatch: launch, status and the AgentWorkEvidence modes) on the resolved tool surface.
Key
dispatch_version_probe_timeout_s
Type
int
Default
5
Description
Per-client wall-clock bound (seconds) on the doctor formation-readiness version probe; N enabled clients are bounded by N times this value.
Key
display_timezone
Type
str
Default
"UTC"
Description
IANA timezone used to render local times in `trw_status`; stored and compared times stay UTC.
Key
dry_check_enabled
Type
bool
Default
true
Description
Run the duplicate-code (DRY) check in the build gate.
Key
dry_check_min_block_size
Type
int
Default
5
Description
Fewest identical lines that count as a duplicated block in the DRY check.
Key
embeddings_coverage_warn_threshold
Type
float
Default
0.1
Description
Share (0-1) of learnings without embeddings above which the pipeline-health check warns.
Key
embeddings_enabled
Type
bool
Default
true
Description
Governs this trw-mcp process only (dedup, the installer/swap extras, retrieval probes); it does not switch off the shared per-user memory daemon, whose embeddings are set by MEMORY_EMBEDDINGS_ENABLED=false in the daemon's environment (then restart it).
Key
entries_dir
Type
str
Default
"entries"
Description
Directory under the learnings dir that holds individual learning entries (default `entries`).
Key
events_file
Type
str
Default
"events.jsonl"
Description
File name of the per-run event log (default `events.jsonl`).
Key
evidence_receipt_mode
Type
Literal['observe', 'enforce']
Default
"enforce"
Description
Evidence receipt compatibility: `observe` writes typed receipts alongside the legacy files, `enforce` requires the typed receipts.
Key
extra_prd_categories
Type
list[str]
Default
computed
Description
Project-specific PRD category names accepted in addition to the built-in generic set (CORE, QUAL, INFRA, LOCAL, EXPLR, RESEARCH, FIX).
Key
factory_enabled
Type
bool
Default
false
Description
Enable the experimental software-factory commands (status, receipts, factory checkpoints); off unless you opt in.
Key
feedback
Type
FeedbackFields
Default
computed
Description
Settings for the feedback channel behind `trw_status(feedback=...)`.
Key
formation_activity_stall_seconds
Type
int
Default
1800
Description
Seconds without activity after which a formation member is reported as stalled.
Key
formation_deliver_gate
Type
Literal['block', 'advisory']
Default
"block"
Description
Whether delivering while a joined formation member is mid-work blocks (`block`) or only warns (`advisory`).
Key
formation_hook_ownership_mode
Type
Literal['warn', 'off']
Default
"warn"
Description
PreToolUse ownership check for formation members: `warn` reports an unowned edit, `off` disables it (never blocks).
Key
formation_manifest_lock_timeout_seconds
Type
float
Default
10.0
Description
Bounded wait for the formation manifest lock, in seconds.
Key
formation_ownership_enforcement
Type
Literal['refuse', 'warn']
Default
"refuse"
Description
Commit-boundary check that a member only commits paths it owns: `refuse` blocks the commit, `warn` only reports it.
Key
formation_status_member_limit
Type
int
Default
16
Description
Maximum member rows assembled by the formation status roll-up.
Key
framework_md_enabled
Type
bool | None
Default
null
Description
Deploy the framework document into the project; unset follows the client profile.
Key
framework_read_scope
Type
Literal['phase', 'full']
Default
"phase"
Description
Whether the SessionStart framework read directive names only the sections for the current phase ('phase', the default, at most 6349 characters) or the whole 35073-character document ('full').
Key
framework_version
Type
str
Default
"v27.6_TRW"
Description
Framework version stamp deployed with the project (managed by `make framework-bump`, not by hand).
Key
frameworks_dir
Type
str
Default
"frameworks"
Description
Directory under the TRW state dir where the deployed framework documents live (default `frameworks`).
Key
hint_delivery_canary_window
Type
int
Default
200
Description
Newest N pre-edit hint records the hint_delivery doctor row inspects (20-5000).
Key
hint_delivery_fallback_warn_share
Type
float
Default
0.5
Description
Fallback-status share of the hint_delivery window at/above which the row WARNs (0-1).
Key
hint_delivery_receipt_stale_days
Type
int
Default
7
Description
Post-commit sidecar receipt age (days) after which hint_delivery WARNs when trw-distill is installed.
Key
hint_hub_downrank
Type
bool
Default
true
Description
On a hub file (more anchored lessons than `hint_hub_threshold`), list anchor-only lessons after the text-matched ones; false restores anchored-first ordering.
Key
hint_hub_threshold
Type
int
Default
67
Description
Anchored lessons above which a file is a hub whose anchor-only lessons the pre-edit hint shows after text-matched ones (1-9999; lower flags more files, each edit fetches this + 1 rows).
Key
hint_recall_deadline_ms
Type
int
Default
600
Description
Wall-clock budget (ms) for the pre-edit hint's T1 learnings recall (50-10000); past it the hint returns no learnings as recall_timeout rather than block the T2 sidecar hint.
Key
hint_sidecar_ancestor_enabled
Type
bool
Default
true
Description
Let the pre-edit hint use a proven-ancestor commit's sidecar when the exact-HEAD one is missing, instead of no sidecar half at all.
Key
hint_sidecar_max_commits_behind
Type
int
Default
500
Description
Commits an ancestor sidecar may trail HEAD by and still serve the pre-edit hint (1-10000; lower refuses older sidecars as sidecar_too_far_behind).
Key
hint_sidecar_rebuild_after_commits
Type
int
Default
150
Description
Commits behind HEAD at which a served ancestor sidecar triggers a rebuild request (1-10000, capped at hint_sidecar_max_commits_behind; lower rebuilds more often).
Key
hint_sidecar_rebuild_min_interval_minutes
Type
int
Default
15
Description
Minimum minutes between two detached sidecar rebuild requests (1-1440; lower starts builds more often, higher leaves the sidecar older).
Key
hint_sidecar_refresh_enabled
Type
bool
Default
true
Description
Post-commit hook and session start request a detached rebuild of the trw-distill pre-edit-hint sidecar (post-commit also refreshes the risk report); false stops both.
Key
hooks_enabled
Type
bool
Default
true
Description
Master switch for every bundled hook; false disables them all.
Key
hybrid_rrf_k
Type
int
Default
60
Description
Reciprocal-rank-fusion constant used to merge keyword and vector recall rankings.
Key
index_auto_sync_on_status_change
Type
bool
Default
true
Description
Regenerate the PRD index automatically when a PRD's status changes.
Key
installation_id
Type
str
Default
""
Description
Explicit installation identifier; empty derives a stable `inst-<hash>` from the project root path.
Key
installer_answers
Type
dict[str, bool]
Default
computed
Description
Answers the installer remembers so it never asks twice: key -> true/false (for example ai_extras, proprietary_upgrade, migrate_learnings, platform_connect, system_python_<id>).
Key
instruction_backup_dir
Type
str
Default
".trw/backups/instructions"
Description
Project-relative directory where instruction-file backups are written before a guarded rewrite.
Key
instruction_backup_retention
Type
int
Default
5
Description
Pre-write backup copies retained per instruction filename (PRD-FIX-123-FR04).
Key
instruction_catalogue_mode
Type
Literal['pointer', 'verbatim']
Default
"pointer"
Description
Whether a full-ceremony client's generated protocol block carries a pointer to trw_status(detail="surface") ('pointer', the default) or the verbatim tool table ('verbatim').
Key
instruction_dry_run_diff_max_lines
Type
int
Default
400
Description
Maximum unified-diff lines returned per target by a dry-run instruction sync (PRD-FIX-123-FR03).
Key
instruction_size_gate_mode
Type
Literal['warn', 'block'] | None
Default
null
Description
Whether an over-size TRW instruction block only warns (`warn`) or is refused (`block`); unset lets the client profile decide.
Key
instruction_write_block_delta_tolerance_bytes
Type
int
Default
64
Description
Bytes of slack when testing whether a total-size drop is explained by the TRW block's own size change (PRD-FIX-123-FR02).
Key
instruction_write_max_total_shrink_fraction
Type
float
Default
0.25
Description
Largest fraction of an instruction file's total bytes a guarded write may remove before it is refused without force (PRD-FIX-123-FR02).
Key
intel_cache_enabled
Type
bool
Default
true
Description
Cache fetched intelligence payloads locally for `intel_cache_ttl_seconds`.
Key
intel_cache_ttl_seconds
Type
int
Default
3600
Description
Seconds a fetched intelligence payload stays cached before it is refetched.
Key
knowledge_jaccard_threshold
Type
float
Default
0.3
Description
Tag-overlap (Jaccard) similarity at which two learnings are linked in the knowledge topology.
Key
knowledge_min_cluster_size
Type
int
Default
3
Description
Fewest learnings a topic cluster needs to be written out.
Key
knowledge_output_dir
Type
str
Default
"knowledge"
Description
Directory under the TRW state dir where knowledge-topology pages are written (default `knowledge`).
Key
knowledge_sync_threshold
Type
int
Default
50
Description
Number of new learnings that triggers a knowledge-topology rebuild.
Key
learn_journal_drain_budget_ms
Type
int
Default
3000
Description
Milliseconds a session-start learn-journal sweep may spend replaying before it stops and leaves the rest.
Key
learn_journal_drain_limit
Type
int
Default
50
Description
Most pending learn-journal records replayed per session-start sweep; the rest drain on later sweeps.
Key
learn_journal_enabled
Type
bool
Default
true
Description
Durably journal an accepted `trw_learn` before the slow store pipeline so a crash mid-write loses nothing; replayed at the next session start.
Key
learn_journal_max_replay_attempts
Type
int
Default
5
Description
Replay attempts before a record that keeps failing transiently is dead-lettered instead of retried forever.
Key
learning_auto_prune_cap
Type
int
Default
150
Description
Active learnings kept by the auto-prune pass; lowest-value ones beyond it are pruned.
Key
learning_auto_prune_max_seconds
Type
int
Default
30
Description
Wall-clock budget in seconds for one auto-prune pass; a pass that hits it returns the partial result.
Key
learning_auto_prune_min_interval_hours
Type
int
Default
24
Description
Least hours between two auto-prune passes (a pass is expensive on large stores).
Key
learning_auto_prune_on_deliver
Type
bool
Default
true
Description
Prune low-value learnings automatically after deliver.
Key
learning_decay_half_life_days
Type
float
Default
14.0
Description
Days for a learning's utility to halve when unused.
Key
learning_decay_use_exponent
Type
float
Default
0.6
Description
Exponent applied to use count when slowing a learning's decay.
Key
learning_max_entries
Type
int
Default
500
Description
Most learnings kept in the store; the lowest-value ones beyond it are dropped by maintenance.
Key
learning_outcome_correlation_scope
Type
str
Default
"session"
Description
Which recalls an outcome is attributed to: `session` or a wider scope.
Key
learning_outcome_correlation_window_minutes
Type
int
Default
7
Description
Minutes after a recall within which a build outcome is attributed to the learnings shown.
Key
learning_recall_enabled
Type
bool
Default
true
Description
Master switch for learnings reaching the agent through recall, hints and hooks; false keeps them all off.
Key
learning_repeated_op_threshold
Type
int
Default
3
Description
Times the same operation must recur before it is suggested as a learning.
Key
learning_sharing_enabled
Type
bool
Default
false
Description
Separate consent to publish learning content (summary and detail) to the platform; off by default and distinct from usage telemetry.
Key
learning_utility_delete_threshold
Type
float
Default
0.05
Description
Utility below which a learning is deleted outright.
Key
learning_utility_prune_threshold
Type
float
Default
0.1
Description
Utility below which a learning becomes a prune candidate.
Key
learnings_dir
Type
str
Default
"learnings"
Description
Directory under the TRW state dir that holds learnings (default `learnings`).
Key
llm_default_model
Type
str
Default
"haiku"
Description
Model alias used for TRW's own small LLM calls (default `haiku`).
Key
llm_usage_log_enabled
Type
bool
Default
true
Description
Log every TRW LLM call's usage to `llm_usage_log_file`.
Key
llm_usage_log_file
Type
str
Default
"llm_usage.jsonl"
Description
File name of the LLM usage log (default `llm_usage.jsonl`).
Key
logs_dir
Type
str
Default
"logs"
Description
Directory under the TRW state dir that holds log and usage files (default `logs`).
Key
maintain_verify_batch_limit
Type
int
Default
1000
Description
Max entries per maintain-verify page; the explicit sweep traverses all eligible pages.
Key
max_auto_lines
Type
int
Default
300
Description
Line limit for the whole instruction file after TRW's block is merged in; a write that would exceed it is refused, never truncated.
Key
max_consolidated_tags
Type
int
Default
20
Description
Most tags kept on a consolidated (merged) learning.
Key
memory_consolidation_enabled
Type
bool
Default
true
Description
Run periodic consolidation that merges clusters of similar learnings.
Key
memory_consolidation_max_per_cycle
Type
int
Default
50
Description
Most learnings consolidated in one cycle.
Key
memory_consolidation_min_cluster
Type
int
Default
3
Description
Fewest similar learnings that form a cluster worth consolidating.
Key
memory_consolidation_similarity_threshold
Type
float
Default
0.75
Description
Similarity (0-1) two learnings need to be clustered for consolidation.
Key
meta_tune
Type
MetaTuneConfig
Default
computed
Description
Nested meta-tuning settings (`meta_tune.enabled` mirrors `meta_tune_enabled`).
Key
meta_tune_enabled
Type
bool
Default
false
Description
Enable the meta-tuning loop (self-modification sandbox); off by default and only supported on Linux.
Key
migration_gate_enabled
Type
bool
Default
true
Description
Run the database-migration check in the build gate.
Key
model_family
Type
str
Default
""
Description
Model family tag for surface telemetry and nudge logs (C-5).
Key
nudge_density
Type
Literal['low', 'medium', 'high'] | None
Default
null
Description
Nudge injection density: low=less frequent, high=more frequent; None defers to profile default.
Key
nudge_enabled
Type
bool | None
Default
null
Description
Show ceremony nudges to the agent; unset follows the client profile.
Key
nudge_messenger
Type
Literal['standard', 'minimal', 'contextual', 'contextual_action', 'contextual_distress', 'silent_flow', 'cod', 'stepback', 'anchor', 'negative', 'governance'] | None
Default
null
Description
Nudge wording variant (`standard`, `minimal`, `contextual`, ...); unset follows the client profile.
Key
nudge_pool_cooldown_after
Type
int
Default
3
Description
Times a pooled nudge may show before it goes on cooldown.
Key
nudge_pool_cooldown_calls
Type
int
Default
10
Description
Tool calls a pooled nudge stays silent once it is on cooldown.
Key
nudge_pool_cooldown_wall_clock_max_hours
Type
int
Default
24
Description
Max wall-clock hours a nudge pool stays cooled down before re-engaging.
Key
nudge_pool_weights
Type
models._client_profile.NudgePoolWeights | None
Default
null
Description
Project override for nudge pool routing weights (must sum to 100); None defers to profile.
Key
nudge_variant
Type
str | None
Default
null
Description
Label stamped on nudge events to compare arms in live traffic; routing still follows `nudge_messenger`.
Key
otel_enabled
Type
bool
Default
false
Description
Set up OpenTelemetry tracing at startup; off by default.
Key
parallelism_max
Type
int
Default
10
Description
Parallelism ceiling written into a new project's `config.yaml` at init (default 10).
Key
path_index_exclude_dirs
Type
list[str]
Default
computed
Description
Extra directory names pruned from the PRD path-index walk, unioned with the built-in PATH_INDEX_EXCLUDE_DIRS.
Key
path_index_max_files
Type
int
Default
1000000
Description
RUNAWAY GUARD (not the latency control) on files scanned while building the bare-filename basename index.
Key
path_index_max_seconds
Type
float
Default
5.0
Description
RUNAWAY GUARD (wall-clock seconds) on the bare-filename basename index walk.
Key
patterns_dir
Type
str
Default
"patterns"
Description
Directory under the TRW state dir that holds recorded patterns (default `patterns`).
Key
phase_gate_enforcement
Type
Literal['strict', 'lenient', 'off']
Default
"lenient"
Description
How phase-exit gates react to unmet criteria: `strict` blocks, `lenient` warns, `off` ignores.
Key
pin_ttl_hours
Type
int
Default
24
Description
Time-to-live (hours) for entries in the persistent pin store before GC evicts them.
Key
pipeline_health_gate_enabled
Type
bool
Default
true
Description
Master kill switch for the FR06 fail-closed pipeline-health gate.
Key
pipeline_health_gate_failure_threshold
Type
int
Default
10
Description
Consecutive push failures before the FR06 gate fails closed.
Key
pipeline_health_gate_graph_min_corpus
Type
int
Default
50
Description
Young-store threshold: an empty knowledge graph fails the FR06 gate, and low embedding coverage degrades the pipeline, only for a store holding more memories than this.
Key
pipeline_health_gate_stale_hours
Type
float
Default
6.0
Description
Hours since last successful push before the FR06 gate fails closed.
Key
platform_api_key
Type
SecretStr
Default
""
Description
API key for the TRW platform (kept secret in output); empty means none configured.
Key
platform_contact_enabled
Type
bool
Default
true
Description
Master veto on every network call to the TRW platform (sync, backup, telemetry uploads); false keeps the install fully offline.
Key
platform_telemetry_enabled
Type
bool
Default
false
Description
Send anonymous usage telemetry to the TRW platform; off by default and separate from learning sharing.
Key
platform_url
Type
str
Default
""
Description
Base URL of the TRW platform this install talks to; empty means none configured.
Key
platform_urls
Type
list[str]
Default
computed
Description
Ordered list of platform URLs; the first is used and the rest are fallbacks.
Key
post_commit_distill_incremental
Type
bool
Default
false
Description
Let the post-commit hook run `trw-distill run --incremental --live-ingest`, which may call an LLM and writes lessons into the store; off unless you choose it.
Key
prd_min_content_density
Type
float
Default
0.3
Description
Least content density a PRD needs to move from DRAFT to REVIEW.
Key
prd_required_status_for_implement
Type
str
Default
"approved"
Description
PRD status required before the implement phase may start (default `approved`).
Key
prd_transition_gate
Type
Literal['warn', 'block']
Default
"block"
Description
Whether moving a PRD to implemented without accepted evidence only warns (`warn`) or is blocked (`block`).
Key
prd_validate_budget_seconds
Type
float
Default
60.0
Description
Wall-clock budget (seconds) for trw_prd_validate's dynamic checks; on breach the remaining check groups are skipped and the result is flagged validation_partial (PRD-FIX-112).
Key
prd_validation_cache_maintenance_interval
Type
int
Default
32
Description
Number of successful shard writes between bounded maintenance sweeps.
Key
prd_validation_cache_max_entries
Type
int
Default
512
Description
Maximum number of cached pure-validation shards.
Key
prd_validation_cache_max_entry_bytes
Type
int
Default
4194304
Description
Maximum size of a single cached shard.
Key
prd_validation_cache_max_total_bytes
Type
int
Default
67108864
Description
Maximum aggregate on-disk bytes across all cached pure-validation shards.
Key
prds_relative_path
Type
str
Default
"docs/requirements-aare-f/prds"
Description
Project-relative directory that holds PRD documents (default `docs/requirements-aare-f/prds`).
Key
pricing_table_path
Type
str
Default
""
Description
Path to a custom model pricing table for cost estimates; empty uses the bundled one.
Key
profile_domain_path_map
Type
dict[str, str]
Default
computed
Description
Source-path prefix -> profile 'domain' layer name, used by infer_domain when no explicit domain is supplied.
Key
profile_system_enabled
Type
bool
Default
true
Description
Resolve and apply the layered client/domain profile at session start; false skips profile resolution.
Key
project_handoff_path
Type
str
Default
".trw/HANDOFF.md"
Description
Project-relative path of the deliver-time handoff file (PRD-CORE-249-FR01).
Key
project_namespace
Type
str
Default
""
Description
Stable memory-store namespace for this project once migrated to the machine-local daemon store; empty means the checkout keeps its own `.trw/memory` store.
Key
protection_tier_prune_discount
Type
dict[str, float]
Default
computed
Description
Multiplier on the utility threshold an entry must fall below before an automatic prune, tier demotion or purge may nominate it (PRD-CORE-244 FR10).
Key
recall_internal_fields
Type
frozenset[str]
Default
["access_count", "anchor_validity", "combined_score", "last_accessed_at", "outcome_history", "recall_count", "recurrence", "session_count"]
Description
Learning fields removed from recall results because they are internal.
Key
recall_max_results
Type
int
Default
25
Description
Most learnings `trw_recall` returns for one query.
Key
recall_provenance_inline
Type
bool
Default
true
Description
Show source and scope inline in each recalled learning stub so provenance is checked before a claim is reused.
Key
recall_user_tier_cap
Type
int
Default
5
Description
Maximum number of user-tier hits that may enter a single federated recall result, so a flood of low-value user hits cannot bury a precise project hit (PRD-CORE-185 FR06 / D3 / R4).
Key
recall_utility_lambda
Type
float
Default
0.3
Description
Weight of utility in targeted recall ranking; 0 disables utility preferences (query relevance always wins).
Key
receipts_dir
Type
str
Default
"receipts"
Description
Directory under the TRW state dir that holds build/review receipts (default `receipts`).
Key
reflect_max_success_patterns
Type
int
Default
5
Description
Most success patterns kept per reflection.
Key
reflections_dir
Type
str
Default
"reflections"
Description
Directory under the TRW state dir that holds reflection outputs (default `reflections`).
Key
requirement_drift_gate
Type
Literal['warn', 'block'] | None
Default
null
Description
Deliver-time requirement-drift gate: `warn` or `block`; unset keeps the per-PRD default (block for safety-critical PRDs, warn otherwise).
Key
response_format
Type
Literal['yaml', 'json']
Default
"yaml"
Description
Format of tool responses: `yaml` or `json`.
Key
review_confidence_threshold
Type
int
Default
80
Description
Minimum finding confidence (0-100) for an automated review finding to be reported.
Key
review_gate_mode
Type
Literal['warn', 'block']
Default
"warn"
Description
Whether a STANDARD or COMPREHENSIVE run that reaches deliver with no recorded review only warns (`warn`) or is blocked (`block`).
Key
review_mandate_advisory_enabled
Type
bool
Default
true
Description
Tell the agent up front that STANDARD and COMPREHENSIVE runs need a review before deliver (advisory only).
Key
review_signoff_ttl_hours
Type
int
Default
24
Description
Max validity window of an operator review sign-off, in hours.
Key
review_verdict_ttl_hours
Type
int
Default
24
Description
Hours a recorded review verdict stays valid at deliver time; older ones are treated as expired even if the reviewed bytes did not move.
Key
risk_scaling_enabled
Type
bool
Default
true
Description
Scale PRD validation thresholds by the PRD's risk level.
Key
run_auto_close_enabled
Type
bool
Default
true
Description
Close stale runs automatically when run status is assembled.
Key
run_stale_ttl_hours
Type
int
Default
48
Description
Hours without activity after which a run counts as stale and may be auto-closed.
Key
run_staleness_grace_hours
Type
int
Default
12
Description
Grace window (hours) appended to run_staleness_hours; runs inside this window emit run_near_stale_warning but are not abandoned.
Key
run_staleness_hours
Type
int
Default
48
Description
Age (hours) beyond which an active run with no activity is eligible for the stale-run sweep.
Key
runs_root
Type
str
Default
".trw/runs"
Description
Project-relative directory where run directories are created (default `.trw/runs`).
Key
scoring_default_days_unused
Type
int
Default
30
Description
Days-unused value assumed for a learning with no recorded last use.
Key
scripts_dir
Type
str
Default
"scripts"
Description
Directory under the TRW state dir that holds generated helper scripts (default `scripts`).
Key
security
Type
SecurityConfig
Default
computed
Description
Nested security settings for the MCP trust boundary.
Key
semantic_checks_enabled
Type
bool
Default
true
Description
Run semantic checks in the build gate in addition to syntax checks.
Key
session_start_recall_enabled
Type
bool | None
Default
null
Description
Recall learnings at session start; unset follows `learning_recall_enabled`.
Key
shared_mcp
Type
SharedMcpConfig
Default
computed
Description
Opt-in shared MCP server settings: `enabled` makes clients launch `trw-mcp-proxy` against one shared server instead of one stdio server each.
Key
skills_enabled
Type
bool | None
Default
null
Description
Install bundled skills; unset follows the client profile.
Key
source_human_utility_boost
Type
float
Default
0.1
Description
Utility bonus for learnings a human wrote or confirmed.
Key
state_learning_default_ttl_days
Type
dict[str, int]
Default
computed
Description
Default validity window in days, per learning type, proposed for a state-asserting learning (PRD-CORE-244 FR05).
Key
sub_claude_md_max_lines
Type
int
Default
50
Description
Line limit for a module-level (sub-scope) instruction file.
Key
surface_role
Type
Literal['agent', 'reviewer']
Default
"agent"
Description
MCP surface role: `agent` is the normal full surface, `reviewer` a read-only report surface for dispatched review sessions (normally set by the environment, not here).
Key
sync_health_failure_threshold
Type
int
Default
10
Description
Consecutive push failures before sync_health marks degraded.
Key
sync_health_stale_hours
Type
float
Default
6.0
Description
Hours since last successful push before sync_health marks degraded.
Key
sync_interval_seconds
Type
int
Default
300
Description
Seconds between team-sync push/pull cycles.
Key
sync_pull_timeout_seconds
Type
float
Default
5.0
Description
Seconds to wait for a pull request before giving up.
Key
sync_push_batch_size
Type
int
Default
100
Description
Most learnings pushed to the backend in one batch.
Key
sync_push_timeout_seconds
Type
float
Default
10.0
Description
Seconds to wait for a push request before giving up.
Key
target_platforms
Type
list[str]
Default
computed
Description
Platforms to sync instruction files for.
Key
task_root
Type
str
Default
"docs"
Description
Project-relative directory that holds task directories (default `docs`).
Key
team_sync_all_projects
Type
bool
Default
false
Description
Rank other projects' team learnings like unrecorded ones in recall instead of lower (default: lower).
Key
team_sync_enabled
Type
bool
Default
false
Description
Enable team sync of learnings with the backend; off by default.
Key
team_sync_fresh_after_seconds
Type
int
Default
300
Description
Pull team learnings before recall when the last pull is older than this (0: never).
Key
telemetry
Type
bool
Default
false
Description
Legacy usage-telemetry switch copied into a new project's `config.yaml` at init; the live switch is `telemetry_enabled`.
Key
telemetry_enabled
Type
bool
Default
true
Description
Record local tool-call telemetry under the logs directory.
Key
telemetry_file
Type
str
Default
"tool-telemetry.jsonl"
Description
File name of the local tool-call telemetry log (default `tool-telemetry.jsonl`).
Key
telemetry_log_max_bytes
Type
int
Default
10485760
Description
Pipeline telemetry-log rotation threshold in bytes (FR04)
Key
templates_dir
Type
str
Default
"templates"
Description
Directory under the TRW state dir that holds generated templates (default `templates`).
Key
time_tracking_enabled
Type
bool
Default
true
Description
Track elapsed time and ETAs for task-scaled runs and show them in `trw_status`, checkpoints and deliver.
Key
timebox_hours
Type
int
Default
8
Description
Default time box in hours written into a new project's `config.yaml` at init (default 8).
Key
tool_output_size_warning_bytes
Type
int
Default
8192
Description
Rendered PostToolUse tool_response byte length above which a size advisory fires (PRD-INFRA-194-FR04).
Key
tool_resolution_mode
Type
Literal['standard', 'all']
Default
"standard"
Description
Which tool packs the MCP server exposes: `standard` is the kernel plus every pack whose flag is on, `all` also enables the comms and assess packs.
Key
traceability_coverage_min
Type
float
Default
0.9
Description
Lowest allowed share of requirements traced to code or tests (0-1).
Key
transition_nudges_enabled
Type
bool
Default
true
Description
Allow phase-transition nudge lines (learning and suggestion lines) to reach the agent; independent of `nudge_enabled`.
Key
trust_crawl_boundary
Type
int
Default
50
Description
Session count up to which an agent stays in the `crawl` trust tier; above it the tier is `walk`.
Key
trust_walk_boundary
Type
int
Default
200
Description
Session count up to which an agent stays in the `walk` trust tier; above it the tier is `run`.
Key
trw_dir
Type
str
Default
".trw"
Description
Name of the TRW state directory inside the project (default `.trw`).
Key
validation_density_weight
Type
float
Default
20.0
Description
Points a PRD can earn for content density in the validation score.
Key
validation_draft_threshold
Type
float
Default
60.0
Description
Validation score at or above which a PRD is at least REVIEW quality.
Key
validation_implementation_readiness_weight
Type
float
Default
25.0
Description
Points a PRD can earn for implementation readiness in the validation score.
Key
validation_review_threshold
Type
float
Default
85.0
Description
Validation score at or above which a PRD is APPROVED quality.
Key
validation_skeleton_threshold
Type
float
Default
30.0
Description
Validation score at or above which a PRD is at least DRAFT quality (below it: skeleton).
Key
validation_structure_weight
Type
float
Default
20.0
Description
Points a PRD can earn for structure in the validation score.
Key
validation_traceability_weight
Type
float
Default
35.0
Description
Points a PRD can earn for traceability in the validation score.
Key
verification_cache_ttl_seconds
Type
int
Default
3600
Description
Freshness window for last-known evidence; never proves current-tree validity or triggers verification.
Key
version_check_interval_seconds
Type
float
Default
300.0
Description
Interval (seconds) between cached booted-vs-installed trw-mcp version-drift checks on the tool-call middleware path (PRD-CORE-215-FR02).
Key
wal_checkpoint_max_age_seconds
Type
int
Default
3600
Description
Seconds since the last SUCCESSFUL checkpoint after which one is due regardless of WAL size.
Key
wal_checkpoint_threshold_mb
Type
int
Default
10
Description
WAL size (MiB) at or above which a checkpoint is due.
Key
wiring_gate_mode
Type
Literal['warn', 'block']
Default
"warn"
Description
Whether a PRD whose requirements are not wired to code only warns (`warn`) or fails validation (`block`).
Key
wiring_gate_mode_overrides
Type
dict[str, Literal['warn', 'block']]
Default
computed
Description
Per-PRD override of `wiring_gate_mode` (PRD id or category to `warn`/`block`); empty means every PRD uses the global mode.

Retired keys

Keys that earlier releases read and this one does not. A retired key left in .trw/config.yaml is ignored, and trw-mcp warns about it and names its replacement when there is one.

Show all 212 retired keys
Retired key
adaptation_auto_approve_threshold
Replacement
None: the setting was removed
Retired key
agents_md_learning_injection
Replacement
None: the setting was removed
Retired key
agents_md_learning_max
Replacement
None: the setting was removed
Retired key
agents_md_learning_min_impact
Replacement
None: the setting was removed
Retired key
anchor_shared_set_migration_threshold
Replacement
None: the setting was removed
Retired key
api_fuzz_base_url
Replacement
None: the setting was removed
Retired key
api_fuzz_level
Replacement
None: the setting was removed
Retired key
api_fuzz_timeout_secs
Replacement
None: the setting was removed
Retired key
atdd_enabled
Replacement
None: the setting was removed
Retired key
audit_pattern_promotion_threshold
Replacement
None: the setting was removed
Retired key
auto_checkpoint_enabled
Replacement
None: the setting was removed
Retired key
auto_checkpoint_tool_interval
Replacement
None: the setting was removed
Retired key
auto_upgrade
Replacement
None: the setting was removed
Retired key
build_check_mypy_args
Replacement
None: the setting was removed
Retired key
build_check_pytest_args
Replacement
None: the setting was removed
Retired key
build_check_pytest_cmd
Replacement
None: the setting was removed
Retired key
build_check_timeout_secs
Replacement
None: the setting was removed
Retired key
build_freshness_window_secs
Replacement
None: the setting was removed
Retired key
ceremony_alert_consecutive
Replacement
None: the setting was removed
Retired key
ceremony_alert_threshold
Replacement
None: the setting was removed
Retired key
checkpoint_secs
Replacement
None: the setting was removed
Retired key
checkpoints_file
Replacement
None: the setting was removed
Retired key
claude_md_max_lines
Replacement
None: the setting was removed
Retired key
code_index_enabled
Replacement
None: the setting was removed
Retired key
commit_fr_trailer_enabled
Replacement
None: the setting was removed
Retired key
comms_group_admission_limit
Replacement
comms_group_row_limit
Retired key
compact_after_turns
Replacement
None: the setting was removed
Retired key
completion_hooks_blocking
Replacement
None: the setting was removed
Retired key
compliance_history_file
Replacement
None: the setting was removed
Retired key
compliance_long_session_event_threshold
Replacement
None: the setting was removed
Retired key
compliance_pass_threshold
Replacement
None: the setting was removed
Retired key
compliance_strictness
Replacement
None: the setting was removed
Retired key
compliance_warning_threshold
Replacement
None: the setting was removed
Retired key
confidence_threshold
Replacement
None: the setting was removed
Retired key
consensus_quorum
Replacement
None: the setting was removed
Retired key
consistency_validation_min
Replacement
None: the setting was removed
Retired key
contradiction_penalty_reward
Replacement
None: the setting was removed
Retired key
debt_actionable_threshold
Replacement
None: the setting was removed
Retired key
debt_auto_promote_threshold
Replacement
None: the setting was removed
Retired key
debt_budget_critical_ratio
Replacement
None: the setting was removed
Retired key
debt_budget_high_ratio
Replacement
None: the setting was removed
Retired key
debt_decay_assessment_rate
Replacement
None: the setting was removed
Retired key
debt_decay_base_score
Replacement
None: the setting was removed
Retired key
debt_decay_daily_rate
Replacement
None: the setting was removed
Retired key
debt_default_wave_size
Replacement
None: the setting was removed
Retired key
debt_id_prefix
Replacement
None: the setting was removed
Retired key
debt_initial_decay_score
Replacement
None: the setting was removed
Retired key
debt_registry_filename
Replacement
None: the setting was removed
Retired key
decision_enabled
Replacement
assess_enabled
Retired key
density_weight_default
Replacement
None: the setting was removed
Retired key
density_weight_functional_requirements
Replacement
None: the setting was removed
Retired key
density_weight_problem_statement
Replacement
None: the setting was removed
Retired key
density_weight_traceability_matrix
Replacement
None: the setting was removed
Retired key
dispatch_role_client
Replacement
dispatch_default_client (or pass --client); a role no longer picks the client
Retired key
doctor_thread_hotspot_min_seconds
Replacement
None: the setting was removed
Retired key
doctor_thread_hotspot_share
Replacement
None: the setting was removed
Retired key
embeddings_auto_backfill_on_low_coverage
Replacement
None: the setting was removed
Retired key
external_store_recall_cap
Replacement
None: the setting was removed
Retired key
extra_read_stores
Replacement
None: the setting was removed
Retired key
finding_dedup_threshold
Replacement
None: the setting was removed
Retired key
findings_dir
Replacement
None: the setting was removed
Retired key
findings_entries_dir
Replacement
None: the setting was removed
Retired key
findings_registry_file
Replacement
None: the setting was removed
Retired key
framework_overhead_threshold
Replacement
None: the setting was removed
Retired key
gate_architecture_score_penalty
Replacement
None: the setting was removed
Retired key
gate_critic_overhead_multiplier
Replacement
None: the setting was removed
Retired key
gate_tokens_per_1k_chars
Replacement
None: the setting was removed
Retired key
grooming_max_iterations
Replacement
None: the setting was removed
Retired key
grooming_partial_density_threshold
Replacement
None: the setting was removed
Retired key
grooming_placeholder_density_threshold
Replacement
None: the setting was removed
Retired key
grooming_research_scope
Replacement
None: the setting was removed
Retired key
grooming_target_completeness
Replacement
None: the setting was removed
Retired key
hint_sidecar_auto_refresh_enabled
Replacement
hint_sidecar_refresh_enabled (the pre-edit hint no longer requests builds; post-commit and session start do)
Retired key
hint_sidecar_refresh_file_cap
Replacement
None: the setting was removed
Retired key
hybrid_bm25_candidates
Replacement
None: the setting was removed
Retired key
hybrid_search_candidate_pool_size
Replacement
None: the setting was removed
Retired key
hybrid_vector_candidates
Replacement
None: the setting was removed
Retired key
impact_decay_half_life_days
Replacement
None: the setting was removed
Retired key
impact_forced_distribution_enabled
Replacement
None: the setting was removed
Retired key
impact_high_threshold_pct
Replacement
None: the setting was removed
Retired key
impact_tier_critical_cap
Replacement
None: the setting was removed
Retired key
impact_tier_high_cap
Replacement
None: the setting was removed
Retired key
incremental_validation_enabled
Replacement
None: the setting was removed
Retired key
instruction_external_filename
Replacement
None: the setting was removed
Retired key
instruction_externalize
Replacement
None: the setting was removed
Retired key
learn_journal_drain_min_batch
Replacement
None: the setting was removed
Retired key
learn_journal_pending_max_age_hours
Replacement
None: the setting was removed
Retired key
learning_outcome_history_cap
Replacement
None: the setting was removed
Retired key
learning_promotion_impact
Replacement
None: the setting was removed
Retired key
learning_prune_age_days
Replacement
None: the setting was removed
Retired key
lifecycle_use_fsrs
Replacement
None: the setting was removed
Retired key
llm_utility_filter_enabled
Replacement
None: the setting was removed
Retired key
max_audit_cycles
Replacement
None: the setting was removed
Retired key
max_child_depth
Replacement
None: the setting was removed
Retired key
max_cluster_size
Replacement
None: the setting was removed
Retired key
max_research_waves
Replacement
None: the setting was removed
Retired key
mcp_server_instructions_enabled
Replacement
None: the setting was removed
Retired key
memory_cold_threshold_days
Replacement
None: the setting was removed
Retired key
memory_consolidation_interval_days
Replacement
None: the setting was removed
Retired key
memory_decay_batch_size
Replacement
MEMORY_DECAY_BATCH_SIZE (environment variable, daemon-side MemoryConfig.decay_batch_size)
Retired key
memory_decay_cutoff_days
Replacement
MEMORY_DECAY_CUTOFF_DAYS (environment variable, daemon-side MemoryConfig.decay_cutoff_days)
Retired key
memory_hot_ttl_days
Replacement
None: the setting was removed
Retired key
memory_retention_days
Replacement
None: the setting was removed
Retired key
memory_store_path
Replacement
None: the setting was removed
Retired key
min_shards_floor
Replacement
None: the setting was removed
Retired key
min_shards_target
Replacement
None: the setting was removed
Retired key
minimal_after_turns
Replacement
None: the setting was removed
Retired key
mutation_critical_paths
Replacement
None: the setting was removed
Retired key
mutation_enabled
Replacement
None: the setting was removed
Retired key
mutation_experimental_paths
Replacement
None: the setting was removed
Retired key
mutation_threshold
Replacement
None: the setting was removed
Retired key
mutation_threshold_critical
Replacement
None: the setting was removed
Retired key
mutation_threshold_experimental
Replacement
None: the setting was removed
Retired key
mutation_timeout_secs
Replacement
None: the setting was removed
Retired key
nudge_budget_chars
Replacement
None: the setting was removed
Retired key
nudge_dedup_enabled
Replacement
None: the setting was removed
Retired key
nudge_pool_weight_ceremony
Replacement
nudge_pool_weights.ceremony
Retired key
nudge_pool_weight_context
Replacement
nudge_pool_weights.context
Retired key
nudge_pool_weight_learnings
Replacement
nudge_pool_weights.learnings
Retired key
nudge_pool_weight_workflow
Replacement
nudge_pool_weights.workflow
Retired key
nudge_urgency_mode
Replacement
None: the setting was removed
Retired key
observation_masking
Replacement
None: the setting was removed
Retired key
otel_capture_messages
Replacement
None: the setting was removed
Retired key
otel_endpoint
Replacement
None: the setting was removed
Retired key
otel_semconv
Replacement
None: the setting was removed
Retired key
outcome_weight_learning_rate
Replacement
None: the setting was removed
Retired key
outcome_weight_p0_defects
Replacement
None: the setting was removed
Retired key
outcome_weight_rework
Replacement
None: the setting was removed
Retired key
outcome_weight_velocity
Replacement
None: the setting was removed
Retired key
pause_after_compaction
Replacement
None: the setting was removed
Retired key
phase_cap_deliver
Replacement
None: the setting was removed
Retired key
phase_cap_implement
Replacement
None: the setting was removed
Retired key
phase_cap_plan
Replacement
None: the setting was removed
Retired key
phase_cap_research
Replacement
None: the setting was removed
Retired key
phase_cap_review
Replacement
None: the setting was removed
Retired key
phase_cap_validate
Replacement
None: the setting was removed
Retired key
phase_exposure_enabled
Replacement
None: the setting was removed
Retired key
phase_transition_withhold_rate
Replacement
None: the setting was removed
Retired key
pipeline_health_bandit_probe_enabled
Replacement
None: the setting was removed
Retired key
pipeline_health_bandit_stale_days
Replacement
None: the setting was removed
Retired key
provenance_enabled
Replacement
None: the setting was removed
Retired key
proximal_reward_weight
Replacement
None: the setting was removed
Retired key
q_cold_start_threshold
Replacement
None: the setting was removed
Retired key
q_learning_rate
Replacement
None: the setting was removed
Retired key
q_recurrence_bonus
Replacement
None: the setting was removed
Retired key
recall_receipt_max_entries
Replacement
None: the setting was removed
Retired key
recall_verification_budget_ms
Replacement
None: the setting was removed
Retired key
reflect_max_positive_learnings
Replacement
None: the setting was removed
Retired key
reflect_q_value_threshold
Replacement
None: the setting was removed
Retired key
reflect_sequence_lookback
Replacement
None: the setting was removed
Retired key
retrieval_embedding_dim
Replacement
None: the setting was removed
Retired key
retrieval_embedding_model
Replacement
MEMORY_EMBEDDING_MODEL (environment variable, daemon-wide)
Retired key
reversion_rate_concerning
Replacement
None: the setting was removed
Retired key
reversion_rate_elevated
Replacement
None: the setting was removed
Retired key
run_archive_hours
Replacement
None: the setting was removed
Retired key
run_auto_close_age_days
Replacement
run_stale_ttl_hours
Retired key
scoring_error_fallback_reward
Replacement
None: the setting was removed
Retired key
scoring_error_keywords
Replacement
None: the setting was removed
Retired key
scoring_recency_discount_floor
Replacement
None: the setting was removed
Retired key
scout_blast_radius_threshold
Replacement
None: the setting was removed
Retired key
scout_churn_commit_threshold
Replacement
None: the setting was removed
Retired key
scout_enabled
Replacement
None: the setting was removed
Retired key
scout_max_mode3_rate
Replacement
None: the setting was removed
Retired key
scratch_dir
Replacement
None: the setting was removed
Retired key
security_check_enabled
Replacement
None: the setting was removed
Retired key
self_review_blocking
Replacement
None: the setting was removed
Retired key
session_start_defer_under_writer_pressure
Replacement
None: the setting was removed
Retired key
session_start_max_deferral_hours
Replacement
None: the setting was removed
Retired key
session_start_recent_bypass_days
Replacement
None: the setting was removed
Retired key
session_start_recent_bypass_min_impact
Replacement
None: the setting was removed
Retired key
session_start_writer_pressure_threshold
Replacement
None: the setting was removed
Retired key
simplifier_backup_dir
Replacement
None: the setting was removed
Retired key
simplifier_verification_timeout_secs
Replacement
None: the setting was removed
Retired key
simplifier_wave_size
Replacement
None: the setting was removed
Retired key
skill_active_cap
Replacement
None: the setting was removed
Retired key
skill_contribution_cold_start
Replacement
None: the setting was removed
Retired key
skill_contribution_half_life_days
Replacement
None: the setting was removed
Retired key
skill_duplicate_max_skills
Replacement
None: the setting was removed
Retired key
skill_duplicate_similarity_threshold
Replacement
None: the setting was removed
Retired key
skill_retirement_floor
Replacement
None: the setting was removed
Retired key
skill_retirement_windows
Replacement
None: the setting was removed
Retired key
skill_surface_tracking_enabled
Replacement
None: the setting was removed
Retired key
source_package_name
Replacement
None: the setting was removed
Retired key
source_package_path
Replacement
None: the setting was removed
Retired key
sprint_code_simplifier_wave_size
Replacement
None: the setting was removed
Retired key
sprint_commit_pattern
Replacement
None: the setting was removed
Retired key
sprint_integration_branch_pattern
Replacement
None: the setting was removed
Retired key
strict_input_criteria
Replacement
None: the setting was removed
Retired key
test_map_filename
Replacement
None: the setting was removed
Retired key
test_skeleton_dir
Replacement
None: the setting was removed
Retired key
tests_relative_path
Replacement
None: the setting was removed
Retired key
tool_access_grant_max_ttl_seconds
Replacement
None: the setting was removed
Retired key
tool_descriptions_variant
Replacement
None: the setting was removed
Retired key
trust_locked
Replacement
None: the setting was removed
Retired key
trust_security_tags
Replacement
None: the setting was removed
Retired key
trust_walk_sample_rate
Replacement
None: the setting was removed
Retired key
update_channel
Replacement
None: the setting was removed
Retired key
user_tier_enabled
Replacement
None: the setting was removed
Retired key
validation_ears_weight
Replacement
None: the setting was removed
Retired key
validation_fk_optimal_max
Replacement
None: the setting was removed
Retired key
validation_fk_optimal_min
Replacement
None: the setting was removed
Retired key
validation_readability_weight
Replacement
None: the setting was removed
Retired key
validation_smell_weight
Replacement
None: the setting was removed
Retired key
velocity_alert_min_runs
Replacement
None: the setting was removed
Retired key
velocity_alert_r_squared_min
Replacement
None: the setting was removed
Retired key
velocity_confounder_jump_ratio
Replacement
None: the setting was removed
Retired key
velocity_effective_q_threshold
Replacement
None: the setting was removed
Retired key
velocity_history_max_entries
Replacement
None: the setting was removed
Retired key
velocity_sign_test_alpha
Replacement
None: the setting was removed
Retired key
velocity_stable_threshold
Replacement
None: the setting was removed
Retired key
wal_checkpoint_idle_interval_seconds
Replacement
None: the setting was removed
Retired key
worktree_dir
Replacement
None: the setting was removed

Next

The config guide walks the most-changed fields with context. CLI flags show which of those fields you can override per-run.