Skip to content

Fix/doc versioning - #821

Merged
Paul Lizer (paullizer) merged 11 commits into
Developmentfrom
fix/doc_versioning
Apr 7, 2026
Merged

Fix/doc versioning#821
Paul Lizer (paullizer) merged 11 commits into
Developmentfrom
fix/doc_versioning

Conversation

@paullizer

@paullizerPaul Lizer (paullizer) commented Apr 3, 2026

Copy link
Copy Markdown
Contributor
  • Chat History Citation Amplification

    • Citation Amplification helps the chat carry forward useful information from documents that were already referenced earlier in the conversation, so you can ask follow-up questions more naturally. Instead of making you start over or reselect the same files, it brings forward the most relevant context from those earlier sources. This makes answers feel more continuous, consistent, and grounded in what was already discussed.
    • Fixed follow-up prompts so prior assistant turns can reuse stored citation results, including tabular tool outputs, instead of relying only on the visible assistant message text.
    • Assistant history replay now hydrates stored citation artifacts and deduplicates repeated cross-sheet tabular calls so later file results, such as Licensing workbook values, remain available to the next turn.
    • History-context diagnostics remain available in message metadata and optional debug citations, while the thoughts timeline stays compact.
    • (Ref: route_backend_chats.py, functions_message_artifacts.py, chat-thoughts.js, chat-messages.js, test_chat_stream_history_context_fix.py, CHAT_STREAM_HISTORY_CONTEXT_FIX.md)
  • Document Revision Visibility and Storage Preservation

    • Fixed same-name document uploads so new revisions now inherit the previous document's editable metadata, including classification, tags, title, abstract, keywords, publication date, authors, and sharing state.
    • Workspace lists and chat search now only use the current revision, while older revisions remain retained for future comparison work instead of staying active in normal workspace flows.
    • Document deletion now offers a choice between deleting only the current revision or deleting all stored revisions for that document family.
    • Blob storage now preserves older source files by keeping the active document at the existing alias path and archiving prior current revisions into a revision-family hierarchy before the alias path is overwritten.
    • (Ref: document revision families, current-only workspace visibility, hybrid blob alias plus archived revision storage, functions_documents.py, functions_search.py, route_enhanced_citations.py, workspace/group/public document flows)

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR focuses on tightening versioned fix documentation + test coverage while delivering a set of chat history / citations improvements and document revisioning behavior (current-only visibility, revision-family deletion choices, and blob archival behavior).

Changes:

  • Adds/updates Playwright UI tests and functional regression scripts covering revision-aware delete modals, chat tag resets, agent-citation hydration, and tabular analysis flows.
  • Updates frontend + backend to support revision-choice delete modals, enhanced-citation historical metadata fetch, and richer chat history context diagnostics/citation replay.
  • Updates fix documentation + release notes and bumps application/single_app/config.py to 0.240.055.

Reviewed changes

Copilot reviewed 76 out of 89 changed files in this pull request and generated 16 comments.

Show a summary per file
FileDescription
ui_tests/test_workspace_family_document_revision_delete_modal.pyUI coverage for revision delete modal presence (personal/group/public).
ui_tests/test_group_workspace_initial_documents_fetch.pyUI regression for initial group docs load + dialog suppression.
ui_tests/test_chat_new_conversation_tag_reset.pyUI regression ensuring new conversation clears tag selection state.
ui_tests/test_agent_citation_modal_full_results.pyUI regression for lazy-loading full agent citation artifacts + row expansion.
functional_tests/test_tabular_preview_json_sanitization_fix.pyRegression for JSON-safe tabular preview serialization and route wiring.
functional_tests/test_tabular_multisheet_workbook_support.pyUpdates assertions around multi-sheet discovery guidance text.
functional_tests/test_tabular_multisheet_tool_start_guidance.pyNew regression for multi-sheet discovery iteration + prompt snippets.
functional_tests/test_tabular_multi_file_distinct_url_union.pyNew regression for deterministic multi-file distinct URL union mode.
functional_tests/test_tabular_group_blob_context_and_sheet_whitespace.pyNew regression for trailing-space sheet names + group blob reuse.
functional_tests/test_tabular_enhanced_citations_schema_summary_fix.pyRegression for bounded schema summary + no fallback to row chunking.
functional_tests/test_tabular_author_metadata_normalization_fix.pyRegression for author metadata normalization behavior + wiring.
functional_tests/test_tabular_analysis_rejects_discovery_only.pyUpdates test expectations for discovery-only rejection messaging.
functional_tests/test_tabular_all_scope_group_source_context.pyNew regression for preserving per-file group/public source context in all-scope.
functional_tests/test_historical_enhanced_citation_revision_rendering_fix.pyNew regression for on-demand metadata fetch for historical cited revisions.
functional_tests/test_group_workspace_initial_documents_fetch_fix.pyRegression verifying query param rebuild + no delete flow during init.
functional_tests/test_fact_memory_streaming_context_fix.pyRegression ensuring fact memory injection parity in streaming vs standard chat.
functional_tests/test_document_revision_current_version_fix.pyRegression covering revision family model + current-only visibility + delete modes.
functional_tests/test_citation_revision_lookup_fix.pyRegression for citation lookup using exact document id behind chunk metadata.
functional_tests/test_chat_scope_tag_filter_fix.pyRegression ensuring tag filter applies across personal/group/public search branches.
functional_tests/test_chat_new_conversation_tag_reset.pySource-level regression for tag UI reset behavior + version assertion.
functional_tests/test_chat_citation_page_sort_fix.pyRegression for mixed numeric/text citation page sorting.
functional_tests/test_agent_citation_full_results_modal.pySource-level regression for agent citation artifact endpoint + UI wiring.
docs/explanation/release_notes.mdAdds a new top release entry and bug-fix bullets for the PR’s main items.
docs/explanation/fixes/TABULAR_REVIEWER_PSEUDO_QUERY_REWRITE_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_REVIEWER_AUTO_FOLLOW_UP_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_PREVIEW_JSON_SANITIZATION_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_MULTISHEET_TOOL_START_GUIDANCE_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_MULTISHEET_LLM_REVIEWER_RECOVERY_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_MULTI_CONDITION_FILTER_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_GROUP_BLOB_CONTEXT_AND_SHEET_WHITESPACE_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_GENERIC_SEARCH_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_GENERAL_COHORT_DISCOVERY_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_EXHAUSTIVE_RESULT_LIMIT_ESCALATION_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_ENHANCED_CITATIONS_SCHEMA_SUMMARY_FIX.mdNew/updated fix doc content for schema-summary behavior.
docs/explanation/fixes/TABULAR_EMBEDDED_VALUE_EXTRACTION_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_DISTINCT_VALUE_HANDOFF_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_CONTEXTUAL_CELL_SEARCH_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_AUTHOR_METADATA_NORMALIZATION_FIX.mdNew fix doc.
docs/explanation/fixes/TABULAR_ALL_SCOPE_GROUP_SOURCE_CONTEXT_FIX.mdNew fix doc.
docs/explanation/fixes/MULTI_FILE_TABULAR_DISTINCT_URL_ANALYSIS_FIX.mdNew fix doc for deterministic multi-file distinct URL unions.
docs/explanation/fixes/HISTORICAL_ENHANCED_CITATION_REVISION_RENDERING_FIX.mdNew fix doc for historical enhanced citation rendering.
docs/explanation/fixes/FACT_MEMORY_STREAMING_CONTEXT_FIX.mdNew fix doc for streaming fact-memory injection parity.
docs/explanation/fixes/DOCUMENT_REVISION_CURRENT_VERSION_FIX.mdNew fix doc for revision families/current-only visibility/delete modes.
docs/explanation/fixes/CITATION_REVISION_LOOKUP_FIX.mdNew fix doc for citation authorization using exact document id.
docs/explanation/fixes/CHAT_STREAM_HISTORY_CONTEXT_FIX.mdNew fix doc for shared streaming/non-streaming history builder + diagnostics.
docs/explanation/fixes/CHAT_SCOPE_TAG_FILTER_FIX.mdNew fix doc for scoped tag filtering in hybrid search.
docs/explanation/fixes/CHAT_HISTORY_GROUNDED_FOLLOW_UP_FIX.mdNew fix doc for persisting last grounded document refs.
docs/explanation/fixes/CHAT_CITATION_PAGE_SORT_FIX.mdNew fix doc for mixed-type citation page sorting.
docs/explanation/fixes/AGENT_TOOL_CITATION_FULL_RESULTS_FIX.mdNew fix doc for agent citation raw artifact hydration.
artifacts/~$release_timeline.pptx(Problematic) committed Office temp file.
application/single_app/templates/workspace.htmlAdds personal workspace revision delete modal markup and registers it in modal init list.
application/single_app/templates/public_workspaces.htmlAdds public workspace revision delete modal markup.
application/single_app/static/js/workspace/workspace-documents.jsImplements revision-choice delete modal flows + delete_mode propagation + bulk delete updates.
application/single_app/static/js/public/public_workspace.jsImplements public revision-choice delete modal flows + delete_mode propagation + bulk delete updates.
application/single_app/static/js/chat/chat-thoughts.jsAdds icon mapping for history_context thought steps.
application/single_app/static/js/chat/chat-messages.jsAdds artifact metadata attrs on agent citations + renders history-context metadata drawer section.
application/single_app/static/js/chat/chat-enhanced-citations.jsFetches historical document metadata on demand before rendering enhanced citation modal.
application/single_app/static/js/chat/chat-documents.jsAdds metadata cache + fetchDocumentMetadata + resets tag selection state on rebuild.
application/single_app/semantic_kernel_plugins/plugin_invocation_logger.pyAdds structured, compact result summaries (esp. TabularProcessingPlugin) to logging payloads.
application/single_app/route_frontend_conversations.pyAdds conversation-scoped endpoint to fetch stored agent citation artifacts.
application/single_app/route_external_public_documents.pyCollapses results to current revisions before paginating + adds delete_mode support for external deletes.
application/single_app/route_enhanced_citations.pyAdds document-metadata endpoint for historical citations + JSON-safe tabular preview serialization + blob-container/path preference.
application/single_app/route_backend_public_documents.pyCollapses list results to current revisions + delete_mode support.
application/single_app/route_backend_group_documents.pyCollapses list results to current revisions + delete_mode support.
application/single_app/route_backend_documents.pyCollapses list results to current revisions + delete_mode support + revision-aware citation authorization.
application/single_app/functions_search.pyApplies revision-family normalization pre-search + tag filtering across scopes + cache gating when normalization changes.
application/single_app/functions_conversation_metadata.pyPersists stable last_grounded_document_refs derived from search-backed document usage.
application/single_app/config.pyBumps version to 0.240.055.
.gitignoreIgnores artifacts/tmp paths.
Comments suppressed due to low confidence (1)

docs/explanation/release_notes.md:22

  • The release notes add a top section for v0.240.053, but application/single_app/config.py is bumped to 0.240.055 in this PR. The latest release-notes heading should match the current config version (or there should be newer sections for 0.240.054/0.240.055 above 0.240.053) so the changelog aligns with what the app reports.

Comment threadui_tests/test_group_workspace_initial_documents_fetch.py
Comment threadui_tests/test_group_workspace_initial_documents_fetch.py
Comment threadapplication/single_app/static/js/workspace/workspace-documents.js Outdated
Comment threadapplication/single_app/static/js/public/public_workspace.js Outdated
Comment threadapplication/single_app/route_backend_documents.py
Comment threadapplication/single_app/route_backend_group_documents.py
Comment threadapplication/single_app/route_backend_public_documents.py
Comment threadapplication/single_app/route_external_public_documents.py
@paullizer
Paul Lizer (paullizer) merged commit 187d570 into DevelopmentApr 7, 2026
5 checks passed
@paullizer
Paul Lizer (paullizer) deleted the fix/doc_versioning branch April 7, 2026 14:16
Sign up for freeto 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.

2 participants

@paullizer