chore: use published core package in examples#72
Conversation
Greptile SummaryThis PR replaces
Confidence Score: 4/5Safe to merge for bun-based examples; the pnpm example is left without a lockfile which reduces reproducibility but doesn't break anything today. The three bun examples are cleanly updated with matching lockfiles and should install reproducibly. The full-stack-microservices example has no committed pnpm lockfile, so fresh installs will float to whatever resolves at install time. Additionally, all bun lockfiles now carry dual core versions because sdk and commands-client haven't been updated to peer on 1.7.0, which is worth watching but doesn't break the examples today. examples/full-stack-microservices/package.json — no pnpm-lock.yaml was committed alongside the dependency change
|
| Filename | Overview |
|---|---|
| examples/byoc-database/package.json | Switches @alienplatform/core from link: to ^1.7.0 published package; no structural issues |
| examples/endpoint-agent/package.json | Switches @alienplatform/core from link: to ^1.7.0 in devDependencies; consistent with test-only usage |
| examples/full-stack-microservices/package.json | Switches @alienplatform/core from link: to ^1.7.0, but no pnpm-lock.yaml was committed; pnpm installs won't be reproducible |
| examples/github-agent/packages/remote-agent/package.json | Switches @alienplatform/core from link: to ^1.7.0 in runtime dependencies; lockfile correctly updated |
| examples/github-agent/packages/remote-agent/bun.lock | Updated to core 1.7.0 at top level; nested packages sdk and commands-client still pin core@1.3.5, introducing dual-version resolution |
| examples/byoc-database/bun.lock | Updated core from 1.3.5 to 1.7.0; nested versions for testing and commands-client are expected overrides |
| examples/endpoint-agent/bun.lock | Core updated to 1.7.0; core correctly moved from dependencies to devDependencies in workspace block, matching package.json |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User clones example] --> B{Which example?}
B -->|byoc-database| C[bun install frozen]
B -->|endpoint-agent| D[bun install frozen]
B -->|github-agent remote-agent| E[bun install frozen]
B -->|full-stack-microservices| F[pnpm install - no lockfile]
C --> G[core 1.7.0 top-level]
D --> H[core 1.7.0 top-level]
E --> I[core 1.7.0 top-level]
G --> K[commands-client uses core 1.3.5 / testing uses core 1.0.1]
H --> L[commands-client uses core 1.3.5 / testing uses core 1.0.1]
I --> M[sdk uses core 1.3.5 / commands-client uses core 1.3.5]
style F fill:#f96,stroke:#c00
style K fill:#ffe,stroke:#cc0
style L fill:#ffe,stroke:#cc0
style M fill:#ffe,stroke:#cc0
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
examples/full-stack-microservices/package.json:10-13
**Missing pnpm lockfile for reproducible installs**
The three bun-based examples each have an updated `bun.lock` committed alongside their `package.json` changes, so `bun install --frozen-lockfile` works cleanly. `full-stack-microservices` uses pnpm but has no committed `pnpm-lock.yaml`. After this change a user cloning the example and running `pnpm install` will get whatever versions resolve at that point in time rather than a pinned, reproducible set — which is at odds with the stated goal of downloaded examples installing cleanly. Running `pnpm install` in this directory and committing the resulting `pnpm-lock.yaml` would close the gap.
### Issue 2 of 2
examples/github-agent/packages/remote-agent/bun.lock:337-342
**Dual `@alienplatform/core` versions in the same install**
The top-level dependency resolves to `@alienplatform/core@1.7.0`, but both `@alienplatform/sdk` and `@alienplatform/commands-client` still pin `@alienplatform/core@1.3.5` as a nested override. If either package uses `instanceof` checks or module-identity comparisons against core types, objects created with 1.7.0 won't match the 1.3.5 class references and will silently fail. The same pattern appears in `byoc-database/bun.lock` and `endpoint-agent/bun.lock` for `commands-client`. Consider updating or peering `@alienplatform/sdk` and `@alienplatform/commands-client` to accept core `^1.7.0` so only a single version is installed.
Reviews (1): Last reviewed commit: "fix: use published core package in examp..." | Re-trigger Greptile
| "devDependencies": { | ||
| "@alienplatform/core": "link:../../packages/core", | ||
| "@alienplatform/core": "^1.7.0", | ||
| "typescript": "^5.7.3" | ||
| } |
There was a problem hiding this comment.
Missing pnpm lockfile for reproducible installs
The three bun-based examples each have an updated bun.lock committed alongside their package.json changes, so bun install --frozen-lockfile works cleanly. full-stack-microservices uses pnpm but has no committed pnpm-lock.yaml. After this change a user cloning the example and running pnpm install will get whatever versions resolve at that point in time rather than a pinned, reproducible set — which is at odds with the stated goal of downloaded examples installing cleanly. Running pnpm install in this directory and committing the resulting pnpm-lock.yaml would close the gap.
Prompt To Fix With AI
This is a comment left during a code review.
Path: examples/full-stack-microservices/package.json
Line: 10-13
Comment:
**Missing pnpm lockfile for reproducible installs**
The three bun-based examples each have an updated `bun.lock` committed alongside their `package.json` changes, so `bun install --frozen-lockfile` works cleanly. `full-stack-microservices` uses pnpm but has no committed `pnpm-lock.yaml`. After this change a user cloning the example and running `pnpm install` will get whatever versions resolve at that point in time rather than a pinned, reproducible set — which is at odds with the stated goal of downloaded examples installing cleanly. Running `pnpm install` in this directory and committing the resulting `pnpm-lock.yaml` would close the gap.
How can I resolve this? If you propose a fix, please make it concise.|
|
||
| "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], | ||
|
|
||
| "@alienplatform/commands-client/@alienplatform/core": ["@alienplatform/core@1.3.5", "", { "dependencies": { "@openapi-contrib/json-schema-to-openapi-schema": "^4.0.0", "serialize-error": "^12.0.0", "zod": "4.3.2" } }, "sha512-P4pj4Q57g09Z+5zVaPRuNVIcWnHlGpknewm3Z0GkZn2yk+21/aZ6aoi0I2aMwbC4/E11HF4+mENPCUnu47J1EA=="], | ||
|
|
||
| "@alienplatform/commands-client/zod": ["zod@4.3.2", "", {}, "sha512-b8L8yn4rIVfiXyHAmnr52/ZEpDumlT0bmxiq3Ws1ybrinhflGpt12Hvv54kYnEsGPRs6o/Ka3/ppA2OWY21IVg=="], |
There was a problem hiding this comment.
Dual
@alienplatform/core versions in the same install
The top-level dependency resolves to @alienplatform/core@1.7.0, but both @alienplatform/sdk and @alienplatform/commands-client still pin @alienplatform/core@1.3.5 as a nested override. If either package uses instanceof checks or module-identity comparisons against core types, objects created with 1.7.0 won't match the 1.3.5 class references and will silently fail. The same pattern appears in byoc-database/bun.lock and endpoint-agent/bun.lock for commands-client. Consider updating or peering @alienplatform/sdk and @alienplatform/commands-client to accept core ^1.7.0 so only a single version is installed.
Prompt To Fix With AI
This is a comment left during a code review.
Path: examples/github-agent/packages/remote-agent/bun.lock
Line: 337-342
Comment:
**Dual `@alienplatform/core` versions in the same install**
The top-level dependency resolves to `@alienplatform/core@1.7.0`, but both `@alienplatform/sdk` and `@alienplatform/commands-client` still pin `@alienplatform/core@1.3.5` as a nested override. If either package uses `instanceof` checks or module-identity comparisons against core types, objects created with 1.7.0 won't match the 1.3.5 class references and will silently fail. The same pattern appears in `byoc-database/bun.lock` and `endpoint-agent/bun.lock` for `commands-client`. Consider updating or peering `@alienplatform/sdk` and `@alienplatform/commands-client` to accept core `^1.7.0` so only a single version is installed.
How can I resolve this? If you propose a fix, please make it concise.
Fixes ALIEN-189.
Updates examples to depend on the published @alienplatform/core package instead of repo-local link dependencies, so downloaded examples install cleanly.
Validation: