Skip to content

pm merge install routes extension documentation through item merge drivers #910

Closed

Description

@unbraind

Summary

pm merge install in @unbrained/pm-cli 2026.8.5 emits broad .agents/pm/**/*.toon and .agents/pm/**/*.md rules for the item merge drivers. Those rules also match installed extension assets under .agents/pm/extensions/**, including ordinary README, CHANGELOG, usage documentation, and any non-item TOON files.

Reproduction

pm merge install
git check-attr merge -- \
  .agents/pm/extensions/pm-changelog/README.md \
  .agents/pm/extensions/pm-changelog/CHANGELOG.md \
  .agents/pm/extensions/pm-changelog/docs/usage.md \
  .agents/pm/tasks/example.toon

Observed: the extension Markdown files resolve to pm-item-markdown, while the Task resolves to pm-item-toon. The extension documents are package assets, not PM item documents, and do not satisfy the item merge format.

Impact

Concurrent extension-package refreshes can invoke an item-aware merge driver on arbitrary package documentation. That risks incorrect merges or driver failures in a path explicitly managed by package installation. The generic JSON rule similarly deserves an explicit decision for extension package metadata, although the current concrete reproduction is Markdown/TOON item-driver overreach.

Expected

Generate item-driver patterns only for registered PM item directories, or emit an explicit exclusion for .agents/pm/extensions/** after the broad rules. Cover default/custom tracker roots, extension assets, item files, git check-attr, idempotent install, fence audit, and refresh behavior.

Duplicate search

Searched open and closed issues for gitattributes extensions merge driver glob, pm-item-markdown extensions, merge install broad glob, merge driver, and gitattributes. Issue #780 addressed the opposite omission for .managed-extensions.json and JSON protection; it does not cover item-driver overmatching of extension package assets.

Environment

  • @unbrained/pm-cli 2026.8.5
  • pm-changelog 2026.8.4 installed project-local
  • Linux / Git worktree

Activity

  1. coderabbitai commented on Aug 5, 2026

    @coderabbitai
    🔗 Related PRs

    #428 - Harden SDK extension runtime packaging [merged]
    #475 - Improve package install and annotation agent UX [merged]
    #491 - Harden init target safety and package install verification [merged]
    #758 - Make branch merge decisions recoverable, replayable, and CI-enforced [merged]
    #783 - Harden SDK context integrity, merge safety, and agent-efficient output [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  2. unbraind commented on Aug 5, 2026

    @unbraind
    OwnerAuthor

    Tracked in pm-t9qbmp.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions