pluribus-context 0.3.14 → 0.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@
4
4
 
5
5
  All notable changes to Pluribus are documented here.
6
6
 
7
+ ## 0.3.15 — portability fidelity report demo
8
+
9
+ ### Added
10
+
11
+ - Add a portability fidelity report guide and example for AI rule/skill bundle maintainers who need evidence-based compatibility claims across `CLAUDE.md`, Cursor, Copilot, and `AGENTS.md` outputs.
12
+ - Link the new report from the README so directory reviewers and skill/rule authors can test portability claims without treating `universal` as a self-attested boolean.
13
+
7
14
  ## 0.3.14 — coordination contract demo
8
15
 
9
16
  ### Added
package/README.md CHANGED
@@ -152,7 +152,7 @@ npx --yes pluribus-context@latest sync --dry-run
152
152
 
153
153
  If the preview looks right, run `npx --yes pluribus-context@latest sync` to write the tool-specific files.
154
154
 
155
- For a fuller walkthrough, see the [Quickstart](docs/quickstart.md). To enforce generated context files in pull requests, use the [CI audit example](docs/ci-audit-example.md); to catch drift before commits leave your machine, use the [Pre-commit Audit Hook](docs/pre-commit-audit.md). If your repo already has `CLAUDE.md`, `.cursorrules`, Copilot instructions, or `AGENTS.md`, run a [Context Drift Audit](docs/context-drift-audit.md) first, try the intentionally drifted [audit example](examples/context-drift-audit/), then follow [Migrate Existing AI Context Files](docs/migrate-existing-context.md). If you switch between Cursor, Claude Code, Copilot, and terminal agents, try the [Cursor ↔ Claude Code context handoff guide](docs/cursor-claude-context-handoff.md) and its [example source file](examples/context-handoff/pluribus.md). If you run multiple AI sessions on the same project, try the [Coordination Contract guide](docs/coordination-contract.md) and its [example source file](examples/coordination-contract/pluribus.md) to keep event-log/scratchpad protocol rules aligned without turning Pluribus into an orchestrator. Before committing shared or generated AI instructions, use the [Context File Review Checklist](docs/context-file-review.md). If you're deciding between Pluribus and a one-way rules converter, see [When to use Pluribus](docs/when-to-use-pluribus.md). If you are debugging "context drift" after compaction or long sessions, start with the [Context Drift Taxonomy](docs/context-drift-taxonomy.md) to separate file drift from runtime precedence drift. If you use MCP memory or knowledge-graph tools, try the [MCP memory handoff demo](docs/memory-mcp-handoff.md) to keep recall/store protocols aligned across AI coding tools without turning Pluribus into a memory server. If you are reviewing Pluribus for a list, newsletter, or tool directory, use the [Community Review Packet](docs/community-review-packet.md) for directory submission fields, a one-line description, safety notes, and a disposable 60-second smoke test. Maintainers can track package/repo discovery with the [Discovery Smoke Checks](docs/discovery-smoke.md).
155
+ For a fuller walkthrough, see the [Quickstart](docs/quickstart.md). To enforce generated context files in pull requests, use the [CI audit example](docs/ci-audit-example.md); to catch drift before commits leave your machine, use the [Pre-commit Audit Hook](docs/pre-commit-audit.md). If your repo already has `CLAUDE.md`, `.cursorrules`, Copilot instructions, or `AGENTS.md`, run a [Context Drift Audit](docs/context-drift-audit.md) first, try the intentionally drifted [audit example](examples/context-drift-audit/), then follow [Migrate Existing AI Context Files](docs/migrate-existing-context.md). If you switch between Cursor, Claude Code, Copilot, and terminal agents, try the [Cursor ↔ Claude Code context handoff guide](docs/cursor-claude-context-handoff.md) and its [example source file](examples/context-handoff/pluribus.md). If you run multiple AI sessions on the same project, try the [Coordination Contract guide](docs/coordination-contract.md) and its [example source file](examples/coordination-contract/pluribus.md) to keep event-log/scratchpad protocol rules aligned without turning Pluribus into an orchestrator. If you publish AI rules, skills, or instruction bundles as "portable", use the [Portability Fidelity Report](docs/portability-fidelity-report.md) and its [example source file](examples/portability-fidelity/pluribus.md) to make compatibility claims evidence-based instead of self-attested. Before committing shared or generated AI instructions, use the [Context File Review Checklist](docs/context-file-review.md). If you're deciding between Pluribus and a one-way rules converter, see [When to use Pluribus](docs/when-to-use-pluribus.md). If you are debugging "context drift" after compaction or long sessions, start with the [Context Drift Taxonomy](docs/context-drift-taxonomy.md) to separate file drift from runtime precedence drift. If you use MCP memory or knowledge-graph tools, try the [MCP memory handoff demo](docs/memory-mcp-handoff.md) to keep recall/store protocols aligned across AI coding tools without turning Pluribus into a memory server. If you are reviewing Pluribus for a list, newsletter, or tool directory, use the [Community Review Packet](docs/community-review-packet.md) for directory submission fields, a one-line description, safety notes, and a disposable 60-second smoke test. Maintainers can track package/repo discovery with the [Discovery Smoke Checks](docs/discovery-smoke.md).
156
156
 
157
157
  ### Usage
158
158
 
@@ -0,0 +1,95 @@
1
+ # Portability Fidelity Report
2
+
3
+ Use this when a rule pack, skill bundle, `AGENTS.md`, `CLAUDE.md`, `.cursorrules`, or Copilot instruction file claims to be portable across AI coding tools.
4
+
5
+ The goal is not to prove that every tool behaves identically. The goal is to make portability claims falsifiable: which tools were tested, which capabilities are required, where semantics are lossy, and what evidence a reviewer can inspect.
6
+
7
+ This pattern came from live market signals around AI skills and rule bundles: authors want to mark instructions as "universal", but tool capabilities, file loading rules, write APIs, glob semantics, and security defaults differ enough that a boolean label can hide silent semantic loss.
8
+
9
+ ## 60-second disposable check
10
+
11
+ Try the example without touching a real repo:
12
+
13
+ ```bash
14
+ git clone https://github.com/caioribeiroclw-pixel/pluribus.git
15
+ cd pluribus/examples/portability-fidelity
16
+ node ../../bin/pluribus.js validate
17
+ node ../../bin/pluribus.js sync --dry-run
18
+ node ../../bin/pluribus.js audit --json
19
+ ```
20
+
21
+ For the npm release path, copy `examples/portability-fidelity/pluribus.md` into a temporary directory as `pluribus.md`, then run:
22
+
23
+ ```bash
24
+ npx --yes pluribus-context@latest validate
25
+ npx --yes pluribus-context@latest sync --dry-run
26
+ npx --yes pluribus-context@latest audit --json
27
+ ```
28
+
29
+ ## What a claim should say
30
+
31
+ Avoid this:
32
+
33
+ ```yaml
34
+ portable: true
35
+ ```
36
+
37
+ Prefer claims that include evidence and known loss:
38
+
39
+ ```yaml
40
+ portability:
41
+ tier: portable-with-adapters
42
+ testedOn:
43
+ - target: claude-code
44
+ evidence: generated CLAUDE.md smoke-reviewed on 2026-05-18
45
+ - target: cursor
46
+ evidence: generated .cursorrules smoke-reviewed on 2026-05-18
47
+ - target: github-copilot
48
+ evidence: generated .github/copilot-instructions.md smoke-reviewed on 2026-05-18
49
+ requiredCapabilities:
50
+ - read repository instructions before planning
51
+ - preserve generated-file warning
52
+ - respect security constraints before edits
53
+ knownLossyTargets:
54
+ - target: flat-markdown-targets
55
+ loss: cannot represent Cursor-style path/glob activation; keep scoped rules tool-native or annotate the loss
56
+ ```
57
+
58
+ In Pluribus, keep that claim inside the source file so every generated output carries the same reviewable contract.
59
+
60
+ ## Decision rule
61
+
62
+ A rule/skill/context bundle is portable only when a maintainer can answer four questions from the repo:
63
+
64
+ 1. **Capability:** what does the instruction require from the target tool?
65
+ 2. **Evidence:** where was that target actually rendered or smoke-tested?
66
+ 3. **Loss:** which semantics are degraded, flattened, or unsupported?
67
+ 4. **Fallback:** what should a user do when a target lacks the capability?
68
+
69
+ If any answer is missing, use a narrower label such as `project-local`, `target-native`, or `portable-with-loss` instead of `universal`.
70
+
71
+ ## How Pluribus helps
72
+
73
+ Pluribus is intentionally narrower than a skill registry or memory layer:
74
+
75
+ - `pluribus.md` keeps the claim in one reviewed source of truth.
76
+ - `sync --dry-run` previews target-specific outputs before writing files.
77
+ - generated files carry a warning header so manual edits are visible.
78
+ - `audit --json` gives CI/reviewers a machine-readable check for missing or drifted outputs.
79
+ - remote imports are opt-in, locked, cached, and digest-checked before becoming shared context.
80
+
81
+ That does **not** prove runtime behavior. You still need tool-specific smoke tests for load order, path/glob activation, available tools, MCP servers, and permission semantics.
82
+
83
+ ## Suggested workflow for maintainers
84
+
85
+ 1. Put the portability claim in the canonical source.
86
+ 2. Generate target outputs with `sync --dry-run` and inspect semantic loss.
87
+ 3. Keep target-native instructions when a semantic cannot be represented everywhere.
88
+ 4. Commit a small audit artifact (`pluribus audit --json --output reports/pluribus-audit.json`) when you want CI/review evidence.
89
+ 5. Update the claim whenever a new target is added, a tool changes capability names, or a permission/security default changes.
90
+
91
+ ## Feedback wanted
92
+
93
+ If your rule pack, skill bundle, or instruction manifest needs a different evidence shape, open a focused issue: https://github.com/caioribeiroclw-pixel/pluribus/issues/new
94
+
95
+ Do not paste private instructions, secrets, tokens, customer data, or proprietary source in public feedback.
@@ -0,0 +1,56 @@
1
+ <!-- pluribus:tools: claude,cursor,copilot,openclaw -->
2
+
3
+ # Identity
4
+ This repository publishes an AI rule or skill bundle that claims portability across Claude Code, Cursor, GitHub Copilot, and AGENTS.md-compatible coding agents.
5
+
6
+ The bundle should be treated as portable only when its required capabilities, tested targets, known lossy targets, and fallback behavior are visible in review.
7
+
8
+ # Stack
9
+ - Source format: Markdown rules/skills maintained in git.
10
+ - Generated targets: `CLAUDE.md`, `.cursorrules`, `.github/copilot-instructions.md`, and `AGENTS.md`.
11
+ - Review command: `npx --yes pluribus-context@latest sync --dry-run`.
12
+ - Drift command: `npx --yes pluribus-context@latest audit --json`.
13
+
14
+ # Conventions
15
+ - Do not use `universal` as a boolean portability claim.
16
+ - Describe portability as claims with evidence: tier, tested targets, required capabilities, project assumptions, known lossy targets, and fallback behavior.
17
+ - Treat `project-local` and `portable-with-loss` as honest labels, not failures.
18
+ - Keep target-native rules when a target has semantics that flat Markdown cannot preserve, such as path/glob activation or manual attachment behavior.
19
+ - When converting between tool formats, never silently drop security constraints, generated-file warnings, required read-before-plan steps, or scoped-rule metadata.
20
+
21
+ ## Portability claim
22
+
23
+ ```yaml
24
+ portability:
25
+ tier: portable-with-adapters
26
+ testedOn:
27
+ - target: claude-code
28
+ evidence: generated CLAUDE.md smoke-reviewed
29
+ - target: cursor
30
+ evidence: generated .cursorrules smoke-reviewed
31
+ - target: github-copilot
32
+ evidence: generated .github/copilot-instructions.md smoke-reviewed
33
+ - target: agents-md
34
+ evidence: generated AGENTS.md smoke-reviewed
35
+ requiredCapabilities:
36
+ - load repository instructions before planning
37
+ - preserve generated-file warning
38
+ - expose security constraints before edits
39
+ knownLossyTargets:
40
+ - target: flat-markdown-targets
41
+ loss: cannot express Cursor-style path/glob activation without annotation
42
+ fallback:
43
+ - if a target cannot represent scoped activation, keep that scoped rule in the target-native file and document the loss
44
+ ```
45
+
46
+ # Goals
47
+ 1. Make portability claims falsifiable before users copy a rule pack into production.
48
+ 2. Give maintainers a reviewable report of which targets were generated and where semantics may be lossy.
49
+ 3. Help directory/list reviewers distinguish real multi-tool support from self-attested compatibility.
50
+ 4. Keep one canonical source for shared claims while preserving target-native files for semantics that do not round-trip.
51
+
52
+ # Constraints
53
+ - Do not expose tokens, private instructions, customer data, internal paths, or proprietary source when reporting portability evidence.
54
+ - Do not claim that generated Markdown proves runtime load order, model behavior, permission mapping, MCP availability, or path/glob precedence.
55
+ - Do not flatten tool-specific security or activation semantics into a generic target without a visible fidelity warning.
56
+ - Do not replace human review of rule/skill substance with a passing sync or audit check.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pluribus-context",
3
- "version": "0.3.14",
3
+ "version": "0.3.15",
4
4
  "description": "AI context/rules sync for CLAUDE.md, Claude Code, Cursor rules, Copilot instructions, OpenClaw, Windsurf, Continue, and Zed.",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/caioribeiroclw-pixel/pluribus#readme",
@@ -1 +1 @@
1
- export const VERSION = '0.3.14'
1
+ export const VERSION = '0.3.15'