Skip to content
Open
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,42 @@
---
memory_kind: episodic
episode_id: cursor-autonomous-421-2026-07-03
title: "Issue #421 wiki-link hover preview — autonomous delivery"
tags: [kiwifs, issue-421, ui, hover-preview, wiki-links, autonomous]
date: 2026-07-03
---

## Task

Autonomous ClawWork delivery for kiwifs/kiwifs#421 — inline page preview on wiki-link hover.

## Approach

1. Searched Kiwi depot (`192.168.167.240:3333`) — unreachable; read local `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md`.
2. Found prior implementation on `feat/issue-421-wiki-link-hover-preview` (4 commits ahead of main).
3. Created clean branch `feat/issue-421-wiki-link-hover-preview-clean` from `main` and cherry-picked all four commits.

## Verification

- `cd ui && npx vitest run wikiLinkPeek wikiLinkAnchor` — **18/18 passed**
- `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — passed
- `npx tsc -b --noEmit` — blocked by overlay `node_modules` EACCES (missing `@radix-ui/react-hover-card` install); fleet CI runs `npm install && npm run build`

## Acceptance criteria

| Criterion | Status |
|-----------|--------|
| Hover preview on wiki-links (300ms delay) | ✓ HoverCard openDelay=300 |
| Title, snippet, tags, path in popover | ✓ WikiLinkPreview + Card |
| Lazy fetch via `/api/kiwi/peek` | ✓ wikiLinkPeek.ts + api.peek |
| Broken links show "Page not found" | ✓ missing + 404 handling |
| No popover in editor mode | ✓ only KiwiPage read-mode renderers |
| Touch devices disabled | ✓ canOpenHoverPreview media query |

## Branch

`feat/issue-421-wiki-link-hover-preview-clean` — 4 commits, not pushed (fleet publishes).

## Kiwi MCP

Depot unreachable; durable fix doc at `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md` (gitignored locally, fleet sync).
46 changes: 46 additions & 0 deletions episodes/agents/cursor-composer-421/2026-07-03-rebase-delivery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
memory_kind: episodic
episode_id: cursor-composer-421-2026-07-03
title: Issue #421 wiki-link hover preview — rebase onto main and delivery
tags: [kiwifs, issue-421, ui, hover-preview, wiki-links, rebase, clawwork]
date: 2026-07-03
---

## Task

ClawWork delivery for kiwifs/kiwifs#421 — inline page preview on wiki-link hover.

## Pre-implementation search

1. Kiwi depot at `192.168.167.240:3333` — unreachable (curl exit 7).
2. Read local fix doc: `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md`.
3. Checked out `feat/issue-421-wiki-link-hover-preview-clean` with prior implementation (8 commits).

## Work performed

1. Rebased branch onto current `main` (`a328732`, embeddable `@kiwifs/ui` #460).
2. Resolved `KiwiPage.tsx` merge conflicts:
- Preserved `clearWikiLinkPeekCache()` on path/refreshKey change.
- Replaced inline wiki-link `<a>` handlers with `renderWikiLinkAnchor()`.
- Wired `onWikiLinkClick` prop (headless/embed mode) through preview anchors.
3. Updated `WikiLinkPreview.tsx` during rebase:
- `linkHref` preserved on anchors.
- `allowHoverCardOpenChange()` keyboard-focus guard.
- `navigateWikiLink()` honors `onWikiLinkClick` when provided.

## Verification

| Check | Result |
|-------|--------|
| `cd ui && npm test -- --run wikiLink` | **28/28 passed** |
| `cd ui && npm test -- --run` | **211/211 passed** |
| `go test ./internal/mcpserver/ -run 'TestPeek\|TestToolHandler_Peek'` | **passed** |
| `npm run typecheck` | Blocked — overlay `node_modules` EACCES |

## Branch state

`feat/issue-421-wiki-link-hover-preview-clean` — rebased, clean working tree, not pushed (fleet publishes PR closing #421).

## Kiwi MCP

Depot unreachable; fix doc and episode updated locally for fleet sync.
44 changes: 44 additions & 0 deletions episodes/agents/cursor-fleet-421/2026-07-03-autonomous-delivery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
memory_kind: episodic
episode_id: cursor-fleet-421-2026-07-03
title: Autonomous verification and delivery for issue #421 wiki-link hover preview
tags: [kiwifs, issue-421, ui, hover-preview, wiki-links, autonomous, clawwork]
date: 2026-07-03
---

## Task

ClawWork autonomous delivery for kiwifs/kiwifs#421 — inline page preview on wiki-link hover.

## Pre-implementation search

1. Kiwi MCP gateway at `192.168.167.240:3333` — unreachable (curl exit 7).
2. Read local fix doc: `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md`.
3. Branch `feat/issue-421-wiki-link-hover-preview-clean` already contains full implementation (8 commits vs `origin/main`).

## Verification

| Check | Result |
|-------|--------|
| `cd ui && npx vitest run wikiLinkPeek wikiLinkAnchor` | **22/22 passed** |
| `cd ui && npx vitest run` | **211/211 passed** |
| `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` | **passed** |
| `npm run typecheck` | Blocked locally — overlay `node_modules` EACCES; fleet CI installs deps |

## Acceptance criteria

- [x] Hover preview on wiki-links (300ms open, 100ms close)
- [x] Popover shows title, snippet, tags, path
- [x] Lazy fetch via `/api/kiwi/peek` with cache + dedup
- [x] Broken/missing links show "Page not found"
- [x] No popover in editor mode (only `KiwiPage` read renderers)
- [x] Touch/coarse-pointer devices get plain anchors
- [x] No popover on keyboard Tab focus (`allowHoverCardOpenChange` pointer gate)

## Branch state

`feat/issue-421-wiki-link-hover-preview-clean` — clean working tree, not pushed (fleet publishes PR closing #421).

## Kiwi MCP

Depot unreachable; durable fix doc updated locally at `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md` for fleet sync.
25 changes: 25 additions & 0 deletions episodes/agents/cursor-hands-on-421/2026-07-03-delivery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
memory_kind: episodic
episode_id: 2026-07-03-hands-on-421-delivery
title: Hands-on delivery for issue #421 wiki-link hover preview
tags: kiwifs, ui, feature, issue-421
date: 2026-07-03
---

## Overview

Hands-on takeover after fleet engineer failed delivery check (no_committed_diff). Verified existing branch implementation, fixed peer-review cache invalidation bug, ran tests, committed, pushed, and opened PR.

## Steps

1. Verified branch `feat/issue-421-wiki-link-hover-preview-clean` had 5 prior feature commits vs `main`.
2. Ran unit tests: `cd ui && npm test -- --run wikiLinkPeek wikiLinkAnchor` — 19/19 passed (added stale-cache regression).
3. Ran Go peek tests: `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — passed.
4. Bugbot peer review flagged in-flight cache repopulation after `clearWikiLinkPeekCache()`.
5. Fixed with `cacheGeneration` guard in `wikiLinkPeek.ts`; aligned anchor scroll delay to 150ms.
6. Committed fix, pushed branch, opened PR closing #421.

## Tests

- `cd ui && npm test -- --run wikiLinkPeek wikiLinkAnchor` — 19/19 passed
- `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — passed
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
memory_kind: episodic
episode_id: 2026-07-03-fleet-takeover-verified-421
title: Fleet hands-on takeover — verified tests, commit fix doc, open PR #421
tags: [kiwifs, ui, feature, issue-421, wiki-links, hover-preview, delivery]
date: 2026-07-03
---

## Context

Fleet delivery check failed (`code_not_delivered`, `peer_review_not_passed`) despite prior implementation on `feat/issue-421-wiki-link-hover-preview-clean`. Hands-on takeover re-ran tests, committed durable fix doc, pushed branch, and opened PR closing #421.

## Verification (2026-07-03 18:22 UTC)

```text
cd ui && npm test -- --run wikiLink
→ 3 files, 28/28 passed

cd ui && npm test -- --run
→ 35 files, 211/211 passed

go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'
→ ok (cached)
```

Peer review: **Approve** — security, correctness, tests, scope all pass.

## Deliverables

- Committed `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md`
- Pushed `feat/issue-421-wiki-link-hover-preview-clean` to fork
- Opened PR closing kiwifs/kiwifs#421

Kiwi MCP gateway unreachable; fix doc committed locally for fleet sync.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
memory_kind: episodic
episode_id: 2026-07-03-hands-on-421-takeover-delivery
title: Hands-on takeover verified delivery for issue #421
tags: [kiwifs, ui, feature, issue-421, wiki-links, hover-preview]
date: 2026-07-03
---

## Overview

Hands-on takeover after fleet delivery check failed (`no_committed_diff`, `peer_review_not_passed`). Re-verified the full branch implementation on `feat/issue-421-wiki-link-hover-preview-clean`, ran regression tests, completed peer review, and opened PR closing #421.

## Verification

1. Confirmed 7 commits vs `origin/main` with wiki-link hover preview feature complete.
2. Searched Kiwi depot at `192.168.167.240:3333` — unreachable; used local fix doc at `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md`.
3. Ran UI tests: `cd ui && npx vitest run` — **211/211 passed** (includes 22 wiki-link peek/anchor tests).
4. Ran Go peek tests: `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — **passed**.
5. Bugbot peer review: **APPROVED** — all 8 acceptance criteria met.

## Acceptance criteria

- [x] Hover preview on wiki-links (300ms open, 100ms close)
- [x] Popover shows title, snippet, tags, path
- [x] Lazy fetch via `/api/kiwi/peek` with cache + dedup
- [x] Broken/missing links show "Page not found"
- [x] No popover in editor mode (`KiwiEditor` separate from `KiwiPage` read view)
- [x] Touch/coarse-pointer devices get plain anchors
- [x] No popover on keyboard Tab focus (pointer gate)

## Files in branch

- `ui/src/components/WikiLinkPreview.tsx` — HoverCard preview UI
- `ui/src/components/ui/hover-card.tsx` — shadcn/Radix wrapper
- `ui/src/lib/wikiLinkPeek.ts` + tests — fetch/cache layer
- `ui/src/lib/wikiLinkAnchor.ts` + tests — href parsing, media query gate
- `ui/src/lib/api.ts` — `PeekResponse` + `api.peek()`
- `ui/src/components/KiwiPage.tsx` — integration + cache clear on navigation
- `ui/package.json` / `package-lock.json` — `@radix-ui/react-hover-card`
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
memory_kind: episodic
episode_id: 2026-07-03-hands-on-421-verified-delivery
title: Verified delivery for issue #421 wiki-link hover preview
tags: kiwifs, ui, feature, issue-421
date: 2026-07-03
---

## Overview

Hands-on takeover after fleet engineer delivery check failed (no_committed_diff, peer_review_not_passed). Verified branch implementation, added keyboard-focus regression tests, ran tests, committed, pushed, and opened PR closing #421.

## Steps

1. Verified branch `feat/issue-421-wiki-link-hover-preview-clean` (6 commits vs `main`).
2. Ran unit tests: `cd ui && npx vitest run wikiLinkPeek wikiLinkAnchor` — 22/22 passed.
3. Ran Go peek tests: `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — passed.
4. Bugbot peer review: approved with minor caveats; added `allowHoverCardOpenChange()` helper + 3 regression tests.
5. Fixed anchor `title` prop order so explicit missing-link tooltip wins over remark `rest` attrs.
6. Committed, pushed branch, opened PR against `kiwifs/kiwifs` closing #421.

## Tests

- `cd ui && npx vitest run wikiLinkPeek wikiLinkAnchor` — 22/22 passed
- `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — passed
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
memory_kind: episodic
episode_id: cursor-hands-on-421-2026-07-03-verified-takeover
title: "Issue #421 wiki-link hover preview — verified hands-on takeover"
tags: [kiwifs, issue-421, wiki-links, hover-preview, delivery]
date: 2026-07-03
---

## Summary

Hands-on takeover verified the rebased `feat/issue-421-wiki-link-hover-preview-clean` branch after prior fleet agent failed delivery check (`peer_review_not_passed` / no mutating tool runs).

## Verification

- Branch rebased onto `main` (`a328732`, includes #460 embeddable `@kiwifs/ui`)
- Working tree clean; implementation already present from prior cursor session

### Tests (all green)

```
cd ui && npm test -- --run wikiLink → 28/28 passed
cd ui && npm test -- --run → 211/211 passed
go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek' → ok
```

### Peer review

Approved — meets acceptance criteria: HoverCard preview with title/path/snippet/tags, lazy `/api/kiwi/peek`, broken-link handling, read-mode only, touch devices get plain anchors, keyboard Tab does not open popover.

## Actions

- Pushed branch to `fork`
- Opened PR closing #421

## Kiwi docs

- Fix doc: `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md` (local; depot unreachable)
31 changes: 31 additions & 0 deletions episodes/agents/cursor-issue-421/2026-07-03-hands-on-delivery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
memory_kind: episodic
episode_id: cursor-issue-421-hands-on-2026-07-03
title: "Issue #421 hands-on delivery verification"
tags: [kiwifs, issue-421, ui, hover-preview, hands-on, delivery]
date: 2026-07-03
---

## Task

Hands-on takeover for kiwifs/kiwifs#421 — verify wiki-link hover preview, peer review, commit, push, open PR.

## Verification (2026-07-03 hands-on takeover v2)

- `cd ui && npm test -- --run wikiLinkPeek wikiLinkAnchor` — 18/18 passed
- `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — passed
- Bugbot peer review: approved (no blockers); applied prop-spread-order hardening on preview anchors
- UI build blocked locally by overlay `node_modules` EACCES; CI should run `npm install && npm run build`

## Fix applied

- Strip `node` from local-notes markdown anchor props before forwarding to `renderWikiLinkAnchor` (matches main prose path; avoids spurious DOM `node` prop)
- Preserve original `#kiwi:` / `#kiwi-missing:` href on preview anchors instead of reconstructing paths (copy-link and accessibility)

## Branch

- `feat/issue-421-wiki-link-hover-preview` — pushed to fork, PR #78 on advancedresearcharray/kiwifs closing kiwifs/kiwifs#421

## Kiwi MCP

Gateway at 192.168.167.240:3333 unreachable from this host; fix doc at `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md` updated locally for fleet sync.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
memory_kind: episodic
episode_id: cursor-issue-421-2026-07-03
title: "Issue #421 wiki-link hover preview delivery"
tags: [kiwifs, issue-421, ui, hover-preview, wiki-links]
date: 2026-07-03
---

## Task

Implement inline page preview on wiki-link hover (kiwifs/kiwifs#421) on a clean branch from main.

## Approach

- Rebased implementation from prior delivery branch onto `main` without #460 embeddable-package changes.
- Cherry-pick conflict avoided by manually wiring `renderWikiLinkAnchor` into `KiwiPage` read-mode markdown renderers.
- Added only `@radix-ui/react-hover-card` to `ui/package.json` (no unrelated package metadata churn).

## Verification

- `cd ui && npm test -- --run wikiLinkPeek wikiLinkAnchor` — 18/18 passed
- `go test ./internal/mcpserver/ -run 'TestPeek|TestToolHandler_Peek'` — passed (peek API unchanged)
- Full UI build blocked by overlay filesystem permissions on `node_modules` (EACCES); fleet CI should run `npm install && npm run build`.

## Files

- New: `WikiLinkPreview.tsx`, `hover-card.tsx`, `wikiLinkPeek.ts`, `wikiLinkAnchor.ts` + tests
- Modified: `KiwiPage.tsx`, `api.ts`, `package.json`, `package-lock.json`

## Kiwi MCP

Knowledge depot at 192.168.167.240:3333 unreachable from this host; fix doc updated in-repo at `pages/fixes/kiwifs-kiwifs/issue-421-wiki-link-hover-preview.md`.
Loading
Loading