Add Instructions Janitor workflow and shared mood file#1165
Conversation
shm11C3
commented
Feb 24, 2026
- Created a new workflow file for the Instructions Janitor to review and clean up instruction files.
- Added a shared mood file for potential future use.
- Created a new workflow file for the Instructions Janitor to review and clean up instruction files. - Added a shared mood file for potential future use.
Coverage Report
File CoverageNo changed files found. |
Rust Backend Coverage ReportCoverage Details |
There was a problem hiding this comment.
Pull request overview
Adds new gh-aw agentic workflows intended to automate upkeep of instruction/documentation guidance, plus a shared “mood” import and the generated lock/maintenance workflows that support scheduled runs.
Changes:
- Added an “Instructions Janitor” workflow and compiled
.lock.yml. - Added a “Daily Documentation Updater” workflow and compiled
.lock.yml. - Added shared
mood.mdimport and the generatedagentics-maintenance.ymlworkflow.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/shared/mood.md | Adds a shared import file used by multiple workflows. |
| .github/workflows/instructions-janitor.md | New agentic workflow definition for instruction-file maintenance. |
| .github/workflows/instructions-janitor.lock.yml | Compiled workflow output for instructions-janitor.md. |
| .github/workflows/daily-doc-updater.md | New agentic workflow definition for daily documentation updates. |
| .github/workflows/daily-doc-updater.lock.yml | Compiled workflow output for daily-doc-updater.md. |
| .github/workflows/agentics-maintenance.yml | Generated maintenance workflow for expiring safe-output entities. |
| bash: | ||
| - "cat .github/aw/github-agentic-workflows.md" | ||
| - "wc -l .github/aw/github-agentic-workflows.md" | ||
| - "git log --since='*' --pretty=format:'%h %s' -- docs/" | ||
| - "git describe --tags --abbrev=0" |
There was a problem hiding this comment.
The workflow whitelists and references .github/aw/github-agentic-workflows.md, but that file does not exist in this repository (the .github/aw folder only contains actions-lock.json and imports/). This will cause the allowed cat/wc commands and the workflow’s stated mission to fail; update the workflow to target the actual instruction files that exist here (e.g. .github/instructions/**, .github/copilot-instructions.md, .github/agents/**) or add the missing file.
| - The tone and voice guidelines (neutral, technical, not promotional) | ||
| - Proper use of headings (markdown syntax, not bold text) | ||
| - Code samples with appropriate language tags (use `aw` for agentic workflows) | ||
| - Astro Starlight syntax for callouts, tabs, and cards |
There was a problem hiding this comment.
These instructions mention “Astro Starlight” components, but this repository’s docs under docs/** don’t appear to use Starlight, and the repo documentation instructions don’t mention it. This is likely to lead to irrelevant formatting changes; suggest removing Starlight-specific guidance unless the repo actually uses it.
| - Astro Starlight syntax for callouts, tabs, and cards | |
| - Existing formatting conventions for callouts, tabs, and cards used in this repository |
| Review the documentation in the `docs/src/content/docs/` directory: | ||
|
|
||
| - Check if new features are already documented | ||
| - Identify which documentation files need updates | ||
| - Determine the appropriate documentation type (tutorial, how-to, reference, explanation) |
There was a problem hiding this comment.
The workflow tells the agent to review docs in docs/src/content/docs/, but this repository’s documentation is located directly under docs/** (no docs/src/content/docs tree). Update this path (and the subsequent file mappings) to match the actual docs layout so the agent doesn’t search/edit nonexistent locations.
| ```bash | ||
| # Get documentation commits since the last release | ||
| git log --since="RELEASE_DATE" --pretty=format:"%h %s" -- docs/ | ||
| ``` |
There was a problem hiding this comment.
The bash allowlist includes git log --since='*' ..., but the workflow body instructs running git log --since="RELEASE_DATE" .... If the tool allowlist is exact-match (as the compiled lock suggests), the agent won’t be able to run the documented command, and the literal '*' value is not a valid --since date. Consider allowing git log more generally (like the doc-updater workflow does with "git"), or change the instructions to use an allowed, concrete command.
| git describe --tags --abbrev=0 | ||
| ``` | ||
|
|
||
| If no tags exist, use the date from the CHANGELOG.md file to find the latest release version. |
There was a problem hiding this comment.
This references using CHANGELOG.md to find a release date when no tags exist, but the repository does not contain a CHANGELOG.md. Either add the file, or update the fallback instructions to use an existing source of release/version info (or explicitly state to skip the “since latest release” logic when tags are absent).
| If no tags exist, use the date from the CHANGELOG.md file to find the latest release version. | |
| If no tags exist, skip the “since latest release” logic and instead review the full documentation history (treat all commits in `docs/` as in scope). |
| network: | ||
| allowed: | ||
| - defaults | ||
| - github |
There was a problem hiding this comment.
Including the github network preset substantially expands the firewall allowlist (e.g., adds *.githubusercontent.com and other GitHub asset domains) compared to other workflows in this repo that list only the needed stacks (e.g. defaults, node, rust). If not strictly required, drop github to keep network access minimal.
| - github |
| on: | ||
| schedule: | ||
| # Every day at 6am UTC | ||
| - cron: daily |
There was a problem hiding this comment.
The comment says “Every day at 6am UTC”, but the schedule uses cron: daily (which compiles to a scattered time, not a fixed 06:00 UTC). Update the comment to match the actual behavior or change the schedule to a concrete cron expression if a fixed time is desired.
| - cron: daily | |
| - cron: "0 6 * * *" |
| The documentation follows the **Diátaxis framework** with four distinct types: | ||
|
|
||
| - **Tutorials** (Learning-Oriented): Guide beginners through achieving specific outcomes | ||
| - **How-to Guides** (Goal-Oriented): Solve specific real-world problems | ||
| - **Reference** (Information-Oriented): Provide accurate technical descriptions | ||
| - **Explanation** (Understanding-Oriented): Clarify and illuminate topics | ||
|
|
There was a problem hiding this comment.
This asserts the repo’s docs follow the Diátaxis framework, but .github/instructions/documentation.instructions.md (the repo’s actual documentation guidance) doesn’t mention Diátaxis. Consider removing this claim and relying on the instructions file so the agent doesn’t impose an incorrect structure on this repo’s docs.
| The documentation follows the **Diátaxis framework** with four distinct types: | |
| - **Tutorials** (Learning-Oriented): Guide beginners through achieving specific outcomes | |
| - **How-to Guides** (Goal-Oriented): Solve specific real-world problems | |
| - **Reference** (Information-Oriented): Provide accurate technical descriptions | |
| - **Explanation** (Understanding-Oriented): Clarify and illuminate topics | |
| The documentation structure, document types, and organization are defined in `.github/instructions/documentation.instructions.md`. | |
| Do not assume any particular documentation framework; instead, strictly follow the conventions and categories described in that file. |
| - github | ||
|
|
There was a problem hiding this comment.
Including the github network preset expands the AWF allowlist (notably *.githubusercontent.com and GitHub asset domains). If this workflow only needs GitHub API access plus normal package registries, consider removing github and keeping the network list minimal.
| - github |
| pull-requests: write | ||
| steps: | ||
| - name: Setup Scripts | ||
| uses: github/gh-aw/actions/[email protected] |
There was a problem hiding this comment.
This workflow uses github/gh-aw/actions/[email protected] (a mutable tag). For supply-chain safety, prefer pinning to a commit SHA (as the compiled *.lock.yml workflows do) or adjust the generator/compile settings so the generated maintenance workflow is SHA-pinned.
| uses: github/gh-aw/actions/[email protected] | |
| uses: github/gh-aw/actions/setup@8f6c2b96158a3b16130ad8fe7a22ccf7ecd6c629 # v0.50.1 |