@evref-bl/pharo-mcp 1.4.1 → 1.5.1

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/README.md CHANGED
@@ -15,7 +15,7 @@ files as plain text.
15
15
 
16
16
  ## Supported Versions
17
17
 
18
- Pharo 12, 13, and 14 are supported. Development targets Pharo 13 while CI
18
+ Pharo 12, 13, and 14 are supported. Development targets Pharo 14 while CI
19
19
  checks the full matrix.
20
20
 
21
21
  ## Install And Start
@@ -74,7 +74,7 @@ installGuidance({ host: "codex", cwd: process.cwd() });
74
74
 
75
75
  ## Contributing
76
76
 
77
- Use Pharo 13 for normal development and preserve Pharo 12/14 compatibility.
77
+ Use Pharo 14 for normal development and preserve Pharo 12/13 compatibility.
78
78
  Live behavior must be verified in an image; source inspection alone is not
79
79
  enough. Start with [AGENTS.md](AGENTS.md) and
80
80
  [MCP verification](docs/mcp-verification.md).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evref-bl/pharo-mcp",
3
- "version": "1.4.1",
3
+ "version": "1.5.1",
4
4
  "description": "Pharo MCP agent-host templates",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -235,22 +235,21 @@ By default, JSON observability exports under the image-local
235
235
  `mcp observabilityExportDirectory: aDirectory` to override that export root for
236
236
  instance metadata, `logs.jsonl`, `metrics.json`, and `traces.jsonl`.
237
237
 
238
- OpenTelemetry support is optional. Load the `OpenTelemetry` group, then enable
238
+ OpenTelemetry support is optional. Load the `Telemetry` group, then enable
239
239
  the OpenTelemetry backend for an MCP instance:
240
240
 
241
241
  ```smalltalk
242
242
  Metacello new
243
243
  baseline: 'MCP';
244
244
  repository: 'github://Evref-BL/MCP:main/src';
245
- load: 'OpenTelemetry'.
245
+ load: 'Telemetry'.
246
246
 
247
247
  mcp useOpenTelemetryObservability
248
248
  ```
249
249
 
250
250
  ## Version Compatibility
251
251
 
252
- The core baseline loads PharoCompatibility, JRPC, and PCRE2.
253
- OpenTelemetry is loaded only by the optional `OpenTelemetry` group. CI covers
254
- Pharo 12, 13, and 14. Code that depends on version-sensitive Pharo APIs should
255
- go through PharoCompatibility rather than assuming the Pharo 13 API is present
256
- everywhere.
252
+ The core baseline loads PharoBackwardCompatibility, JRPC, and PCRE2.
253
+ OpenTelemetry is loaded only by the optional `Telemetry` group. CI covers
254
+ Pharo 12, 13, and 14. Code should target the Pharo 14 API; PharoBackwardCompatibility
255
+ backports supported APIs to older images.
@@ -31,7 +31,7 @@ produces logs.
31
31
  ```sh
32
32
  skills/pharo-ci-repro/scripts/run-smalltalkci-docker.sh \
33
33
  --repo /path/to/repo \
34
- --platform Pharo64-13 \
34
+ --platform Pharo64-14 \
35
35
  --attempts 3
36
36
  ```
37
37
 
@@ -8,7 +8,7 @@ Usage:
8
8
 
9
9
  Options:
10
10
  --repo DIR Source repository or working tree to test.
11
- --platform NAME smalltalkCI platform, default Pharo64-13.
11
+ --platform NAME smalltalkCI platform, default Pharo64-14.
12
12
  --spec FILE smalltalkCI spec file, default .smalltalk.ston.
13
13
  --attempts N Number of attempts, default 1.
14
14
  --out DIR Scratch/log directory, default /tmp/pharo-ci-repro-<timestamp>.
@@ -24,7 +24,7 @@ USAGE
24
24
  }
25
25
 
26
26
  repo=""
27
- platform="Pharo64-13"
27
+ platform="Pharo64-14"
28
28
  spec=".smalltalk.ston"
29
29
  attempts="1"
30
30
  out=""
@@ -1,32 +1,29 @@
1
1
  ---
2
2
  name: pharo-version-compat
3
- description: Use PharoCompatibility to load and test a project across supported Pharo versions. Use for missing or renamed Pharo globals, classes, selectors, packages, notices, or semantics; baseline surface selection; and reusable cross-version shims.
3
+ description: Use PharoBackwardCompatibility to load and test a project developed on a later Pharo across supported older versions. Use for missing APIs, selectors, packages, notices, or semantics and reusable upstream backports.
4
4
  ---
5
5
 
6
6
  # Pharo Version Compatibility
7
7
 
8
8
  ## Model
9
9
 
10
- `PharoCompatibility` handles Pharo-version differences, not library-specific
11
- workarounds. A project declares the Pharo API surface its source expects; the
12
- runtime loads the compatibility packages needed by the current image.
10
+ `PharoBackwardCompatibility` backports later Pharo APIs to older supported
11
+ images. Develop against the newest supported Pharo and let the dependency load
12
+ the packages needed by the current image.
13
13
 
14
- Known source surfaces include `Pharo12Surface` and `Pharo13Surface`. Omit a
15
- surface only when the project needs the core helper API alone.
14
+ It has no source-surface group: load its default baseline.
16
15
 
17
16
  ## Workflow
18
17
 
19
18
  1. Read the project baseline, supported-version policy, and CI matrix.
20
- 2. Identify the source Pharo surface and target runtime versions.
21
- 3. Load the matching surface from the project baseline:
19
+ 2. Identify the newest source Pharo version and target runtime versions.
20
+ 3. Load PBC from the project baseline:
22
21
 
23
22
  ```smalltalk
24
23
  spec
25
- baseline: 'PharoCompatibility'
24
+ baseline: 'PharoBackwardCompatibility'
26
25
  with: [
27
- spec
28
- repository: 'github://Evref-BL/PharoCompatibility:main/src';
29
- loads: #( 'Pharo13Surface' ) ]
26
+ spec repository: 'github://jecisc/PharoBackwardCompatibility:v1.x.x/src' ]
30
27
  ```
31
28
 
32
29
  4. Reproduce on every affected Pharo version and classify the failure: missing
@@ -34,19 +31,19 @@ spec
34
31
  native/tooling failure.
35
32
  5. Choose the narrowest owner:
36
33
  - transparent shim for equivalent APIs;
37
- - explicit PharoCompatibility helper for reusable behavior;
34
+ - an upstream PharoBackwardCompatibility backport for general APIs;
38
35
  - project abstraction for irreducible semantic differences;
39
36
  - project-local fix for library-specific behavior.
40
- 6. Verify both PharoCompatibility and the consuming project across the matrix.
37
+ 6. Verify both PharoBackwardCompatibility and the consuming project across the matrix.
41
38
 
42
- ## Extending PharoCompatibility
39
+ ## Extending PharoBackwardCompatibility
43
40
 
44
- - Confirm the difference is general and assign it to a source surface and
45
- runtime version.
41
+ - Confirm the difference is general, originates in a newer Pharo API, and
42
+ affects an older supported runtime.
46
43
  - Put runtime code in the matching conditional package and baseline group.
47
44
  - Use late lookup for optional globals.
48
- - Keep shims additive when possible and test the compatibility contract, not
49
- only package loading.
45
+ - Keep backports additive when possible and test the compatibility contract,
46
+ not only package loading.
50
47
 
51
48
  Use `pharo-project-load` for load-path failures and `pharo-ci-repro` for
52
49
  smalltalkCI or runner-specific failures.
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Pharo Version Compatibility"
3
- short_description: "Use PharoCompatibility surfaces"
4
- default_prompt: "Use $pharo-version-compat to make this Pharo project compatible across supported Pharo versions with PharoCompatibility."
3
+ short_description: "Use PharoBackwardCompatibility backports"
4
+ default_prompt: "Use $pharo-version-compat to make this Pharo project compatible across supported Pharo versions with PharoBackwardCompatibility."