Improve repo-assist workflow and documentation - #380
Conversation
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The new repo-memory validation script as written will fail due to undefined fs/path, and the Repo Assist documentation has internal inconsistencies (diagram/task text) that should be corrected before merging.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Lite
Findings: 1
New issues introduced by this change (1)
| Severity | Finding |
|---|---|
workflows/repo-assist.md — The repo-memory validation script references fs and path without defining them, so it will… |
What changed in this PR
This PR updates the Repo Assist agentic workflow and its documentation to reflect expanded task scope (notably Task 2 and Task 7), introduces strict schema validation for persistent Repo Assist memory (notes.json), and refreshes related gh-aw workflow/agent documentation and pinned Actions versions.
Changes:
- Add schema-validated single-file repo memory (
notes.json) and tighten repo-memory constraints in the Repo Assist workflow definition. - Refine task naming/weighting/fallback behavior, including re-scoping Task 7 toward documentation/QA/project basics.
- Update Repo Assist docs and refresh pinned
actions/checkout/setup-clireferences plus associated lockfiles.
| File | Description |
|---|---|
| workflows/repo-assist.md | Expands Repo Assist responsibilities, adds strict notes.json schema validation, and refines task selection and safe-output policies. |
| docs/repo-assist.md | Updates public documentation to match the new task model, fallbacks, and persistent memory behavior. |
| .github/workflows/maintainer.md | Bumps actions/checkout version reference. |
| .github/workflows/maintainer.lock.yml | Regenerates lock to pin updated action SHA(s). |
| .github/workflows/link-checker.md | Bumps actions/checkout version reference. |
| .github/workflows/link-checker.lock.yml | Regenerates lock to pin updated action SHA(s). |
| .github/workflows/daily-workflow-sync.md | Bumps actions/checkout version reference. |
| .github/workflows/daily-workflow-sync.lock.yml | Regenerates lock to pin updated action SHA(s). |
| .github/workflows/copilot-setup-steps.yml | Pins checkout/setup-cli to SHAs and disables persisted credentials for checkout. |
| .github/skills/agentic-workflows/SKILL.md | Expands dispatcher skill guidance and adds optional repository overlay instructions. |
| .github/aw/actions-lock.json | Updates the actions lock entries to match the new pinned set used by the repo/gh-aw tooling. |
| .github/agents/agentic-workflows.md | Updates references to upstream gh-aw prompt/docs locations and adds overlay guidance. |
Suppressed comments (2)
docs/repo-assist.md:28
- The Mermaid diagram still labels Task 2 as "Issue Investigation + Comment", but the doc section below renames Task 2 to "Issue Investigation then Resolve, Fix, Seek Clarification or Comment". Keeping the diagram consistent avoids confusion for readers skimming the workflow overview.
This issue also appears on line 117 of the same file.
W --> S[Select 3 tasks]
S --> A[Read Memory]
A --> T1[Task 1: Issue Labelling]
A --> T2[Task 2: Issue Investigation + Comment]
A --> T3[Task 3: Issue Investigation + Fix]
docs/repo-assist.md:121
- Task 11 is described here as only running "Every scheduled run that performs work", but the workflow instructions state "Always do Task 11 ... every run". These documents should agree on whether manual/command runs and no-op runs update the monthly activity issue.
### Task 11: Monthly Activity Summary
Every scheduled run that performs work, Repo Assist updates a rolling monthly activity issue that gives maintainers a single place to see all activity and suggested actions. The action list is rebuilt from current repository state and memory, completed or closed items are removed, and run history is kept in reverse chronological order.
### Persistent Memory
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
It introduces a repo-memory validation script and documentation/locking updates that have concrete correctness/consistency issues which could cause workflow failures or confusion unless fixed.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Lite
Findings: 2
New issues introduced by this change (1)
| Severity | Finding |
|---|---|
.github/aw/actions-lock.json — .github/aw/actions-lock.json no longer contains entries for action tags that are used by this… |
Pre-existing issues (1)
| Severity | Finding |
|---|---|
workflows/repo-assist.md — The repo-memory validation script references fs and path without defining them, so it will… View comment |
Suppressed comments (3)
Previously missed (2) — in code that hasn't changed since the last review.
docs/repo-assist.md:28
- The Mermaid diagram still labels Task 2 as “Issue Investigation + Comment”, but the workflow/docs now describe Task 2 as investigating then resolve/fix/seek clarification/comment. This mismatch makes the diagram misleading.
W --> S[Select 3 tasks]
S --> A[Read Memory]
A --> T1[Task 1: Issue Labelling]
A --> T2[Task 2: Issue Investigation + Comment]
A --> T3[Task 3: Issue Investigation + Fix]
docs/repo-assist.md:121
- The Task 11 description says it runs only “when [a scheduled run] performs work”, but the workflow instructions explicitly say Task 11 is mandatory every (non-command) run. Either the docs or workflow guidance should be aligned so operators know whether Task 11 can be skipped.
workflows/repo-assist.md:77
- The repo-memory validation script references
fsandpathwithout declaring/importing them. In a standard Node runtime this will throwReferenceErrorand fail the workflow before any tasks run. Make the script self-contained by importing the modules it uses at the top.
const fail = message => { throw new Error(`notes.json: ${message}`); };
const data = JSON.parse(fs.readFileSync(path.join(memoryRoot, "notes.json"), "utf8"));
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The updated protected-files.exclude blocks in workflows/repo-assist.md are currently invalid YAML due to incorrect list indentation and may break workflow parsing.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Lite
Findings: 2
New issues introduced by this change (1)
| Severity | Finding |
|---|---|
workflows/repo-assist.md — protected-files.exclude is not valid YAML here because the list items are not indented under the… |
Pre-existing issues (1)
| Severity | Finding |
|---|---|
.github/aw/actions-lock.json — .github/aw/actions-lock.json no longer contains entries for action tags that are used by this… View comment |
Issues resolved since last review (1)
| Severity | Finding |
|---|---|
workflows/repo-assist.md — The repo-memory validation script references fs and path without defining them, so it will… View resolved comment |
Suppressed comments (2)
Previously missed (1) — in code that hasn't changed since the last review.
docs/repo-assist.md:32
- The mermaid diagram still labels Task 2/3 as "Issue Investigation + Comment/Fix", but the doc section below renames Task 2 and uses different phrasing; this makes the diagram inconsistent with the rest of the document.
workflows/repo-assist.md:180
protected-files.excludelist items need to be indented underexclude:; as written, this is invalid YAML / likely parsed incorrectly.
protected-files:
policy: allowed
exclude:
- CHANGELOG.md
- README.md
…hubnext/gh-aw-samples into improve-repo-assist-workflow
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
.github/aw/actions-lock.json is inconsistent with the updated super-linter version used by workflows/markdown-linter.md, which can break or desync locking/compilation.
Review tier: Lite
Findings: None
Issues resolved since last review (2)
| Severity | Finding |
|---|---|
workflows/repo-assist.md — protected-files.exclude is not valid YAML here because the list items are not indented under the… View resolved comment |
|
.github/aw/actions-lock.json — .github/aw/actions-lock.json no longer contains entries for action tags that are used by this… View resolved comment |
Suppressed comments (1)
.github/aw/actions-lock.json:47
.github/aw/actions-lock.jsonpinssuper-linter/super-linter@v8.5.0, but the updated workflowworkflows/markdown-linter.mdnow usessuper-linter/super-linter@v8.7.0. This mismatch will causegh-awlocking/compilation to either fail schema checks or resolve to an unpinned/unexpected revision for that workflow; the lock entry should match the workflow version.
"super-linter/super-linter@v8.5.0": {
"repo": "super-linter/super-linter",
"version": "v8.5.0",
"sha": "61abc07d755095a68f4987d1c2c3d1d64408f1f9"
}

Summary
Release note
These changes require a new
gh-awrelease before they can be used.Validation
Not run, per request; validation will be completed later.