Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: Conversation fragment pending completion
summary: Partial user note indicates they fixed something, but the snippet is incomplete and does not provide enough durable detail to retain more specifically.
tags: []
related: []
keywords: []
createdAt: '2026-04-24T17:08:40.091Z'
updatedAt: '2026-04-24T17:08:40.091Z'
---
## Reason
Capture available lasting-value context from partial conversation snippet.

## Raw Concept
**Task:**
Record the only durable information present in a truncated conversation snippet

**Changes:**
- Noted that the source conversation was truncated before the substantive detail was visible

**Flow:**
partial conversation -> assess durability -> store only verifiable fragment

**Timestamp:** 2026-04-24

## Narrative
### Structure
This entry reflects a truncated conversation context with no full substantive claim available for capture.

### Highlights
Only the beginning of a user statement is visible, so no specific fix can be curated from the snippet alone.

## Facts
- **conversation_fragment**: The available conversation snippet is incomplete and only shows the start of a user message: "I fixed". [other]
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: Repository Review Findings
summary: A repository issue was fixed, but the provided context snippet is truncated and does not expose the specific file or change details.
tags: []
related: [release_management/ci/changesets_and_github_actions_ci.md, release_management/ci/husky_pre_commit_checks.md, release_management/ci/git_ignore_state_verification.md]
keywords: []
createdAt: '2026-04-24T17:04:26.153Z'
updatedAt: '2026-04-24T17:08:41.497Z'
---
## Reason
Curate the substantive fix noted in the conversation

## Raw Concept
**Task:**
Record a user-reported fix from a truncated conversation snippet

**Changes:**
- Identified a brvPath passthrough bug in plugin construction
- Confirmed the repository has no tests or pnpm test script
- Noted tracked .brv/context-tree files in version control
- Observed missing declaration files in the packed artifact
- Recorded a moderate audit issue and outdated OpenCode dependencies
- Flagged permissive numeric config validation
- User stated that they fixed an issue

**Flow:**
issue identified -> fix applied -> details omitted in available snippet

**Timestamp:** 2026-04-24

**Author:** user

## Narrative
### Structure
The available context only preserves the opening of the user message and does not include the remainder of the fix description.

### Dependencies
Specific files, commands, or verification details are not present in the snippet.

### Highlights
The message indicates a completed fix, but the exact subject of the fix is not recoverable from the supplied context.

### Rules
Fix in this order: 1. Pass brvPath: config.brvPath into BrvBridge. 2. Add a small test suite and pnpm test. 3. Decide whether .brv/ should be fully untracked and ignored. 4. Add declaration generation plus types/exports metadata. 5. Refresh OpenCode dependencies and re-run pnpm audit. 6. Tighten config schema validation.

### Examples
Verification commands passed: pnpm format:check, pnpm lint, pnpm typecheck, pnpm build, and pnpm pack --dry-run.
60 changes: 60 additions & 0 deletions .brv/context-tree/tests/build/high_value_plugin_tests.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: High-Value Plugin Tests
summary: High-value Vitest coverage for plugin behavior, plus a fix for default missing options handling.
tags: []
related: []
keywords: []
createdAt: '2026-04-24T17:15:40.250Z'
updatedAt: '2026-04-24T17:15:40.250Z'
---
## Reason
Document the implemented high-value tests and the bug fix they exposed.

## Raw Concept
**Task:**
Implement high-value tests for the plugin using observable hooks and minimal dependencies

**Changes:**
- Added Vitest and pnpm test
- Added src/index.test.ts with focused behavioral coverage
- Fixed missing-options handling with Config.safeParse(options ?? {})

**Files:**
- package.json
- pnpm-lock.yaml
- src/index.ts
- src/index.test.ts
- .github/workflows/ci.yml
- .husky/pre-commit
- README.md

**Flow:**
test setup -> observable hook coverage -> bug discovery -> default-options fix -> verification

**Timestamp:** 2026-04-24

**Author:** assistant

## Narrative
### Structure
The work centers on public plugin hooks rather than internals, keeping the suite focused on observable behavior.

### Dependencies
Relies on Vitest, mocked BrvBridge and OpenCode client behavior, and existing repo automation in CI and pre-commit hooks.

### Highlights
The tests validated config passthrough, recall behavior, curation dedupe, and error-path logging, and they surfaced a real default-configuration bug.

### Rules
Only high-value tests were added; avoid extracting internals when public hooks can verify behavior.

### Examples
One test confirms that missing options no longer prevent hook creation because the plugin now safely defaults to an empty config object.

## Facts
- **test_runner**: The work added Vitest as the smallest test runner dependency. [project]
- **test_script**: A new pnpm test script was added. [project]
- **test_coverage**: The test suite covers bridge config passthrough, recall filtering/truncation/injection, idle curation dedupe, and invalid config logging/no hooks. [project]
- **default_options_fix**: ByteroverPlugin now treats missing plugin options as {} via Config.safeParse(options ?? {}). [project]
- **verification_commands**: Verification passed for pnpm test, pnpm format:check, pnpm lint, pnpm typecheck, and pnpm build. [project]
- **audit_advisory**: pnpm audit still reports an existing moderate uuid advisory through @opencode-ai/plugin > effect > uuid. [project]
5 changes: 5 additions & 0 deletions .changeset/legal-onions-drive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"opencode-byterover": patch
---

Respect `brvPath` parameter and add high-value tests (vitest)
16 changes: 1 addition & 15 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1 @@
# These are supported funding model platforms

github: [ian-pascoe] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
github: ian-pascoe
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,8 @@ jobs:
- name: Typecheck
run: pnpm typecheck

- name: Test
run: pnpm test

- name: Build
run: pnpm build
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
pnpm format:check
pnpm lint
pnpm test
pnpm typecheck
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ The plugin accepts these optional settings:
pnpm install
pnpm format:check
pnpm lint
pnpm test
pnpm typecheck
pnpm build
```
Expand Down
8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@
"lint": "oxlint",
"lint:fix": "oxlint --fix",
"release": "pnpm run build && changeset publish",
"test": "vitest run",
"typecheck": "tsc --noEmit",
"version-packages": "changeset version",
"prepare": "husky"
},
"dependencies": {
"@byterover/brv-bridge": "^1.1.0",
"@opencode-ai/plugin": "^1.14.22",
"@opencode-ai/sdk": "^1.14.22",
"@opencode-ai/plugin": "^1.14.24",
"@opencode-ai/sdk": "^1.14.24",
"zod": "^4.3.6"
},
"devDependencies": {
Expand All @@ -48,7 +49,8 @@
"oxfmt": "^0.46.0",
"oxlint": "^1.61.0",
"rolldown": "1.0.0-rc.17",
"typescript": "^6.0.3"
"typescript": "^6.0.3",
"vitest": "^4.1.5"
},
"packageManager": "pnpm@10.33.2"
}
Loading
Loading