Skip to content

fix(ops): accept list matches the backend; drawer reuses deriveGraphState; server count first - #57

Merged
sulthannauval merged 1 commit into
mainfrom
fix/kb-console-accuracy
Aug 10, 2026
Merged

fix(ops): accept list matches the backend; drawer reuses deriveGraphState; server count first#57
sulthannauval merged 1 commit into
mainfrom
fix/kb-console-accuracy

Conversation

@sulthannauval

Copy link
Copy Markdown
Member

Companion to RantAIClaw plans 095/097/100 — plan 111 (all three dependencies landed).

Items

  1. Accept list: .docx/.xlsx dropped (need the non-default kb-office feature — a stock gateway rejects them after the full transfer); .css dropped (never supported → 400). Option (a) per the plan's recommendation — option (b) would pull docx-rs+calamine into every build against the binary-size goal. Comment names src/kb/file/mod.rs as the source of truth. .heic added to images (backend supports it). Verified programmatically: every remaining frontend entry appears in the backend lists (empty diff both directions).
  2. Wrong comment fixed: images DO need a vision model + credential (process_image posts to a chat-completions endpoint).
  3. Drawer empty state branches through deriveGraphState — the same pure function as the graph tab — replacing its inline copy from fix(ops): re-extract toast reports failed chunks with the reason #55; the two surfaces can no longer drift. Three drawer branches pinned in the helper test file.
  4. One count, one source: detail view prefers group.document_count (correct since RantAIClaw #460) over local list length, which quietly hid server-side divergence.

Toast wording (step 2) was already shipped in #53.

Validation

vitest: 159/159 (3 new) · next build clean · list comparison scripted, both directions empty.

Risk: picker/copy/branching only · Rollback: revert

…tate; server count first

- the file picker offered .docx/.xlsx (need the non-default kb-office
  build feature — a stock gateway rejects them AFTER the full transfer)
  and .css (never supported, 400 unsupported_file_type); dropped (plan
  111 option (a)), with a comment naming src/kb/file/mod.rs as the
  source of truth; verified programmatically: every remaining entry
  appears in the backend lists
- .heic added to IMAGE_EXTS (backend supports it); fixed the comment
  claiming images need no vision model — process_image posts to a
  chat-completions endpoint and requires a credential
- the drawer's empty state now branches through deriveGraphState — the
  same pure function as the graph tab — instead of its own inline copy
  of the logic (the two surfaces disagreeing is how this started);
  three drawer branches pinned in the helper's test file
- detail-view document count prefers group.document_count (correct
  since RantAIClaw plan 100) over the locally-fetched list length,
  which quietly hid a server-side divergence
- re-extract toast wording was already fixed in #53 (plan 095
  companion)
@sulthannauval
sulthannauval merged commit 53daba2 into main Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant