Repository navigation
Conversation
# Conflicts: # api/controllers/console/datasets/datasets.py # web/app/components/header/account-setting/model-provider-page/model-selector/model-selector-trigger.tsx # web/app/components/workflow/run/node.tsx
# Conflicts: # web/app/components/datasets/list/dataset-card/hooks/use-dataset-card-state.ts # web/app/layout.tsx # web/features/new-rag/__tests__/add-source-page.spec.tsx # web/features/new-rag/__tests__/document-detail-page.spec.tsx # web/features/new-rag/__tests__/new-knowledge-list.spec.tsx # web/features/new-rag/__tests__/sources-page.spec.tsx # web/features/new-rag/create-knowledge-page.tsx # web/features/new-rag/document-chunk-detail.tsx # web/features/new-rag/document-list.tsx # web/features/new-rag/documents-page.tsx # web/features/new-rag/documents/__tests__/page.spec.tsx # web/features/new-rag/knowledge-space-shell.tsx # web/features/new-rag/new-knowledge-list.tsx # web/features/new-rag/sources-page.tsx # web/features/new-rag/use-document-reindex.ts # web/service/fetch.spec.ts
# Conflicts: # api/tests/unit_tests/controllers/openapi/test_workflow_events_openapi.py # web/app/components/datasets/list/dataset-card/components/__tests__/operations-dropdown.spec.tsx # web/app/components/datasets/list/dataset-card/components/dataset-card-footer.tsx # web/app/components/datasets/list/dataset-card/components/dataset-card-header.tsx # web/app/components/datasets/list/dataset-card/components/operations-dropdown.tsx # web/app/components/datasets/list/dataset-card/index.tsx # web/app/components/header/account-setting/model-provider-page/model-selector/model-selector-trigger.tsx # web/features/new-rag/__tests__/add-source-page.spec.tsx # web/features/new-rag/add-source-page.tsx # web/features/new-rag/document-chunk-detail.tsx # web/features/new-rag/document-chunk-tree.tsx # web/features/new-rag/documents-page.tsx # web/features/new-rag/documents/__tests__/page.spec.tsx # web/features/new-rag/documents/tasks/auxiliary-read-guard.ts # web/features/new-rag/knowledge-space-shell.tsx # web/features/new-rag/processing-tasks-drawer.tsx
# Conflicts: # api/constants/__init__.py # api/controllers/openapi/_errors.py # api/controllers/openapi/_version_gate.py # api/extensions/ext_blueprints.py # api/tests/unit_tests/controllers/openapi/test_auth_matrix.py # api/tests/unit_tests/controllers/openapi/test_error_contract.py # api/tests/unit_tests/controllers/service_api/test_wraps.py # api/tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py # packages/contracts/console.ts # packages/contracts/generated/api/console/orpc.gen.ts # packages/contracts/generated/api/console/router.gen.ts # packages/contracts/generated/api/openapi/orpc.gen.ts # packages/contracts/generated/api/openapi/zod.gen.ts # packages/contracts/generated/api/service/orpc.gen.ts # packages/contracts/generated/knowledge-fs/metadata.gen.ts # packages/contracts/generated/knowledge-fs/orpc.gen.ts # packages/contracts/openapi-ts.knowledge-fs.config.ts # web/features/agent-v2/agent-detail/configure/components/orchestrate/knowledge/index.tsx
# Conflicts: # api/controllers/console/app/app_import.py # api/controllers/console/datasets/datasets.py # api/services/dataset_service.py # api/tests/unit_tests/controllers/console/datasets/test_datasets.py # pnpm-lock.yaml # web/app/components/base/markdown/index.tsx # web/app/components/datasets/list/dataset-card/operations.tsx # web/features/agent-v2/agent-detail/configure/components/orchestrate/knowledge/__tests__/index.spec.tsx # web/i18n/locales/ar-TN/workflow.json # web/i18n/locales/de-DE/workflow.json # web/i18n/locales/en-US/workflow.json # web/i18n/locales/es-ES/workflow.json # web/i18n/locales/fa-IR/workflow.json # web/i18n/locales/fr-FR/workflow.json # web/i18n/locales/hi-IN/workflow.json # web/i18n/locales/id-ID/workflow.json # web/i18n/locales/it-IT/workflow.json # web/i18n/locales/ja-JP/workflow.json # web/i18n/locales/ko-KR/workflow.json # web/i18n/locales/lo-LA/workflow.json # web/i18n/locales/nl-NL/workflow.json # web/i18n/locales/pl-PL/workflow.json # web/i18n/locales/pt-BR/workflow.json # web/i18n/locales/ro-RO/workflow.json # web/i18n/locales/ru-RU/workflow.json # web/i18n/locales/sl-SI/workflow.json # web/i18n/locales/th-TH/workflow.json # web/i18n/locales/tr-TR/workflow.json # web/i18n/locales/uk-UA/workflow.json # web/i18n/locales/vi-VN/workflow.json # web/i18n/locales/zh-Hans/workflow.json # web/i18n/locales/zh-Hant/workflow.json # web/i18n/resources.generated.d.ts # web/package.json
Restoring the previous status CHECK failed when completed rows existed. Completed rows already carry full started evidence, so return them to the started state before the completion columns are dropped.
Member
Author
|
Thanks for the thorough review. Each point is addressed in its own commit:
|
CI renders head:base downgrades offline, which the online-only guard broke. Offline PostgreSQL scripts now carry a DO block that raises when KnowledgeFS-only keys exist; other dialects get a warning comment ahead of the binding delete.
Authorize retries against the complete dataset ownership chain before writes. Subscribe default Docker workers to the lifecycle queue. Bound upgrade checkpoints in prefork workers, recover abandoned claims, and reject superseded deliveries. Validation: 96 targeted unit tests, make lint, production and unit-test Pyrefly checks, and shell syntax checks.
Restore main frontend guidance, legacy RAG tracing, and CLI edge publishing. Remove obsolete KnowledgeFS build context entries, the multi-head migration workaround, and duplicate Storybook configuration. Validation: 25 RAG and tracing tests; make lint; targeted Pyrefly; repository-wide Vite+ checks; shell syntax and cleanup consistency checks.
- Migrate CreatorFilter to a multi-select Combobox while keeping the selection limit, pending-member exclusion, and retry states. - Give classic and new knowledge cards list semantics, a whole-card entry, an unclipped inset focus ring, and independent tag and menu controls reachable without hover. - Use a menu link item for knowledge settings, a form-backed delete confirmation with inline failure, and drop redundant toasts. - Use RadioGroup and field errors in metadata forms, loading state for metadata deletion, and single error reporting for metadata requests.
- Compose knowledge and agent knowledge dialogs from the Dialog and AlertDialog header, body, and footer parts instead of restyling titles, descriptions, and content surfaces. - Use DialogContent for the golden question import dialog rather than re-centering a bare DialogPopup. - Scope the legacy request deprecation to the auth replay spec.
Delete low-value specs, replace react-query/jotai/UI mocks with service-boundary responses and real queries, and fix product issues those tests uncovered: connection refresh errors, provisional source re-creation, golden-question active-count invalidation, terminal research partials, sources auto-pagination, and duplicate task list snapshots.
# Conflicts: # web/app/layout.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integration branch for KnowledgeFS and the New Knowledge experience (backend proxy/services plus the
web/features/new-ragfrontend).Main dropped its outdated copy of this feature in #44163. This branch carries the current version, and its latest main merge records that commit without applying its deletions.
Upgrade reconciliation recovery
Classic Dataset upgrades can commit success before their document reconciliation is published. A broker failure or interrupted worker previously left disabled-document availability pending indefinitely, blocking retrieval from the new knowledge base.
Persist an independent reconciliation delivery lease and let Beat recover successful upgrades with unfinished document checkpoints. Bound worker execution and reject stale or duplicate deliveries. Apply migration
b9d3f7a5c102before starting the updated processes; existing stranded upgrades are eligible for recovery automatically. Deployment and recovery requirements are documented indocker/README.md.Validation for this fix: 83 focused upgrade, task, and migration tests passed, including publication failure, interruption before claiming the follow-up, lost deliveries, and stale-worker fencing. Backend lint checks and targeted production/test type checks passed. PostgreSQL/MySQL migration SQL rendering was checked; live database integration tests remain CI-owned.
Screenshots
Checklist
make lint && make type-check(backend) andvp staged(frontend) to appease the lint godsFrom Claude Code
🤖 Generated with Claude Code