Skip to content

chore(tooling): delete comments from the verifier, tests and repository config (#218) - #220

Merged
mergify[bot] merged 3 commits into
mainfrom
chore/218-sweep-tooling-comments
Oct 16, 2026
Merged

mergify[bot] merged 3 commits into
mainfrom
chore/218-sweep-tooling-comments

Conversation

@ericlitman

@ericlitman ericlitman commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Part of #218. Applies the AGENTS.md no-comments rule (#219) to the repository's own tooling.

Summary

.claude/skills/verify-open-pstack/
├── features/recipes.ts      53 comments deleted
└── scripts/*.ts             ~95 comments deleted, + one freshRoot test in io.test.ts
tests/skill-collision-repro.sh   5 deleted
.github/workflows/windows-hooks.yml, .gitignore, .mergify.yml   8 deleted

Every file here is authored by this repository: none exists in Cursor's pstack at the sync commit. 11 comments stay because each states a Claude Code, Codex, Git, GitHub or Linux fact. Examples: Codex workspace-write blocks network access, a claude -p stream-json replay carries the slash command, Linux mtimes are coarser than Date.now(), and the # v7.0.1 tag pin.

One edit is not a deletion. freshRoot's comment "EEXIST deliberately rejects reuse and symlinks" stated a constraint that nothing enforced, so it is now a test. The test fails when mkdir gets recursive: true.

tests/setup-config-home-repro.sh is left out. features/registry.json maps no owner for it, so any change to it fails classification closed. The follow-up issue records it.

The module docstrings of scripts/upstream-merge.py and scripts/upstream-merge-probe.py stay. They are each script's only usage text, which is the CLI's contract.

Evidence

  • Comment-only check: a script parses each changed file before and after and compares them with comments removed: TypeScript through the compiler printer, shell, YAML and ignore files with # comments dropped. Result on 292659d: 22 files comment-only, 1 CODE-CHANGED (io.test.ts, the new test), 1 NOT-CODE (registry.json). 220d24a returns registry.json and tests/setup-config-home-repro.sh to main's content.
  • Constraint test: with mkdir(root, { recursive: true, mode: 0o700 }) in freshRoot, the new test fails (11 pass, 1 fail). With the real code it passes.

Live gate features: this PR changes the verifier, so it runs from this head with --self-test.

  • claude:project-skill: the installed candidate discovers this skill and runs verify.sh doctor --candidate through it. Classification adds codex:project-skill.

Merge Danger

Door: two-way

Blast Radius: tooling

The code paths are unchanged, except for one added test and one registry entry. .github/workflows/windows-hooks.yml changes, so Mergify does not queue this PR automatically. The operator queues it after the plugin sweep merges.

Acceptance criteria

  • "The sweep covers only files that UPSTREAM.md, CHANGES.md and NOTICE.md identify as local adaptations or additions." Verified: every changed path is outside plugins/pstack/, and upstream is only pstack/.
  • "Each PR passes verify and the other required checks." Verified locally below. CI verify, Unfret and live-gate report on this PR.
  • "MUST KILL reshapes that the sweep does not fix are listed in one follow-up issue." This PR fixes none of them. The follow-up issue lists all 16 reshapes from this directory, plus the unswept setup repro script. It is filed after the plugin sweep.

Gate results

On head 220d24a:

Check Exit
bun run test (501 tests) 0
bun run typecheck 0
bun run static (167 tests) 1: publisher request boundaries > a manifest is version-only … hit Bun's 5000 ms default timeout at a load average of 565
claude plugin validate plugins/pstack 0
bun run typecheck in .claude/skills/verify-open-pstack 0

That test changed only in comments, and it passes alone (5.84 s). On 292659d all five checks exited 0.

Review rounds

  • Head 292659d (full panel): one blocking finding. Registering tests/setup-config-home-repro.sh as nonRuntime would let a change to that script publish live-gate success without exercising it. Class: verdict-changing (gate integrity). Fix in 220d24a: drop the registry entry and leave the script out of the sweep.

Not verified

  • The live gate's self-test runs the doctor, not the runner, catalog or setup recipes whose comments were deleted. Those recipes' code is unchanged (comment-only check above), and catalog.test.ts, runner.test.ts and reflect.test.ts cover them.

🤖 Generated with Claude Code

…ry config (#218)

Applies the AGENTS.md no-comments rule to the repository's own tooling:
the verify-open-pstack scripts and recipes, tests/*.sh, .gitignore,
.mergify.yml and the Windows hooks workflow. Comments that state a
Claude Code, Codex, Git, GitHub or Linux fact stay.

freshRoot's "EEXIST rejects reuse and symlinks" comment becomes a test.
tests/setup-config-home-repro.sh is registered as nonRuntime so a change
to it classifies instead of failing closed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mergify

mergify Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Merge Protections

🔴 1 of 2 protections blocking · waiting on 🙋 you

Protection Waiting on
🔴 🚦 Auto-queue 🙋 you
🟢 Queue ready pull requests —

🔴 🚦 Auto-queue

Waiting for

  • -files~=^\.github/
This rule is failing.

When all merge protections are satisfied and these conditions match, this pull request will be queued automatically.

  • -files~=^\.github/
  • base = main

Show 1 satisfied protection

🟢 Queue ready pull requests

Automatically queue non-draft pull requests targeting main after verify, Unfret, and live-gate pass on the head and every review thread is resolved.

  • #review-threads-unresolved = 0
  • -draft
  • check-success=Unfret
  • check-success=live-gate
  • check-success=verify

@ericlitman

Copy link
Copy Markdown
Owner Author

Live evidence: Open Pstack

  • Candidate SHA: 292659d9dd6e8e48eecb9a1a37392ce36d86bb35
  • Base SHA: 894570efec8f8a2b109d5a83a192f825e22023b7
  • Result: PASSED — named features verified
  • Self-test: completed in both harnesses
  • Planned sessions: 2 (limit 12)
  • Publisher revision: 292659d9dd6e8e48eecb9a1a37392ce36d86bb35
  • Evidence-set SHA-256: aa9713f71976570060b133e6a09f0d6b9b3c26aa00a06c50b20a3591e94a6673
  • Installation (claude): CLI 2.1.302 (Claude Code), plugin 1.15.0, candidate 292659d9dd6e8e48eecb9a1a37392ce36d86bb35, tree bc0a3990e5f96077709e96b8702bb2a078d053aafbcdb1e748628c9892c14f3a.
  • Installation (codex): CLI codex-cli 0.163.0, plugin 1.15.0, candidate 292659d9dd6e8e48eecb9a1a37392ce36d86bb35, tree bc0a3990e5f96077709e96b8702bb2a078d053aafbcdb1e748628c9892c14f3a.
  • Observation (claude / project-skill): surface claude -p stream-json with the candidate plugin-dir; action recipe project-skill: doctor; result passed: doctor:exit-0 doctor:skill-loaded doctor:doctor-ran doctor:doctor-canonical-pass; 4 assertions machine-checked; transcript SHA-256 d16d194ddbeaa3a4389555d8d9ae7ee91641c56a555053f56fa9a4db5276c064; artifact-set SHA-256 7d0558beae218562af626ae4f2d65b1d748cb7c58af12a3714a1d3c0a53254f4.
  • Observation (codex / project-skill): surface codex exec --json with the run-owned candidate installation; action recipe project-skill: doctor; result passed: doctor:exit-0 doctor:skill-loaded doctor:doctor-ran doctor:doctor-canonical-pass; 4 assertions machine-checked; transcript SHA-256 ae22a57f711a25218145bbe4c4f875d36612e2b4d4848b346a87fc9caafb15b6; artifact-set SHA-256 7cfa8a3189c9cb97d968e41b110ef40cc82d389438f7387ce52eb05a0bdc6fea.
  • Policy: every new head requires a fresh run; this verifier does not change PR state, queue, or merge.

@greptile-apps

greptile-apps Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileTier: plus

[Low impact] The PR appears safe to merge; no actionable defects were found.

Summary

Removes comments from repository-owned tooling and configuration.

  • Verifier and repository files no longer carry explanatory comments.
  • The verifier tests that output roots are fresh and private.

Scope acknowledged by ericlitman: 16 code reshapes are deferred to a follow-up. External-fact comments and CLI usage docstrings stay intentionally.

Reviews (1) · Last reviewed commit: "chore(tooling): delete comments from the..." · Reviewed by Greptile

@unfret-eal

unfret-eal Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

✅ No blocking findings

Walkthrough

This PR applies the repository's no-comments rule to its own tooling. It deletes roughly 160 comments from the verify-open-pstack skill's recipes, scripts and tests, from the collision repro shell script, and from the Windows hooks workflow, .gitignore and .mergify.yml, without changing any runtime code. The one non-deletion is in io.ts: the comment saying freshRoot's mkdir deliberately rejects reuse and symlinks is replaced by a new test in io.test.ts that expects EEXIST for an existing directory and for a symlink, and checks the root is created with 0700 permissions. Because the workflow file changes, Mergify won't auto-queue this PR, and the operator queues it by hand.

Area What changes
Verifier recipes and scripts Comments and docstrings deleted from recipes.ts, core.ts, harness.ts, verify.ts, types.ts, isolation.ts and the other scripts; code paths unchanged, and two catch blocks now have empty bodies.
freshRoot constraint The inline comment on mkdir in io.ts is removed, and io.test.ts adds a test that freshRoot creates a 0700 root and rejects reuse and symlinks with EEXIST.
Repository config and shell tests Explanatory comments removed from windows-hooks.yml, .gitignore, .mergify.yml and tests/skill-collision-repro.sh, with no change to their rules or commands.
Since the last review
  • Fixed: Executable setup repro is incorrectly exempted from live verification. Why: The carried defect is fixed at the current head. The registry no longer exempts tests/setup-config-home-repro.sh as nonRuntime, and neither that registry entry nor changes to the script remain in the supplied diff. The script matches no registered owner or exemption, so classify throws 'Unmapped path: tests/setup-config-home-repro.sh' instead of returning noRuntime=true. Consequently, a script-only change cannot reach the reported unexercised live-gate success path. This satisfies the prior mandatory repair rather than reversing it.
Details
Lane / stage Model Effort Outcome Duration
broad-gpt-5.6-sol-xhigh / review openai/gpt-5.6-sol → gpt-5.6-sol · primary xhigh succeeded 17 s
broad-opus-5.5-max / review anthropic/claude-opus-5-5 → claude-opus-5-5 · primary max succeeded 2 min 51 s
focal-gpt-5.6-sol-xhigh copy / review openai/gpt-6.1-sol → gpt-6.1-sol · primary xhigh succeeded 5 min 10 s
focal-gpt-5.6-sol-xhigh copy 2 / review openai/gpt-6.1-sol → gpt-6.1-sol · primary xhigh succeeded 6 min 37 s
judge / judge openai/gpt-6-astra → gpt-6-astra · primary high succeeded 19 s

Reviewed the whole pull request.
4 reviewers finished.
Commit 220d24a.
Check run.
Run: GET /unfret/run/panel:220d24ab9b2d76e3284f9222e558e92b8b42b918:i0KrOKj_aze:nLV2G3T3FaY.

@unfret review · @unfret status · @unfret help

@unfret-eal unfret-eal Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛑 1 blocking finding
🔴 High · Executable setup repro is incorrectly exempted from live verification
Check

Comment thread .claude/skills/verify-open-pstack/features/registry.json Outdated
… sweep (#218)

Registering tests/setup-config-home-repro.sh as nonRuntime would let a
change to it publish live-gate success without exercising it. The script
stays unmapped, so a change to it still fails classification closed, and
its comment stays until its ownership is mapped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ericlitman

Copy link
Copy Markdown
Owner Author

Live evidence: Open Pstack

  • Candidate SHA: 220d24ab9b2d76e3284f9222e558e92b8b42b918
  • Base SHA: 894570efec8f8a2b109d5a83a192f825e22023b7
  • Result: PASSED — named features verified
  • Self-test: completed in both harnesses
  • Planned sessions: 2 (limit 12)
  • Publisher revision: 220d24ab9b2d76e3284f9222e558e92b8b42b918
  • Evidence-set SHA-256: 437eab645fa2403f82e0967c0fd037543f31cf8a0c880d8516f1a059e73e1203
  • Installation (claude): CLI 2.1.302 (Claude Code), plugin 1.15.0, candidate 220d24ab9b2d76e3284f9222e558e92b8b42b918, tree bc0a3990e5f96077709e96b8702bb2a078d053aafbcdb1e748628c9892c14f3a.
  • Installation (codex): CLI codex-cli 0.163.0, plugin 1.15.0, candidate 220d24ab9b2d76e3284f9222e558e92b8b42b918, tree bc0a3990e5f96077709e96b8702bb2a078d053aafbcdb1e748628c9892c14f3a.
  • Observation (claude / project-skill): surface claude -p stream-json with the candidate plugin-dir; action recipe project-skill: doctor; result passed: doctor:exit-0 doctor:skill-loaded doctor:doctor-ran doctor:doctor-canonical-pass; 4 assertions machine-checked; transcript SHA-256 a8ab9e4b2c003a67ffdd6acaead6ca09261f66f2ceddfedcf89c4456f3e74c75; artifact-set SHA-256 6460f824851b92984d43325579d9c022c8f7c176eb6db829da7621b76c24875c.
  • Observation (codex / project-skill): surface codex exec --json with the run-owned candidate installation; action recipe project-skill: doctor; result passed: doctor:exit-0 doctor:skill-loaded doctor:doctor-ran doctor:doctor-canonical-pass; 4 assertions machine-checked; transcript SHA-256 0c96aa47d0a1c8a06a64e1f764de9374e66434f0567dbbefc77fb8e092d55379; artifact-set SHA-256 1c85b7876f7a5de5beb730df22c60c1cc0969f52e65be1b765ef2ea3d8ff7e0b.
  • Policy: every new head requires a fresh run; this verifier does not change PR state, queue, or merge.

@unfret-eal unfret-eal Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No blocking findings
Check

@mergify

mergify Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Queued — the merge queue status continues in this comment ↓.

@ericlitman

Copy link
Copy Markdown
Owner Author

@Mergifyio refresh

@mergify

mergify Bot commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

refresh

✅ Pull request refreshed

@ericlitman

Copy link
Copy Markdown
Owner Author

@Mergifyio queue

@mergify

mergify Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • ✅ Entered queue — 2026-10-16 23:19 UTC · Rule: default · triggered by @ericlitman with the @mergifyio queue command
  • ✅ Checks passed · in-place
  • ✅ Merged — 2026-10-16 23:21 UTC · at 9368993ea3d96b491833d53c0964b389e868162c · merge

This pull request spent 2 minutes 5 seconds in the queue, including 1 minute 14 seconds running CI.

Required conditions to merge

@mergify mergify Bot added the queued label Oct 16, 2026
@ericlitman

Copy link
Copy Markdown
Owner Author

Live evidence: Open Pstack

  • Candidate SHA: 6928ed17a66091dd022ed79b4cf52d69a277cd52
  • Base SHA: b53c4de304b4c7afb918ae89e4f595273355f295
  • Result: PASSED — named features verified
  • Self-test: completed in both harnesses
  • Planned sessions: 2 (limit 12)
  • Publisher revision: 6928ed17a66091dd022ed79b4cf52d69a277cd52
  • Evidence-set SHA-256: 47d72d7850357b948854a2422d3a72b49a7a87b6a91c16d785c0b5db3fbca32c
  • Installation (claude): CLI 2.1.302 (Claude Code), plugin 1.15.0, candidate 6928ed17a66091dd022ed79b4cf52d69a277cd52, tree 9d7e979fd31237a09c19bf93b23127df18d3cd9336f2537e8a6a5ab127f23b39.
  • Installation (codex): CLI codex-cli 0.163.0, plugin 1.15.0, candidate 6928ed17a66091dd022ed79b4cf52d69a277cd52, tree 9d7e979fd31237a09c19bf93b23127df18d3cd9336f2537e8a6a5ab127f23b39.
  • Observation (claude / project-skill): surface claude -p stream-json with the candidate plugin-dir; action recipe project-skill: doctor; result passed: doctor:exit-0 doctor:skill-loaded doctor:doctor-ran doctor:doctor-canonical-pass; 4 assertions machine-checked; transcript SHA-256 b50d281732c0239209c4a5bcc6cb69e05c7832648eb23cb8351d3b01235d669c; artifact-set SHA-256 3cf60403359703ee7f5d68a5f5898ab1fb8bfd0e1650ff7131cff9d86e13081b.
  • Observation (codex / project-skill): surface codex exec --json with the run-owned candidate installation; action recipe project-skill: doctor; result passed: doctor:exit-0 doctor:skill-loaded doctor:doctor-ran doctor:doctor-canonical-pass; 4 assertions machine-checked; transcript SHA-256 3df33bb4c1e0e7986a916defcefc1c648467edd0d383fadef5b041eb6e0f4180; artifact-set SHA-256 9bf24669364eec5280218434e9acbf1739b3614d508b72d9f5cb36bec5896633.
  • Policy: every new head requires a fresh run; this verifier does not change PR state, queue, or merge.

@mergify
mergify Bot merged commit 9368993 into main Oct 16, 2026
7 checks passed
@mergify mergify Bot removed the queued label Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant