DGCDocs
Using DGC/Standing goals

persistent objectives with an explicit lifecycle

Standing goals#

/goal <objective> records a bounded objective in the session and keeps it in the model's instructions on every turn until it is completed, blocked, replaced, or cleared. It survives /resume.

  • /goal — inspect the full objective and status.
  • /goal complete — retain the objective as an auditable completed record.
  • /goal blocked — stop automatic progress while an external blocker exists.
  • /goal resume — reactivate a completed or blocked goal.
  • /goal clear — remove it.

The model can use the visible update_goal tool only for genuine whole-goal completion or a real blocker. Ending one turn or finishing one milestone is not goal completion.

Autonomous gate#

--autonomous-gate "<cmd>" bounds an autonomous run by a real check command: the agent may not end a turn until that command exits 0. When the model tries to stop and the gate fails, DGC feeds the command's output back and keeps working; when it exits 0, the stop is allowed. Bounded by --autonomous-max-turns (default 30) failed attempts, so a persistently red gate can never loop forever. Unset (the default) leaves turn completion unchanged. e.g. --autonomous-gate "npm run check".

Set it live without restarting: /autonomous-gate "npm run check" in the classic or full-screen TUI (/autonomous-gate off clears it, no argument reports the current gate and retry bound). The gate command and its max-retry bound are also editable in the TUI settings screen (Behaviour). In the VS Code extension, set dgc.autonomousGate and dgc.autonomousMaxTurns in Settings.