Skip to content

docs: reword nine pre-existing passages that track upstream pstack and mattpocock text #7052

Open
4 of 11 issues completed

Description

@kyle-sexton

Problem

A non-author copy check run for #7009 (WS-A Phase 23: fingerprint.mjs plus /attribution:audit) flagged nine passages that predate that effort and sit on main. Each shares word runs or a one-to-one structure with an upstream source. The repository's rule is our own words, with credit only on docs/upstream/ pages. #7009 rewrites only the text its own slices wrote, so these need their own pass.

File Lines Upstream Finding Origin
plugins/docs-hygiene/skills/write-for-humans/SKILL.md 1-200 cursor/plugins@12d587dfb2 pstack/skills/technical-writing/SKILL.md section-by-section paraphrase (four layers, three rules, Diataxis compass, mode table, no-mixing list, rhythm, UI-strings exclusion) 228a2b1
plugins/education/CHANGELOG.md 507-511 cursor/plugins@12d587dfb2 pstack/skills/teach/SKILL.md:17 15-word and 13-word shared runs 228a2b1
plugins/review/skills/quality-gate/context/downstream.md 7-183 cursor/plugins@12d587dfb2 pstack/skills/blast-radius/SKILL.md:13-45 7-9 word runs; same risks/cleared field order 228a2b1, c392b4f, 72525f4
plugins/prototype/skills/explore-directions/evals/evals.json 7-72 mattpocock/skills@24fe0ef skills/engineering/prototype/UI.md:20-112 12-word run; same /settings example 8e594f0
plugins/architecture/skills/improve/research/deepening/interface-design.md 59-67 mattpocock/skills@24fe0ef skills/engineering/codebase-design/DESIGN-IT-TWICE.md:30-38 same five return parts in the same order b356df0
plugins/ai-slop/skills/audit/reference/rewrite-guide.md 116-195 cursor/plugins@73f8be4873 pstack/skills/unslop/SKILL.md:20-65 replacement pairs and "Adding voice" bullets mapped one to one main
plugins/code-tidying/skills/dissolve-comments/reference/triage.md 97-117 cursor/plugins@12d587dfb2 pstack/agents/comment-sicko.md:16-20 keep-list in nearly the same wording and order main
plugins/testing/skills/diagnose/SKILL.md 35-37 mattpocock/skills@24fe0ef skills/engineering/diagnosing-bugs/SKILL.md:12-16 same sentence order, shared runs main
plugins/discovery/skills/trace-intent/context/evidence-categories.md 9-34 cursor/plugins@12d587dfb2 pstack/skills/why/SKILL.md:66-112 same four-category list in order main, partly slice 108

All rows are llm-suspected or fingerprint-confirmed spans, not a final verdict. Confirm each one before rewriting it.

Fix

For each row, rewrite the passage in a new structure with this repository's own examples, keeping every directive and eval expectation. Then re-run node plugins/attribution/skills/audit/scripts/fingerprint.mjs compare against the named upstream file. Make sure each upstream source has a credit row on its docs/upstream/ page.

Verification

fingerprint.mjs compare reports no shared run at the module's thresholds for each pair, and a fresh-context review finds no one-to-one sentence mapping.

Related

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 11, 2026
  2. github-actions commented on Oct 11, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Large
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    Understood: nine existing docs and eval passages share wording or structure with upstream pstack and mattpocock sources. Each needs rewriting in our own words and re-checking with fingerprint.mjs compare, and each upstream source needs a credit row on its docs/upstream/ page. The issue is docs-only, so I rated it low priority. It is too big for one change, and the owner's comment already splits it into per-plugin slices (#9780–#9790). I'd treat this issue as the tracking parent. No duplicates found.

    Automated triage, applied by the lanes App.

  3. kyle-sexton commented on Oct 11, 2026

    @kyle-sexton
    MemberAuthor

    Three more rows from the final pass of the #7009 copy check. Like the rest of this issue, they sit in text the #7009 slices did not write (blame: non-WS-A or main commits), so #7009 leaves them alone:

    File Lines Upstream Finding
    plugins/review/agents/code-reviewer.md 82-93 mattpocock/skills@24fe0ef skills/engineering/code-review/SKILL.md:45-56 the same 12-smell selection in nearly the same order
    plugins/debugging/skills/debug/SKILL.md 239 cursor/plugins pstack tdd 5-word shared run
    plugins/debugging/skills/debug/SKILL.md 290 cursor/plugins pstack tdd 5-word shared run
  4. kyle-sexton commented on Oct 11, 2026

    @kyle-sexton
    MemberAuthor

    More passages found while verifying slice 141 of #7009 (the interview and ADR gate rewording), which left them alone:

    • plugins/planning/skills/interview/SKILL.md: the "too big to hold in one session" line in Stance, the "frontier is empty" phrasing in Step 2, and the composition-table line "come back and answer in one line" all still share short phrases with mattpocock/skills (grilling / grill-me at 24fe0ef and 84fdeff).
    • plugins/planning/skills/interview/context/loop.md: "question in the same round", near the branch-out mechanics.
    • plugins/planning/skills/interview/SKILL.md Step 3: the line "an empty frontier is necessary but not sufficient" is byte-pinned by plugins/planning/tests/interview-defenses.test.sh. Rewording it to match the slice's new stop wording ("no question is left to ask") needs an attended pin update.
    • Other files still use "the frontier is empty": context/assumption-sweep.md (digest-pinned), templates/checklist.md, the interview evals.json, and /planning:wayfind.

    Some of these lines sit in digested regions, so a reword also needs an attended digest recompute in interview-defenses.test.sh.

  5. removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 12, 2026
  6. added theissue type on Oct 12, 2026
  7. kyle-sexton commented on Oct 13, 2026

    @kyle-sexton
    MemberAuthor

    Decision recorded. The owner approved applying independently verified recommendations (confirmed, low-risk set) on 2026-10-13.

    A copy check during #7009 flagged nine passages, plus three more and a set of planning/interview lines in comments, that share runs or structure with pstack and mattpocock sources; each must be confirmed with fingerprint.mjs, then reworded. All files were touched by #7009 after filing, so line numbers need re-deriving; open PR #7353 rechecks the pstack record but does not reword these.

    Verification notes:

    • Minor: Q1's basis cites the skill criteria's no-loss rule for cuts; a reword that keeps every directive is not a cut, so per-plugin PRs rest on version-bump and review-size judgment rather than that rule.

    Verified by an independent fresh-context check (confirmed, risk low): gh issue view 7052 (OPEN; body plus owner comments 2026-10-11T10:34 and 16:04, no decision on PR shape or the pinned lines); 16:04 comment: byte-pinned line and digest recompute in interview-defenses.test.sh; git log -1 origin/main on write-for-humans, downstream.md, diagnose SKILL.md (#7009) and interview SKILL.md (#7053 2026-10-13); gh pr view 7353 (OPEN draft, touches only docs/upstream/cursor-pstack.md); gh issue view 6085 (CLOSED 2026-10-11)

    Admission to an agent lane stays with the work-class rules and owner ratification.

  8. kyle-sexton commented on Oct 18, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI during backlog shaping.

    This issue is split into 11 pieces, each sized for one lane PR. The owner chose one PR per plugin with the pinned planning/interview lines split off (Decision recorded 2026-10-13), giving 10 plugin items plus a planning item. No item is lane-ready: each row must be confirmed and re-checked with fingerprint.mjs compare (node, against an upstream file not vendored here), and no CI job runs compare (git grep fingerprint origin/main -- .github scripts finds only the lane-run audit). The earlier split dropped the ai-slop, code-tidying, testing and discovery rows without evidence they were fixed, so they stay.

    • not filed: docs(docs-hygiene): reword write-for-humans away from pstack technical-writing: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(education): reword the CHANGELOG lines shared with pstack teach: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(review): reword quality-gate downstream context and the code-reviewer agent's smell list: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: test(prototype): reword explore-directions eval cases shared with mattpocock prototype UI: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(architecture): reword improve's interface-design return parts: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(ai-slop): reword the rewrite guide's replacement pairs and Adding voice bullets: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(code-tidying): reword dissolve-comments' keep list: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(testing): reword diagnose's purpose sentences: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(discovery): reword trace-intent's evidence categories: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(debugging): reword two debug lines shared with pstack tdd: lane-check: confirming and clearing the shared runs needs fingerprint.mjs compare (node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brief
    • not filed: docs(planning): reword interview phrases shared with mattpocock grilling, with attended pin updates: lane-limit-6: plugins/planning/skills/interview SKILL.md text; also byte- and digest-pinned by plugins/planning/tests/interview-defenses.test.sh, needing an attended pin and digest recompute

    Filed pieces are sub-issues of this one, and the paced queue admits them to the lane. Unfiled pieces wait on the blocker shown. The owner approved this split in an attended backlog-shaping session on 2026-10-18.

  9. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 19, 2026
  10. kyle-sexton commented on Oct 19, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI during triage.

    Hold: the 2026-10-18 split leaves all 11 reword pieces unfiled, because each needs its current shared runs confirmed with fingerprint.mjs compare against an upstream file that is not in this repo. A person can unblock a piece by pasting those runs into its brief.

  11. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 24, 2026
  12. kyle-sexton commented on Oct 24, 2026

    @kyle-sexton
    MemberAuthor

    Released by the owner's HITL session (2026-10-24, C12): it waited only on removed gates (protected paths, attended-only pins, lane limits, sync allowlists). Split into sub-issues; intake triage re-runs on each slice to set its fields, then admission takes it.

    The 2026-10-18 blocker no longer holds: the upstream files are fetchable with gh api -H 'Accept: application/vnd.github.raw' 'repos/<owner>/<repo>/contents/<path>?ref=<sha>' (checked 2026-10-24 for cursor/plugins@12d587dfb2 and mattpocock/skills@24fe0ef), so each slice confirms and clears its rows with fingerprint.mjs compare itself.

    Slices, one per plugin, parallel except the planning one:

  13. github-actions commented on Oct 25, 2026

    @github-actions
    Contributor

    The triage sweep dispatched intake triage for this issue (attempt 1 of 2).

  14. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Oct 25, 2026
  15. melodic-automation-lanes commented on Oct 25, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: Size large: the split into sub-issues at intake is pending (owner Q93).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: lowNice-to-have, cosmetic, or speculative; opportunistic.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions