Skip to content

fix(plugin-lifecycle): match hyphenated npm package name for Pi host - #127

Merged
phodal merged 1 commit into
QoderAI:mainfrom
L2ncE:fix/pi-plugin-status-npm-name-mismatch
Aug 28, 2026
Merged

fix(plugin-lifecycle): match hyphenated npm package name for Pi host#127
phodal merged 1 commit into
QoderAI:mainfrom
L2ncE:fix/pi-plugin-status-npm-name-mismatch

Conversation

@L2ncE

@L2ncE L2ncE commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

The Pi host reported not-installed after a user-scope npm install because the identity name list still had the pre-rename un-hyphenated @qoderai/better-harness entry, while the published package is @qoder-ai/better-harness. Keep the old entry for historical installs and add the hyphenated npm name so plugin status and doctor resolve the install state correctly.

Closes #126

Summary

plugin status --host pi (and doctor --platform pi) now report installed / enabled / <version> (same) after a user-scope npm install, instead of not-installed.

One-line fix: the Better Harness identity name list in scripts/host-support/profile-builders.mjs still carried the pre-rename un-hyphenated @qoderai/better-harness entry, while the published npm package is @qoder-ai/better-harness (issue #65 rename fallout). The old entry is kept for historical installs and the hyphenated npm name is added, so the Pi package plugin's name / piPackageSource resolve again.

Why

Traceability and Scope

  • Spec/ADR, if applicable: none (one-line identity-list fix, no behavior contract change)
  • Acceptance criteria addressed: [Bug]: plugin status reports not-installed for Pi after successful npm install (identity name mismatch) #126 "success looks like" — plugin status --host pi reports installed / enabled / 0.6.4 (same) after user-scope npm install
  • Canonical owners changed: none
  • Explicit non-goals: no change to other hosts' matching paths (repositories/nativeIds already normalize correctly, verified); no schema, inventory, or install-flow changes

Change Type

  • Feature
  • Bug fix
  • Tests only
  • Documentation/community
  • Refactor with no intended behavior change
  • Dependency, packaging, or infrastructure

Test and Review Evidence

Check Result
npm test (full suite) 105 files, 1570 passed, 2 skipped
npx vitest run test/plugins/plugin-lifecycle.test.mjs 29/29 passed (incl. new npm-name matching assertion)
npm run pack:verify passed: npm 597 entries, runtime zip 859 entries
node scripts/better-harness.mjs plugin status --host pi (real machine, npm user-scope install 0.6.4) pi/cli@user present installed enabled 0.6.4 (same) partial

Manual or visual evidence: reproduction before/after in #126.

Risk and Recovery

  • Compatibility and cross-platform impact: none — pure string-list addition in a frozen identity constant; matching is already lowercase-normalized, no platform-specific paths involved
  • Package, plugin, schema, or generated-file impact: none; shipped-file boundaries re-verified via pack:verify
  • Rollback or recovery path: revert the one-line change
  • Residual risk or unverified boundary: historical installs matching only @qoderai/better-harness stay supported (entry retained); Windows/Linux receipts deferred to CI

AI Involvement

  • Level: Assisted
  • Human review and validation: root cause traced and locally verified by the issue reporter; diff reviewed on the fork before PR

Checklist

  • I followed AGENTS.md, CONTRIBUTING.md, and the relevant canonical-owner guidance.
  • The change is focused and does not include unrelated local or generated state.
  • Tests and documentation match the behavior actually delivered.
  • Markdown links were checked when documentation moved or changed.
  • Cross-platform behavior was considered for Windows, macOS, and Linux.
  • Package/runtime verification was run when shipped files or dependencies changed.
  • User-facing or compatibility changes are recorded in CHANGELOG.md (skipped per AGENTS.md change-scope rule; maintainer decision).
  • I have the right to contribute this work under the repository's MIT License.

The Pi host reported not-installed after a user-scope npm install
because the identity name list still had the pre-rename un-hyphenated
@qoderai/better-harness entry, while the published package is
@qoder-ai/better-harness. Keep the old entry for historical installs
and add the hyphenated npm name so plugin status and doctor resolve
the install state correctly.

Closes QoderAI#126
@L2ncE
L2ncE marked this pull request as ready for review August 28, 2026 09:43
@phodal
phodal merged commit 5229da0 into QoderAI:main Aug 28, 2026
4 checks passed
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.

[Bug]: plugin status reports not-installed for Pi after successful npm install (identity name mismatch)

2 participants