Further AGENTS.md compliance improvements (Accessibility tests, Secret scanning, Strict linting)#2
Further AGENTS.md compliance improvements (Accessibility tests, Secret scanning, Strict linting)#2
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Agent runner idle completed. Repo: metyatech/thread-inbox Summary: |
There was a problem hiding this comment.
Pull request overview
This PR continues the repository’s AGENTS.md compliance work by tightening CI/linting gates, adding security/secret scanning, and introducing an automated accessibility check for the Web UI, along with a small documentation update.
Changes:
- Enforce stricter linting (warnings treated as errors) and force legacy ESLint config mode.
- Add automated accessibility testing for
public/index.htmlusingvitest-axein a jsdom environment. - Add Gitleaks secret scanning in CI and document a SemVer policy in the README.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/__tests__/accessibility.test.ts |
Adds a Vitest + jsdom + axe-core accessibility check for the Web UI HTML. |
package.json |
Updates lint commands to be stricter; adds devDependencies for axe/jsdom/lint tooling. |
package-lock.json |
Locks new dependencies and transitive updates. |
README.md |
Adds a SemVer/versioning policy section. |
AGENTS.md |
Regenerated/updated rules content for compliance. |
.github/workflows/ci.yml |
Adds a new secret-scanning job using Gitleaks. |
.eslintrc.cjs |
Marks ESLint config as root-level to avoid parent config interference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Inject a basic document into jsdom | ||
| document.body.innerHTML = html; | ||
|
|
||
| const results = await axe(document.body); |
There was a problem hiding this comment.
public/index.html is a complete HTML document (doctype/html/head/body). Assigning that entire string to document.body.innerHTML nests an <html> element inside <body>, drops document-level attributes (e.g., <html lang>), and can lead to inaccurate/unstable axe results. Consider loading the HTML into the full jsdom document (e.g., via document.open()/write()/close() or constructing a dedicated JSDOM instance) and run axe against document/document.documentElement instead of document.body.
| // Inject a basic document into jsdom | |
| document.body.innerHTML = html; | |
| const results = await axe(document.body); | |
| // Load the full HTML document into jsdom | |
| document.open(); | |
| document.write(html); | |
| document.close(); | |
| const results = await axe(document); |
| "compose-agentsmd": "^3.5.1", | ||
| "cross-env": "^10.1.0", | ||
| "eslint": "^8.57.0", |
There was a problem hiding this comment.
New devDependencies compose-agentsmd and cross-env require Node >=20 (per their engines), but this package declares engines.node as ">=18". This can break local installs/tests for contributors using Node 18 (or CI if the Node version changes). Either bump this repo’s Node engine requirement/docs to >=20, or pin/downgrade these devDependencies to versions that still support Node 18.
| - **Minor** (0.x.0): New features, commands, or significant enhancements that are backward compatible. | ||
| - **Patch** (0.0.x): Bug fixes, documentation updates, and minor internal improvements. |
There was a problem hiding this comment.
The SemVer examples for Minor and Patch are incorrect: Minor should be x.y.0 (not 0.x.0) and Patch should be x.y.z (not 0.0.x). As written, this can confuse readers about the project’s versioning policy.
| - **Minor** (0.x.0): New features, commands, or significant enhancements that are backward compatible. | |
| - **Patch** (0.0.x): Bug fixes, documentation updates, and minor internal improvements. | |
| - **Minor** (x.y.0): New features, commands, or significant enhancements that are backward compatible. | |
| - **Patch** (x.y.z): Bug fixes, documentation updates, and minor internal improvements. |
| Source: github:metyatech/agent-rules@HEAD/rules/global/autonomous-operations.md | ||
|
|
||
| # Autonomous operations | ||
| # Autonomous operations |
There was a problem hiding this comment.
This header line appears to include a leading BOM/zero-width character before # (it renders as #). That can break Markdown tooling/rendering and creates noisy diffs. Please remove the hidden character and ensure the generator emits clean UTF-8 without embedded BOM characters.
| # Autonomous operations | |
| # Autonomous operations |
This PR builds upon PR #1 to bring the repository into full compliance with AGENTS.md rules.
Changes:
Verification:
pm run verify\ passes successfully.
pm audit fix.