CHANGELOG.md
CONTRIBUTING.md
LICENSE
MANIFEST.in
OPEN_SOURCE_BOUNDARY.md
README.md
README.zh-CN.md
pyproject.toml
docs/arithmetic-checks.md
docs/asset-repair.md
docs/backup-restore.md
docs/compatibility-fixtures.md
docs/compatibility.md
docs/contributor-correction-workflow.md
docs/correction-rule-workflow.md
docs/database-case.md
docs/exporters.md
docs/filesystem-storage.md
docs/formula-images.md
docs/image-placement.md
docs/import-cases.md
docs/importers.md
docs/language-policy.md
docs/latex-normalization.md
docs/mapping-import.md
docs/omml-import.md
docs/oss-architecture-proposal.md
docs/pdf-toolchain.md
docs/plugin-development.md
docs/product-workflow.md
docs/public-api-manifest.json
docs/public-api.md
docs/quality-findings.md
docs/question-id-design.md
docs/question-schema.md
docs/review-sessions.md
docs/roadmap.md
docs/scan-runs.md
docs/schema-migrations.md
docs/sqlite-scaling.md
docs/sqlite-storage.md
docs/test-fixture-contributions.md
docs/visual-workspace-screenshot-workflow.md
docs/word-publishing-envelope.md
docs/workspace-health-audit.md
docs/assets/question-bank-workspace-zh.png
docs/assets/question-bank-workspace.png
docs/assets/social-preview.png
docs/wiki/CLI-Commands.md
docs/wiki/FAQ.md
docs/wiki/Format-Guide.md
docs/wiki/Getting-Started.md
docs/wiki/Home.md
docs/wiki/Installation.md
docs/wiki/Plugin-Development.md
docs/wiki/Schema-Reference.md
docs/wiki/_Sidebar.md
docs/wiki/manifest.json
schema/question-set-1.1.schema.json
schema/question-set.schema.json
scripts/audit_public_tree.py
scripts/bench_sqlite_scaling.py
scripts/bench_workspace.py
scripts/build_case_database.py
scripts/build_import_cases.py
scripts/build_site.py
scripts/check_docs.py
scripts/check_public_api.py
scripts/wiki_sync.py
src/dq_questionbank/__init__.py
src/dq_questionbank/acceptance_report.py
src/dq_questionbank/asset_repair.py
src/dq_questionbank/bilingual_splitter.py
src/dq_questionbank/cli.py
src/dq_questionbank/exceptions.py
src/dq_questionbank/formula_images.py
src/dq_questionbank/image_position_mapper.py
src/dq_questionbank/import_preflight.py
src/dq_questionbank/import_triage.py
src/dq_questionbank/intake.py
src/dq_questionbank/interfaces.py
src/dq_questionbank/latex_normalize.py
src/dq_questionbank/latex_repair.py
src/dq_questionbank/mapping_import.py
src/dq_questionbank/math_consistency.py
src/dq_questionbank/migration.py
src/dq_questionbank/models.py
src/dq_questionbank/omml_import.py
src/dq_questionbank/passage_splitter.py
src/dq_questionbank/pdf_skeleton.py
src/dq_questionbank/pdf_splitter.py
src/dq_questionbank/pdf_workset.py
src/dq_questionbank/plugins.py
src/dq_questionbank/quality_findings.py
src/dq_questionbank/quality_scan_runs.py
src/dq_questionbank/question_id.py
src/dq_questionbank/registry.py
src/dq_questionbank/review_session.py
src/dq_questionbank/safe_repair.py
src/dq_questionbank/schema.py
src/dq_questionbank/sqlite_storage.py
src/dq_questionbank/storage.py
src/dq_questionbank/subpart_structure.py
src/dq_questionbank/validation.py
src/dq_questionbank/web_server.py
src/dq_questionbank/word_publishing.py
src/dq_questionbank/workspace_audit.py
src/dq_questionbank/data/import_cases/index.json
src/dq_questionbank/data/import_cases/coding-exam-omml/bundle.json
src/dq_questionbank/data/import_cases/coding-exam-omml/decisions.json
src/dq_questionbank/data/import_cases/coding-exam-omml/evidence.json
src/dq_questionbank/data/import_cases/coding-exam-omml/proposal.json
src/dq_questionbank/data/import_cases/coding-exam-omml/records.json
src/dq_questionbank/data/import_cases/coding-exam-omml/synthetic-exam.docx
src/dq_questionbank/data/import_cases/coding-pdf/bundle.json
src/dq_questionbank/data/import_cases/coding-pdf/decisions.json
src/dq_questionbank/data/import_cases/coding-pdf/evidence.json
src/dq_questionbank/data/import_cases/coding-pdf/proposal.json
src/dq_questionbank/data/import_cases/coding-pdf/records.json
src/dq_questionbank/data/import_cases/coding-pdf/worksheet.pdf
src/dq_questionbank/data/import_cases/coding-word/bundle.json
src/dq_questionbank/data/import_cases/coding-word/coding-source.docx
src/dq_questionbank/data/import_cases/coding-word/decisions.json
src/dq_questionbank/data/import_cases/coding-word/evidence.json
src/dq_questionbank/data/import_cases/coding-word/proposal.json
src/dq_questionbank/data/import_cases/coding-word/records.json
src/dq_questionbank/data/import_cases/manual-web/bundle.json
src/dq_questionbank/data/import_cases/manual-web/decisions.json
src/dq_questionbank/data/import_cases/manual-web/evidence.json
src/dq_questionbank/data/import_cases/manual-web/form-submission.json
src/dq_questionbank/data/import_cases/manual-web/records.json
src/dq_questionbank/data/import_cases/pdf-table/bundle.json
src/dq_questionbank/data/import_cases/pdf-table/decisions.json
src/dq_questionbank/data/import_cases/pdf-table/evidence.json
src/dq_questionbank/data/import_cases/pdf-table/records.json
src/dq_questionbank/data/import_cases/pdf-table/structured-worksheet.pdf
src/dq_questionbank/data/import_cases/web-ai/browser-draft.docx
src/dq_questionbank/data/import_cases/web-ai/bundle.json
src/dq_questionbank/data/import_cases/web-ai/decisions.json
src/dq_questionbank/data/import_cases/web-ai/evidence.json
src/dq_questionbank/data/import_cases/web-ai/proposal.json
src/dq_questionbank/data/import_cases/web-ai/records.json
src/dq_questionbank/data/word_macro/DQWordPublishing.bas
src/dq_questionbank/formats/__init__.py
src/dq_questionbank/formats/common.py
src/dq_questionbank/formats/docx.py
src/dq_questionbank/formats/json_format.py
src/dq_questionbank/formats/latex.py
src/dq_questionbank/formats/markdown.py
src/dq_questionbank/web/app.js
src/dq_questionbank/web/index.html
src/dq_questionbank/web/styles.css
src/dq_questionbank_core.egg-info/PKG-INFO
src/dq_questionbank_core.egg-info/SOURCES.txt
src/dq_questionbank_core.egg-info/dependency_links.txt
src/dq_questionbank_core.egg-info/entry_points.txt
src/dq_questionbank_core.egg-info/requires.txt
src/dq_questionbank_core.egg-info/top_level.txt
src/dq_questionbank_local/__init__.py
src/dq_questionbank_local/__main__.py
src/dq_questionbank_local/case_database.py
src/dq_questionbank_local/cli.py
src/dq_questionbank_local/server.py
src/dq_questionbank_local/storage.py
src/dq_questionbank_local/validation.py
src/dq_questionbank_local/data/synthetic-case.sqlite3
src/dq_questionbank_local/web/app.js
src/dq_questionbank_local/web/fetch_with_retries.js
src/dq_questionbank_local/web/formula.js
src/dq_questionbank_local/web/index.html
src/dq_questionbank_local/web/pagination.js
src/dq_questionbank_local/web/rich_edit.js
src/dq_questionbank_local/web/styles.css
src/dq_questionbank_local/web/table_edit.js
src/dq_questionbank_local/web/vendor/katex/LICENSE
src/dq_questionbank_local/web/vendor/katex/katex.min.css
src/dq_questionbank_local/web/vendor/katex/katex.min.js
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_AMS-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Main-Bold.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Main-Italic.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Main-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Math-Italic.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Script-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Size1-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Size2-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Size3-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Size4-Regular.woff2
src/dq_questionbank_local/web/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2
tests/test_acceptance_report.py
tests/test_asset_repair.py
tests/test_backup_restore.py
tests/test_bilingual_site.py
tests/test_cli.py
tests/test_compatibility_fixtures.py
tests/test_documentation.py
tests/test_editor_scroll_sync.py
tests/test_english_interface.py
tests/test_exceptions.py
tests/test_fetch_with_retries.py
tests/test_formats.py
tests/test_formula_blocks.py
tests/test_formula_images.py
tests/test_image_position_mapper.py
tests/test_import_preflight.py
tests/test_import_triage.py
tests/test_intake.py
tests/test_intake_pdf_table.py
tests/test_latex_fixtures.py
tests/test_latex_normalize.py
tests/test_latex_repair.py
tests/test_local_case_database.py
tests/test_local_server.py
tests/test_local_storage.py
tests/test_mapping_import.py
tests/test_math_consistency.py
tests/test_migration.py
tests/test_models.py
tests/test_omml_import.py
tests/test_pagination.py
tests/test_pdf_toolchain.py
tests/test_plugins.py
tests/test_public_api.py
tests/test_public_tree_audit.py
tests/test_quality_findings.py
tests/test_quality_scan_runs.py
tests/test_question_id.py
tests/test_question_lifecycle.py
tests/test_recycle_bin.py
tests/test_review_session.py
tests/test_rich_edit.py
tests/test_safe_repair.py
tests/test_schema.py
tests/test_schema_migration.py
tests/test_sqlite_storage.py
tests/test_stem_splitters.py
tests/test_storage.py
tests/test_subpart_structure.py
tests/test_table_edit.py
tests/test_table_math_rendering.py
tests/test_validation.py
tests/test_web.py
tests/test_wiki_sync.py
tests/test_word_publishing.py
tests/test_word_publishing_envelope.py
tests/test_workspace_audit.py
tests/fixtures/asset-repair/README.md
tests/fixtures/asset-repair/asset-repair-pair.json
tests/fixtures/asset-repair/provenance.json
tests/fixtures/community/tricky-latex-fragment/README.md
tests/fixtures/community/tricky-latex-fragment/expected.json
tests/fixtures/community/tricky-latex-fragment/provenance.json
tests/fixtures/community/tricky-latex-fragment/source.tex
tests/fixtures/compatibility/migrations/0.9-to-1.0.json
tests/fixtures/compatibility/migrations/1.0-to-1.1.json
tests/fixtures/compatibility/schema-1.0/question-set.json
tests/fixtures/compatibility/schema-1.0/rich-choice.json
tests/fixtures/formula-images/README.md
tests/fixtures/formula-images/formula-image-question.json
tests/fixtures/formula-images/provenance.json
tests/fixtures/omml/README.md
tests/fixtures/omml/omml-fixture.json
tests/fixtures/omml/provenance.json
tests/fixtures/quality/findings/README.md
tests/fixtures/quality/findings/accepted.json
tests/fixtures/quality/findings/current.json
tests/fixtures/quality/findings/provenance.json
tests/fixtures/quality/findings/rejected.json
tests/fixtures/quality/findings/stale.json
tests/fixtures/quality/missing-brace-repair/README.md
tests/fixtures/quality/missing-brace-repair/after.json
tests/fixtures/quality/missing-brace-repair/before.json
tests/fixtures/quality/missing-brace-repair/provenance.json
tests/fixtures/quality/rule-set/README.md
tests/fixtures/quality/rule-set/after.json
tests/fixtures/quality/rule-set/before.json
tests/fixtures/quality/rule-set/provenance.json
tests/fixtures/rendering/blank-cell-table.json
tests/fixtures/rendering/provenance.json
tests/fixtures/rendering/table-math-question.json
tests/fixtures/review-sessions/README.md
tests/fixtures/review-sessions/exported-questions.json
tests/fixtures/review-sessions/pending-session.json
tests/fixtures/review-sessions/provenance.json
tests/fixtures/review-sessions/rejected-session.json
tests/fixtures/review-sessions/reviewed-session.json
tests/fixtures/word-publishing/synthetic-envelope.json
tests/js/test_editor_scroll_sync.js
tests/js/test_fetch_with_retries.js
tests/js/test_formula_blocks.js
tests/js/test_pagination.js
tests/js/test_recycle_bin.js
tests/js/test_rich_edit.js
tests/js/test_table_edit.js
tests/js/test_table_math_rendering.js