.gitattributes
.gitignore
.pre-commit-config.yaml
CHANGELOG.md
CLAUDE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
HISTORY.md
LICENSE
README.en.md
README.md
SECURITY.md
conftest.py
launcher.cmd
launcher.sh
pyproject.toml
secrets.json.example
stepik_config.json.example
.claude/settings.json
.github/PULL_REQUEST_TEMPLATE.md
.github/dependabot.yml
.github/ISSUE_TEMPLATE/bug_report.yml
.github/ISSUE_TEMPLATE/config.yml
.github/ISSUE_TEMPLATE/feature_task.md
.github/ISSUE_TEMPLATE/idea.yml
.github/ISSUE_TEMPLATE/task_problem.yml
.github/badges/coverage-combined.json
.github/badges/coverage.json
.github/badges/glossary.json
.github/badges/good-first-issues.json
.github/badges/release.json
.github/badges/version.json
.github/workflows/ci.yml
.github/workflows/claude-code-review.yml
.github/workflows/claude.yml
.github/workflows/merge-queue.yml
.github/workflows/release.yml
changelog.d/README.md
corpus/README.md
corpus/tasks/average-word-length/meta.json
corpus/tasks/average-word-length/task_1.py
corpus/tasks/average-word-length/tests/expected_1.txt
corpus/tasks/average-word-length/tests/expected_2.txt
corpus/tasks/average-word-length/tests/expected_3.txt
corpus/tasks/average-word-length/tests/input_1.txt
corpus/tasks/average-word-length/tests/input_2.txt
corpus/tasks/average-word-length/tests/input_3.txt
corpus/tasks/fizzbuzz/meta.json
corpus/tasks/fizzbuzz/task_1.py
corpus/tasks/fizzbuzz/tests/expected_1.txt
corpus/tasks/fizzbuzz/tests/expected_2.txt
corpus/tasks/fizzbuzz/tests/expected_3.txt
corpus/tasks/fizzbuzz/tests/input_1.txt
corpus/tasks/fizzbuzz/tests/input_2.txt
corpus/tasks/fizzbuzz/tests/input_3.txt
corpus/tasks/minutes-and-seconds/meta.json
corpus/tasks/minutes-and-seconds/task_1.py
corpus/tasks/minutes-and-seconds/tests/expected_1.txt
corpus/tasks/minutes-and-seconds/tests/expected_2.txt
corpus/tasks/minutes-and-seconds/tests/expected_3.txt
corpus/tasks/minutes-and-seconds/tests/input_1.txt
corpus/tasks/minutes-and-seconds/tests/input_2.txt
corpus/tasks/minutes-and-seconds/tests/input_3.txt
corpus/tasks/passing-scores/meta.json
corpus/tasks/passing-scores/task_1.py
corpus/tasks/passing-scores/tests/expected_1.txt
corpus/tasks/passing-scores/tests/expected_2.txt
corpus/tasks/passing-scores/tests/input_1.txt
corpus/tasks/passing-scores/tests/input_2.txt
corpus/tasks/sorted-names/meta.json
corpus/tasks/sorted-names/task_1.py
corpus/tasks/sorted-names/tests/expected_1.txt
corpus/tasks/sorted-names/tests/expected_2.txt
corpus/tasks/sorted-names/tests/input_1.txt
corpus/tasks/sorted-names/tests/input_2.txt
corpus/tasks/sum-of-scores/meta.json
corpus/tasks/sum-of-scores/task_1.py
corpus/tasks/sum-of-scores/tests/expected_1.txt
corpus/tasks/sum-of-scores/tests/expected_2.txt
corpus/tasks/sum-of-scores/tests/expected_3.txt
corpus/tasks/sum-of-scores/tests/input_1.txt
corpus/tasks/sum-of-scores/tests/input_2.txt
corpus/tasks/sum-of-scores/tests/input_3.txt
docs/README.md
docs/agent/README.md
docs/agent/claude-handoff.md
docs/agent/course-walkthrough.md
docs/agent/environments.md
docs/agent/local-sweep.md
docs/agent/multiagent.md
docs/agent/preflight.md
docs/agent/roles.md
docs/archive/README.md
docs/archive/audit-2026-07-14.md
docs/archive/audit-2026-07-15.md
docs/archive/audit-2026-07-18.md
docs/archive/audit-2026-07-20.md
docs/archive/audit-2026-07-30-documentation.md
docs/archive/audit-2026-07-30-full-roles.md
docs/archive/audit-2026-07.md
docs/archive/changelog-archive.md
docs/archive/claude-handoff-2026-07-15.md
docs/archive/claude-handoff-2026-07-30.md
docs/archive/issue-audit-2026-07-15.md
docs/archive/roadmap-epics-2026-07-18.md
docs/archive/web-glossary-optimization-2026-07.md
docs/archive/audit-2026-07-15/README.md
docs/archive/audit-2026-07-15/role-architect.md
docs/archive/audit-2026-07-15/role-corepython.md
docs/archive/audit-2026-07-15/role-designer.md
docs/archive/audit-2026-07-15/role-developer.md
docs/archive/audit-2026-07-15/role-docs.md
docs/archive/audit-2026-07-15/role-product.md
docs/archive/audit-2026-07-15/role-qa.md
docs/archive/audit-2026-07-15/role-visionary.md
docs/assets/hero-serve.gif
docs/assets/serve-detail.png
docs/assets/serve-glossary.png
docs/assets/serve-results.png
docs/audit/2026-08-10-full-roles.md
docs/audit/README.md
docs/dev/README.md
docs/dev/api.md
docs/dev/architecture.md
docs/dev/corpus.md
docs/dev/glossary.md
docs/dev/logging.md
docs/dev/performance.md
docs/dev/project-structure.md
docs/dev/result-contract.md
docs/dev/rules-insights.md
docs/dev/supply-chain.md
docs/dev/trace-format.md
docs/dev/versioning.md
docs/dev/web-contracts.md
docs/dev/adr/0001-server-mode.md
docs/dev/adr/0002-history-opt-in.md
docs/dev/adr/0003-ai-integration.md
docs/dev/adr/0004-src-layout.md
docs/dev/adr/0005-dynamic-versioning.md
docs/dev/adr/0006-runner-abstraction.md
docs/dev/adr/0007-sandbox-backends.md
docs/dev/adr/0008-server-sandbox-backend.md
docs/dev/adr/0009-server-data-model.md
docs/dev/adr/0010-web-core-boundary.md
docs/dev/adr/0011-local-persistence.md
docs/dev/adr/0012-launcher-settings-store.md
docs/dev/adr/README.md
docs/dev/design/README.md
docs/dev/design/server-data-model.md
docs/dev/design/server-mode.md
docs/dev/design/server-roadmap.md
docs/dev/design/server-sandbox-design.md
docs/dev/design/web-design.md
docs/dev/examples/glossary.sample.json
docs/use/README.md
docs/use/configuration.md
docs/use/grader-workflow.en.md
docs/use/grader-workflow.md
docs/use/installation.en.md
docs/use/installation.md
docs/use/web-interface.md
scripts/audit_glossary_cards.py
scripts/check_contrast.py
scripts/check_docs_guardrails.py
scripts/check_good_first_issues_bilingual.py
scripts/check_issue_checklists.py
scripts/check_locale_guardrails.py
scripts/check_pip_audit_report.py
scripts/check_pr_ready.py
scripts/check_ruff_pin.py
scripts/check_test_isolation.py
scripts/check_ui_locale_guardrails.py
scripts/check_version_consistency.py
scripts/check_web_imports.py
scripts/check_wheel_contents.py
scripts/check_work_overlap.py
scripts/check_workflow_guardrails.py
scripts/collect_changelog.py
scripts/combine_coverage.py
scripts/corpus_fetch.py
scripts/corpus_mutations.py
scripts/corpus_run.py
scripts/corpus_sweep.py
scripts/extract_release_notes.py
scripts/generate_build_info.py
scripts/generate_ci_coveragerc.py
scripts/generate_coverage_badge.py
scripts/generate_draft_cards.py
scripts/generate_glossary_badge.py
scripts/generate_good_first_issues_badge.py
scripts/generate_release_badge.py
scripts/generate_version_badge.py
scripts/gh_rest.py
scripts/glossary_draft_pipeline.py
scripts/import_glossary_python.py
scripts/perf_baseline.py
scripts/preflight.py
scripts/skip_inventory.py
scripts/version.py
src/stepik_grader/__init__.py
src/stepik_grader/__main__.py
src/stepik_grader/_build_info.json
src/stepik_grader/atomic_io.py
src/stepik_grader/build_info.py
src/stepik_grader/config.py
src/stepik_grader/db.py
src/stepik_grader/diagnostic_stepik.py
src/stepik_grader/downloader.py
src/stepik_grader/downloader_config.py
src/stepik_grader/grader.py
src/stepik_grader/ide.py
src/stepik_grader/launcher.py
src/stepik_grader/mtime_cache.py
src/stepik_grader/py.typed
src/stepik_grader/pytest_plugin.py
src/stepik_grader/stdio_encoding.py
src/stepik_grader/cli/__init__.py
src/stepik_grader/cli/commands.py
src/stepik_grader/cli/context.py
src/stepik_grader/cli/exit_codes.py
src/stepik_grader/cli/interactive.py
src/stepik_grader/cli/options.py
src/stepik_grader/cli/prompts.py
src/stepik_grader/cli/rendering.py
src/stepik_grader/core/__init__.py
src/stepik_grader/core/ai_grounding.py
src/stepik_grader/core/ai_hints.py
src/stepik_grader/core/attachments.py
src/stepik_grader/core/cache.py
src/stepik_grader/core/diag_log.py
src/stepik_grader/core/error_glossary.py
src/stepik_grader/core/failure_context.py
src/stepik_grader/core/feedback.py
src/stepik_grader/core/glossary.py
src/stepik_grader/core/grader_core.py
src/stepik_grader/core/history.py
src/stepik_grader/core/history_recording.py
src/stepik_grader/core/html_sanitizer.py
src/stepik_grader/core/html_to_markdown.py
src/stepik_grader/core/i18n.py
src/stepik_grader/core/insights.py
src/stepik_grader/core/lint.py
src/stepik_grader/core/microbench_runner.py
src/stepik_grader/core/mode_detector.py
src/stepik_grader/core/normalizers.py
src/stepik_grader/core/oauth_flow.py
src/stepik_grader/core/parsers.py
src/stepik_grader/core/progress_export.py
src/stepik_grader/core/reporter.py
src/stepik_grader/core/result.py
src/stepik_grader/core/run_dir.py
src/stepik_grader/core/runner.py
src/stepik_grader/core/runprofile.py
src/stepik_grader/core/settings_resolver.py
src/stepik_grader/core/shortcut.py
src/stepik_grader/core/spawn.py
src/stepik_grader/core/stats.py
src/stepik_grader/core/step_content.py
src/stepik_grader/core/stepik_client.py
src/stepik_grader/core/stepik_reference.py
src/stepik_grader/core/storage.py
src/stepik_grader/core/submission.py
src/stepik_grader/core/submission_archive.py
src/stepik_grader/core/task_index.py
src/stepik_grader/core/task_page_parser.py
src/stepik_grader/core/test_loader.py
src/stepik_grader/core/test_source_fetcher.py
src/stepik_grader/core/tests_writer.py
src/stepik_grader/core/tracer.py
src/stepik_grader/core/user_settings.py
src/stepik_grader/core/wrapper_builder.py
src/stepik_grader/core/locales/en.json
src/stepik_grader/core/locales/ru.json
src/stepik_grader/core/sandbox/__init__.py
src/stepik_grader/core/sandbox/_limits.py
src/stepik_grader/core/sandbox/_linux.py
src/stepik_grader/core/sandbox/_macos.py
src/stepik_grader/core/sandbox/_posix_bootstrap.py
src/stepik_grader/core/sandbox/_posix_common.py
src/stepik_grader/core/sandbox/_windows.py
src/stepik_grader/glossary/__init__.py
src/stepik_grader/glossary/coverage.py
src/stepik_grader/glossary/detector.py
src/stepik_grader/glossary/json_provider.py
src/stepik_grader/glossary/lookup.py
src/stepik_grader/glossary/models.py
src/stepik_grader/glossary/stdlib_inventory.py
src/stepik_grader/glossary/taxonomy.py
src/stepik_grader/glossary/data/builtin.json
src/stepik_grader/glossary/data/drafts.json
src/stepik_grader/glossary/data/exc.json
src/stepik_grader/glossary/data/iter.json
src/stepik_grader/glossary/data/mapset.json
src/stepik_grader/glossary/data/module.json
src/stepik_grader/glossary/data/oop.json
src/stepik_grader/glossary/data/op.json
src/stepik_grader/glossary/data/seq.json
src/stepik_grader/glossary/data/str.json
src/stepik_grader/glossary/data/typing.json
src/stepik_grader/rules/__init__.py
src/stepik_grader/rules/json_provider.py
src/stepik_grader/rules/models.py
src/stepik_grader/rules/data/pep8_ru.json
src/stepik_grader/web/__init__.py
src/stepik_grader/web/api_routes.py
src/stepik_grader/web/auth_adapter.py
src/stepik_grader/web/commands.py
src/stepik_grader/web/downloader_adapter.py
src/stepik_grader/web/feedback_adapter.py
src/stepik_grader/web/glossary_adapter.py
src/stepik_grader/web/grading.py
src/stepik_grader/web/http_guards.py
src/stepik_grader/web/i18n.py
src/stepik_grader/web/insights_adapter.py
src/stepik_grader/web/navigation_adapter.py
src/stepik_grader/web/playground.py
src/stepik_grader/web/reference_adapter.py
src/stepik_grader/web/rules_adapter.py
src/stepik_grader/web/runs.py
src/stepik_grader/web/server.py
src/stepik_grader/web/settings_adapter.py
src/stepik_grader/web/statement_adapter.py
src/stepik_grader/web/viewmodels.py
src/stepik_grader/web/static/app.css
src/stepik_grader/web/static/app.js
src/stepik_grader/web/static/content.js
src/stepik_grader/web/static/core.js
src/stepik_grader/web/static/downloader.js
src/stepik_grader/web/static/feedback.js
src/stepik_grader/web/static/grade.js
src/stepik_grader/web/static/index.html
src/stepik_grader/web/static/navigation.js
src/stepik_grader/web/static/sandbox.js
src/stepik_grader/web/static/statement.js
src/stepik_grader/web/static/trace-player.js
src/stepik_grader/web/static/fonts/LICENSE
src/stepik_grader/web/static/fonts/inter-cyrillic.woff2
src/stepik_grader/web/static/fonts/inter-latin.woff2
src/stepik_grader/web/static/fonts/jetbrains-mono-cyrillic.woff2
src/stepik_grader/web/static/fonts/jetbrains-mono-latin.woff2
src/stepik_grader/web/static/locales/ui.json
src/stepik_grader/web/static/vendor/LICENSE
src/stepik_grader/web/static/vendor/VERSIONS.md
src/stepik_grader/web/static/vendor/codemirror-bundle@6.mjs
src/stepik_python_grader.egg-info/PKG-INFO
src/stepik_python_grader.egg-info/SOURCES.txt
src/stepik_python_grader.egg-info/dependency_links.txt
src/stepik_python_grader.egg-info/entry_points.txt
src/stepik_python_grader.egg-info/requires.txt
src/stepik_python_grader.egg-info/scm_file_list.json
src/stepik_python_grader.egg-info/scm_version.json
src/stepik_python_grader.egg-info/top_level.txt
tests/__init__.py
tests/_wait.py
tests/conftest.py
tests/glossary_audit_known_issues.txt
tests/test_ai_grounding.py
tests/test_ai_hints.py
tests/test_analyzer.py
tests/test_api_quota_rule.py
tests/test_atomic_io.py
tests/test_attachments.py
tests/test_build_info.py
tests/test_cache.py
tests/test_check_docs_guardrails.py
tests/test_check_good_first_issues_bilingual.py
tests/test_check_locale_guardrails.py
tests/test_check_pip_audit_report.py
tests/test_check_pr_ready.py
tests/test_check_ruff_pin.py
tests/test_check_test_isolation.py
tests/test_check_ui_locale_guardrails.py
tests/test_check_version_consistency.py
tests/test_check_web_imports.py
tests/test_check_wheel_contents.py
tests/test_check_work_overlap.py
tests/test_check_workflow_guardrails.py
tests/test_ci_main_queue.py
tests/test_claude_settings.py
tests/test_claude_workflow.py
tests/test_cli.py
tests/test_cli_ai_hints.py
tests/test_cli_help.py
tests/test_cli_insights.py
tests/test_cli_machine_output.py
tests/test_cli_sprint_e.py
tests/test_cli_stats_command.py
tests/test_code_scanner.py
tests/test_collect_changelog.py
tests/test_combine_coverage.py
tests/test_config.py
tests/test_conftest_history_isolation.py
tests/test_conftest_timeout.py
tests/test_contrast.py
tests/test_corpus_fetch.py
tests/test_corpus_mutations.py
tests/test_corpus_run.py
tests/test_corpus_sweep.py
tests/test_coverage_gate.py
tests/test_db.py
tests/test_diag_log.py
tests/test_diagnostic_stepik.py
tests/test_downloader_config.py
tests/test_downloader_extra.py
tests/test_downloader_wizard.py
tests/test_e2e_guards.py
tests/test_encoding_resilience.py
tests/test_entrypoint.py
tests/test_error_glossary.py
tests/test_extract_release_notes.py
tests/test_facade_contract.py
tests/test_failure_context.py
tests/test_feedback.py
tests/test_feedback_cli.py
tests/test_formatters.py
tests/test_generate_ci_coveragerc.py
tests/test_generate_coverage_badge.py
tests/test_generate_glossary_badge.py
tests/test_generate_release_badge.py
tests/test_generate_version_badge.py
tests/test_gh_rest.py
tests/test_gh_rest_pipeline.py
tests/test_gh_rest_tls.py
tests/test_glossary.py
tests/test_glossary_card_audit.py
tests/test_glossary_coverage.py
tests/test_glossary_coverage_cli.py
tests/test_glossary_draft_gen.py
tests/test_glossary_draft_pipeline.py
tests/test_glossary_hit.py
tests/test_glossary_import.py
tests/test_glossary_module.py
tests/test_glossary_stdlib_inventory.py
tests/test_good_first_issues_badge.py
tests/test_grader_core.py
tests/test_grader_coverage_gap.py
tests/test_grader_extra.py
tests/test_grader_mock.py
tests/test_history.py
tests/test_history_md.py
tests/test_history_recording.py
tests/test_history_schema_v4.py
tests/test_html_sanitizer.py
tests/test_html_to_markdown.py
tests/test_i18n.py
tests/test_i18n_guardrails.py
tests/test_ide.py
tests/test_import_dag.py
tests/test_insights.py
tests/test_integration_repos.py
tests/test_issue_checklists.py
tests/test_launch_timeout_override.py
tests/test_launcher.py
tests/test_lint.py
tests/test_loader.py
tests/test_menu_modes.py
tests/test_menu_wave4.py
tests/test_microbench.py
tests/test_microbench_grader.py
tests/test_microbench_runner_module.py
tests/test_missing_queue_sqlite.py
tests/test_mode_detector.py
tests/test_mtime_cache.py
tests/test_network_input_security.py
tests/test_normalizers.py
tests/test_oauth_flow.py
tests/test_output_bounds.py
tests/test_output_comparison.py
tests/test_packaging.py
tests/test_parsers.py
tests/test_perf_baseline.py
tests/test_precommit_guardrails.py
tests/test_preflight.py
tests/test_preflight_authorship.py
tests/test_progress_export.py
tests/test_property.py
tests/test_pytest_plugin.py
tests/test_release_workflow.py
tests/test_result.py
tests/test_rules.py
tests/test_run_single_test_decomp.py
tests/test_runner.py
tests/test_runprofile.py
tests/test_runs.py
tests/test_sandbox_parity.py
tests/test_sandbox_runner.py
tests/test_server_roadmap_doc.py
tests/test_settings_resolver.py
tests/test_shortcut.py
tests/test_skip_inventory.py
tests/test_slugify.py
tests/test_spawn_guard.py
tests/test_statement_api.py
tests/test_statement_modal.py
tests/test_stats.py
tests/test_stdio_encoding.py
tests/test_step_content.py
tests/test_stepik_client.py
tests/test_stepik_client_extra.py
tests/test_stepik_client_retry.py
tests/test_stepik_reference.py
tests/test_stepik_submit.py
tests/test_storage.py
tests/test_submission_archive.py
tests/test_submission_history.py
tests/test_task_index.py
tests/test_task_page_parser.py
tests/test_test_source_fetcher.py
tests/test_testblock.py
tests/test_tests_writer.py
tests/test_timeout_config.py
tests/test_tracer.py
tests/test_user_settings.py
tests/test_verbose_case_report.py
tests/test_version_script.py
tests/test_viewmodels_bench_rows.py
tests/test_viewmodels_cache.py
tests/test_w0_execution_cleanup.py
tests/test_w1_cli_consent.py
tests/test_w1_env_scrub.py
tests/test_w1_output_limit.py
tests/test_w1_secrets_env.py
tests/test_w3_per_run_limits.py
tests/test_w6_input_tract_fuzz.py
tests/test_w6_windows_sandbox_gaps.py
tests/test_watch_incremental.py
tests/test_web.py
tests/test_web_api_contract.py
tests/test_web_auth.py
tests/test_web_downloader.py
tests/test_web_feedback_draft_guard.py
tests/test_web_glossary.py
tests/test_web_history.py
tests/test_web_journeys.py
tests/test_web_playground.py
tests/test_web_router.py
tests/test_web_rules_insights.py
tests/test_workflow_pinning.py
tests/test_write_guard.py
tests/e2e/__init__.py
tests/e2e/_helpers.py
tests/e2e/conftest.py
tests/e2e/test_a11y.py
tests/e2e/test_contrast_measured.py
tests/e2e/test_downloader_auth_poll.py
tests/e2e/test_journeys.py
tests/e2e/test_load_failures.py
tests/e2e/test_navigation.py
tests/e2e/test_not_silently_skipped.py
tests/e2e/test_onboarding_state.py
tests/e2e/test_poller_resilience.py
tests/e2e/test_router.py
tests/e2e/test_sandbox_feedback_state.py
tests/e2e/test_secrets_state.py
tests/e2e/test_statement_modal.py
tests/e2e/test_xss_regression.py