Context
gateDryRun and agentDryRun both use "dry run" vocabulary but gate two entirely disjoint layers with no shared code path. gateDryRun only computes an extra displayConclusion preview on the check-run (src/rules/advisory.ts:534-558) — the real posted conclusion is unaffected. agentDryRun switches the action-layer's execution mode to suppress real GitHub mutations (src/settings/agent-execution.ts:38-41) — entirely independent. Both fields are exposed side-by-side, unlinked, in the same maintainer-facing template config/examples/gittensory.full.yml — gate.dryRun at line 315 (inside gate:) and settings.agentDryRun at line 706 (inside settings:), with no cross-reference anywhere.
Requirements
- Minimal fix, no breaking rename. (A heavier alternative — renaming
gateDryRun → gatePreviewMode, config-as-code only, no migration needed — is optional and out of scope here.)
Deliverables
Expected Outcome
A maintainer reading either "dry run" field's doc comment or yml example is pointed at the other one, and understands the two systems are unrelated.
Links & Resources
- Evidence:
src/types.ts:795-798,1091-1093; src/rules/advisory.ts:534-558; src/settings/agent-execution.ts:38-41; config/examples/gittensory.full.yml:315,706
Part of #5270 (roadmap epic).
Context
gateDryRunandagentDryRunboth use "dry run" vocabulary but gate two entirely disjoint layers with no shared code path.gateDryRunonly computes an extradisplayConclusionpreview on the check-run (src/rules/advisory.ts:534-558) — the real posted conclusion is unaffected.agentDryRunswitches the action-layer's execution mode to suppress real GitHub mutations (src/settings/agent-execution.ts:38-41) — entirely independent. Both fields are exposed side-by-side, unlinked, in the same maintainer-facing templateconfig/examples/gittensory.full.yml—gate.dryRunat line 315 (insidegate:) andsettings.agentDryRunat line 706 (insidesettings:), with no cross-reference anywhere.Requirements
gateDryRun→gatePreviewMode, config-as-code only, no migration needed — is optional and out of scope here.)Deliverables
types.tsgateDryRundoc: append "Does NOT stop the agent action layer from performing real merges/closes/comments — seeagentDryRunfor that."types.tsagentDryRundoc: append "Independent of the gate check's owngateDryRunpreview.".gittensory.yml.exampleandconfig/examples/gittensory.full.yml: add matching cross-reference comments at both sites (gate.dryRunandsettings.agentDryRun).Expected Outcome
A maintainer reading either "dry run" field's doc comment or yml example is pointed at the other one, and understands the two systems are unrelated.
Links & Resources
src/types.ts:795-798,1091-1093;src/rules/advisory.ts:534-558;src/settings/agent-execution.ts:38-41;config/examples/gittensory.full.yml:315,706Part of #5270 (roadmap epic).