@evref-bl/pharo-mcp 1.4.1 → 1.5.0
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 +2 -2
- package/package.json +1 -1
- package/templates/pharo-references/safety-and-ecosystem.md +6 -7
- package/templates/pharo-skills/pharo-ci-repro/SKILL.md +1 -1
- package/templates/pharo-skills/pharo-ci-repro/scripts/run-smalltalkci-docker.sh +2 -2
- package/templates/pharo-skills/pharo-version-compat/SKILL.md +16 -19
- package/templates/pharo-skills/pharo-version-compat/agents/openai.yaml +2 -2
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
|
|
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
|
|
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
|
@@ -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 `
|
|
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: '
|
|
245
|
+
load: 'Telemetry'.
|
|
246
246
|
|
|
247
247
|
mcp useOpenTelemetryObservability
|
|
248
248
|
```
|
|
249
249
|
|
|
250
250
|
## Version Compatibility
|
|
251
251
|
|
|
252
|
-
The core baseline loads
|
|
253
|
-
OpenTelemetry is loaded only by the optional `
|
|
254
|
-
Pharo 12, 13, and 14. Code
|
|
255
|
-
|
|
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.
|
|
@@ -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-
|
|
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-
|
|
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
|
|
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
|
-
`
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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
|
|
21
|
-
3. Load
|
|
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: '
|
|
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
|
-
-
|
|
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
|
|
37
|
+
6. Verify both PharoBackwardCompatibility and the consuming project across the matrix.
|
|
41
38
|
|
|
42
|
-
## Extending
|
|
39
|
+
## Extending PharoBackwardCompatibility
|
|
43
40
|
|
|
44
|
-
- Confirm the difference is general
|
|
45
|
-
runtime
|
|
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
|
|
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
|
|
4
|
-
default_prompt: "Use $pharo-version-compat to make this Pharo project compatible across supported Pharo versions with
|
|
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."
|