Skip to content

docs: ADR-0017 peer dep version pinning via pnpm migration#229

Open
dingoatemytokens wants to merge 1 commit intocyberfabric:mainfrom
dingoatemytokens:feature/pnpm
Open

docs: ADR-0017 peer dep version pinning via pnpm migration#229
dingoatemytokens wants to merge 1 commit intocyberfabric:mainfrom
dingoatemytokens:feature/pnpm

Conversation

@dingoatemytokens
Copy link
Copy Markdown
Collaborator

Documents the decision to migrate to pnpm with workspace:* protocol to fix incompatible peer dependency resolution when installing from the alpha dist-tag. Registers the new ADR in DESIGN.md drivers.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Document ADR-0017 peer dependency pinning via pnpm migration

📝 Documentation

Grey Divider

Walkthroughs

Description
• Documents ADR-0017 decision to migrate to pnpm with workspace:* protocol
• Solves peer dependency resolution issues for alpha dist-tag installations
• Registers new ADR in DESIGN.md architecture drivers list
• Compares three options: pnpm migration, CI script, and documentation approaches
Diagram
flowchart LR
  A["Peer Dependency<br/>Resolution Problem"] -->|"Chosen Solution"| B["Migrate to pnpm<br/>with workspace:*"]
  A -->|"Alternative 1"| C["CI Script<br/>Version Pinning"]
  A -->|"Alternative 2"| D["Installation<br/>Documentation"]
  B -->|"Benefits"| E["Zero-maintenance<br/>Strict hoisting<br/>Content-addressable store"]
  C -->|"Drawbacks"| F["Custom code<br/>Misleading source"]
  D -->|"Drawbacks"| G["Poor UX<br/>Fragile"]
Loading

Grey Divider

File Changes

1. architecture/ADR/0017-peer-dep-version-pinning.md 📝 Documentation +105/-0

New ADR for peer dependency version pinning strategy

• New ADR document establishing decision to migrate to pnpm with workspace:* protocol
• Defines problem: npm v7+ resolves wildcard peer dependencies against latest dist-tag, causing
 incompatible alpha installations
• Evaluates three options with detailed pros/cons analysis
• Specifies confirmation criteria for successful migration implementation

architecture/ADR/0017-peer-dep-version-pinning.md


2. architecture/DESIGN.md 📝 Documentation +2/-1

Register new ADR in architecture drivers

• Registers new ADR identifier cpt-hai3-adr-peer-dep-version-pinning in architecture drivers list
• Adds reference to the peer dependency pinning decision in design traceability

architecture/DESIGN.md


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review bot commented Mar 18, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0) 📐 Spec deviations (0)

Grey Divider


Action required

1. Proposed ADR in drivers 🐞 Bug ⚙ Maintainability
Description
architecture/DESIGN.md lists cpt-hai3-adr-peer-dep-version-pinning among architecture driver
ADRs even though ADR-0017 is still marked status: proposed, which can mislead readers into
treating an unratified decision as accepted. Either mark ADR-0017 as accepted (if this decision is
finalized) or remove it from the drivers list until it is accepted.
Code

architecture/DESIGN.md[R124-125]

+`cpt-hai3-adr-two-tier-cli-e2e-verification`,
+`cpt-hai3-adr-peer-dep-version-pinning`
Evidence
DESIGN.md’s ADR driver list now includes the new ADR ID, but ADR-0017’s frontmatter status is
proposed, while the other ADRs in the same list are accepted, indicating the drivers list is
intended to reference ratified decisions.

architecture/DESIGN.md[104-126]
architecture/ADR/0017-peer-dep-version-pinning.md[1-4]
architecture/ADR/0016-two-tier-cli-e2e-verification.md[1-4]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`architecture/DESIGN.md` lists `cpt-hai3-adr-peer-dep-version-pinning` as an architecture driver, but ADR-0017 is still marked `status: proposed`. This makes the architecture drivers list inconsistent with ADR governance and may be interpreted as an accepted decision.

### Issue Context
All other ADRs referenced in the DESIGN.md driver list are marked `status: accepted`.

### Fix Focus Areas
- architecture/DESIGN.md[124-125]
- architecture/ADR/0017-peer-dep-version-pinning.md[1-4]

### Expected fix
Choose one:
1) If the decision is finalized: change ADR-0017 frontmatter to `status: accepted`.
2) If still under review: remove `cpt-hai3-adr-peer-dep-version-pinning` from the DESIGN.md ADR drivers list until acceptance.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Comment thread architecture/DESIGN.md
Comment on lines +124 to +125
`cpt-hai3-adr-two-tier-cli-e2e-verification`,
`cpt-hai3-adr-peer-dep-version-pinning`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Proposed adr in drivers 🐞 Bug ⚙ Maintainability

architecture/DESIGN.md lists cpt-hai3-adr-peer-dep-version-pinning among architecture driver
ADRs even though ADR-0017 is still marked status: proposed, which can mislead readers into
treating an unratified decision as accepted. Either mark ADR-0017 as accepted (if this decision is
finalized) or remove it from the drivers list until it is accepted.
Agent Prompt
### Issue description
`architecture/DESIGN.md` lists `cpt-hai3-adr-peer-dep-version-pinning` as an architecture driver, but ADR-0017 is still marked `status: proposed`. This makes the architecture drivers list inconsistent with ADR governance and may be interpreted as an accepted decision.

### Issue Context
All other ADRs referenced in the DESIGN.md driver list are marked `status: accepted`.

### Fix Focus Areas
- architecture/DESIGN.md[124-125]
- architecture/ADR/0017-peer-dep-version-pinning.md[1-4]

### Expected fix
Choose one:
1) If the decision is finalized: change ADR-0017 frontmatter to `status: accepted`.
2) If still under review: remove `cpt-hai3-adr-peer-dep-version-pinning` from the DESIGN.md ADR drivers list until acceptance.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Documents the decision to migrate from npm to pnpm using workspace:*
protocol to fix incompatible peer dependency resolution when installing
@hai3/* packages from the alpha dist-tag.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: dingoatemytokens <dingoatemytokens@gmail.com>
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants