Validate install:local end-to-end on the dev machine #92

Closed
opened 2026-08-27 23:59:07 +00:00 by david · 1 comment
Owner

Summary

Run the full validation pass on the dev machine from a clean main: npm run install:local exits 0, pi shows a local-path entry with no URL duplicate, /reload + /skills lists 12 skills, spot-check one tool per extension, and run all negative tests.

Background

All implementation steps are done; this step verifies the feature end-to-end on the dev machine per the plan's validation section (§5.1), recording the results (e.g. a comment on the implementation PR or on tracking issue #41).

Part of the npm run install:local feature (tracking issue #41).

Depends on: #90 (Implement pi registration with URL dedupe and reload reminder in scripts/local-install.mjs) — the script must be complete and passing its preflight.

Implementation Details

  • Positive path (from clean main):
    • npm run install:local exits 0.
    • pi list shows the package as a local-path entry; no URL entry for this repo remains (dedupe worked).
    • /reload in pi; /skills lists 12 skills.
  • Spot-check one tool per extension:
    • rg → grep works
    • postgres → db_list_tables (or similar) against a configured DATABASE_URL
    • pr-comments → find_pr / list_unresolved_comments
    • forgejo → forgejo_detect
  • Negative tests (each must behave as specified):
    • dirty tree → aborts with "commit or stash your changes"
    • on a feature branch → aborts with "switch to main first"
    • FORGEJO_TOKEN unset → [install:local] Warning: on stderr, install continues, exit 0
    • rg missing (PATH stripped) → aborts with the ripgrep install message
  • Record every result (pass/fail + actual output) where the plan says to record it.

Acceptance Criteria

  • npm run install:local exits 0 on clean main.
  • pi list shows a local-path entry; no URL entry for this repo remains.
  • /reload succeeds; /skills lists 12 skills.
  • All four extension spot-checks behave as expected.
  • All four negative tests behave exactly as specified (message + exit code).
  • Results are recorded (comment on the implementation PR or on tracking issue #41).

Test Plan

  • Run each command in the plan's §5.1 (positive path, spot-checks, and the four negative tests) and record the outcome of each.
## Summary Run the full validation pass on the dev machine from a clean `main`: `npm run install:local` exits 0, pi shows a local-path entry with no URL duplicate, `/reload` + `/skills` lists 12 skills, spot-check one tool per extension, and run all negative tests. ## Background All implementation steps are done; this step verifies the feature end-to-end on the dev machine per the plan's validation section (§5.1), recording the results (e.g. a comment on the implementation PR or on tracking issue #41). Part of the `npm run install:local` feature (tracking issue #41). **Depends on:** #90 (Implement pi registration with URL dedupe and reload reminder in scripts/local-install.mjs) — the script must be complete and passing its preflight. ## Implementation Details - **Positive path** (from clean `main`): - `npm run install:local` exits 0. - `pi list` shows the package as a **local-path** entry; no URL entry for this repo remains (dedupe worked). - `/reload` in pi; `/skills` lists **12 skills**. - **Spot-check one tool per extension**: - rg → grep works - postgres → `db_list_tables` (or similar) against a configured `DATABASE_URL` - pr-comments → `find_pr` / `list_unresolved_comments` - forgejo → `forgejo_detect` - **Negative tests** (each must behave as specified): - dirty tree → aborts with "commit or stash your changes" - on a feature branch → aborts with "switch to main first" - `FORGEJO_TOKEN` unset → `[install:local] Warning:` on stderr, install continues, exit 0 - `rg` missing (PATH stripped) → aborts with the ripgrep install message - Record every result (pass/fail + actual output) where the plan says to record it. ## Acceptance Criteria - [ ] `npm run install:local` exits 0 on clean `main`. - [ ] `pi list` shows a local-path entry; no URL entry for this repo remains. - [ ] `/reload` succeeds; `/skills` lists 12 skills. - [ ] All four extension spot-checks behave as expected. - [ ] All four negative tests behave exactly as specified (message + exit code). - [ ] Results are recorded (comment on the implementation PR or on tracking issue #41). ## Test Plan - Run each command in the plan's §5.1 (positive path, spot-checks, and the four negative tests) and record the outcome of each.
david added this to the M5 - Validation milestone 2026-08-27 23:59:07 +00:00
david closed this issue 2026-08-28 02:41:34 +00:00
Author
Owner

pi-loop opened and merged a pull request for this issue: #99

pi-loop opened and merged a pull request for this issue: https://git.excelera.net/david/pi-extensions-and-skills/pulls/99
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
david/pi-extensions-and-skills#92
No description provided.