Files
GEWU/docs/acceptance/2026-10-16-knowledge-browser.md
vasily 78033bb830
CI / quality (push) Canceled after 0s
feat: online verification, node removals, and knowledge browser
Adds claim-bound online evidence records and citation verification scripts,
node removal transport/adapter, retrieval benchmark and owner-review tooling,
GraphCanvas/SourceDetail knowledge browser UI, and the ingest handoff helper.
Bumps the agents/gewu pack to the online-verification branch.
2026-10-16 20:02:29 +08:00

31 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Knowledge browser implementation acceptance
Date: 16 October 2026
Status: implementation delivered; local automated verification passed; product-level and visual acceptance remain partial.
## Delivered
- Added authenticated `POST /v1/knowledge/browse` with empty-query browsing, project/shared scope, deterministic filters and ordering, project and filtered counts, project-wide facet vocabulary/counts, bounded pages and revision-bound cursors.
- Added authenticated `POST /v1/knowledge/graph` with authorized center-node one-hop neighborhoods; both browse routes are HTTP-only in the operation catalog. The source list returns its authorized total. Regenerated OpenAPI, catalog and TypeScript contracts and refreshed the agent pack manifest.
- Replaced the stale/problems/topics side links with project Knowledge, Sources and Graph tabs. The knowledge list has title/date/relevance sorting, immediate type/freshness/shared filters, searchable multi-select tag/audience/use/domain facets, count labels, a cursor-backed Previous/Next pager, URL-restorable page number, and restart behavior for expired cursors. Sources has an accurate count/range and Previous/Next controls.
- Kept the evidence reader and added navigable incoming/outgoing relationship targets, source-target opening and neighbor pagination. The graph has scope selection, search/type filters, grouping, zoom/reset, prominent accepted edges, faint links for nodes citing the same source revision, a compact node preview with reader navigation, and a synchronized accessible node list.
## Verification
- `./.venv/bin/python -m pytest -q`: **209 passed**.
- `npm --prefix web run build`: passed (TypeScript and production Vite build).
- `npm --prefix web test -- src/shell/App.test.tsx`: **16 passed**.
- `npm --prefix web run check`: TypeScript and ESLint passed; **6 unrelated existing failures** remain in Accounts, Admin and ProjectsSection tests.
- `./.venv/bin/python agents/gewu/scripts/manifest_tool.py verify`: passed.
- Restarted the local API on port 8000 and Vite on port 5173; `/health` returned `{"status":"ok","service":"gewu"}` and the app HTML loaded. T3 navigation reached the restarted UI at 1280×800, but snapshot automation failed, so no screenshot or signed-in project interaction is claimed.
## Remaining acceptance work
- Filters disclose searchable native checkbox groups with removable selected chips and counts; a dedicated keyboard/screen-reader usability and type-ahead review remains open.
- Knowledge page number reload and browser navigation rebuild the opaque cursor stack. Source page navigation has counts and Previous/Next but its current page does not yet restore after reload.
- Graph selection and Fit to selection load a scoped one-hop neighborhood; viewport/layout restoration after opening a node is not implemented. Graph controls and node list have not been checked at narrow widths.
- Automated tests cover URL page-two restoration, source page navigation, a scoped neighborhood and denied center-node access. Synthetic tests do not establish pagination against a >40-node corpus with duplicate titles, nor graph behavior under a large capped fixture. Denied-edge browser flows, full focus restoration, and narrow-width/assistive-technology review remain open.
- Source totals are counted through the index separately from source rows, so cross-index atomic freshness is not guaranteed.
- The full web check still has six failures in Accounts, Admin and ProjectsSection tests unrelated to this feature. TypeScript and ESLint pass before those test failures.