.envrc
.gitignore
CHANGELOG.md
CLA.md
CONTRIBUTING.md
LICENSE
README.md
pyproject.toml
.claude/scheduled_tasks.lock
.github/workflows/ci.yml
.github/workflows/pypi-publish-and-github-release-on-tag.yml
.github/workflows/pytest.yml
.scitex/dev/cli-audit-dict.yaml
.scitex/dev/config.yaml
docs/dev-quickstart.md
docs/scitex-icon-navy-inverted.png
docs/scitex-logo-blue-cropped.png
docs/demo/README.md
docs/demo/monday-mock.html
docs/dev/consumer-integration-guide.md
docs/dev/m2-reverify-runbook.md
docs/dev/ports-events-contract.md
docs/research/build-hub-resolver-needs.md
docs/research/writer-pdf-viewer-findings.md
examples/00_run_all.sh
examples/example_live_paper.py
src/scitex_live_paper/__init__.py
src/scitex_live_paper/__main__.py
src/scitex_live_paper/_mcp_server.py
src/scitex_live_paper/_types.py
src/scitex_live_paper/bundle.py
src/scitex_live_paper/claims.py
src/scitex_live_paper/dag.py
src/scitex_live_paper.egg-info/PKG-INFO
src/scitex_live_paper.egg-info/SOURCES.txt
src/scitex_live_paper.egg-info/dependency_links.txt
src/scitex_live_paper.egg-info/entry_points.txt
src/scitex_live_paper.egg-info/requires.txt
src/scitex_live_paper.egg-info/top_level.txt
src/scitex_live_paper/_cli/__init__.py
src/scitex_live_paper/_cli/__main__.py
src/scitex_live_paper/_cli/completion.py
src/scitex_live_paper/_cli/help_tree.py
src/scitex_live_paper/_cli/hub_manifest.py
src/scitex_live_paper/_cli/info.py
src/scitex_live_paper/_cli/introspect.py
src/scitex_live_paper/_cli/mcp.py
src/scitex_live_paper/_cli/render.py
src/scitex_live_paper/_cli/serve.py
src/scitex_live_paper/_cli/spec.py
src/scitex_live_paper/_cli/validate.py
src/scitex_live_paper/_django/__init__.py
src/scitex_live_paper/_django/_mount.py
src/scitex_live_paper/_django/_server.py
src/scitex_live_paper/_django/_standalone_urls.py
src/scitex_live_paper/_django/apps.py
src/scitex_live_paper/_django/manifest.json
src/scitex_live_paper/_django/serve_context.py
src/scitex_live_paper/_django/services.py
src/scitex_live_paper/_django/settings.py
src/scitex_live_paper/_django/urls.py
src/scitex_live_paper/_django/views.py
src/scitex_live_paper/_django/handlers/__init__.py
src/scitex_live_paper/_django/handlers/claims.py
src/scitex_live_paper/_django/handlers/core.py
src/scitex_live_paper/_django/handlers/dag.py
src/scitex_live_paper/_django/handlers/dashboard.py
src/scitex_live_paper/_django/handlers/event_log.py
src/scitex_live_paper/_django/handlers/pdf.py
src/scitex_live_paper/_django/handlers/ports.py
src/scitex_live_paper/_django/handlers/reverify.py
src/scitex_live_paper/_django/static/live_paper/css/viewer.css
src/scitex_live_paper/_django/static/live_paper/js/_utils.js
src/scitex_live_paper/_django/static/live_paper/js/archive.js
src/scitex_live_paper/_django/static/live_paper/js/claim-details.js
src/scitex_live_paper/_django/static/live_paper/js/claim-overlays.js
src/scitex_live_paper/_django/static/live_paper/js/claims-sidebar.js
src/scitex_live_paper/_django/static/live_paper/js/event-log.js
src/scitex_live_paper/_django/static/live_paper/js/pdf-viewer.js
src/scitex_live_paper/_django/static/live_paper/js/port-events.js
src/scitex_live_paper/_django/static/live_paper/js/re-review-badge.js
src/scitex_live_paper/_django/static/live_paper/js/reverify-all.js
src/scitex_live_paper/_django/static/live_paper/js/viewer.js
src/scitex_live_paper/_django/static/live_paper/js/vendor/README.md
src/scitex_live_paper/_django/static/live_paper/js/vendor/mermaid.min.js
src/scitex_live_paper/_django/static/live_paper/pdfjs/README.md
src/scitex_live_paper/_django/static/live_paper/pdfjs/pdf.min.mjs
src/scitex_live_paper/_django/static/live_paper/pdfjs/pdf.worker.min.mjs
src/scitex_live_paper/_django/templates/live_paper/viewer.html
src/scitex_live_paper/_django/templates/live_paper/viewer_embed.html
src/scitex_live_paper/_hub_app_publisher/__init__.py
src/scitex_live_paper/_hub_app_publisher/_derive_wrapper_manifest.py
src/scitex_live_paper/_hub_app_publisher/_manifest.py
src/scitex_live_paper/_renderer/__init__.py
src/scitex_live_paper/_renderer/claims.py
src/scitex_live_paper/_renderer/dag.py
src/scitex_live_paper/_renderer/index.py
src/scitex_live_paper/_renderer/viewer.py
src/scitex_live_paper/_renderer/assets/__init__.py
src/scitex_live_paper/_renderer/assets/claims.css
src/scitex_live_paper/_renderer/assets/claims.js
src/scitex_live_paper/_renderer/assets/dag.css
src/scitex_live_paper/_renderer/assets/dag.js
src/scitex_live_paper/_renderer/assets/index.css
src/scitex_live_paper/_renderer/assets/viewer.css
src/scitex_live_paper/_renderer/assets/viewer.js
src/scitex_live_paper/_renderer/assets/mermaid/README.md
src/scitex_live_paper/_renderer/assets/mermaid/mermaid.min.js
src/scitex_live_paper/_renderer/assets/pdfjs/README.md
src/scitex_live_paper/_renderer/assets/pdfjs/pdf.min.mjs
src/scitex_live_paper/_renderer/assets/pdfjs/pdf.worker.min.mjs
src/scitex_live_paper/_renderer/templates/claims.html.j2
src/scitex_live_paper/_renderer/templates/dag.html.j2
src/scitex_live_paper/_renderer/templates/index.html.j2
src/scitex_live_paper/_renderer/templates/viewer.html.j2
src/scitex_live_paper/ports/__init__.py
src/scitex_live_paper/ports/_bus.py
src/scitex_live_paper/ports/_conformance.py
src/scitex_live_paper/ports/_discovery.py
src/scitex_live_paper/ports/_figz_adapter.py
src/scitex_live_paper/ports/_fragments.py
src/scitex_live_paper/ports/_registry.py
src/scitex_live_paper/ports/protocols.py
tests/__init__.py
tests/custom/__init__.py
tests/custom/test_clew_extra.py
tests/custom/test_m2_docs.py
tests/custom/test_public_types.py
tests/custom/test_release_metadata.py
tests/custom/test_remaining_defensives.py
tests/custom/test_smoke.py
tests/custom/test_types_completeness.py
tests/e2e/__init__.py
tests/e2e/conftest.py
tests/e2e/test_render_workflow.py
tests/examples/__init__.py
tests/examples/test_example_live_paper.py
tests/integration/__init__.py
tests/integration/test_cross_package_imports.py
tests/scitex_live_paper/__init__.py
tests/scitex_live_paper/test_bundle_load.py
tests/scitex_live_paper/test_bundle_loader_edge_cases.py
tests/scitex_live_paper/test_bundle_state_yaml.py
tests/scitex_live_paper/test_claims_sidebar.py
tests/scitex_live_paper/test_claims_v14_unsourced_fold.py
tests/scitex_live_paper/test_dag_render.py
tests/scitex_live_paper/_cli/__init__.py
tests/scitex_live_paper/_cli/test_hub_manifest.py
tests/scitex_live_paper/_cli/test_info.py
tests/scitex_live_paper/_cli/test_render.py
tests/scitex_live_paper/_cli/test_serve.py
tests/scitex_live_paper/_cli/test_validate.py
tests/scitex_live_paper/_django/__init__.py
tests/scitex_live_paper/_django/conftest.py
tests/scitex_live_paper/_django/test__mount_contract.py
tests/scitex_live_paper/_django/test__mount_resolver.py
tests/scitex_live_paper/_django/test__server.py
tests/scitex_live_paper/_django/test_apps_sdk_only.py
tests/scitex_live_paper/_django/test_apps_skeleton.py
tests/scitex_live_paper/_django/test_serve_context.py
tests/scitex_live_paper/_django/test_services_bundle_info.py
tests/scitex_live_paper/_django/test_views_dispatcher.py
tests/scitex_live_paper/_django/test_views_dispatcher_loud_returns.py
tests/scitex_live_paper/_django/test_views_doi_landing.py
tests/scitex_live_paper/_django/test_views_embed_mode.py
tests/scitex_live_paper/_django/test_views_re_review_badge.py
tests/scitex_live_paper/_django/test_views_text_annotation.py
tests/scitex_live_paper/_django/handlers/__init__.py
tests/scitex_live_paper/_django/handlers/test_claims_endpoint_and_ui.py
tests/scitex_live_paper/_django/handlers/test_dag.py
tests/scitex_live_paper/_django/handlers/test_dashboard.py
tests/scitex_live_paper/_django/handlers/test_dashboard_wire.py
tests/scitex_live_paper/_django/handlers/test_event_log.py
tests/scitex_live_paper/_django/handlers/test_pdf_handler.py
tests/scitex_live_paper/_django/handlers/test_pdf_overlay.py
tests/scitex_live_paper/_django/handlers/test_ports.py
tests/scitex_live_paper/_django/handlers/test_reverify.py
tests/scitex_live_paper/_django/handlers/test_reverify_bulk.py
tests/scitex_live_paper/_hub_app_publisher/__init__.py
tests/scitex_live_paper/_hub_app_publisher/test__manifest_hub_app_publisher.py
tests/scitex_live_paper/_renderer/__init__.py
tests/scitex_live_paper/_renderer/test_index_paper_state.py
tests/scitex_live_paper/_renderer/test_viewer_render.py
tests/scitex_live_paper/fixtures/bundle-accepted/README.md
tests/scitex_live_paper/fixtures/bundle-accepted/claims.json
tests/scitex_live_paper/fixtures/bundle-accepted/dag.mmd
tests/scitex_live_paper/fixtures/bundle-accepted/manuscript.pdf
tests/scitex_live_paper/fixtures/bundle-accepted/provenance.yaml
tests/scitex_live_paper/fixtures/bundle-accepted/state.yaml
tests/scitex_live_paper/fixtures/bundle-accepted/figz/.gitkeep
tests/scitex_live_paper/fixtures/bundle-accepted/figz/fig-demo-1.svg
tests/scitex_live_paper/fixtures/bundle-accepted/figz/fig-demo-2.svg
tests/scitex_live_paper/fixtures/bundle-min/README.md
tests/scitex_live_paper/fixtures/bundle-min/claims.json
tests/scitex_live_paper/fixtures/bundle-min/dag.mmd
tests/scitex_live_paper/fixtures/bundle-min/manuscript.pdf
tests/scitex_live_paper/fixtures/bundle-min/provenance.yaml
tests/scitex_live_paper/fixtures/bundle-min/figz/.gitkeep
tests/scitex_live_paper/ports/__init__.py
tests/scitex_live_paper/ports/test__bus.py
tests/scitex_live_paper/ports/test__conformance.py
tests/scitex_live_paper/ports/test__discovery.py
tests/scitex_live_paper/ports/test__figz_adapter.py
tests/scitex_live_paper/ports/test__fragments.py
tests/scitex_live_paper/ports/test__registry.py
tests/scitex_live_paper/ports/test_protocols.py
tests/smoke/__init__.py
tests/smoke/conftest.py
tests/smoke/test_cli_help.py
tests/smoke/test_monday_mock.py