feat(markhand): add retrieval-backed QA pipeline - #428
Merged
Conversation
…e_tokens_tsv Manifest checksum was stale relative to the committed migration file, failing check-migration-manifest.py in CI (changes-and-static). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0114aMJ8TFwQ5H1zLtcPjbGX
ESLint's react-hooks/refs rule flagged the direct ref mutation during render as unsafe. Moving it into an effect keyed on activeSessionId preserves the same behavior (ref reflects latest value for the async recordTurn chain) without violating the render-purity rule. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0114aMJ8TFwQ5H1zLtcPjbGX
Two independent CI failures on this branch: 1. clippy (-D warnings) rejected two manual char comparisons in crates/knowledge/src/ask.rs; use a char array pattern instead. 2. Migration 0037 aborted with SQLSTATE 42501 because `SET LOCAL row_security = off` does not bypass RLS. Postgres defines that setting as 'raise an error instead of silently filtering', so on a FORCE ROW LEVEL SECURITY table it guarantees the failure it was meant to avoid. Follow Postgres' own hint: the table owner drops FORCE for the duration of the backfill and restores it in the same transaction. Verified against a local PostgreSQL 16: the old statement reproduces the exact CI error, the new one applies cleanly and updates all rows; after it runs relrowsecurity/relforcerowsecurity are both still true, a non-owner role remains org-isolated (0 rows unscoped, 1 row scoped), and an aborted transaction leaves FORCE intact. The resulting tsv carries both foldings, so '1502' now matches while '27/08/2026' still does. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0114aMJ8TFwQ5H1zLtcPjbGX
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
0037, converter subprocess support, and pipeline documentationValidation
cargo fmt --all -- --checkcargo metadata --locked --format-version 1 --no-depspython scripts/check-dependency-policy.pypnpm --dir web test— runner did not progress beyond initialization in this environmentpnpm --dir web lint— did not complete while numerous pre-existing Node processes were runningCloses #412