293 lines
7.6 KiB
Markdown
293 lines
7.6 KiB
Markdown
# Cleanup Baseline — ai-coding-skills (M1)
|
||
|
||
Captured: 2026-05-03 · Platform: macOS (arm64, Apple Silicon) · Node 22.14.0 · pnpm 10.18.1
|
||
|
||
This document records the as-is state of every quality check at the start of
|
||
the refactor series. The transitional `pnpm run check` contract allows the
|
||
aggregate check to exit non-zero **only** on issues listed here. Any failure
|
||
not covered by this document represents a regression introduced by a later
|
||
milestone.
|
||
|
||
---
|
||
|
||
## Byte-equivalence assertion
|
||
|
||
Before any file was modified in M1, `git status` showed a clean working tree.
|
||
After all S-101 through S-107 changes were applied, `git status` confirms:
|
||
|
||
- **Zero** modifications to any nested `package.json` under `skills/` or `pi-package/`.
|
||
- **Zero** modifications to any file under `skills/*/{codex,claude-code,cursor,opencode,pi}/`
|
||
(the generated agent-variant directories).
|
||
- All changes are confined to new root-level config files, new scripts, updated
|
||
root `package.json` (devDependencies + scripts), and new docs.
|
||
|
||
---
|
||
|
||
## 1. Pre-existing root scripts
|
||
|
||
### `pnpm run sync:pi`
|
||
|
||
```text
|
||
Synced pi package skill mirror into …/pi-package/skills.
|
||
EXIT: 0
|
||
```
|
||
|
||
### `pnpm run verify:pi`
|
||
|
||
```text
|
||
package metadata ok
|
||
pi resources verified
|
||
pi workflow skill docs verified
|
||
EXIT: 0
|
||
```
|
||
|
||
### `pnpm run verify:reviewers`
|
||
|
||
```text
|
||
reviewer support verified
|
||
EXIT: 0
|
||
```
|
||
|
||
### `pnpm run test:installer`
|
||
|
||
```text
|
||
TAP version 13
|
||
# tests 22
|
||
# pass 22
|
||
# fail 0
|
||
EXIT: 0
|
||
```
|
||
|
||
---
|
||
|
||
## 2. Nested package scripts
|
||
|
||
### atlassian/shared/scripts — `test`
|
||
|
||
```text
|
||
TAP version 13
|
||
# tests 23
|
||
# pass 23
|
||
# fail 0
|
||
EXIT: 0
|
||
```
|
||
|
||
### atlassian/shared/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### atlassian/codex/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### atlassian/claude-code/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### atlassian/cursor/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### atlassian/opencode/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### atlassian/pi/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### web-automation/codex/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### web-automation/codex/scripts — `lint`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### web-automation/claude-code/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### web-automation/cursor/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### web-automation/opencode/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
### web-automation/pi/scripts — `typecheck`
|
||
|
||
```text
|
||
EXIT: 0
|
||
```
|
||
|
||
---
|
||
|
||
## 3. reviewer-runtime tests
|
||
|
||
All three test scripts under `skills/reviewer-runtime/tests/` passed:
|
||
|
||
```text
|
||
claude-review-template-guard.sh PASS
|
||
smoke-test.sh PASS
|
||
telegram-notify-test.sh PASS
|
||
EXIT: 0 (each)
|
||
```
|
||
|
||
---
|
||
|
||
## 4. M1 quality tooling — baseline violations
|
||
|
||
### 4a. ESLint (`pnpm run lint` — ESLint stage)
|
||
|
||
Exit code: **1** — 2 pre-existing errors (no new errors from M1 additions).
|
||
|
||
Files with violations in the existing codebase:
|
||
|
||
| File | Line | Rule | Message |
|
||
|------|------|------|---------|
|
||
| `scripts/lib/skill-manager-core.mjs` | 282 | `no-useless-assignment` | Value assigned to `entries` is not used |
|
||
| `scripts/manage-skills.mjs` | 270 | `no-unused-vars` | `client` is assigned a value but never used |
|
||
|
||
Action: Fix in a later milestone. Do not suppress with eslint-disable comments
|
||
unless the code is intentionally dead.
|
||
|
||
### 4b. shellcheck (`pnpm run lint` — shellcheck stage)
|
||
|
||
Exit code: **1** — 7 files with pre-existing findings (no new violations from M1).
|
||
|
||
| File | Finding |
|
||
|------|---------|
|
||
| `scripts/verify-pi-resources.sh` | SC2016 (info, ×3): single-quoted backtick strings; SC2251 (info, ×1): `!` outside condition |
|
||
| `scripts/verify-pi-workflows.sh` | SC2016 (info, ×2): single-quoted backtick strings; SC2251 (info, ×1): `!` outside condition |
|
||
| `skills/reviewer-runtime/pi/run-review.sh` | SC2329 (info): unused `handle_signal`; SC2034 (warning, ×2): unused variables |
|
||
| `skills/reviewer-runtime/run-review.sh` | SC2329 (info): unused `handle_signal`; SC2034 (warning, ×2): unused variables |
|
||
| `skills/reviewer-runtime/tests/claude-review-template-guard.sh` | SC2016 (info, ×1): single-quoted expansion |
|
||
| `skills/reviewer-runtime/tests/smoke-test.sh` | SC2064 (warning, ×1): `trap` should use single quotes |
|
||
| `skills/reviewer-runtime/tests/telegram-notify-test.sh` | SC2064 (warning, ×1): `trap` should use single quotes |
|
||
|
||
The following files pass shellcheck with EXIT 0:
|
||
|
||
- `scripts/install-pi-package.sh`
|
||
- `scripts/manage-skills.sh`
|
||
- `scripts/sync-pi-package-skills.sh`
|
||
- `scripts/verify-reviewer-support.sh`
|
||
- `skills/reviewer-runtime/notify-telegram.sh`
|
||
- `skills/reviewer-runtime/pi/notify-telegram.sh`
|
||
- `skills/web-automation/scripts/sync-variants.sh`
|
||
|
||
Action: Fix `SC2064` trap issues and `SC2034` warnings in a later milestone.
|
||
SC2016 findings are intentional (single-quoted strings containing backticks are
|
||
used as literal grep patterns to match markdown text).
|
||
|
||
### 4c. markdownlint (`pnpm run verify:docs`)
|
||
|
||
Exit code: **1** — 1160 errors across 62 files (no new violations from M1 additions).
|
||
|
||
markdownlint-cli2 v0.22.1 scanned `README.md`, `docs/**/*.md`, and canonical
|
||
`SKILL.md` files (excluding node\_modules and generated agent-variant
|
||
directories).
|
||
|
||
Rule breakdown (selected):
|
||
|
||
| Rule | Description |
|
||
|------|-------------|
|
||
| MD013 | Line length > 120 chars (majority of errors) |
|
||
| MD012 | Multiple consecutive blank lines |
|
||
| MD024 | Duplicate headings |
|
||
| MD029 | Ordered list item prefix |
|
||
| MD032 | Blanks around lists |
|
||
| MD038 | Spaces inside code span |
|
||
| MD040 | Fenced code without language |
|
||
| MD058 | Blanks around tables |
|
||
|
||
Affected files include (non-exhaustive): `docs/ATLASSIAN.md`,
|
||
`docs/CREATE-PLAN.md`, `docs/DO-TASK.md`, `docs/IMPLEMENT-PLAN.md`,
|
||
`docs/INSTALLER.md`, `docs/PI-COMMON-REVIEWER.md`, `docs/PI-RESEARCH.md`,
|
||
`docs/PI-SUPERPOWERS.md`, `docs/PI.md`, `docs/README.md`,
|
||
`docs/TELEGRAM-NOTIFICATIONS.md`, `docs/WEB-AUTOMATION.md`, `README.md`,
|
||
and all `skills/*/*/SKILL.md` variants.
|
||
|
||
Action: Bulk-fix in a dedicated doc-cleanup milestone. New docs added in M1
|
||
(`docs/DEVELOPMENT.md`, `docs/CLEANUP-BASELINE.md`) pass all enabled rules.
|
||
|
||
### 4d. markdown-link-check (offline, `pnpm run verify:docs`)
|
||
|
||
Exit code: **0** — no broken repo-relative or anchor links found.
|
||
|
||
53 markdown files scanned (offline mode: external http/https links ignored).
|
||
All internal links are valid.
|
||
|
||
### 4e. `pnpm run typecheck` (workspace aggregate)
|
||
|
||
Exit code: **0**.
|
||
|
||
Ran `typecheck` in workspace members:
|
||
|
||
- `skills/atlassian/shared/scripts` — PASS
|
||
- `skills/web-automation/codex/scripts` — PASS
|
||
|
||
### 4f. `pnpm run test` (workspace aggregate)
|
||
|
||
Exit code: **0**.
|
||
|
||
Ran:
|
||
|
||
- `pnpm run test:installer` (22/22 tests)
|
||
- `skills/atlassian/shared/scripts test` (23/23 tests)
|
||
|
||
### 4g. `pnpm run check` aggregate (M1 transitional state)
|
||
|
||
```text
|
||
FAIL lint (exit 1) — ESLint + shellcheck pre-existing violations (§4a, §4b)
|
||
PASS typecheck
|
||
PASS test
|
||
PASS verify:pi
|
||
PASS verify:reviewers
|
||
FAIL verify:docs (exit 1) — markdownlint pre-existing violations (§4c)
|
||
PASS verify:generated (stub)
|
||
```
|
||
|
||
Overall exit: **1** — expected per transitional contract; all failures are
|
||
pre-existing and documented in this file.
|
||
|
||
---
|
||
|
||
## 5. Platform notes
|
||
|
||
- Tested on macOS 15 (arm64). No GNU/Linux run available at M1 capture time.
|
||
- shellcheck 0.11.0 installed via `brew install shellcheck`.
|
||
- `stat` variant: BSD stat (macOS default). The `scripts/` shell scripts do
|
||
not call `stat`; this affects only M5 CI configuration.
|
||
- `rg` (ripgrep) is required by `scripts/verify-pi-workflows.sh`. It is
|
||
present on the test machine; absent systems should install via
|
||
`brew install ripgrep` / `apt-get install ripgrep`.
|
||
|
||
---
|
||
|
||
*This file is generated once (M1) and updated only when a subsequent milestone
|
||
changes the baseline status of a check.*
|