Skip to content

fix(verify): map repository-root attribution files as nonRuntime (#134) - #135

Merged
mergify[bot] merged 1 commit into
mainfrom
fix/issue-134-registry-root-docs
Oct 4, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
fix/issue-134-registry-root-docs

Conversation

@ericlitman

@ericlitman ericlitman commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Closes #134

What changed

.claude/skills/verify-open-pstack/features/registry.json lists four repository-root files under nonRuntime: NOTICE.md, README-UPSTREAM.md, LICENSE-cursor-team-kit and LICENSE-superpowers. None of them ship, because both marketplace manifests ship only ./plugins/pstack. Before this change, verify.sh run --pr 114 stopped with Unmapped path: NOTICE.md. Every upstream sync would hit the same block, because UPSTREAM.md step 4 requires a NOTICE.md update.

.github/**, scripts/**, tests/** and open-pstack.code-workspace stay unmapped and keep failing closed, as features/README.md requires. core.test.ts adds a test that the four files classify as no runtime change.

Verification

  • Bun tests, strict typecheck, static invariants, and plugin validation pass.
  • The exact candidate is installed in every affected harness.
  • The changed behavior passes from each real user surface.
  • The installed version, action, and observed result appear below.

Local gate on d1fdc62: bun install --frozen-lockfile, bun run test, bun run typecheck, manifest JSON parse, PSTACK_STATIC_ONLY=1 bash tests/skill-collision-repro.sh (the verifier suite reports 96 pass, 0 fail), claude plugin validate plugins/pstack and claude plugin validate . all exit 0.

Live evidence: verify.sh run --pr 135 --self-test from this PR's head d1fdc62 passed project-skill in Claude Code 2.1.289 and Codex CLI 0.160.0. It set live-gate=success with this evidence comment. Claude (this session) drove both native sessions and reviewed the transcripts and doctor.json before typing PASS, at Eric's direction. The Codex doctor output went under the session TMPDIR, the known workspace-write sandbox gap recorded on #111.

A pull request without live evidence remains a draft. Do not merge, tag, release, or roll it out.

🤖 Generated with Claude Code

NOTICE.md, README-UPSTREAM.md and the two preserved upstream license files
ship nowhere; both marketplaces ship only ./plugins/pstack. Unmapped, they
blocked any PR or upstream sync that edits them (first seen on #114).

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

mergify Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 2 merge protections satisfied — ready to merge.

Show 2 satisfied protections

🟢 Queue ready pull requests

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

  • -draft
  • check-success=Unfret
  • check-success=live-gate
  • check-success=verify

🟢 🚦 Auto-queue

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

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

@greptile-apps

greptile-apps Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Low risk] Updates file classification rules for attribution documents.

No code issue found; the PR still needs its stated live evidence before merge.

What we checked:

  • Verifier checks get skipped: No. Verifier files select project-skill, and a requested self-test still calls for both harnesses.
  • Other paths gain an exemption: No. Exact entries match only their named paths, and unknown paths still cause an error.

Summary

The verifier now treats four repository-root attribution files as non-runtime, so changes to them no longer stop as unmapped paths. A test checks that classification.

  • Adds four exact file names to the non-runtime registry.
  • Checks that each file produces a no-runtime result.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Changed paths] --> B[Classify each path]
  B --> C[Runtime feature found]
  B --> D[Only exempt paths found]
  C --> E[Exercise selected features]
  D --> F[No plugin exercise]
  E --> G[Publish result]
  F --> G
  H[Self-test requested] --> E
Loading

Reviews (1) · Last reviewed commit: "fix(verify): map repository-root attribu..."

@ericlitman

Copy link
Copy Markdown
Owner Author

Live evidence: Open Pstack

  • Candidate SHA: d1fdc621eada9c597654ba9a3dda19eb2187d7d4
  • Base SHA: 67c08fabe9e82feb4e4447c08a0c74510884fdef
  • Result: PASSED — all mapped features verified
  • Self-test: completed in both harnesses
  • Publisher revision: d1fdc621eada9c597654ba9a3dda19eb2187d7d4
  • Evidence-set SHA-256: 8032ba33e9b9d705e63af179152d58ec650a244d1a2243d6190fd49bb46d8b05
  • Installation (claude): CLI 2.1.289 (Claude Code), plugin 1.5.0, candidate d1fdc621eada9c597654ba9a3dda19eb2187d7d4, tree 1fd82564fffaf382f63b6c58cbf4cdd66718c2f1d75fb913a200c93d75961d24.
  • Installation (codex): CLI codex-cli 0.160.0, plugin 1.5.0, candidate d1fdc621eada9c597654ba9a3dda19eb2187d7d4, tree 1fd82564fffaf382f63b6c58cbf4cdd66718c2f1d75fb913a200c93d75961d24.
  • Observation (claude / project-skill): surface Claude Code 2.1.289 TUI, slash command /verify-open-pstack discovered from the candidate workspace; action Invoked the candidate skill; it ran verify.sh doctor --candidate --output state/claude/self-test via Bash; result doctor.json result pass, candidate true, skill path is the candidate workspace skill; session JSONL shows the slash command and Bash call; operator reviewed; transcript SHA-256 5394690eff60f5c449a2d008b2dc67fd076e01cdf46f084d3eebacfba475c9bc; artifact-set SHA-256 f0997fe6359bd25d718d3cae5056b9e753a97155eef5e20463ce4c19279c07a5.
  • Observation (codex / project-skill): surface Codex CLI 0.160.0 TUI, skill mention verify-open-pstack discovered from the candidate workspace; action Invoked the candidate skill; it read SKILL.md and ran verify.sh doctor --candidate into the session TMPDIR; result doctor.json result pass, candidate true, skill path is the candidate workspace skill; rollout JSONL shows the exec_command calls; operator reviewed; transcript SHA-256 3c60aea41d16a568c050499c759653115fbbbd9236425581f4bb76197806a153; artifact-set SHA-256 3c9953064e5bdd46cdd6c5aefda2988093aaab733e9fb517fb32e9a2fa807a8e.
  • Policy: every new head requires a fresh run; this verifier does not change PR state, queue, or merge.

@ericlitman
ericlitman marked this pull request as ready for review October 4, 2026 16:20
@unfret-eal

unfret-eal Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

✅ No blocking findings

Walkthrough

The verifier used to stop with "Unmapped path" whenever a pull request touched NOTICE.md, which every upstream sync must update. This PR adds NOTICE.md, README-UPSTREAM.md, LICENSE-cursor-team-kit and LICENSE-superpowers to the registry's nonRuntime list, since only ./plugins/pstack ships. Paths such as .github/**, scripts/** and tests/** still fail closed. It adds a test that these four files classify as no runtime change, and the author reports passing local gates and a live self-test in Claude Code and Codex CLI.

Details
Lane / stage Model Effort Outcome Duration
broad-gpt-5.6-sol-xhigh / review openai/gpt-5.6-sol (reported model unavailable) xhigh succeeded 5 s
broad-opus-5.5-max / review anthropic/claude-opus-5-5 (reported model unavailable) max succeeded 1 min 5 s
focal-gpt-5.6-sol-xhigh / review openai/gpt-5.6-sol (reported model unavailable) xhigh succeeded 1 min 39 s
broad-gpt-5.6-sol-xhigh / reread openai/gpt-5.6-sol (reported model unavailable) xhigh succeeded 7 s
broad-opus-5.5-max / reread anthropic/claude-opus-5-5 (reported model unavailable) max succeeded 1 min 49 s
focal-gpt-5.6-sol-xhigh / reread openai/gpt-5.6-sol (reported model unavailable) xhigh succeeded 1 min 21 s

First review of this pull request.
3 reviewers finished.
Commit d1fdc62.
Check run.
Run: GET /unfret/run/panel:d1fdc621eada9c597654ba9a3dda19eb2187d7d4:65EMXipqStR:ooquphQO1uc.

@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.

✅ No blocking findings
Check

@mergify

mergify Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • ✅ Entered queue — 2026-10-04 16:24 UTC · Rule: default · triggered by merge protections
  • ✅ Checks skipped · PR is already up-to-date
  • ✅ Merged — 2026-10-04 16:24 UTC · at ce6e8c48bb961520036020663c15f427bd8d20ad · merge

This pull request spent 8 seconds in the queue, including 1 second running CI.

Required conditions to merge

@mergify
mergify Bot merged commit ce6e8c4 into main Oct 4, 2026
6 checks passed
andrewfree pushed a commit to andrewfree/open-pstack that referenced this pull request Oct 4, 2026
Bring in ericlitman/open-pstack main at ce6e8c4: repository-root
attribution files map as nonRuntime in the verify skill (ericlitman#134). No
plugin files change, so 1.5.1-local.9 stays as installed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

Map repository-root attribution files as nonRuntime in the verifier registry

1 participant