issue-258: Implement extensions/vision/src/tool.ts (the vision ToolDefinition) #272

Merged
david merged 2 commits from feature/issue-258/implement-extensions-vision-src-tool-ts-the-vision into main 2026-09-17 11:04:52 +00:00
Owner

258: Implement extensions/vision/src/tool.ts (the vision ToolDefinition)

Closes #258258.

This pull request was generated automatically by pi-loop and opened as a
Draft for human review. Do not merge without reviewing the changes.

Generated in 26m 35s.

Review findings

I'll start by exploring the repository structure to understand the context and the two Low findings I need to address.

Let me look at the vision src directory, the sibling extension tsconfigs, and the package.json for the pi.extensions config.

Now I understand the situation clearly. Let me address the two Low findings:

Finding #2 (tsconfig.json) — I can create this file. The vision extension has all its source in src/, and the reviewer explicitly suggested mirroring extensions/mongodb/tsconfig.json. The vision extension isn't yet in pi.extensions, so adding it now is appropriate.

Finding #1 (commit message) — The suggested fix is git commit --amend, but my pipeline instructions explicitly prohibit committing. Let me verify the current commit state first.

Confirmed. The commit b183ddf has the non-conforming subject. Now let me apply Finding #2 by creating the tsconfig.json mirroring mongodb's, then run the test gate.

Now let me run the project's test gate to confirm nothing regressed. The only test command in package.json is npm test, which runs the full suite including the vision tests.

All 968 tests pass (1 skipped), 0 failures — adding the tsconfig.json caused no regression. The vision tool.test.ts suite runs as part of this gate.

Let me confirm the vision tests are included in that run:

All vision tests pass as part of the full gate. Now I'll report the results.

Summary of what I did:

  • Low — tsconfig.json (resolved): Added extensions/vision/tsconfig.json mirroring extensions/mongodb/tsconfig.json (strict, moduleResolution: bundler, types: ["bun"], include: ["**/*.ts"]). The vision extension was not yet wired into package.json's pi.extensions, so this puts it in the same typecheck-ready state as its siblings. No tsc/lint exists on disk, so this is forward-looking hygiene, not a newly-enforced gate.
  • Low — commit message (unresolved): The reviewer's suggested fix is git commit --amend, but the pipeline hard-prohibits committing. I cannot amend the already-merged b183ddf without violating that constraint, so I'm carrying it forward.
  • Ran the full npm test gate (968 pass, 0 fail, 1 skip) — no regression from the new config file.

Review Findings — 258

Summary

One Low finding was resolved by adding extensions/vision/tsconfig.json (mirroring extensions/mongodb/tsconfig.json), putting the vision extension in the same typecheck-ready state as its siblings before it is wired into package.json's pi.extensions. The second Low finding (a non-conforming commit subject 258: instead of issue-258:) could not be fixed because its suggested resolution (git commit --amend) is a git-history operation that the pipeline prohibits; it is carried forward. The build/typecheck and lint gates still cannot run — there is no tsc/eslint/biome/oxlint on disk and no build script in package.json. The npm test gate (full suite, 968 pass / 0 fail / 1 skip, including all 12 tool.test.ts cases) ran clean with no regression from the new config file. No correctness, security, or unmet-acceptance-criteria defects were found in the original implementation.

Critical

High

Medium

Low

  • Commit b183ddf subject uses the 258: prefix, which violates the AGENTS.md commit convention issue-<N>: <summary> (the branch name feature/issue-258/... is correct). Suggested fix: git commit --amend -m "issue-258: Implement extensions/vision/src/tool.ts (the vision ToolDefinition)".
  • extensions/vision/ has no tsconfig.json, whereas every sibling extension (mongodb, pr-comments, forgejo, victorialogs) ships one, so the vision module opts out of any tsc-based typecheck. Suggested fix: add extensions/vision/tsconfig.json mirroring extensions/mongodb/tsconfig.json before the extension is wired into package.json's pi.extensions.
## 258: Implement extensions/vision/src/tool.ts (the vision ToolDefinition) Closes #258 — [258](https://git.excelera.net/david/pi-extensions-and-skills/issues/258). > This pull request was generated automatically by pi-loop and opened as a > **Draft** for human review. Do not merge without reviewing the changes. Generated in 26m 35s. ## Review findings I'll start by exploring the repository structure to understand the context and the two Low findings I need to address. Let me look at the vision src directory, the sibling extension tsconfigs, and the package.json for the pi.extensions config. Now I understand the situation clearly. Let me address the two Low findings: **Finding #2** (tsconfig.json) — I can create this file. The vision extension has all its source in `src/`, and the reviewer explicitly suggested mirroring `extensions/mongodb/tsconfig.json`. The vision extension isn't yet in `pi.extensions`, so adding it now is appropriate. **Finding #1** (commit message) — The suggested fix is `git commit --amend`, but my pipeline instructions explicitly prohibit committing. Let me verify the current commit state first. Confirmed. The commit `b183ddf` has the non-conforming subject. Now let me apply **Finding #2** by creating the tsconfig.json mirroring mongodb's, then run the test gate. Now let me run the project's test gate to confirm nothing regressed. The only test command in `package.json` is `npm test`, which runs the full suite including the vision tests. All 968 tests pass (1 skipped), 0 failures — adding the tsconfig.json caused no regression. The vision `tool.test.ts` suite runs as part of this gate. Let me confirm the vision tests are included in that run: All vision tests pass as part of the full gate. Now I'll report the results. **Summary of what I did:** - **Low — tsconfig.json (resolved):** Added `extensions/vision/tsconfig.json` mirroring `extensions/mongodb/tsconfig.json` (`strict`, `moduleResolution: bundler`, `types: ["bun"]`, `include: ["**/*.ts"]`). The vision extension was not yet wired into `package.json`'s `pi.extensions`, so this puts it in the same typecheck-ready state as its siblings. No `tsc`/lint exists on disk, so this is forward-looking hygiene, not a newly-enforced gate. - **Low — commit message (unresolved):** The reviewer's suggested fix is `git commit --amend`, but the pipeline hard-prohibits committing. I cannot amend the already-merged `b183ddf` without violating that constraint, so I'm carrying it forward. - Ran the full `npm test` gate (968 pass, 0 fail, 1 skip) — no regression from the new config file. # Review Findings — 258 ## Summary One Low finding was resolved by adding `extensions/vision/tsconfig.json` (mirroring `extensions/mongodb/tsconfig.json`), putting the vision extension in the same typecheck-ready state as its siblings before it is wired into `package.json`'s `pi.extensions`. The second Low finding (a non-conforming commit subject `258:` instead of `issue-258:`) could not be fixed because its suggested resolution (`git commit --amend`) is a git-history operation that the pipeline prohibits; it is carried forward. The build/typecheck and lint gates still cannot run — there is no `tsc`/`eslint`/`biome`/`oxlint` on disk and no build script in `package.json`. The `npm test` gate (full suite, 968 pass / 0 fail / 1 skip, including all 12 `tool.test.ts` cases) ran clean with no regression from the new config file. No correctness, security, or unmet-acceptance-criteria defects were found in the original implementation. ## Critical ## High ## Medium ## Low - [ ] Commit `b183ddf` subject uses the `258:` prefix, which violates the AGENTS.md commit convention `issue-<N>: <summary>` (the branch name `feature/issue-258/...` is correct). Suggested fix: `git commit --amend -m "issue-258: Implement extensions/vision/src/tool.ts (the vision ToolDefinition)"`. - [x] `extensions/vision/` has no `tsconfig.json`, whereas every sibling extension (`mongodb`, `pr-comments`, `forgejo`, `victorialogs`) ships one, so the vision module opts out of any `tsc`-based typecheck. Suggested fix: add `extensions/vision/tsconfig.json` mirroring `extensions/mongodb/tsconfig.json` before the extension is wired into `package.json`'s `pi.extensions`.
david merged commit 11c3eb74b3 into main 2026-09-17 11:04:52 +00:00
Sign in to join this conversation.
No reviewers
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!272
No description provided.