Skip to content

CFE-4681: document timer_policy attribute on classes: promises (3.27)#3729

Open
nickanderson wants to merge 3 commits into
cfengine:3.27from
nickanderson:CFE-4681/3.27
Open

CFE-4681: document timer_policy attribute on classes: promises (3.27)#3729
nickanderson wants to merge 3 commits into
cfengine:3.27from
nickanderson:CFE-4681/3.27

Conversation

@nickanderson

@nickanderson nickanderson commented Jul 8, 2026

Copy link
Copy Markdown
Member

Summary

Backports the timer_policy attribute documentation on classes: promises to the 3.27 stream (CFE-4681).

Mirrors the master PR (#3682), with the Default value and History adjusted for this stream: on 3.27 timer_policy defaults to absolute (the historical persistent-class behavior). The default changed to reset in 3.28.0.

Contents

  • timer_policy docs — adds ### timer_policy to content/reference/promise-types/classes.markdown, right after ### persistence. Cross-references use the auto-generated heading anchors ([classes#persistence], [Promise types#timer_policy], [Promise types#persist_time]); no _references.md change needed.
  • Branch-wide cf3 reformat — a mechanical reformat (whitespace/indentation inside cf3 examples only; no prose or semantic changes), needed so the Lint and format check passes (see below).

Why the reformat is included

The Lint and format workflow installs the latest, unpinned cfengine CLI. CLI 0.18.0 added cf3 code-block reformatting to cfengine dev format-docs. master had already been mass-reformatted, but the 3.27 branch had not, so ~129 files of pre-existing formatting drift would otherwise fail the check on any PR to 3.27 — unrelated to this change. The reformat resolves that.

Verified locally with cfengine CLI 0.18.0: cfengine format --check, cfengine dev format-docs (idempotent, clean git diff), and cfengine dev lint-docs all pass.

If you would rather keep the timer_policy change isolated, the reformat can be split into its own PR and this one rebased on top.

Related

Documents the timer_policy attribute on classes: promises (CFE-4681), which controls whether a persistent class restarts its timer when rediscovered. On the 3.27 stream the default is absolute, preserving the historical behavior; the default changed to reset in 3.28.0.

Ticket: CFE-4681
cfengine dev format-docs (cfengine CLI 0.18.0) now reformats cf3 code blocks inside markdown. Apply the reformatting branch-wide so the Lint and format GitHub Action passes. Mechanical change (whitespace/indentation inside cf3 examples); no prose or semantic changes.
cfengine CLI 0.18.0 ships a syntax-description.json that includes timer_policy on classes: promises, so the example no longer needs the {skip TODO} fence to pass cfengine dev lint-docs. Dropping it means the example is syntax-checked like the others.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant