Skip to content

feat(workflows): add automated ms.date freshness checking for documentation #164

@WilliamBerryiii

Description

@WilliamBerryiii

Summary

The documentation maintenance policy (docs/contributing/documentation-maintenance.md) references automated ms.date freshness checking as a planned future enhancement. Implement a GitHub Actions workflow that detects stale ms.date frontmatter values in Markdown files and surfaces them during CI or on a schedule.

Current Behavior

> [!NOTE]
> Automated `ms.date` freshness checking (GitHub Actions) is planned for a future milestone.

Freshness is tracked manually through the ms.date frontmatter field. There is no automated detection of stale documentation.

Expected Behavior

A GitHub Actions workflow that:

  • Parses ms.date frontmatter from all Markdown files in the repository
  • Flags files where ms.date exceeds a configurable staleness threshold (for example, 90 or 180 days)
  • Runs on a schedule (for example, weekly) or as part of PR checks
  • Outputs a report of stale files with their last ms.date value and age

Acceptance Criteria

  • GitHub Actions workflow created in .github/workflows/
  • Configurable staleness threshold (default 90 days)
  • Report output lists file path, ms.date value, and days since last update
  • Workflow does not block PRs (informational only initially)
  • Update the [!NOTE] alert in docs/contributing/documentation-maintenance.md to reference the workflow once implemented
  • Verify npm run lint:md passes after any documentation changes

Context

Identified during PR #162 code review. The current manual approach relies on contributors remembering to update ms.date, which is error-prone. Automation improves compliance with the OpenSSF documentation_current criterion.

Files Affected

  • .github/workflows/ (new workflow file)
  • docs/contributing/documentation-maintenance.md (update NOTE alert)

Metadata

Metadata

Assignees

Labels

ci/cdCI/CD pipeline and automationdocumentationDocumentation improvements (alias for docs)enhancementNew feature or improvement requestsize-mMedium: 4-8 hours

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions