Skip to content

Maintenance workflows

DRS ships packaged maintenance workflows alongside review workflows. They use the same YAML DSL and the same agent/action system, but they mutate repository files instead of posting comments.

Available maintenance workflows

WorkflowPurpose
local-changelog-updateUpdate CHANGELOG.md from local unstaged changes using task/changelog-updater.
tag-changelog-updateUpdate CHANGELOG.md from the previous stable tag to the current tag (or explicit refs).
release-changelog-finalizeFinalize CHANGELOG.md for a release before tagging.
local-fix-review-issuesFix actionable findings from the latest saved review artifact, then re-run review.
local-update-agents-mdUpdate AGENTS.md or equivalent guidance using task/agents-md-updater.
repository-wiki-syncGenerate, reconcile, or update an OKF v0.1 repository wiki bundle.
repository-wiki-checkVerify wiki delta state and OKF v0.1 conformance without a model call.

These workflows are defined in .pi/workflows/*.yaml. They are intentionally local-only and do not commit changes. Projects can compose them with git-add, git-commit, and platform posting actions to build stronger automation.

Changelog workflows

local-changelog-update loads the local unstaged diff, runs the task/changelog-updater agent, and writes the updated CHANGELOG.md. It does not stage or commit.

tag-changelog-update uses a change-source action with type: git-range. When from and to are omitted, it infers to from a tag event (GITHUB_REF_NAME) or the exact tag at HEAD, and from from the previous reachable stable semver tag. Set includePrereleaseFrom: true to compare an RC against the previous RC. It remains an explicit local analysis utility; repository release automation does not run after tags.

release-changelog-finalize supports prereleases and final releases. The manual .github/workflows/release-changelog.yml transaction uses a protected read-only preparation job to validate increasing exact SemVer, update package and lockfile versions, finalize the changelog, refresh the wiki, and run release checks. A deterministic write job applies the checked binary patch and atomically pushes the release commit with its tag. It explicitly dispatches CI, Pages, and the manual-only npm publisher against that immutable tag and commit; a GITHUB_TOKEN push is never used as an implicit trigger.

Fix workflows

local-fix-review-issues loads the latest saved review artifact, runs the task/review-issue-fixer agent, and re-reviews the resulting changes. It uses the same artifact-aware reconciliation as the platform fix flow but stays local.

github-pr-review and gitlab-mr-review also support fix flows when fix=true:

  • fixMode=internal stages and commits fixes to the source branch.
  • fixMode=stacked creates a stacked PR/MR with a branch prefix (default drs-fix/pr-).

Both modes default useChangeRequestAuthor to true, so fix commits are attributed to the original PR/MR creator. Set the input to false when push rules require the authenticated token owner's committer identity. The stack-guard action prevents the workflow from running recursively on DRS-managed branches. The review-threshold action checks whether enough findings at or above fixSeverity exist before any fix work begins.

Agent guidance refresh

local-update-agents-md runs task/agents-md-updater to refresh repository guidance such as AGENTS.md. The default output path is AGENTS.md, but it can be overridden with the path input.

The stacked platform variants (github-pr-update-agents-md-stacked and gitlab-mr-update-agents-md-stacked) expose the same default-true useChangeRequestAuthor input for updated guidance commits.

Project-local composed workflows

This repository defines a project-local workflow at .drs/workflows/local-changelog-review.yaml:

  1. Load the local unstaged diff.
  2. Run task/changelog-updater to edit CHANGELOG.md.
  3. Reload the local diff.
  4. Run the normal review action on the final changes.
  5. Commit only CHANGELOG.md with docs: update changelog.

It is selected as the default workflow in .drs/drs.config.yaml (workflow.default: local-changelog-review), so npm run dev:cli -- workflow run runs it without a name.

Repository wiki

The repository-wiki-sync workflow creates or updates an OKF v0.1 wiki bundle. It uses a deterministic delta planner to decide whether the wiki needs to be regenerated, reconciled, updated, or left unchanged. The task/okf-wiki-maintainer agent runs only when the delta plan says work is needed, and it runs under generic workflow-agent permissions that restrict writes to Markdown below the configured bundle root, deny generated indexes, reject shell access, and validate proposed OKF documents before each mutation. After the agent edits concepts, the workflow synchronizes directory indexes, validates the bundle, records state in .drs/wiki-state.json, and outputs wikiResult — the validation object enriched with summary and escaped summaryMarkdown.

The repository-wiki-check workflow is a model-free CI gate. It checks the recorded delta state and validates the bundle without invoking an agent. .github/workflows/ci.yml runs the strict check for the scheduled drs/wiki-update pull request; ordinary feature pull requests build the wiki site to validate bundle structure and rendering without requiring branch-local freshness.

See Repository wiki for the full delta fingerprinting, state, and validation details.

See also