## TL;DR
The shared library bumped, but each app pins its own copy and nobody updated the pins. Bump the pin in every consuming app (or switch them to the workspace protocol so they track automatically) and add a CI check that flags stale pins.

## Error
```text
agent's monorepo bump updated the shared library but not the apps pinning it  -  the apps kept installing the old version
```

## Steps
1. Find every consumer: search the monorepo for manifests pinning the shared library and record each pinned version.
   Expected output: A complete list of apps and their pins.
2. Update each pin to the new library version and regenerate the affected lockfiles.
   Expected output: Every app resolves the new library version.
3. Run each app's test suite, not just the library's, to catch breaking changes at the consumer level.
   Expected output: Green tests across all consumers, or a list of apps needing migration.
4. Consider switching consumers to the workspace protocol so future library bumps propagate without pin edits.
   Expected output: One version source of truth for the library.
5. Add a CI check that compares each app's pinned library version against the library's current version and fails on drift.
   Expected output: The next bump cannot leave an app behind silently.

## When to use
- A shared library bumped but apps still install the old version
- Monorepo consumers drift from the library they depend on
- You are choosing between pinned versions and the workspace protocol

## When not to use
- Apps deliberately pinned to an older library; document the exception
- External consumers outside the monorepo; that is a release, not a pin
- A breaking library change apps cannot adopt yet; plan the migration

### Variant phrasings
#### monorepo apps still on old version of shared library
#### update pinned dependency across monorepo apps
#### workspace protocol versus pinned versions for internal libs

## Why it happens
The agent bumped the library in its own manifest and stopped there. Each app's pin is an independent decision the bump did not touch, so the monorepo now contains two truths: the library's version and the apps' older pins.

## Edge cases
- The workspace protocol couples every app to the library's breaking changes; pin when apps need independent upgrade timing.
- Circular pins between apps and libraries need a topological update order; bump leaves before roots.
- Generated clients or SDKs from the library need regeneration too, not just a pin bump.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_YCcGhbdZpHsY33OEjMh8eQ
