gabriel / musehub public
refactor BREAKING dev
AI Agent gabriel · 120 days ago · May 16, 2026 · Diff

refactor: remove streaming push/fetch wire protocol (MWP)

Cloudflare's 100 MB body limit made the streaming path unworkable. The presigned R2 approach (mpack-presign → PUT → unpack-mpack) is the only push path. Streaming is gone.

Changes: - musehub_wire.py: deleted wire_push_stream, wire_fetch_stream, wire_negotiate, wire_push_presign, wire_push_confirm, wire_push_unpack, all SFRAME helpers and stream frame reader; restored accidentally-deleted _walk_commit_delta (shared DAG walk for fetch) - wire.py routes: deleted push_stream, negotiate, push_presign (per-object), push_confirm, push_unpack (inline), fetch_stream routes - models/wire.py: deleted WireSnapshotDelta, WireNegotiateRequest, WireNegotiateResponse, all SFRAME_* and STREAM_MAX_* constants - musehub_abuse_models.py: updated MusehubStreamRejection docstring - musehub_mist_push_validator.py, musehub_sync.py: updated stale comments - 63 stream-only test files deleted

sha256:0201d108c79f814839b0e75feb9fa86004351f329635675bc8ee9e4eb6711f94 sha
+30 ~40 −2720 symbols
sha256:dcd602a52d46a1bceab1c5ab10bc54a692f9653f1e3950f582f7b0772f5125b0 snapshot
+30
symbols added
~40
symbols modified
−2720
symbols removed
−1
dead symbol removed
Semantic Changes 2790 symbols
~ tests/bench_phase8_repro.py .py 31 symbols removed
_DB_URL variable variable _DB_URL L43–46
_MINIO variable variable _MINIO L47–53
_UPSERT_SET variable variable _UPSERT_SET L55–60
_commit_row function function _commit_row L97–112
_hr function function _hr L71–72
_insert_stmt function function _insert_stmt L115–123
_ms function function _ms L63–64
_row function function _row L67–68
_seed_repo function async_function _seed_repo L75–94
Base import import Base L38–38
BlobBackend import import BlobBackend L39–39
JSONObject import import JSONObject L41–41
MusehubCommit import import MusehubCommit L37–37
MusehubRepo import import MusehubRepo L37–37
NullPool import import NullPool L33–33
Path import import Path L26–26
annotations import import annotations L18–18
async_sessionmaker import import async_sessionmaker L31–31
asyncio import import asyncio L20–20
blob_id import import blob_id L40–40
create_async_engine import import create_async_engine L31–31
datetime import import datetime L21–21
muse_cli_models import import musehub.db.muse_cli_models L36–36
os import import os L22–22
pg_insert import import pg_insert L32–32
secrets import import secrets L23–23
select import import select L34–34
sys import import sys L24–24
text import import text L34–34
time import import time L25–25
main function async_function main L126–208
~ tests/bench_phases.py .py 42 symbols removed
_DB_URL variable variable _DB_URL L42–45
_MINIO_BUCKET variable variable _MINIO_BUCKET L47–47
_MINIO_ENDPOINT variable variable _MINIO_ENDPOINT L46–46
_MINIO_KEY variable variable _MINIO_KEY L48–48
_MINIO_REGION variable variable _MINIO_REGION L50–50
_MINIO_SECRET variable variable _MINIO_SECRET L49–49
_backend function function _backend L106–113
_fw variable variable _fw L52–52
_hr function function _hr L116–117
_make_chain function function _make_chain L65–88
_pack function function _pack L57–58
_push_body function function _push_body L91–103
_row function function _row L120–122
_wrap function function _wrap L61–62
bench_l0_direct function function bench_l0_direct L127–145
bench_l1_blob_backend function async_function bench_l1_blob_backend L150–158
bench_l2_db_snapshot function async_function bench_l2_db_snapshot L163–185
bench_l3_wire function async_function bench_l3_wire L190–236
Base import import Base L33–33
BlobBackend import import BlobBackend L38–38
JSONValue import import JSONValue L29–29
MuseWireFrameWriter import import MuseWireFrameWriter L31–31
NullPool import import NullPool L27–27
Path import import Path L20–20
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L35–35
SFRAME_END import import SFRAME_END L35–35
SFRAME_HEADER import import SFRAME_HEADER L35–35
SFRAME_PROGRESS import import SFRAME_PROGRESS L35–35
SFRAME_RESULT import import SFRAME_RESULT L35–35
annotations import import annotations L13–13
async_sessionmaker import import async_sessionmaker L26–26
asyncio import import asyncio L15–15
blob_id import import blob_id L32–32
create_async_engine import import create_async_engine L26–26
msgpack import import msgpack L25–25
muse_cli_models import import musehub.db.muse_cli_models L34–34
now_utc_iso import import now_utc_iso L32–32
os import import os L16–16
secrets import import secrets L17–17
sys import import sys L18–18
time import import time L19–19
main function async_function main L241–258
~ tests/bench_push.py .py 64 symbols removed
BenchResult class class BenchResult L161–184
__init__ method method __init__ L162–165
p50 method method p50 L171–172
p95 method method p95 L174–178
record method method record L167–169
throughput_mbs method method throughput_mbs L180–184
_AUTH_CTX variable variable _AUTH_CTX L58–63
_DB_URL variable variable _DB_URL L51–54
_ENGINE variable variable _ENGINE L55–55
_SESSION_FACTORY variable variable _SESSION_FACTORY L56–56
_c_frame function function _c_frame L111–114
_commit_counter variable variable _commit_counter L73–73
_create_repo_api function async_function _create_repo_api L137–145
_do_push function async_function _do_push L147–158
_e_frame function function _e_frame L116–119
_fw variable variable _fw L49–49
_h_frame function function _h_frame L99–103
_make_commit function function _make_commit L75–94
_make_snapshot function function _make_snapshot L96–97
_o_frame function function _o_frame L105–109
_pack function function _pack L67–68
_print_results function function _print_results L394–417
_push_body function function _push_body L121–132
_wrap function function _wrap L70–71
bench_cold_large function async_function bench_cold_large L211–237
bench_few_large function async_function bench_few_large L307–333
bench_incremental function async_function bench_incremental L336–389
bench_many_small function async_function bench_many_small L278–304
bench_repush_noop function async_function bench_repush_noop L240–275
bench_tiny function async_function bench_tiny L189–208
ASGITransport import import ASGITransport L35–35
Any import import Any L29–29
AsyncClient import import AsyncClient L35–35
Base import import Base L42–42
JSONObject import import JSONObject L40–40
JSONValue import import JSONValue L40–40
MSignContext import import MSignContext L46–46
MuseWireFrameWriter import import MuseWireFrameWriter L41–41
NullPool import import NullPool L37–37
Path import import Path L28–28
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L47–47
SFRAME_END import import SFRAME_END L47–47
SFRAME_HEADER import import SFRAME_HEADER L47–47
SFRAME_OBJECT import import SFRAME_OBJECT L47–47
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L41–41
_database import import _database L43–43
annotations import import annotations L20–20
app import import app L45–45
async_sessionmaker import import async_sessionmaker L36–36
asyncio import import asyncio L22–22
blob_id import import blob_id L39–39
create_async_engine import import create_async_engine L36–36
get_db import import get_db L42–42
msgpack import import msgpack L34–34
muse_cli_models import import musehub.db.muse_cli_models L44–44
now_utc_iso import import now_utc_iso L39–39
optional_signed_request import import optional_signed_request L46–46
os import import os L23–23
require_signed_request import import require_signed_request L46–46
statistics import import statistics L24–24
sys import import sys L25–25
tempfile import import tempfile L26–26
time import import time L27–27
main function async_function main L422–491
~ tests/bench_wire_remote.py .py 73 symbols removed
BenchResult class class BenchResult L101–147
__init__ method method __init__ L102–109
gate method method gate L138–139
gate_pass method method gate_pass L141–147
p50 method method p50 L120–123
p95 method method p95 L125–130
record method method record L111–115
record_cf_timeout method method record_cf_timeout L117–118
throughput_mbs method method throughput_mbs L132–136
GATES variable variable GATES L56–97
SIZE_MATRIX variable variable SIZE_MATRIX L44–50
VERB_FNS variable variable VERB_FNS L716–721
_BENCH_REPO_PREFIX variable variable _BENCH_REPO_PREFIX L319–319
_FAIL variable variable _FAIL L642–642
_PASS variable variable _PASS L641–641
_SKIP variable variable _SKIP L643–643
_auth function function _auth L180–185
_bundle_bytes function function _bundle_bytes L304–315
_c_frame function function _c_frame L278–285
_create_repo function function _create_repo L321–342
_delete_repo function function _delete_repo L344–355
_e_frame function function _e_frame L287–290
_fetch_bundle function async_function _fetch_bundle L435–463
_fw variable variable _fw L40–40
_gate_str function function _gate_str L645–651
_h_frame function function _h_frame L266–270
_make_commits_chain function function _make_commits_chain L211–262
_make_objects function function _make_objects L203–209
_markdown_table function function _markdown_table L696–712
_next_seq function function _next_seq L198–201
_o_frame function function _o_frame L272–276
_pack function function _pack L151–152
_print_results function function _print_results L653–694
_push_presign function async_function _push_presign L386–431
_push_stream function async_function _push_stream L359–383
_seed_repo function async_function _seed_repo L467–488
_seq variable variable _seq L196–196
_sign function function _sign L162–178
_stream_push_body function function _stream_push_body L292–302
_unpack function function _unpack L154–155
_wire_auth function function _wire_auth L187–192
_wrap function function _wrap L157–158
bench_clone function async_function bench_clone L606–637
bench_fetch function async_function bench_fetch L526–557
bench_pull function async_function bench_pull L560–603
bench_push function async_function bench_push L492–523
Any import import Any L28–28
JSONObject import import JSONObject L37–37
JSONValue import import JSONValue L37–37
MuseWireFrameWriter import import MuseWireFrameWriter L36–36
Path import import Path L27–27
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L38–38
SFRAME_END import import SFRAME_END L38–38
SFRAME_HEADER import import SFRAME_HEADER L38–38
SFRAME_OBJECT import import SFRAME_OBJECT L38–38
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L36–36
annotations import import annotations L15–15
argparse import import argparse L17–17
asyncio import import asyncio L18–18
blob_id import import blob_id L35–35
hashlib import import hashlib L19–19
httpx import import httpx L32–32
json import import json L20–20
msgpack import import msgpack L33–33
now_utc_iso import import now_utc_iso L35–35
os import import os L21–21
statistics import import statistics L22–22
subprocess import import subprocess L23–23
sys import import sys L24–24
tempfile import import tempfile L25–25
time import import time L26–26
main function async_function main L757–792
run_size function async_function run_size L724–754
~ tests/test_background_jobs.py .py 29 symbols removed
_fw variable variable _fw L32–32
_mp function function _mp L35–36
_wrap function function _wrap L39–40
AsyncClient import import AsyncClient L16–16
AsyncSession import import AsyncSession L18–18
JSONValue import import JSONValue L29–29
MuseWireFrameWriter import import MuseWireFrameWriter L21–21
MusehubBackgroundJob import import MusehubBackgroundJob L22–22
StrDict import import StrDict L29–29
annotations import import annotations L10–10
blob_id import import blob_id L20–20
claim_next_job import import claim_next_job L23–23
complete_job import import complete_job L23–23
datetime import import datetime L12–12
enqueue_job import import enqueue_job L23–23
factory_create_repo import import factory_create_repo L30–30
fail_job import import fail_job L23–23
msgpack import import msgpack L14–14
now_utc_iso import import now_utc_iso L20–20
pytest import import pytest L15–15
select import import select L17–17
timezone import import timezone L12–12
test_claim_next_job_returns_none_when_queue_empty function async_function test_claim_next_job_returns_none_when_queue_empty L85–88
test_claim_next_job_returns_oldest_pending function async_function test_claim_next_job_returns_oldest_pending L65–81
test_complete_job_sets_done_status function async_function test_complete_job_sets_done_status L94–111
test_enqueue_job_creates_pending_row function async_function test_enqueue_job_creates_pending_row L46–59
test_fail_job_permanently_fails_after_max_attempts function async_function test_fail_job_permanently_fails_after_max_attempts L139–160
test_fail_job_retries_on_first_failure function async_function test_fail_job_retries_on_first_failure L117–135
test_push_enqueues_intel_jobs function async_function test_push_enqueues_intel_jobs L166–242
~ tests/test_bench_cf_timeout.py .py 15 symbols removed
BenchResult import import BenchResult L20–20
Path import import Path L15–15
annotations import import annotations L11–11
math import import math L13–13
pytest import import pytest L17–17
sys import import sys L14–14
test_bench_result_starts_without_cf_timeout function function test_bench_result_starts_without_cf_timeout L25–27
test_cf_timeout_gate_pass_is_none function function test_cf_timeout_gate_pass_is_none L68–77
test_cf_timeout_p50_is_inf function function test_cf_timeout_p50_is_inf L45–50
test_cf_timeout_p95_is_inf function function test_cf_timeout_p95_is_inf L53–56
test_cf_timeout_throughput_is_zero function function test_cf_timeout_throughput_is_zero L90–93
test_normal_gate_pass_still_works function function test_normal_gate_pass_still_works L80–85
test_normal_result_p50_unaffected function function test_normal_result_p50_unaffected L59–63
test_record_cf_timeout_is_idempotent function function test_record_cf_timeout_is_idempotent L36–40
test_record_cf_timeout_sets_flag function function test_record_cf_timeout_sets_flag L30–33
~ tests/test_commit_meta_promotion.py .py 45 symbols removed
TestMusehubCommitColumns class class TestMusehubCommitColumns L50–91
test_has_breaking_changes_column method method test_has_breaking_changes_column L69–71
test_has_no_commit_meta_column method method test_has_no_commit_meta_column L89–91
test_has_prompt_hash_column method method test_has_prompt_hash_column L77–79
test_has_reviewed_by_column method method test_has_reviewed_by_column L81–83
test_has_sem_ver_bump_column method method test_has_sem_ver_bump_column L65–67
test_has_signature_column method method test_has_signature_column L53–55
test_has_signer_key_id_column method method test_has_signer_key_id_column L61–63
test_has_signer_public_key_column method method test_has_signer_public_key_column L57–59
test_has_test_runs_column method method test_has_test_runs_column L85–87
test_has_toolchain_id_column method method test_has_toolchain_id_column L73–75
_make_repo function async_function _make_repo L25–43
_make_snapshot function function _make_snapshot L131–132
_make_wire_commit function function _make_wire_commit L99–128
_push_commit function async_function _push_commit L161–185
_stub_r2 function function _stub_r2 L135–153
_stub_verify function function _stub_verify L156–158
_utc function function _utc L21–22
AsyncSession import import AsyncSession L12–12
JSONObject import import JSONObject L18–18
JSONValue import import JSONValue L18–18
MusehubCommit import import MusehubCommit L17–17
MusehubCommitRef import import MusehubCommitRef L17–17
MusehubRepo import import MusehubRepo L17–17
MusehubSymbolHistoryEntry import import MusehubSymbolHistoryEntry L16–16
annotations import import annotations L8–8
blob_id import import blob_id L15–15
datetime import import datetime L11–11
long_id import import long_id L15–15
now_utc_iso import import now_utc_iso L15–15
pytest import import pytest L10–10
sa import import sa L13–13
timezone import import timezone L11–11
test_push_does_not_store_commit_meta function async_function test_push_does_not_store_commit_meta L310–320
test_push_stores_breaking_changes function async_function test_push_stores_breaking_changes L244–253
test_push_stores_prompt_hash function async_function test_push_stores_prompt_hash L270–280
test_push_stores_reviewed_by function async_function test_push_stores_reviewed_by L284–293
test_push_stores_sem_ver_bump function async_function test_push_stores_sem_ver_bump L231–240
test_push_stores_signature function async_function test_push_stores_signature L189–200
test_push_stores_signer_key_id function async_function test_push_stores_signer_key_id L218–227
test_push_stores_signer_public_key function async_function test_push_stores_signer_public_key L204–214
test_push_stores_test_runs function async_function test_push_stores_test_runs L297–306
test_push_stores_toolchain_id function async_function test_push_stores_toolchain_id L257–266
test_symbol_timeline_query_includes_signature function async_function test_symbol_timeline_query_includes_signature L328–385
test_to_wire_commit_reads_first_class_columns class async_function test_to_wire_commit_reads_first_class_columns L393–439
_SettingsStub class class _SettingsStub L536–542
_commit_pack_frame function function _commit_pack_frame L76–82
_decode_result function function _decode_result L201–207
_end_frame function function _end_frame L85–86
_fw variable variable _fw L50–50
_header_frame function function _header_frame L69–73
_make_commit function function _make_commit L104–157
_make_repo function async_function _make_repo L168–189
_make_settings function function _make_settings L545–554
_make_snapshot function function _make_snapshot L160–161
_new_keypair function function _new_keypair L93–97
_pack function function _pack L61–62
_stub_r2 function function _stub_r2 L192–198
_wrap function function _wrap L65–66
AsyncClient import import AsyncClient L27–27
AsyncMock import import AsyncMock L22–22
AsyncSession import import AsyncSession L28–28
Ed25519PrivateKey import import Ed25519PrivateKey L26–26
JSONObject import import JSONObject L48–48
MuseWireFrameWriter import import MuseWireFrameWriter L47–47
MusehubBranch import import MusehubBranch L38–38
MusehubRepo import import MusehubRepo L38–38
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L40–40
SFRAME_END import import SFRAME_END L40–40
SFRAME_ERROR import import SFRAME_ERROR L40–40
SFRAME_HEADER import import SFRAME_HEADER L40–40
SFRAME_RESULT import import SFRAME_RESULT L40–40
StrDict import import StrDict L48–48
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L30–30
annotations import import annotations L19–19
blob_id import import blob_id L37–37
compute_branch_id import import compute_branch_id L39–39
compute_identity_id import import compute_identity_id L39–39
compute_repo_id import import compute_repo_id L39–39
datetime import import datetime L21–21
encode_pubkey import import encode_pubkey L37–37
encode_public_key import import encode_public_key L31–31
msgpack import import msgpack L24–24
now_utc_iso import import now_utc_iso L37–37
provenance_payload import import provenance_payload L31–31
public_key_fingerprint import import public_key_fingerprint L37–37
pytest import import pytest L25–25
sign_commit_ed25519 import import sign_commit_ed25519 L31–31
sign_commit_record import import sign_commit_record L31–31
timezone import import timezone L21–21
test_sv1_valid_signature_accepted function async_function test_sv1_valid_signature_accepted L215–236
test_sv2_forged_signature_rejected function async_function test_sv2_forged_signature_rejected L244–285
test_sv3_wrong_public_key_rejected function async_function test_sv3_wrong_public_key_rejected L293–348
test_sv4_signature_without_public_key_rejected function async_function test_sv4_signature_without_public_key_rejected L356–399
test_sv5_unsigned_commit_accepted_when_signing_not_required function async_function test_sv5_unsigned_commit_accepted_when_signing_not_required L407–435
test_sv6_unsigned_commit_rejected_when_signing_required function async_function test_sv6_unsigned_commit_rejected_when_signing_required L443–471
test_sv7_mixed_batch_one_forged_rejects_all function async_function test_sv7_mixed_batch_one_forged_rejects_all L479–529
~ tests/test_diag_phase8.py .py 27 symbols removed
_BLOB_PUT_SLOW_THRESHOLD_S variable variable _BLOB_PUT_SLOW_THRESHOLD_S L37–37
_body_iter function async_function _body_iter L86–87
_fw variable variable _fw L36–36
_make_1commit_body function function _make_1commit_body L48–83
_pack function function _pack L40–41
_run_wire_push function async_function _run_wire_push L90–101
_wrap function function _wrap L44–45
AsyncSession import import AsyncSession L22–22
JSONValue import import JSONValue L34–34
MuseWireFrameWriter import import MuseWireFrameWriter L24–24
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L26–26
SFRAME_END import import SFRAME_END L26–26
SFRAME_HEADER import import SFRAME_HEADER L26–26
SFRAME_PROGRESS import import SFRAME_PROGRESS L26–26
SFRAME_RESULT import import SFRAME_RESULT L26–26
annotations import import annotations L13–13
asyncio import import asyncio L15–15
blob_id import import blob_id L25–25
create_repo import import create_repo L33–33
datetime import import datetime L16–16
msgpack import import msgpack L20–20
now_utc_iso import import now_utc_iso L25–25
pytest import import pytest L21–21
secrets import import secrets L17–17
time import import time L18–18
test_diag_phase8_blob_put_timing function async_function test_diag_phase8_blob_put_timing L164–201
test_diag_phase8_event_loop_alive_during_blob_put function async_function test_diag_phase8_event_loop_alive_during_blob_put L105–160
~ tests/test_fetch_stream_integrity.py .py 23 symbols removed
TestCorruptObjectNotDeleted class class TestCorruptObjectNotDeleted L35–63
test_delete_never_called_on_corrupt_object method async_method test_delete_never_called_on_corrupt_object L37–63
_collect function async_function _collect L26–32
_now function function _now L22–23
AsyncMock import import AsyncMock L9–9
AsyncSession import import AsyncSession L13–13
MagicMock import import MagicMock L9–9
MusehubCommit import import MusehubCommit L17–17
MusehubObject import import MusehubObject L17–17
MusehubObjectRef import import MusehubObjectRef L17–17
MusehubSnapshot import import MusehubSnapshot L17–17
WireFetchRequest import import WireFetchRequest L18–18
annotations import import annotations L6–6
blob_id import import blob_id L16–16
create_repo import import create_repo L19–19
datetime import import datetime L8–8
fake_id import import fake_id L16–16
msgpack import import msgpack L11–11
patch import import patch L9–9
pg_insert import import pg_insert L14–14
pytest import import pytest L12–12
timezone import import timezone L8–8
session_add_object_and_commit function async_function session_add_object_and_commit L66–94
~ tests/test_ghost_repair.py .py 47 symbols removed
SFRAME_ERROR variable variable SFRAME_ERROR L45–45
_TEST_DB_URL variable variable _TEST_DB_URL L47–47
_body_iter function async_function _body_iter L94–95
_collect_frames function async_function _collect_frames L98–105
_commit_pack_frame function function _commit_pack_frame L81–84
_end_frame function function _end_frame L77–78
_fw variable variable _fw L44–44
_header_frame function function _header_frame L70–74
_insert_ghost_row function async_function _insert_ghost_row L134–144
_now function function _now L54–55
_o_frame function function _o_frame L87–91
_pack function function _pack L62–63
_push_stream_raw function function _push_stream_raw L108–131
_run_repair function async_function _run_repair L202–210
_uid function function _uid L58–59
_wrap function function _wrap L66–67
AsyncSession import import AsyncSession L29–29
IntDict import import IntDict L41–41
JSONObject import import JSONObject L41–41
MuseWireFrameWriter import import MuseWireFrameWriter L32–32
MusehubObject import import MusehubObject L34–34
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L35–35
SFRAME_END import import SFRAME_END L35–35
SFRAME_HEADER import import SFRAME_HEADER L35–35
SFRAME_OBJECT import import SFRAME_OBJECT L35–35
StrDict import import StrDict L41–41
annotations import import annotations L20–20
blob_id import import blob_id L33–33
create_async_engine import import create_async_engine L29–29
create_repo import import create_repo L42–42
datetime import import datetime L23–23
fake_id import import fake_id L33–33
func function import func L27–27
msgpack import import msgpack L25–25
pg_insert import import pg_insert L28–28
pytest import import pytest L26–26
select import import select L27–27
sessionmaker import import sessionmaker L30–30
timezone import import timezone L23–23
zlib import import zlib L22–22
test_P3_1_truly_missing_rejected_with_not_in_bundle function async_function test_P3_1_truly_missing_rejected_with_not_in_bundle L152–172
test_P3_3_object_in_bundle_passes_phase_c function async_function test_P3_3_object_in_bundle_passes_phase_c L176–195
test_R4_1_repair_deletes_ghost_rows function async_function test_R4_1_repair_deletes_ghost_rows L214–239
test_R4_2_repair_preserves_present_objects function async_function test_R4_2_repair_preserves_present_objects L243–268
test_R4_3_repair_dry_run_does_not_delete function async_function test_R4_3_repair_dry_run_does_not_delete L272–293
test_R4_4_repair_then_push_with_objects_succeeds function async_function test_R4_4_repair_then_push_with_objects_succeeds L297–331
test_R4_5_repair_with_no_orphans_is_a_noop function async_function test_R4_5_repair_with_no_orphans_is_a_noop L335–361
~ tests/test_h1_no_reuse.py .py 17 symbols removed
N_PUSHES variable variable N_PUSHES L36–36
SIZE variable variable SIZE L35–35
STAGING_URL variable variable STAGING_URL L34–34
Path import import Path L19–19
SIZE_MATRIX import import SIZE_MATRIX L25–25
_create_repo import import _create_repo L25–25
_delete_repo import import _delete_repo L25–25
_make_commits_chain import import _make_commits_chain L25–25
_make_objects import import _make_objects L25–25
_push_stream import import _push_stream L25–25
annotations import import annotations L14–14
httpx import import httpx L21–21
os import import os L16–16
pytest import import pytest L22–22
ssl import import ssl L17–17
sys import import sys L18–18
test_push_stream_h1_fresh_client_per_call function async_function test_push_stream_h1_fresh_client_per_call L41–114
~ tests/test_id_canonical.py .py 91 symbols removed
TestHashFunctionsReturnCanonicalForm class class TestHashFunctionsReturnCanonicalForm L139–216
test_commit_id_is_deterministic method method test_commit_id_is_deterministic L197–202
test_compute_commit_id_cli_returns_canonical method method test_compute_commit_id_cli_returns_canonical L164–170
test_compute_commit_id_hub_returns_canonical method method test_compute_commit_id_hub_returns_canonical L149–155
test_compute_snapshot_id_cli_returns_canonical method method test_compute_snapshot_id_cli_returns_canonical L157–162
test_compute_snapshot_id_hub_returns_canonical method method test_compute_snapshot_id_hub_returns_canonical L142–147
test_hub_and_cli_commit_id_agree method method test_hub_and_cli_commit_id_agree L180–189
test_hub_and_cli_snapshot_id_agree method method test_hub_and_cli_snapshot_id_agree L172–178
test_snapshot_id_empty_manifest_returns_canonical method method test_snapshot_id_empty_manifest_returns_canonical L211–216
test_snapshot_id_is_deterministic method method test_snapshot_id_is_deterministic L191–195
test_snapshot_id_without_dirs_returns_canonical method method test_snapshot_id_without_dirs_returns_canonical L204–209
TestWireCommitPromptHashValidation class class TestWireCommitPromptHashValidation L388–416
test_arbitrary_string_prompt_hash_rejected method method test_arbitrary_string_prompt_hash_rejected L410–416
test_bare_hex_prompt_hash_rejected method method test_bare_hex_prompt_hash_rejected L402–408
test_canonical_prompt_hash_accepted method method test_canonical_prompt_hash_accepted L395–400
test_empty_prompt_hash_accepted method method test_empty_prompt_hash_accepted L391–393
TestWireCommitValidation class class TestWireCommitValidation L221–280
test_bare_hex_commit_id_rejected method method test_bare_hex_commit_id_rejected L231–237
test_bare_hex_parent_commit_id_rejected method method test_bare_hex_parent_commit_id_rejected L273–280
test_bare_hex_snapshot_id_rejected method method test_bare_hex_snapshot_id_rejected L247–253
test_canonical_commit_id_accepted method method test_canonical_commit_id_accepted L224–229
test_canonical_parent_commit_id_accepted method method test_canonical_parent_commit_id_accepted L255–262
test_none_parent_commit_id_accepted method method test_none_parent_commit_id_accepted L264–271
test_plain_id_commit_id_rejected method method test_plain_id_commit_id_rejected L239–245
TestWireSnapshotDeltaValidation class class TestWireSnapshotDeltaValidation L338–385
test_added_bare_hex_object_id_rejected method method test_added_bare_hex_object_id_rejected L349–356
test_added_multiple_entries_all_validated method method test_added_multiple_entries_all_validated L367–377
test_added_plain_id_object_id_rejected method method test_added_plain_id_object_id_rejected L358–365
test_canonical_delta_accepted method method test_canonical_delta_accepted L341–347
test_empty_added_accepted method method test_empty_added_accepted L379–385
TestWireSnapshotValidation class class TestWireSnapshotValidation L285–335
test_bare_hex_snapshot_id_rejected method method test_bare_hex_snapshot_id_rejected L292–295
test_canonical_snapshot_id_accepted method method test_canonical_snapshot_id_accepted L288–290
test_canonical_snapshot_with_manifest_accepted method method test_canonical_snapshot_with_manifest_accepted L302–308
test_manifest_bare_hex_object_id_rejected method method test_manifest_bare_hex_object_id_rejected L310–316
test_manifest_multiple_entries_all_canonical method method test_manifest_multiple_entries_all_canonical L326–335
test_manifest_plain_id_object_id_rejected method method test_manifest_plain_id_object_id_rejected L318–324
test_plain_id_snapshot_id_rejected method method test_plain_id_snapshot_id_rejected L297–300
_BARE_HEX_64 variable variable _BARE_HEX_64 L70–70
_CANONICAL_ID_RE variable variable _CANONICAL_ID_RE L43–43
_COMMIT_ID_HUB variable variable _COMMIT_ID_HUB L58–58
_DIRS variable variable _DIRS L51–51
_MANIFEST variable variable _MANIFEST L47–50
_MESSAGE variable variable _MESSAGE L52–52
_PARENT_IDS variable variable _PARENT_IDS L54–54
_PLAIN_ID variable variable _PLAIN_ID L74–74
_SFRAME_COMMIT_PACK variable variable _SFRAME_COMMIT_PACK L84–84
_SFRAME_END variable variable _SFRAME_END L85–85
_SFRAME_ERROR variable variable _SFRAME_ERROR L86–86
_SFRAME_HEADER variable variable _SFRAME_HEADER L83–83
_SFRAME_RESULT variable variable _SFRAME_RESULT L87–87
_SNAP_ID_HUB variable variable _SNAP_ID_HUB L57–57
_TIMESTAMP variable variable _TIMESTAMP L53–53
_VALID_COMMIT_ID variable variable _VALID_COMMIT_ID L63–63
_VALID_OBJECT_ID variable variable _VALID_OBJECT_ID L65–65
_VALID_PARENT_ID variable variable _VALID_PARENT_ID L64–64
_VALID_SNAP_ID variable variable _VALID_SNAP_ID L62–62
_fw variable variable _fw L81–81
_make_mwp_push function function _make_mwp_push L94–124
_parse_mwp_result function function _parse_mwp_result L127–134
_wrap function function _wrap L90–91
AsyncClient import import AsyncClient L24–24
AsyncSession import import AsyncSession L26–26
JSONObject import import JSONObject L29–29
JSONValue import import JSONValue L29–29
MuseWireFrameWriter import import MuseWireFrameWriter L34–34
Path import import Path L20–20
ValidationError import import ValidationError L25–25
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L34–34
WireCommit import import WireCommit L30–30
WireSnapshot import import WireSnapshot L30–30
WireSnapshotDelta import import WireSnapshotDelta L30–30
annotations import import annotations L15–15
blob_id import import blob_id L61–61
cli_compute_commit_id import import cli_compute_commit_id L36–36
cli_compute_snapshot_id import import cli_compute_snapshot_id L35–35
compute_commit_id import import compute_commit_id L28–28
compute_snapshot_id import import compute_snapshot_id L28–28
create_repo import import create_repo L39–39
datetime import import datetime L19–19
fake_id import import fake_id L61–61
long_id import import long_id L69–69
msgpack import import msgpack L22–22
now_utc_iso import import now_utc_iso L38–38
pytest import import pytest L23–23
re import import re L17–17
sys import import sys L18–18
timezone import import timezone L19–19
test_push_with_bare_hex_commit_id_returns_error function async_function test_push_with_bare_hex_commit_id_returns_error L444–463
test_push_with_bare_hex_snapshot_id_returns_error function async_function test_push_with_bare_hex_snapshot_id_returns_error L467–486
test_push_with_canonical_ids_returns_ok function async_function test_push_with_canonical_ids_returns_ok L422–440
~ tests/test_mist_phase2_push_validator.py .py 31 symbols removed
TestMistValidationResult class class TestMistValidationResult L21–38
test_result_with_errors_is_invalid method method test_result_with_errors_is_invalid L28–32
test_result_with_only_warnings_is_valid method method test_result_with_only_warnings_is_valid L34–38
test_valid_result_has_no_errors method method test_valid_result_has_no_errors L22–26
TestValidateMistManifestHardErrors class class TestValidateMistManifestHardErrors L45–113
test_ansi_escape_in_filename method method test_ansi_escape_in_filename L66–70
test_backslash_path_separator method method test_backslash_path_separator L84–88
test_control_character_in_filename method method test_control_character_in_filename L72–76
test_empty_filename_is_rejected method method test_empty_filename_is_rejected L109–113
test_errors_list_all_invalid_paths method method test_errors_list_all_invalid_paths L97–107
test_filename_exceeds_255_chars method method test_filename_exceeds_255_chars L90–95
test_forward_slash_path_separator method method test_forward_slash_path_separator L78–82
test_null_byte_in_filename method method test_null_byte_in_filename L59–64
test_path_traversal_dot_dot_only method method test_path_traversal_dot_dot_only L53–57
test_path_traversal_dot_dot_slash method method test_path_traversal_dot_dot_slash L46–51
TestValidateMistManifestValid class class TestValidateMistManifestValid L120–157
test_clean_python_filename method method test_clean_python_filename L121–126
test_clean_solidity_filename method method test_clean_solidity_filename L134–138
test_clean_typescript_filename method method test_clean_typescript_filename L128–132
test_empty_manifest_is_valid method method test_empty_manifest_is_valid L140–146
test_multiple_clean_filenames method method test_multiple_clean_filenames L148–157
TestValidateMistManifestWarnings class class TestValidateMistManifestWarnings L164–197
test_known_extension_produces_no_warning method method test_known_extension_produces_no_warning L180–185
test_mix_valid_and_unknown_ext method method test_mix_valid_and_unknown_ext L187–197
test_no_extension_produces_warning method method test_no_extension_produces_warning L173–178
test_unknown_extension_produces_warning method method test_unknown_extension_produces_warning L165–171
TestWirePushMistValidation class class TestWirePushMistValidation L204–241
test_domain_non_mist_skips_validator method async_method test_domain_non_mist_skips_validator L230–241
test_validate_manifest_called_for_mist_domain method async_method test_validate_manifest_called_for_mist_domain L213–227
annotations import import annotations L13–13
pytest import import pytest L15–15
~ tests/test_msign.py .py 108 symbols removed
TestBuildCanonicalMessageUnit class class TestBuildCanonicalMessageUnit L304–341
test_algorithm_is_first_line method method test_algorithm_is_first_line L338–341
test_empty_body_hash_is_blob_id_of_empty method method test_empty_body_hash_is_blob_id_of_empty L332–336
test_large_body_sha256_is_hex method method test_large_body_sha256_is_hex L319–326
test_output_is_utf8_bytes method method test_output_is_utf8_bytes L328–330
test_query_string_appears_verbatim_in_fourth_line method method test_query_string_appears_verbatim_in_fourth_line L313–317
test_query_string_included_in_canonical method method test_query_string_included_in_canonical L307–311
TestMSignContextUnit class class TestMSignContextUnit L257–301
test_context_agent_flag method method test_context_agent_flag L295–297
test_context_human_is_not_agent method method test_context_human_is_not_agent L291–293
test_context_is_admin_false_by_default method method test_context_is_admin_false_by_default L299–301
test_context_scope_can_be_set_for_agents method method test_context_scope_can_be_set_for_agents L280–289
test_context_scope_defaults_to_none_for_humans method method test_context_scope_defaults_to_none_for_humans L276–278
test_msign_context_is_dataclass class method test_msign_context_is_dataclass L260–262
test_optional_token_is_optional_signed_request method method test_optional_token_is_optional_signed_request L272–274
test_require_valid_token_is_require_signed_request method method test_require_valid_token_is_require_signed_request L268–270
test_token_claims_is_msign_context method method test_token_claims_is_msign_context L264–266
TestMSignDataIntegrity class class TestMSignDataIntegrity L721–852
test_canonical_prefix_stored_and_verified method async_method test_canonical_prefix_stored_and_verified L800–823
test_context_handle_matches_identity_handle method async_method test_context_handle_matches_identity_handle L786–798
test_is_agent_false_for_human_identity_type method async_method test_is_agent_false_for_human_identity_type L734–742
test_is_agent_true_for_agent_identity_type method async_method test_is_agent_true_for_agent_identity_type L724–732
test_revocation_takes_immediate_effect method async_method test_revocation_takes_immediate_effect L825–852
test_second_of_two_keys_verified_when_first_fails method async_method test_second_of_two_keys_verified_when_first_fails L744–763
test_three_decoy_keys_then_correct_key method async_method test_three_decoy_keys_then_correct_key L765–784
TestMSignE2E class class TestMSignE2E L535–632
test_401_response_has_detail method async_method test_401_response_has_detail L564–571
test_agent_identity_push_succeeds method async_method test_agent_identity_push_succeeds L552–562
test_method_mismatch_in_signature_returns_401 method async_method test_method_mismatch_in_signature_returns_401 L573–590
test_path_mismatch_in_signature_returns_401 method async_method test_path_mismatch_in_signature_returns_401 L592–609
test_push_without_auth_returns_401 method async_method test_push_without_auth_returns_401 L621–632
test_query_string_signed_correctly method async_method test_query_string_signed_correctly L538–550
test_refs_endpoint_requires_no_auth_for_public_repo method async_method test_refs_endpoint_requires_no_auth_for_public_repo L611–619
TestMSignIntegration class class TestMSignIntegration L449–527
test_no_keys_registered_returns_401 method async_method test_no_keys_registered_returns_401 L477–492
test_optional_absent_header_allows_public_repo method async_method test_optional_absent_header_allows_public_repo L506–514
test_optional_invalid_header_returns_401 method async_method test_optional_invalid_header_returns_401 L516–527
test_soft_deleted_identity_returns_401 method async_method test_soft_deleted_identity_returns_401 L494–504
test_unknown_identity_returns_401 method async_method test_unknown_identity_returns_401 L468–475
test_valid_push_returns_200 method async_method test_valid_push_returns_200 L458–466
TestMSignPerformance class class TestMSignPerformance L1009–1116
test_10_full_stack_verifications_under_2_seconds method async_method test_10_full_stack_verifications_under_2_seconds L1050–1066
test_build_canonical_message_with_query_under_1ms method method test_build_canonical_message_with_query_under_1ms L1012–1022
test_ed25519_sign_under_1ms_median method method test_ed25519_sign_under_1ms_median L1037–1048
test_multi_key_overhead_proportional method async_method test_multi_key_overhead_proportional L1068–1116
test_parse_header_under_50_microseconds_median method method test_parse_header_under_50_microseconds_median L1024–1035
TestMSignSecurity class class TestMSignSecurity L860–1001
test_future_timestamp_returns_401 method async_method test_future_timestamp_returns_401 L984–1001
test_handle_quote_injection_rejected_or_truncated method async_method test_handle_quote_injection_rejected_or_truncated L971–982
test_invalid_base64_sig_returns_401 method async_method test_invalid_base64_sig_returns_401 L895–910
test_missing_header_response_has_www_authenticate method async_method test_missing_header_response_has_www_authenticate L863–876
test_stale_timestamp_returns_401 method async_method test_stale_timestamp_returns_401 L927–945
test_timestamp_exactly_at_boundary_does_not_crash method async_method test_timestamp_exactly_at_boundary_does_not_crash L912–925
test_wrong_key_returns_401_without_leaking_key_material method async_method test_wrong_key_returns_401_without_leaking_key_material L947–969
test_wrong_scheme_returns_401_with_www_authenticate method async_method test_wrong_scheme_returns_401_with_www_authenticate L878–893
TestMSignStress class class TestMSignStress L640–713
test_28_sequential_signed_get_requests_succeed method async_method test_28_sequential_signed_get_requests_succeed L643–656
test_five_pushes_same_identity_all_succeed method async_method test_five_pushes_same_identity_all_succeed L702–713
test_parse_header_1000_times_completes_under_50ms method method test_parse_header_1000_times_completes_under_50ms L691–700
test_repeated_requests_with_fresh_timestamps_succeed method async_method test_repeated_requests_with_fresh_timestamps_succeed L658–671
test_two_identities_alternating_push_requests method async_method test_two_identities_alternating_push_requests L673–689
TestMWPFrameEncoderUnit class class TestMWPFrameEncoderUnit L390–441
test_envelope_is_valid_msgpack method method test_envelope_is_valid_msgpack L406–412
test_magic_bytes_correct method method test_magic_bytes_correct L397–400
test_minimal_push_body_ends_with_end_frame method method test_minimal_push_body_ends_with_end_frame L429–441
test_minimal_push_body_starts_with_header_frame method method test_minimal_push_body_starts_with_header_frame L423–427
test_payload_hash_matches_envelope_id method method test_payload_hash_matches_envelope_id L414–421
test_version_byte_is_one method method test_version_byte_is_one L402–404
TestParseMsignHeaderUnit class class TestParseMsignHeaderUnit L344–387
test_basic_scheme_rejected method method test_basic_scheme_rejected L368–369
test_empty_handle_rejected method method test_empty_handle_rejected L371–375
test_large_ts_parses method method test_large_ts_parses L361–366
test_leading_whitespace_stripped method method test_leading_whitespace_stripped L347–352
test_returns_four_tuple method method test_returns_four_tuple L377–387
test_ts_zero_parses_as_int method method test_ts_zero_parses_as_int L354–359
_encode_mwp_frame function function _encode_mwp_frame L101–126
_keypair function function _keypair L157–160
_minimal_push_body function function _minimal_push_body L129–147
_msign_header function function _msign_header L163–183
_push function async_function _push L227–249
_seed function async_function _seed L186–224
_uid function function _uid L153–154
AsyncClient import import AsyncClient L76–76
AsyncSession import import AsyncSession L77–77
Ed25519PrivateKey import import Ed25519PrivateKey L75–75
JSONObject import import JSONObject L80–80
MSignContext import import MSignContext L81–81
MusehubAuthKey import import MusehubAuthKey L93–93
MusehubIdentity import import MusehubIdentity L94–94
REPLAY_WINDOW_SECONDS import import REPLAY_WINDOW_SECONDS L81–81
TokenClaims import import TokenClaims L87–87
_parse_msign_header import import _parse_msign_header L81–81
annotations import import annotations L66–66
b64url_decode import import b64url_decode L92–92
b64url_encode import import b64url_encode L92–92
blob_id import import blob_id L79–79
build_canonical_message import import build_canonical_message L81–81
encode_pubkey import import encode_pubkey L79–79
factory_create_repo import import factory_create_repo L95–95
hashlib import import hashlib L68–68
key_fingerprint import import key_fingerprint L92–92
msgpack import import msgpack L73–73
optional_token import import optional_token L87–87
pytest import import pytest L74–74
require_valid_token import import require_valid_token L87–87
secrets import import secrets L69–69
struct import import struct L70–70
time import import time L71–71
~ tests/test_msign_request_signing.py .py 81 symbols removed
TestBuildCanonicalMessage class class TestBuildCanonicalMessage L130–195
test_deterministic method method test_deterministic L131–133
test_different_body_produces_different_bytes method method test_different_body_produces_different_bytes L190–191
test_different_host_produces_different_bytes method method test_different_host_produces_different_bytes L178–182
test_different_method_produces_different_bytes method method test_different_method_produces_different_bytes L175–176
test_different_path_produces_different_bytes method method test_different_path_produces_different_bytes L184–185
test_different_ts_produces_different_bytes method method test_different_ts_produces_different_bytes L187–188
test_empty_body_produces_sha256_of_empty method method test_empty_body_produces_sha256_of_empty L170–173
test_fifth_line_is_timestamp method method test_fifth_line_is_timestamp L159–162
test_first_line_is_algorithm method method test_first_line_is_algorithm L140–142
test_format_is_six_lines method method test_format_is_six_lines L135–138
test_fourth_line_is_path method method test_fourth_line_is_path L154–157
test_returns_bytes method method test_returns_bytes L193–195
test_second_line_is_method method method test_second_line_is_method L144–147
test_sixth_line_is_sha256_hex_of_body method method test_sixth_line_is_sha256_hex_of_body L164–168
test_third_line_is_host method method test_third_line_is_host L149–152
TestParseMsignHeader class class TestParseMsignHeader L201–244
test_handle_with_hyphens_and_underscores method method test_handle_with_hyphens_and_underscores L232–237
test_returns_none_for_bearer method method test_returns_none_for_bearer L213–214
test_returns_none_for_empty_string method method test_returns_none_for_empty_string L216–217
test_returns_none_for_missing_alg method method test_returns_none_for_missing_alg L219–221
test_returns_none_for_missing_handle method method test_returns_none_for_missing_handle L229–230
test_returns_none_for_missing_sig method method test_returns_none_for_missing_sig L226–227
test_returns_none_for_missing_ts method method test_returns_none_for_missing_ts L223–224
test_ts_is_int method method test_ts_is_int L239–244
test_valid_header_parses method method test_valid_header_parses L202–211
_WIRE_CT variable variable _WIRE_CT L124–124
_ed25519_keypair function function _ed25519_keypair L52–55
_mp function function _mp L107–108
_msign_header function function _msign_header L58–72
_seed_identity function async_function _seed_identity L75–104
_wire_body function function _wire_body L111–121
AsyncClient import import AsyncClient L32–32
AsyncSession import import AsyncSession L34–34
Ed25519PrivateKey import import Ed25519PrivateKey L31–31
JSONObject import import JSONObject L42–42
MusehubAuthKey import import MusehubAuthKey L44–44
MusehubIdentity import import MusehubIdentity L45–45
REPLAY_WINDOW_SECONDS import import REPLAY_WINDOW_SECONDS L37–37
_parse_msign_header import import _parse_msign_header L37–37
annotations import import annotations L21–21
b64url_decode import import b64url_decode L43–43
b64url_encode import import b64url_encode L43–43
blob_id import import blob_id L27–27
build_canonical_message import import build_canonical_message L37–37
compute_identity_id import import compute_identity_id L36–36
compute_key_id import import compute_key_id L36–36
encode_pubkey import import encode_pubkey L27–27
factory_create_repo import import factory_create_repo L46–46
key_fingerprint import import key_fingerprint L43–43
msgpack import import msgpack L29–29
os import import os L23–23
pytest import import pytest L30–30
secrets import import secrets L24–24
select import import select L33–33
time import import time L25–25
test_25_sequential_signed_requests_all_succeed function async_function test_25_sequential_signed_requests_all_succeed L679–706
test_bearer_scheme_returns_401 function async_function test_bearer_scheme_returns_401 L265–279
test_canonical_message_1kb_body_under_1ms function function test_canonical_message_1kb_body_under_1ms L725–738
test_canonical_message_1mb_body_under_10ms function function test_canonical_message_1mb_body_under_10ms L741–751
test_canonical_message_empty_body_is_fast function function test_canonical_message_empty_body_is_fast L754–767
test_future_timestamp_returns_401 function async_function test_future_timestamp_returns_401 L325–341
test_key_lookup_does_not_degrade_with_more_keys function async_function test_key_lookup_does_not_degrade_with_more_keys L844–906
test_malformed_msign_header_returns_401 function async_function test_malformed_msign_header_returns_401 L283–299
test_missing_auth_header_returns_401 function async_function test_missing_auth_header_returns_401 L251–261
test_msign_context_contains_correct_identity function async_function test_msign_context_contains_correct_identity L434–455
test_optional_msign_invalid_header_still_returns_401 function async_function test_optional_msign_invalid_header_still_returns_401 L494–510
test_optional_msign_missing_header_still_serves_public_repo function async_function test_optional_msign_missing_header_still_serves_public_repo L462–469
test_optional_msign_valid_header_serves_private_repo function async_function test_optional_msign_valid_header_serves_private_repo L473–490
test_replay_window_is_at_least_15_seconds function function test_replay_window_is_at_least_15_seconds L717–719
test_replay_window_is_positive_int function function test_replay_window_is_positive_int L712–714
test_revoked_key_cannot_authenticate function async_function test_revoked_key_cannot_authenticate L517–556
test_second_key_still_works_after_first_revoked function async_function test_second_key_still_works_after_first_revoked L560–612
test_stale_timestamp_returns_401 function async_function test_stale_timestamp_returns_401 L303–321
test_tampered_signature_returns_401 function async_function test_tampered_signature_returns_401 L345–369
test_unknown_handle_returns_401 function async_function test_unknown_handle_returns_401 L394–408
test_valid_msign_request_is_accepted function async_function test_valid_msign_request_is_accepted L412–430
test_verification_with_1_key_under_latency_budget function async_function test_verification_with_1_key_under_latency_budget L774–796
test_verification_with_5_keys_under_latency_budget function async_function test_verification_with_5_keys_under_latency_budget L800–840
test_wire_content_type_uses_empty_body_hash function async_function test_wire_content_type_uses_empty_body_hash L619–672
test_wrong_key_signature_returns_401 function async_function test_wrong_key_signature_returns_401 L373–390
~ tests/test_negotiate_disk_read.py .py 33 symbols removed
TestNegotiateAcksDbPresent class class TestNegotiateAcksDbPresent L58–90
test_acks_commit_in_musehub_commits method async_method test_acks_commit_in_musehub_commits L60–73
test_acks_multiple_db_commits method async_method test_acks_multiple_db_commits L76–90
TestNegotiateDbIsSourceOfTruth class class TestNegotiateDbIsSourceOfTruth L156–177
test_acks_db_commit_regardless_of_disk method async_method test_acks_db_commit_regardless_of_disk L158–177
TestNegotiateEmptyHave class class TestNegotiateEmptyHave L182–195
test_empty_have_yields_empty_ack method async_method test_empty_have_yields_empty_ack L184–195
TestNegotiatePartialHave class class TestNegotiatePartialHave L134–151
test_partial_have_only_acks_db_present method async_method test_partial_have_only_acks_db_present L136–151
TestNegotiateReadyFlag class class TestNegotiateReadyFlag L200–233
test_ack_set_drives_ready_when_have_present method async_method test_ack_set_drives_ready_when_have_present L217–233
test_ready_true_when_no_have_ids method async_method test_ready_true_when_no_have_ids L202–214
TestNegotiateRejectsUnknown class class TestNegotiateRejectsUnknown L95–129
test_does_not_ack_commit_from_different_repo method async_method test_does_not_ack_commit_from_different_repo L113–129
test_does_not_ack_unknown_commit method async_method test_does_not_ack_unknown_commit L97–110
TestNegotiateUsesDB class class TestNegotiateUsesDB L238–271
test_musehub_commits_queried_for_have_ack method async_method test_musehub_commits_queried_for_have_ack L240–271
_insert_db_commit function async_function _insert_db_commit L31–53
_make_repo function async_function _make_repo L276–305
_oid function function _oid L27–28
AsyncMock import import AsyncMock L16–16
AsyncSession import import AsyncSession L20–20
MagicMock import import MagicMock L16–16
annotations import import annotations L12–12
blob_id import import blob_id L22–22
call import import call L16–16
datetime import import datetime L15–15
long_id import import long_id L22–22
patch import import patch L16–16
pytest import import pytest L18–18
pytest_asyncio import import pytest_asyncio L19–19
secrets import import secrets L14–14
timezone import import timezone L15–15
~ tests/test_nginx_routing.py .py 62 symbols removed
BINARY_WIRE_MIME_TYPES variable variable BINARY_WIRE_MIME_TYPES L512–516
CATCH_ALL_PATTERN variable variable CATCH_ALL_PATTERN L311–311
LimitReqZone class class LimitReqZone L155–170
name method method name L161–162
requests_per_minute method method requests_per_minute L165–170
LocationBlock class class LocationBlock L29–75
clears_connection_header method method clears_connection_header L69–71
client_max_body_unlimited method method client_max_body_unlimited L50–51
gzip_disabled method method gzip_disabled L64–66
has_rate_limit method method has_rate_limit L54–55
label method method label L74–75
proxy_buffering method method proxy_buffering L42–43
proxy_read_timeout_s method method proxy_read_timeout_s L37–39
proxy_request_buffering method method proxy_request_buffering L46–47
rate_limit_zone method method rate_limit_zone L58–61
NGINX_CONF variable variable NGINX_CONF L24–24
UpstreamBlock class class UpstreamBlock L79–96
keepalive method method keepalive L84–86
keepalive_requests method method keepalive_requests L89–91
keepalive_timeout_s method method keepalive_timeout_s L94–96
_nginx_match function function _nginx_match L217–264
_parse_directives function function _parse_directives L99–116
_parse_gzip_types function function _parse_gzip_types L145–151
_parse_limit_req_zones function function _parse_limit_req_zones L173–182
_parse_nginx_location_blocks function function _parse_nginx_location_blocks L119–142
_parse_nginx_upstream_blocks function function _parse_nginx_upstream_blocks L206–214
_parse_server_add_headers function function _parse_server_add_headers L185–203
Optional import import Optional L20–20
Path import import Path L19–19
annotations import import annotations L15–15
dataclass class import dataclass L18–18
field import import field L18–18
pytest import import pytest L22–22
re import import re L17–17
nginx_blocks function function nginx_blocks L276–279
nginx_gzip_types function function nginx_gzip_types L283–284
nginx_limit_req_zones function function nginx_limit_req_zones L288–289
nginx_server_headers function function nginx_server_headers L293–294
nginx_text function function nginx_text L270–272
nginx_upstream function function nginx_upstream L298–302
test_api_path_is_not_treated_as_wire function function test_api_path_is_not_treated_as_wire L421–433
test_default_location_has_rate_limit function function test_default_location_has_rate_limit L621–630
test_exempt_paths_have_no_rate_limit function function test_exempt_paths_have_no_rate_limit L642–648
test_gzip_types_excludes_binary_wire_types function function test_gzip_types_excludes_binary_wire_types L519–524
test_limit_req_zone_api_defined function function test_limit_req_zone_api_defined L598–608
test_limit_req_zone_auth_defined function function test_limit_req_zone_auth_defined L611–618
test_nginx_conf_exists function function test_nginx_conf_exists L438–439
test_nginx_conf_has_catch_all function function test_nginx_conf_has_catch_all L448–450
test_nginx_conf_has_location_blocks function function test_nginx_conf_has_location_blocks L442–445
test_other_push_paths_keep_300s_timeout function function test_other_push_paths_keep_300s_timeout L697–704
test_path_routing function function test_path_routing L366–392
test_proxy_block_clears_connection_header function function test_proxy_block_clears_connection_header L497–505
test_push_stream_block_is_still_unbuffered function function test_push_stream_block_is_still_unbuffered L676–687
test_push_stream_cf_aware_timeout function function test_push_stream_cf_aware_timeout L667–673
test_push_stream_has_dedicated_block function function test_push_stream_has_dedicated_block L657–664
test_security_header_has_always_flag function function test_security_header_has_always_flag L582–589
test_security_header_set_at_server_level function function test_security_header_set_at_server_level L564–573
test_upstream_has_keepalive function function test_upstream_has_keepalive L455–460
test_upstream_has_keepalive_requests function function test_upstream_has_keepalive_requests L463–467
test_upstream_has_keepalive_timeout function function test_upstream_has_keepalive_timeout L470–474
test_wire_block_has_gzip_off function function test_wire_block_has_gzip_off L538–545
test_wire_path_has_unlimited_body function function test_wire_path_has_unlimited_body L404–410
~ tests/test_object_integrity.py .py 31 symbols removed
_is_rejection function function _is_rejection L39–42
_last_frame function function _last_frame L29–36
_make_commit function function _make_commit L61–75
_make_non_sha256_object function function _make_non_sha256_object L99–106
_make_tampered_object function function _make_tampered_object L88–96
_make_valid_object function function _make_valid_object L78–85
_mp function function _mp L49–50
_mwp_frame function function _mwp_frame L111–124
_mwp_stream function function _mwp_stream L127–163
_rand8 function function _rand8 L57–58
_sha256_id function function _sha256_id L53–54
_sha256_object_id function function _sha256_object_id L45–46
AsyncClient import import AsyncClient L16–16
AsyncSession import import AsyncSession L17–17
JSONObject import import JSONObject L21–21
StrDict import import StrDict L21–21
annotations import import annotations L8–8
blob_id import import blob_id L20–20
datetime import import datetime L12–12
factory_create_repo import import factory_create_repo L19–19
msgpack import import msgpack L14–14
now_utc_iso import import now_utc_iso L20–20
pytest import import pytest L15–15
secrets import import secrets L10–10
struct import import struct L11–11
timezone import import timezone L12–12
test_push_commit_with_forged_parent_id_is_rejected function async_function test_push_commit_with_forged_parent_id_is_rejected L220–243
test_push_commit_with_parent_from_different_repo_is_rejected function async_function test_push_commit_with_parent_from_different_repo_is_rejected L246–280
test_push_commit_with_parent_in_bundle_succeeds function async_function test_push_commit_with_parent_in_bundle_succeeds L168–187
test_push_commit_with_parent_in_db_succeeds function async_function test_push_commit_with_parent_in_db_succeeds L190–217
test_push_root_commit_with_no_parent_succeeds function async_function test_push_root_commit_with_no_parent_succeeds L283–299
~ tests/test_object_store_canonical.py .py 51 symbols removed
TestIntegration class class TestIntegration L279–342
test_empty_object_roundtrip method async_method test_empty_object_roundtrip L328–342
test_multiple_objects_all_roundtrip method async_method test_multiple_objects_all_roundtrip L299–315
test_single_object_roundtrip method async_method test_single_object_roundtrip L282–297
test_unknown_oid_silently_omitted method async_method test_unknown_oid_silently_omitted L317–326
TestPerformance class class TestPerformance L412–430
test_10_objects_under_100ms method async_method test_10_objects_under_100ms L415–430
TestPersistence class class TestPersistence L371–406
test_db_has_no_raw_hex_object_ids method async_method test_db_has_no_raw_hex_object_ids L393–406
test_db_stores_sha256_prefixed_object_id method async_method test_db_stores_sha256_prefixed_object_id L374–391
TestSchema class class TestSchema L212–273
test_fetch_objects_returns_stream_content_type method async_method test_fetch_objects_returns_stream_content_type L215–231
test_fetched_object_id_has_sha256_prefix method async_method test_fetched_object_id_has_sha256_prefix L233–247
test_push_manifest_uses_sha256_prefix method async_method test_push_manifest_uses_sha256_prefix L249–273
TestStress class class TestStress L348–365
test_100_objects_all_roundtrip method async_method test_100_objects_all_roundtrip L351–365
TestUnit class class TestUnit L178–206
test_blob_backend_key_uses_prefix_form method method test_blob_backend_key_uses_prefix_form L199–206
test_empty_content_oid method method test_empty_content_oid L195–197
test_sha256_oid_has_prefix method method test_sha256_oid_has_prefix L181–183
test_sha256_oid_hex_is_64_chars method method test_sha256_oid_hex_is_64_chars L185–187
test_sha256_oid_known_value method method test_sha256_oid_known_value L189–193
_OWNER variable variable _OWNER L42–42
_fetch_objects function async_function _fetch_objects L159–172
_mp function function _mp L45–46
_mwp_frame function function _mwp_frame L60–73
_mwp_stream function function _mwp_stream L76–113
_parse_stream function function _parse_stream L49–53
_push function async_function _push L116–156
_stream_headers function function _stream_headers L56–57
AsyncClient import import AsyncClient L31–31
AsyncSession import import AsyncSession L33–33
JSONObject import import JSONObject L37–37
JSONValue import import JSONValue L37–37
MusehubObject import import MusehubObject L36–36
MusehubSnapshot import import MusehubSnapshot L36–36
MusehubSnapshotRef import import MusehubSnapshotRef L36–36
StrDict import import StrDict L37–37
annotations import import annotations L23–23
blob_id import import blob_id L35–35
datetime import import datetime L27–27
factory_create_repo import import factory_create_repo L38–38
fake_id import import fake_id L35–35
msgpack import import msgpack L29–29
now_utc_iso import import now_utc_iso L35–35
pytest import import pytest L30–30
secrets import import secrets L25–25
select import import select L32–32
struct import import struct L26–26
text import import text L32–32
timezone import import timezone L27–27
~ tests/test_on_disk_refs.py .py 76 symbols removed
TestReadRefMissing class class TestReadRefMissing L245–272
test_read_ref_returns_none_after_branch_deleted_from_disk method method test_read_ref_returns_none_after_branch_deleted_from_disk L260–272
test_read_ref_returns_none_empty_repo method method test_read_ref_returns_none_empty_repo L253–258
test_read_ref_returns_none_for_unknown_branch method method test_read_ref_returns_none_for_unknown_branch L246–251
TestReadRefRoundTrips class class TestReadRefRoundTrips L194–240
test_read_ref_multiple_branches_independent method method test_read_ref_multiple_branches_independent L229–240
test_read_ref_returns_commit_id method method test_read_ref_returns_commit_id L195–204
test_read_ref_round_trips_feature_branch method method test_read_ref_round_trips_feature_branch L218–227
test_read_ref_strips_trailing_newline method method test_read_ref_strips_trailing_newline L206–216
TestRefUtilitiesConsistency class class TestRefUtilitiesConsistency L487–528
test_independent_branches_do_not_interfere method method test_independent_branches_do_not_interfere L512–522
test_read_missing_returns_none_not_raises method method test_read_missing_returns_none_not_raises L524–528
test_second_write_overwrites_first method method test_second_write_overwrites_first L500–510
test_write_then_read_returns_same_id method method test_write_then_read_returns_same_id L491–498
TestWirePushUpdatesBranchHead class class TestWirePushUpdatesBranchHead L445–482
test_push_result_frame_carries_correct_head method async_method test_push_result_frame_carries_correct_head L467–482
test_push_updates_db_branch_head method async_method test_push_updates_db_branch_head L449–464
TestWriteRefAtomic class class TestWriteRefAtomic L303–336
test_no_tmp_file_after_write method method test_no_tmp_file_after_write L304–315
test_partial_write_does_not_corrupt_existing_ref method method test_partial_write_does_not_corrupt_existing_ref L317–336
TestWriteRefCreatesFile class class TestWriteRefCreatesFile L139–189
test_write_ref_content_is_commit_id_with_newline method method test_write_ref_content_is_commit_id_with_newline L152–162
test_write_ref_creates_ref_file method method test_write_ref_creates_ref_file L140–150
test_write_ref_overwrites_existing method method test_write_ref_overwrites_existing L164–176
test_write_ref_supports_feature_branches method method test_write_ref_supports_feature_branches L178–189
TestWriteRefCreatesParentDirs class class TestWriteRefCreatesParentDirs L277–298
test_write_ref_creates_nested_branch_dirs method method test_write_ref_creates_nested_branch_dirs L290–298
test_write_ref_creates_refs_heads_dir method method test_write_ref_creates_refs_heads_dir L278–288
_IDENTITY_ID variable variable _IDENTITY_ID L52–52
_OWNER variable variable _OWNER L50–50
_SLUG variable variable _SLUG L51–51
_TEST_CONTEXT variable variable _TEST_CONTEXT L54–59
_fw variable variable _fw L351–351
_make_commit_wire function function _make_commit_wire L377–394
_make_snap_wire function function _make_snap_wire L397–403
_mwp_commit_pack function function _mwp_commit_pack L367–370
_mwp_end function function _mwp_end L373–374
_mwp_header function function _mwp_header L359–364
_mwp_wrap function function _mwp_wrap L354–356
_oid function function _oid L35–37
_repo_root function function _repo_root L40–45
_run_push function async_function _run_push L406–442
async_client function async_function async_client L69–74
async_session function async_function async_session L63–65
authed_headers function function authed_headers L128–134
ASGITransport import import ASGITransport L21–21
AsyncClient import import AsyncClient L21–21
AsyncGenerator import import AsyncGenerator L15–15
AsyncSession import import AsyncSession L22–22
JSONObject import import JSONObject L30–30
MSignContext import import MSignContext L24–24
MusehubIdentity import import MusehubIdentity L27–27
MusehubRepo import import MusehubRepo L28–28
Path import import Path L16–16
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L344–344
SFRAME_END import import SFRAME_END L344–344
SFRAME_HEADER import import SFRAME_HEADER L344–344
SFRAME_RESULT import import SFRAME_RESULT L344–344
StrDict import import StrDict L30–30
_MuseWireFrameWriter import import _MuseWireFrameWriter L343–343
_msgpack import import _msgpack L341–341
annotations import import annotations L12–12
app import import app L29–29
blob_id import import blob_id L342–342
compute_identity_id import import compute_identity_id L26–26
long_id import import long_id L25–25
now_utc_iso import import now_utc_iso L25–25
optional_signed_request import import optional_signed_request L24–24
patch import import patch L17–17
pytest import import pytest L19–19
pytest_asyncio import import pytest_asyncio L20–20
require_signed_request import import require_signed_request L24–24
secrets import import secrets L14–14
owner function async_function owner L78–88
repo_id function async_function repo_id L97–124
slug function async_function slug L92–93
~ tests/test_phase8_atomic.py .py 39 symbols removed
_BACKEND variable variable _BACKEND L83–89
_THRESHOLD_MS variable variable _THRESHOLD_MS L90–90
_collect function async_function _collect L103–107
_fw_wire variable variable _fw_wire L55–55
_gen_t1 function async_function _gen_t1 L112–114
_gen_t2 function async_function _gen_t2 L130–133
_gen_t3 function async_function _gen_t3 L149–154
_gen_t5 function async_function _gen_t5 L209–235
_gen_t6 function async_function _gen_t6 L280–307
_make_1commit_body function function _make_1commit_body L58–81
_put_timed function async_function _put_timed L95–100
_put_timed_backend function async_function _put_timed_backend L273–277
AsyncSession import import AsyncSession L45–45
BlobBackend import import BlobBackend L48–48
JSONObject import import JSONObject L53–53
MuseWireFrameWriter import import MuseWireFrameWriter L51–51
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L52–52
SFRAME_END import import SFRAME_END L52–52
SFRAME_HEADER import import SFRAME_HEADER L52–52
_storage_backends import import _storage_backends L49–49
annotations import import annotations L36–36
asyncio import import asyncio L38–38
blob_id import import blob_id L47–47
msgpack import import msgpack L50–50
now_utc_iso import import now_utc_iso L47–47
os import import os L39–39
pytest import import pytest L43–43
secrets import import secrets L40–40
text import import text L44–44
time import import time L41–41
test_T1_put_after_yield_no_db function async_function test_T1_put_after_yield_no_db L118–125
test_T2_put_after_yield_open_tx function async_function test_T2_put_after_yield_open_tx L137–144
test_T3_put_after_yield_then_db_execute function async_function test_T3_put_after_yield_then_db_execute L158–165
test_T4_nullpool_reconnect_does_not_set_socket_timeout function async_function test_T4_nullpool_reconnect_does_not_set_socket_timeout L171–204
test_T5_nullpool_reconnect_3yields_then_put_fresh_backend function async_function test_T5_nullpool_reconnect_3yields_then_put_fresh_backend L239–268
test_T6_warmed_backend_after_p7_then_p8_put function async_function test_T6_warmed_backend_after_p7_then_p8_put L311–338
test_T7_many_nullpool_cycles_then_warmed_backend_put function async_function test_T7_many_nullpool_cycles_then_warmed_backend_put L344–382
test_T8_s3put_sub_timing_in_wire_push_phase8 function async_function test_T8_s3put_sub_timing_in_wire_push_phase8 L388–479
test_T9_wire_push_phase8_blob_put_under_threshold function async_function test_T9_wire_push_phase8_blob_put_under_threshold L485–551
~ tests/test_phase_c_scope.py .py 42 symbols removed
SFRAME_ERROR variable variable SFRAME_ERROR L44–44
_body_iter function async_function _body_iter L92–93
_collect_frames function async_function _collect_frames L96–103
_commit_pack_frame function function _commit_pack_frame L79–82
_commit_wire function function _commit_wire L121–127
_end_frame function function _end_frame L75–76
_fw variable variable _fw L45–45
_header_frame function function _header_frame L68–72
_insert_ghost_object function async_function _insert_ghost_object L155–165
_insert_snapshot_row function async_function _insert_snapshot_row L137–151
_now function function _now L52–53
_o_frame function function _o_frame L85–89
_pack function function _pack L60–61
_push_stream_bytes function function _push_stream_bytes L106–118
_snap_wire function function _snap_wire L130–134
_uid function function _uid L56–57
_wrap function function _wrap L64–65
AsyncSession import import AsyncSession L30–30
JSONObject import import JSONObject L41–41
MuseWireFrameWriter import import MuseWireFrameWriter L32–32
MusehubObject import import MusehubObject L34–34
MusehubSnapshot import import MusehubSnapshot L34–34
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L35–35
SFRAME_END import import SFRAME_END L35–35
SFRAME_HEADER import import SFRAME_HEADER L35–35
SFRAME_OBJECT import import SFRAME_OBJECT L35–35
StrDict import import StrDict L41–41
annotations import import annotations L21–21
blob_id import import blob_id L33–33
create_repo import import create_repo L42–42
datetime import import datetime L24–24
fake_id import import fake_id L33–33
msgpack import import msgpack L26–26
pg_insert import import pg_insert L29–29
pytest import import pytest L27–27
select import import select L28–28
timezone import import timezone L24–24
zlib import import zlib L23–23
test_L6_1_phase_c_skips_already_committed_snapshot function async_function test_L6_1_phase_c_skips_already_committed_snapshot L173–203
test_L6_2_fixed_phase_c_skips_committed_snapshots function async_function test_L6_2_fixed_phase_c_skips_committed_snapshots L211–259
test_L6_3_fixed_phase_c_rejects_missing_in_new_snapshot function async_function test_L6_3_fixed_phase_c_rejects_missing_in_new_snapshot L267–292
test_L6_4_fixed_mixed_push_passes function async_function test_L6_4_fixed_mixed_push_passes L300–357
~ tests/test_push_commit_created_at.py .py 34 symbols removed
_build_push_stream function function _build_push_stream L123–130
_commit_pack_frame function function _commit_pack_frame L90–95
_end_frame function function _end_frame L98–99
_fw variable variable _fw L58–58
_header_frame function function _header_frame L78–87
_make_snapshot function function _make_snapshot L119–120
_make_wire_commit function function _make_wire_commit L102–116
_oid function function _oid L70–71
_utc_now function function _utc_now L66–67
_wrap function function _wrap L74–75
AsyncClient import import AsyncClient L41–41
AsyncSession import import AsyncSession L45–45
IntegrityError import import IntegrityError L44–44
MuseWireFrameWriter import import MuseWireFrameWriter L47–47
MusehubCommit import import MusehubCommit L49–49
MusehubCommitRef import import MusehubCommitRef L49–49
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L50–50
SFRAME_END import import SFRAME_END L50–50
SFRAME_HEADER import import SFRAME_HEADER L50–50
SFRAME_OBJECT import import SFRAME_OBJECT L50–50
annotations import import annotations L34–34
blob_id import import blob_id L48–48
create_repo import import create_repo L56–56
datetime import import datetime L37–37
msgpack import import msgpack L39–39
pg_insert import import pg_insert L43–43
pytest import import pytest L40–40
select import import select L42–42
text import import text L42–42
timezone import import timezone L37–37
zlib import import zlib L36–36
test_t1_explicit_null_created_at_raises_integrity_error function async_function test_t1_explicit_null_created_at_raises_integrity_error L138–156
test_t2_push_commit_has_non_null_created_at function async_function test_t2_push_commit_has_non_null_created_at L164–208
test_t3_upsert_preserves_original_created_at function async_function test_t3_upsert_preserves_original_created_at L216–279
~ tests/test_push_commit_scale.py .py 29 symbols removed
_collect function async_function _collect L100–104
_do_push function async_function _do_push L107–119
_fw variable variable _fw L42–42
_make_chain function function _make_chain L57–82
_pack function function _pack L49–50
_push_body function function _push_body L85–97
_wrap function function _wrap L53–54
AsyncIterator import import AsyncIterator L25–25
AsyncSession import import AsyncSession L29–29
JSONValue import import JSONValue L40–40
MuseWireFrameWriter import import MuseWireFrameWriter L31–31
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L33–33
SFRAME_END import import SFRAME_END L33–33
SFRAME_HEADER import import SFRAME_HEADER L33–33
SFRAME_OBJECT import import SFRAME_OBJECT L33–33
SFRAME_RESULT import import SFRAME_RESULT L33–33
annotations import import annotations L21–21
blob_id import import blob_id L32–32
msgpack import import msgpack L27–27
now_utc_iso import import now_utc_iso L32–32
pytest import import pytest L28–28
secrets import import secrets L23–23
time import import time L24–24
test_C1_500_commits_no_objects_under_5s function async_function test_C1_500_commits_no_objects_under_5s L127–157
test_C2_500_objects_4kb_under_5s function async_function test_C2_500_objects_4kb_under_5s L165–241
test_P1_commit_blobs_exist_in_object_store function async_function test_P1_commit_blobs_exist_in_object_store L249–279
test_P1_commit_identity_bytes_round_trips_to_commit_id function function test_P1_commit_identity_bytes_round_trips_to_commit_id L282–312
test_P2_snapshot_blobs_exist_in_object_store function async_function test_P2_snapshot_blobs_exist_in_object_store L320–350
test_P2_snapshot_identity_bytes_round_trips_to_snapshot_id function function test_P2_snapshot_identity_bytes_round_trips_to_snapshot_id L353–376
~ tests/test_push_confirm_ghost_guard.py .py 41 symbols removed
SFRAME_ERROR variable variable SFRAME_ERROR L57–57
_body_iter function async_function _body_iter L101–102
_collect_frames function async_function _collect_frames L105–112
_commit_pack_frame function function _commit_pack_frame L95–98
_end_frame function function _end_frame L91–92
_fw variable variable _fw L61–61
_header_frame function function _header_frame L84–88
_now function function _now L68–69
_pack function function _pack L76–77
_push_stream_raw function function _push_stream_raw L115–129
_uid function function _uid L72–73
_wrap function function _wrap L80–81
AsyncMock import import AsyncMock L41–41
AsyncSession import import AsyncSession L46–46
JSONObject import import JSONObject L58–58
MagicMock import import MagicMock L41–41
MuseWireFrameWriter import import MuseWireFrameWriter L48–48
MusehubObject import import MusehubObject L50–50
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L51–51
SFRAME_END import import SFRAME_END L51–51
SFRAME_HEADER import import SFRAME_HEADER L51–51
StrDict import import StrDict L58–58
annotations import import annotations L37–37
blob_id import import blob_id L49–49
create_repo import import create_repo L59–59
datetime import import datetime L40–40
fake_id import import fake_id L49–49
func function import func L45–45
msgpack import import msgpack L43–43
patch import import patch L41–41
pytest import import pytest L44–44
select import import select L45–45
timezone import import timezone L40–40
zlib import import zlib L39–39
test_C1_confirm_rejects_absent_object_ghost_guard function async_function test_C1_confirm_rejects_absent_object_ghost_guard L137–165
test_C2_fixed_confirm_rejects_absent_object function async_function test_C2_fixed_confirm_rejects_absent_object L173–202
test_C3_fixed_confirm_accepts_present_object function async_function test_C3_fixed_confirm_accepts_present_object L210–238
test_C4_fixed_confirm_idempotent_for_existing_row function async_function test_C4_fixed_confirm_idempotent_for_existing_row L246–269
test_C5_fixed_confirm_mixed_batch function async_function test_C5_fixed_confirm_mixed_batch L277–316
test_C6_phase_c_passes_after_valid_confirm function async_function test_C6_phase_c_passes_after_valid_confirm L324–348
test_C7_registered_object_trusted_at_push_time function async_function test_C7_registered_object_trusted_at_push_time L356–394
~ tests/test_push_confirm_perf.py .py 16 symbols removed
_make_objects function function _make_objects L47–55
AsyncMock import import AsyncMock L34–34
AsyncSession import import AsyncSession L37–37
MagicMock import import MagicMock L34–34
annotations import import annotations L30–30
asyncio import import asyncio L32–32
create_repo import import create_repo L40–40
fake_id import import fake_id L39–39
patch import import patch L34–34
pytest import import pytest L36–36
time import import time L33–33
test_p1_exists_called_once_per_object function async_function test_p1_exists_called_once_per_object L63–87
test_p2_exists_calls_are_concurrent function async_function test_p2_exists_calls_are_concurrent L95–124
test_p3_bulk_insert_single_statement function async_function test_p3_bulk_insert_single_statement L132–162
test_p4_wall_clock_under_threshold function async_function test_p4_wall_clock_under_threshold L170–202
test_p5_mixed_batch_absent_skipped function async_function test_p5_mixed_batch_absent_skipped L210–232
~ tests/test_push_keepalive_heartbeat.py .py 40 symbols removed
OBATCH variable variable OBATCH L55–55
ObjectStore variable variable ObjectStore L52–52
_collect function async_function _collect L135–139
_commit_pack function function _commit_pack L85–91
_end function function _end L94–95
_fw variable variable _fw L54–54
_header function function _header L70–75
_make_repo function async_function _make_repo L98–115
_object_frame function function _object_frame L78–82
_pack function function _pack L62–63
_stub_backend function function _stub_backend L118–132
_wrap function function _wrap L66–67
AsyncIterator import import AsyncIterator L30–30
AsyncMock import import AsyncMock L32–32
AsyncSession import import AsyncSession L36–36
JSONObject import import JSONObject L50–50
JSONValue import import JSONValue L50–50
MuseWireFrameWriter import import MuseWireFrameWriter L39–39
MusehubBranch import import MusehubBranch L40–40
MusehubRepo import import MusehubRepo L40–40
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L41–41
SFRAME_END import import SFRAME_END L41–41
SFRAME_HEADER import import SFRAME_HEADER L41–41
SFRAME_OBJECT import import SFRAME_OBJECT L41–41
SFRAME_PROGRESS import import SFRAME_PROGRESS L41–41
SFRAME_RESULT import import SFRAME_RESULT L41–41
STREAM_OBJECT_BATCH_SIZE import import STREAM_OBJECT_BATCH_SIZE L41–41
annotations import import annotations L25–25
blob_id import import blob_id L38–38
datetime import import datetime L31–31
inspect import import inspect L27–27
math import import math L28–28
msgpack import import msgpack L34–34
now_utc_iso import import now_utc_iso L38–38
pytest import import pytest L35–35
secrets import import secrets L29–29
timezone import import timezone L31–31
test_p5_1_heartbeat_frames_emitted_during_slow_upload function async_function test_p5_1_heartbeat_frames_emitted_during_slow_upload L147–226
test_p5_2_keepalive_configured_on_pool function function test_p5_2_keepalive_configured_on_pool L233–250
test_p5_3_statement_timeout_configured_on_pool function function test_p5_3_statement_timeout_configured_on_pool L257–274
~ tests/test_push_object_integrity.py .py 36 symbols removed
_commit_pack_frame function function _commit_pack_frame L88–96
_end_frame function function _end_frame L99–104
_fw variable variable _fw L45–45
_header_frame function function _header_frame L64–73
_make_commit function function _make_commit L107–121
_make_snapshot function function _make_snapshot L124–125
_object_frame function function _object_frame L76–85
_oid function function _oid L60–61
_pack function function _pack L52–53
_wrap function function _wrap L56–57
AsyncClient import import AsyncClient L29–29
AsyncMock import import AsyncMock L31–31
AsyncSession import import AsyncSession L30–30
JSONObject import import JSONObject L42–42
JSONValue import import JSONValue L42–42
MagicMock import import MagicMock L31–31
MuseWireFrameWriter import import MuseWireFrameWriter L34–34
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L35–35
SFRAME_END import import SFRAME_END L35–35
SFRAME_HEADER import import SFRAME_HEADER L35–35
SFRAME_OBJECT import import SFRAME_OBJECT L35–35
SFRAME_RESULT import import SFRAME_RESULT L35–35
StrDict import import StrDict L42–42
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L34–34
annotations import import annotations L24–24
blob_id import import blob_id L33–33
create_repo import import create_repo L43–43
inspect import import inspect L26–26
msgpack import import msgpack L27–27
patch import import patch L31–31
pytest import import pytest L28–28
test_i1_blob_backend_put_is_durable function async_function test_i1_blob_backend_put_is_durable L132–152
test_i2_registered_object_trusted_at_push_time function async_function test_i2_registered_object_trusted_at_push_time L161–218
test_i3_successful_push_all_objects_retrievable function async_function test_i3_successful_push_all_objects_retrievable L226–275
test_i4_integrity_check_uses_backend_exists function function test_i4_integrity_check_uses_backend_exists L282–301
test_i5a_store_batch_calls_backend_exists_before_skipping function function test_i5a_store_batch_calls_backend_exists_before_skipping L319–332
~ tests/test_push_path_selection.py .py 12 symbols removed
Path import import Path L16–16
annotations import import annotations L13–13
bench_wire_remote import import bench_wire_remote L21–21
pytest import import pytest L18–18
sys import import sys L15–15
test_bench_push_calls_cf_safe_push_path function function test_bench_push_calls_cf_safe_push_path L79–87
test_cf_safe_push_path_exists function function test_cf_safe_push_path_exists L26–29
test_localhost_always_stream function function test_localhost_always_stream L35–39
test_prod_large_uses_presign function function test_prod_large_uses_presign L72–74
test_prod_small_uses_stream function function test_prod_small_uses_stream L66–68
test_staging_large_uses_presign function function test_staging_large_uses_presign L55–60
test_staging_small_uses_stream function function test_staging_small_uses_stream L45–49
~ tests/test_push_per_batch_commit.py .py 54 symbols removed
BATCH variable variable BATCH L69–69
ObjectStore variable variable ObjectStore L65–65
_collect function async_function _collect L131–135
_commit_pack function function _commit_pack L99–104
_end function function _end L107–108
_frames_of_type function function _frames_of_type L138–139
_fw variable variable _fw L67–67
_header function function _header L84–89
_make_backend function function _make_backend L441–453
_make_commit function function _make_commit L115–124
_make_objects function function _make_objects L111–112
_make_repo function async_function _make_repo L146–162
_make_snapshot function function _make_snapshot L127–128
_object_frame function function _object_frame L92–96
_pack function function _pack L76–77
_push function async_function _push L186–206
_stub_backend function function _stub_backend L165–183
_wrap function function _wrap L80–81
AsyncIterator import import AsyncIterator L42–42
AsyncMock import import AsyncMock L44–44
AsyncSession import import AsyncSession L49–49
JSONObject import import JSONObject L63–63
JSONValue import import JSONValue L63–63
MagicMock import import MagicMock L44–44
Mapping import import Mapping L42–42
MuseWireFrameWriter import import MuseWireFrameWriter L52–52
MusehubBranch import import MusehubBranch L53–53
MusehubObject import import MusehubObject L53–53
MusehubRepo import import MusehubRepo L53–53
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L54–54
SFRAME_END import import SFRAME_END L54–54
SFRAME_ERROR import import SFRAME_ERROR L54–54
SFRAME_HEADER import import SFRAME_HEADER L54–54
SFRAME_OBJECT import import SFRAME_OBJECT L54–54
SFRAME_RESULT import import SFRAME_RESULT L54–54
STREAM_OBJECT_BATCH_SIZE import import STREAM_OBJECT_BATCH_SIZE L54–54
StrDict import import StrDict L63–63
annotations import import annotations L38–38
blob_id import import blob_id L51–51
call import import call L44–44
datetime import import datetime L43–43
math import import math L40–40
msgpack import import msgpack L46–46
now_utc_iso import import now_utc_iso L51–51
patch import import patch L44–44
pytest import import pytest L47–47
secrets import import secrets L41–41
select import import select L48–48
timezone import import timezone L43–43
test_p1_1_commit_called_per_batch function async_function test_p1_1_commit_called_per_batch L214–250
test_p1_2_one_full_batch_two_commits function async_function test_p1_2_one_full_batch_two_commits L258–288
test_p1_3_partial_second_batch_three_commits function async_function test_p1_3_partial_second_batch_three_commits L296–326
test_p1_4_batch_0_durable_after_batch_1_fails function async_function test_p1_4_batch_0_durable_after_batch_1_fails L334–399
test_p1_5_second_push_idempotent function async_function test_p1_5_second_push_idempotent L407–437
CBATCH variable variable CBATCH L62–62
ObjectStore variable variable ObjectStore L58–58
_collect function async_function _collect L154–158
_commit_pack function function _commit_pack L92–97
_end function function _end L100–101
_frames_of_type function function _frames_of_type L161–162
_fw variable variable _fw L60–60
_header function function _header L77–82
_make_chain function function _make_chain L135–151
_make_commit function function _make_commit L109–124
_make_object function function _make_object L104–106
_make_repo function async_function _make_repo L165–181
_make_snapshot function function _make_snapshot L127–132
_object_frame function function _object_frame L85–89
_pack function function _pack L69–70
_push function async_function _push L201–222
_stub_backend function function _stub_backend L184–198
_wrap function function _wrap L73–74
AsyncIterator import import AsyncIterator L35–35
AsyncMock import import AsyncMock L37–37
AsyncSession import import AsyncSession L42–42
JSONObject import import JSONObject L56–56
JSONValue import import JSONValue L56–56
MuseWireFrameWriter import import MuseWireFrameWriter L45–45
MusehubBranch import import MusehubBranch L46–46
MusehubCommit import import MusehubCommit L46–46
MusehubRepo import import MusehubRepo L46–46
MusehubSnapshot import import MusehubSnapshot L46–46
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L47–47
SFRAME_END import import SFRAME_END L47–47
SFRAME_ERROR import import SFRAME_ERROR L47–47
SFRAME_HEADER import import SFRAME_HEADER L47–47
SFRAME_OBJECT import import SFRAME_OBJECT L47–47
SFRAME_RESULT import import SFRAME_RESULT L47–47
STREAM_COMMIT_BATCH_SIZE import import STREAM_COMMIT_BATCH_SIZE L47–47
StrDict import import StrDict L56–56
annotations import import annotations L31–31
blob_id import import blob_id L44–44
datetime import import datetime L36–36
math import import math L33–33
msgpack import import msgpack L39–39
now_utc_iso import import now_utc_iso L44–44
pytest import import pytest L40–40
secrets import import secrets L34–34
select import import select L41–41
timezone import import timezone L36–36
test_p2_1_snapshot_commits_per_batch function async_function test_p2_1_snapshot_commits_per_batch L230–272
test_p2_2_commit_rows_committed_per_batch function async_function test_p2_2_commit_rows_committed_per_batch L280–323
test_p2_3_snapshot_batch_0_durable_after_batch_1_fails function async_function test_p2_3_snapshot_batch_0_durable_after_batch_1_fails L331–402
test_p2_4_commit_batch_0_durable_after_batch_1_fails function async_function test_p2_4_commit_batch_0_durable_after_batch_1_fails L410–487
test_p2_5_second_push_idempotent function async_function test_p2_5_second_push_idempotent L495–516
~ tests/test_push_presign_ghost_guard.py .py 40 symbols removed
SFRAME_ERROR variable variable SFRAME_ERROR L43–43
_body_iter function async_function _body_iter L87–88
_collect_frames function async_function _collect_frames L91–98
_commit_pack_frame function function _commit_pack_frame L74–77
_end_frame function function _end_frame L70–71
_fw variable variable _fw L44–44
_header_frame function function _header_frame L63–67
_now function function _now L47–48
_o_frame function function _o_frame L80–84
_pack function function _pack L55–56
_push_stream_raw function function _push_stream_raw L101–124
_register_object function async_function _register_object L127–137
_uid function function _uid L51–52
_wrap function function _wrap L59–60
AsyncMock import import AsyncMock L24–24
AsyncSession import import AsyncSession L29–29
JSONObject import import JSONObject L40–40
MagicMock import import MagicMock L24–24
MuseWireFrameWriter import import MuseWireFrameWriter L31–31
MusehubObject import import MusehubObject L33–33
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L34–34
SFRAME_END import import SFRAME_END L34–34
SFRAME_HEADER import import SFRAME_HEADER L34–34
SFRAME_OBJECT import import SFRAME_OBJECT L34–34
StrDict import import StrDict L40–40
annotations import import annotations L20–20
blob_id import import blob_id L32–32
create_repo import import create_repo L41–41
datetime import import datetime L23–23
fake_id import import fake_id L32–32
msgpack import import msgpack L26–26
patch import import patch L24–24
pg_insert import import pg_insert L28–28
pytest import import pytest L27–27
timezone import import timezone L23–23
zlib import import zlib L22–22
test_P5_3_db_present_object_is_already_stored function async_function test_P5_3_db_present_object_is_already_stored L145–166
test_P5_5_push_with_registered_objects_passes function async_function test_P5_5_push_with_registered_objects_passes L174–193
test_P5_7_db_absent_object_is_upload_path function async_function test_P5_7_db_absent_object_is_upload_path L201–222
test_P5_8_mixed_batch_split function async_function test_P5_8_mixed_batch_split L230–258
~ tests/test_push_presign_loopback.py .py 22 symbols removed
_make_commit function function _make_commit L65–80
_make_repo function async_function _make_repo L36–53
_make_snapshot function function _make_snapshot L83–84
_stub_presign_backend function function _stub_presign_backend L56–62
AsyncMock import import AsyncMock L25–25
AsyncSession import import AsyncSession L24–24
JSONObject import import JSONObject L29–29
JSONValue import import JSONValue L29–29
MusehubBranch import import MusehubBranch L28–28
MusehubRepo import import MusehubRepo L28–28
StrDict import import StrDict L29–29
annotations import import annotations L17–17
blob_id import import blob_id L27–27
datetime import import datetime L21–21
inspect import import inspect L19–19
now_utc_iso import import now_utc_iso L27–27
pytest import import pytest L23–23
secrets import import secrets L20–20
timezone import import timezone L21–21
test_p3_1_presign_returns_urls_regardless_of_caller function async_function test_p3_1_presign_returns_urls_regardless_of_caller L92–120
test_p3_2_wire_push_presign_has_no_loopback_guard function function test_p3_2_wire_push_presign_has_no_loopback_guard L127–143
test_p3_3_full_presign_flow_zero_o_frames function async_function test_p3_3_full_presign_flow_zero_o_frames L151–250
~ tests/test_push_presign_scale.py .py 16 symbols removed
_bulk_register function async_function _bulk_register L24–41
AsyncMock import import AsyncMock L13–13
AsyncSession import import AsyncSession L17–17
MagicMock import import MagicMock L13–13
MusehubObject import import MusehubObject L20–20
MusehubObjectRef import import MusehubObjectRef L20–20
annotations import import annotations L10–10
create_repo import import create_repo L21–21
fake_id import import fake_id L19–19
patch import import patch L13–13
pg_insert import import pg_insert L16–16
pytest import import pytest L15–15
time import import time L12–12
test_S1_presign_1000_registered_objects function async_function test_S1_presign_1000_registered_objects L49–75
test_S2_no_minio_head_for_registered_objects function async_function test_S2_no_minio_head_for_registered_objects L83–103
test_S3_presign_1000_new_objects function async_function test_S3_presign_1000_new_objects L111–138
~ tests/test_push_session_phase2.py .py 45 symbols removed
CBATCH variable variable CBATCH L60–60
ObjectStore variable variable ObjectStore L57–57
_collect function async_function _collect L141–145
_commit_pack function function _commit_pack L90–95
_end function function _end L98–99
_frames_of_type function function _frames_of_type L148–149
_fw variable variable _fw L59–59
_header function function _header L75–80
_make_chain function function _make_chain L128–138
_make_commit function function _make_commit L102–117
_make_repo function async_function _make_repo L152–168
_make_snapshot function function _make_snapshot L120–125
_object_frame function function _object_frame L83–87
_pack function function _pack L67–68
_push function async_function _push L189–205
_stub_backend function function _stub_backend L171–186
_wrap function function _wrap L71–72
AsyncIterator import import AsyncIterator L36–36
AsyncSession import import AsyncSession L41–41
JSONObject import import JSONObject L55–55
JSONValue import import JSONValue L55–55
MuseWireFrameWriter import import MuseWireFrameWriter L44–44
MusehubBranch import import MusehubBranch L45–45
MusehubRepo import import MusehubRepo L45–45
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L46–46
SFRAME_END import import SFRAME_END L46–46
SFRAME_ERROR import import SFRAME_ERROR L46–46
SFRAME_HEADER import import SFRAME_HEADER L46–46
SFRAME_OBJECT import import SFRAME_OBJECT L46–46
SFRAME_RESULT import import SFRAME_RESULT L46–46
STREAM_COMMIT_BATCH_SIZE import import STREAM_COMMIT_BATCH_SIZE L46–46
annotations import import annotations L31–31
blob_id import import blob_id L43–43
datetime import import datetime L37–37
inspect import import inspect L33–33
math import import math L34–34
msgpack import import msgpack L38–38
now_utc_iso import import now_utc_iso L43–43
pytest import import pytest L39–39
secrets import import secrets L35–35
select import import select L40–40
timezone import import timezone L37–37
test_p2b_1_session_close_called_after_frame_loop function async_function test_p2b_1_session_close_called_after_frame_loop L213–251
test_p2b_2_source_uses_async_session_local_for_finalization function function test_p2b_2_source_uses_async_session_local_for_finalization L259–275
test_p2b_3_push_survives_dead_original_session function async_function test_p2b_3_push_survives_dead_original_session L283–352
~ tests/test_push_stream_ghost_skip.py .py 15 symbols removed
_insert_objects function async_function _insert_objects L36–52
AsyncSession import import AsyncSession L25–25
MusehubObject import import MusehubObject L28–28
annotations import import annotations L19–19
create_repo import import create_repo L29–29
fake_id import import fake_id L27–27
pytest import import pytest L23–23
text import import text L24–24
time import import time L21–21
test_p1_registered_objects_not_missing function async_function test_p1_registered_objects_not_missing L60–69
test_p2_unregistered_objects_are_missing function async_function test_p2_unregistered_objects_are_missing L77–85
test_p3_deleted_objects_are_missing function async_function test_p3_deleted_objects_are_missing L93–105
test_p4_mixed_batch_correct_partition function async_function test_p4_mixed_batch_correct_partition L113–129
test_p5_empty_input function async_function test_p5_empty_input L137–142
test_p6_single_query_wall_clock function async_function test_p6_single_query_wall_clock L150–166
~ tests/test_push_timeout_fix.py .py 35 symbols removed
_commit_pack_frame function function _commit_pack_frame L88–93
_end_frame function function _end_frame L96–97
_fw variable variable _fw L46–46
_header_frame function function _header_frame L65–74
_make_commit function function _make_commit L100–118
_make_snapshot function function _make_snapshot L121–122
_object_frame function function _object_frame L77–85
_oid function function _oid L61–62
_pack function function _pack L53–54
_parse_response_frames function function _parse_response_frames L125–129
_wrap function function _wrap L57–58
AsyncClient import import AsyncClient L29–29
AsyncSession import import AsyncSession L30–30
JSONObject import import JSONObject L43–43
JSONValue import import JSONValue L43–43
MuseWireFrameWriter import import MuseWireFrameWriter L33–33
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L34–34
SFRAME_END import import SFRAME_END L34–34
SFRAME_ERROR import import SFRAME_ERROR L34–34
SFRAME_HEADER import import SFRAME_HEADER L34–34
SFRAME_OBJECT import import SFRAME_OBJECT L34–34
SFRAME_PROGRESS import import SFRAME_PROGRESS L34–34
SFRAME_RESULT import import SFRAME_RESULT L34–34
StrDict import import StrDict L43–43
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L33–33
annotations import import annotations L22–22
blob_id import import blob_id L32–32
create_repo import import create_repo L44–44
inspect import import inspect L24–24
msgpack import import msgpack L27–27
pytest import import pytest L28–28
textwrap import import textwrap L25–25
test_t1_wire_response_sends_headers_before_consuming_full_stream function function test_t1_wire_response_sends_headers_before_consuming_full_stream L136–173
test_t2_push_response_is_frame_stream function async_function test_t2_push_response_is_frame_stream L181–231
test_t3_wire_push_stream_emits_progress_during_commit_loop function function test_t3_wire_push_stream_emits_progress_during_commit_loop L238–275
~ tests/test_quota_via_refs.py .py 19 symbols removed
_mp function function _mp L28–29
_oid function function _oid L24–25
AsyncSession import import AsyncSession L16–16
JSONValue import import JSONValue L20–20
MusehubObject import import MusehubObject L19–19
MusehubObjectRef import import MusehubObjectRef L19–19
StrDict import import StrDict L20–20
annotations import import annotations L8–8
blob_id import import blob_id L18–18
create_repo import import create_repo L21–21
fake_id import import fake_id L18–18
msgpack import import msgpack L13–13
patch import import patch L11–11
pytest import import pytest L14–14
sa import import sa L15–15
secrets import import secrets L10–10
test_push_rejected_when_quota_exceeded function async_function test_push_rejected_when_quota_exceeded L37–79
test_repo_stats_shared_object_per_repo function async_function test_repo_stats_shared_object_per_repo L117–143
test_repo_stats_uses_refs_join function async_function test_repo_stats_uses_refs_join L87–109
~ tests/test_security_hardening.py .py 132 symbols removed
TestAgentImpersonation class class TestAgentImpersonation L770–820
test_trusted_agent_ids_setting_exists method method test_trusted_agent_ids_setting_exists L771–775
test_unknown_agent_flagged_in_metadata method method test_unknown_agent_flagged_in_metadata L796–801
test_wire_push_checks_agent_ids method method test_wire_push_checks_agent_ids L777–781
test_wire_push_flags_not_rejects method method test_wire_push_flags_not_rejects L783–794
test_wire_push_stream_checks_trusted_prefix method method test_wire_push_stream_checks_trusted_prefix L814–820
test_wire_push_stream_flags_unknown_agents method method test_wire_push_stream_flags_unknown_agents L803–812
TestClickjacking class class TestClickjacking L631–656
test_csp_frame_ancestors_none method async_method test_csp_frame_ancestors_none L638–643
test_security_headers_middleware_sets_frame_ancestors method method test_security_headers_middleware_sets_frame_ancestors L652–656
test_security_headers_middleware_sets_x_frame_options method method test_security_headers_middleware_sets_x_frame_options L645–650
test_x_frame_options_deny method async_method test_x_frame_options_deny L632–636
TestCommitIdForgery class class TestCommitIdForgery L376–421
test_require_signed_commits_setting_exists method method test_require_signed_commits_setting_exists L377–381
test_wire_push_enforces_when_setting_true method method test_wire_push_enforces_when_setting_true L383–391
test_wire_push_source_has_unsigned_warning_not_rejection method method test_wire_push_source_has_unsigned_warning_not_rejection L404–421
test_wire_push_stream_enforces_signed_commits method method test_wire_push_stream_enforces_signed_commits L393–402
TestHandleSquatting class class TestHandleSquatting L663–697
test_auth_service_normalizes_handle_to_lowercase method method test_auth_service_normalizes_handle_to_lowercase L664–670
test_gabriel_and_gabriel_uppercase_normalize_to_same method method test_gabriel_and_gabriel_uppercase_normalize_to_same L687–692
test_handle_strip_applied method method test_handle_strip_applied L680–685
test_handle_with_spaces_stripped method method test_handle_with_spaces_stripped L694–697
test_lowercase_normalization_precedes_identity_creation method method test_lowercase_normalization_precedes_identity_creation L672–678
TestMagicBytes class class TestMagicBytes L525–624
_check method method _check L526–528
_expect_error method method _expect_error L530–533
test_empty_content_returns_empty method method test_empty_content_returns_empty L581–582
test_html_extension_allows_html_content method method test_html_extension_allows_html_content L607–610
test_jpeg_extension_but_zip_content_blocked method method test_jpeg_extension_but_zip_content_blocked L601–602
test_jpg_extension_but_html_content_blocked method method test_jpg_extension_but_html_content_blocked L592–593
test_midi_extension_but_html_content_blocked method method test_midi_extension_but_html_content_blocked L586–587
test_midi_extension_but_php_shebang_blocked method method test_midi_extension_but_php_shebang_blocked L589–590
test_mp3_extension_but_html_shebang_blocked method method test_mp3_extension_but_html_shebang_blocked L604–605
test_png_extension_but_wrong_magic_blocked method method test_png_extension_but_wrong_magic_blocked L598–599
test_script_shebang_in_py_file_allowed method method test_script_shebang_in_py_file_allowed L565–568
test_script_shebang_in_sh_file_allowed method method test_script_shebang_in_sh_file_allowed L570–572
test_shebang_still_blocked_in_binary_extensions method method test_shebang_still_blocked_in_binary_extensions L574–576
test_shebang_still_blocked_in_midi_extension method method test_shebang_still_blocked_in_midi_extension L578–579
test_unknown_extension_passes_through method method test_unknown_extension_passes_through L561–563
test_valid_jpeg method method test_valid_jpeg L557–559
test_valid_midi method method test_valid_midi L537–539
test_valid_mp3_id3 method method test_valid_mp3_id3 L541–543
test_valid_mp3_sync method method test_valid_mp3_sync L545–547
test_valid_png method method test_valid_png L553–555
test_valid_webp method method test_valid_webp L549–551
test_webp_extension_but_wrong_magic_blocked method method test_webp_extension_but_wrong_magic_blocked L595–596
test_wire_push_imports_magic_bytes method method test_wire_push_imports_magic_bytes L614–618
test_wire_push_rejects_polyglot_path method method test_wire_push_rejects_polyglot_path L620–624
TestMassAssignment class class TestMassAssignment L218–255
_route_files method method _route_files L219–220
test_no_kwargs_splat_from_request_body method method test_no_kwargs_splat_from_request_body L222–235
test_route_handler_body_params_are_pydantic_or_primitive method method test_route_handler_body_params_are_pydantic_or_primitive L237–249
test_webhook_create_uses_pydantic_not_raw_dict method method test_webhook_create_uses_pydantic_not_raw_dict L251–255
TestMcpPromptInjection class class TestMcpPromptInjection L704–763
test_delimiter_appears_in_success_path_not_error method method test_delimiter_appears_in_success_path_not_error L712–722
test_dispatcher_wraps_result_in_delimiter_tags method method test_dispatcher_wraps_result_in_delimiter_tags L705–710
test_healthz_tool_result_not_wrapped method async_method test_healthz_tool_result_not_wrapped L757–763
test_prompts_instructs_model_to_treat_tool_results_as_data method method test_prompts_instructs_model_to_treat_tool_results_as_data L724–729
test_prompts_instructs_treat_as_data_not_instructions method method test_prompts_instructs_treat_as_data_not_instructions L737–745
test_prompts_mentions_prompt_injection_risk method method test_prompts_mentions_prompt_injection_risk L731–735
test_prompts_names_user_controlled_fields method method test_prompts_names_user_controlled_fields L747–755
TestObjectEnumeration class class TestObjectEnumeration L308–369
_db_models_src method method _db_models_src L309–315
test_issue_number_is_per_repo_not_global method method test_issue_number_is_per_repo_not_global L340–348
test_issue_primary_key_is_string method method test_issue_primary_key_is_string L332–338
test_no_autoincrement_primary_keys_on_main_entities method method test_no_autoincrement_primary_keys_on_main_entities L350–369
test_repo_primary_key_is_string method method test_repo_primary_key_is_string L317–330
TestRegexDos class class TestRegexDos L428–482
_search_service_src method method _search_service_src L429–430
test_global_search_uses_sql_or_python_in method method test_global_search_uses_sql_or_python_in L473–482
test_no_user_supplied_regex_in_search_routes method method test_no_user_supplied_regex_in_search_routes L465–471
test_search_by_ask_uses_fixed_tokenizer_not_user_regex method method test_search_by_ask_uses_fixed_tokenizer_not_user_regex L450–463
test_search_by_pattern_uses_python_in_not_regex method method test_search_by_pattern_uses_python_in_not_regex L432–448
TestSsrfCheckUrlSafe class class TestSsrfCheckUrlSafe L37–93
_check method method _check L38–40
test_empty_string_blocked method method test_empty_string_blocked L91–93
test_file_scheme_blocked method method test_file_scheme_blocked L54–56
test_ftp_scheme_blocked method method test_ftp_scheme_blocked L50–52
test_hostname_with_path_allowed method method test_hostname_with_path_allowed L83–85
test_http_scheme_blocked method method test_http_scheme_blocked L46–48
test_https_public_url_allowed method method test_https_public_url_allowed L42–44
test_link_local_169_254_blocked method method test_link_local_169_254_blocked L78–81
test_loopback_127_blocked method method test_loopback_127_blocked L58–60
test_loopback_127_other_blocked method method test_loopback_127_other_blocked L62–64
test_no_hostname_blocked method method test_no_hostname_blocked L87–89
test_rfc1918_10_blocked method method test_rfc1918_10_blocked L66–68
test_rfc1918_172_16_blocked method method test_rfc1918_172_16_blocked L70–72
test_rfc1918_192_168_blocked method method test_rfc1918_192_168_blocked L74–76
TestSsrfValidateOutboundUrl class class TestSsrfValidateOutboundUrl L100–142
test_bare_ip_does_not_do_dns method async_method test_bare_ip_does_not_do_dns L135–142
test_dns_resolves_to_loopback_blocked method async_method test_dns_resolves_to_loopback_blocked L119–125
test_dns_resolves_to_private_blocked method async_method test_dns_resolves_to_private_blocked L110–117
test_public_hostname_allowed method async_method test_public_hostname_allowed L101–108
test_unresolvable_hostname_blocked method async_method test_unresolvable_hostname_blocked L127–133
TestTarBomb class class TestTarBomb L489–503
test_no_archive_extraction_in_codebase method method test_no_archive_extraction_in_codebase L490–503
TestTimingAttacks class class TestTimingAttacks L262–301
test_compare_digest_used_not_equal_for_secrets method method test_compare_digest_used_not_equal_for_secrets L280–301
test_crypto_keys_uses_compare_digest method method test_crypto_keys_uses_compare_digest L274–278
test_request_signing_uses_cryptographic_verify method method test_request_signing_uses_cryptographic_verify L263–272
TestWebhookCreateSsrf class class TestWebhookCreateSsrf L149–176
_create method method _create L150–152
test_aws_metadata_endpoint_rejected method method test_aws_metadata_endpoint_rejected L173–176
test_http_rejected_at_model_parse method method test_http_rejected_at_model_parse L158–161
test_https_public_accepted method method test_https_public_accepted L154–156
test_loopback_rejected_at_model_parse method method test_loopback_rejected_at_model_parse L168–171
test_rfc1918_rejected_at_model_parse method method test_rfc1918_rejected_at_model_parse L163–166
TestWebhookDeliveryDefenseInDepth class class TestWebhookDeliveryDefenseInDepth L183–211
test_delivery_blocked_when_ssrf_check_fails method async_method test_delivery_blocked_when_ssrf_check_fails L184–205
test_dispatcher_imports_ssrf_module method method test_dispatcher_imports_ssrf_module L207–211
_AUTH_SVC variable variable _AUTH_SVC L513–513
_CONFIG variable variable _CONFIG L517–517
_DISPATCHER variable variable _DISPATCHER L28–28
_MAGIC_BYTES variable variable _MAGIC_BYTES L518–518
_MAIN_PY variable variable _MAIN_PY L512–512
_MCP_DISPATCHER variable variable _MCP_DISPATCHER L514–514
_MUSEHUB_PKG variable variable _MUSEHUB_PKG L511–511
_PROMPTS variable variable _PROMPTS L515–515
_ROOT variable variable _ROOT L510–510
_SSRF_MODULE variable variable _SSRF_MODULE L26–26
_WEBHOOK_MODEL variable variable _WEBHOOK_MODEL L27–27
_WIRE_SVC variable variable _WIRE_SVC L516–516
AsyncClient import import AsyncClient L508–508
AsyncMock import import AsyncMock L20–20
MagicMock import import MagicMock L20–20
Path import import Path L19–19
annotations import import annotations L14–14
ast import import ast L16–16
hashlib import import hashlib L17–17
patch import import patch L20–20
pytest import import pytest L22–22
re import import re L18–18
~ tests/test_snapshot_entries.py .py 59 symbols removed
MANIFEST_A variable variable MANIFEST_A L46–50
MANIFEST_B variable variable MANIFEST_B L52–57
MANIFEST_WIRE variable variable MANIFEST_WIRE L60–64
_FIXED_TS variable variable _FIXED_TS L72–72
_OWNER_ID variable variable _OWNER_ID L71–71
_commit_input function function _commit_input L93–106
_count_entries function async_function _count_entries L145–153
_make_repo_id function function _make_repo_id L75–76
_repo function function _repo L79–90
_run_wire_push_stream function async_function _run_wire_push_stream L342–430
_snap_input function function _snap_input L109–113
_uid function function _uid L67–68
_wire_bundle function function _wire_bundle L116–142
AsyncSession import import AsyncSession L26–26
CommitInput import import CommitInput L30–30
JSONObject import import JSONObject L39–39
JSONValue import import JSONValue L39–39
MuseWireFrameWriter import import MuseWireFrameWriter L32–32
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L33–33
SFRAME_END import import SFRAME_END L33–33
SFRAME_HEADER import import SFRAME_HEADER L33–33
SFRAME_OBJECT import import SFRAME_OBJECT L33–33
SnapshotInput import import SnapshotInput L30–30
StrDict import import StrDict L39–39
WireCommit import import WireCommit L33–33
WireMPack import import WireMPack L33–33
WireSnapshot import import WireSnapshot L33–33
annotations import import annotations L17–17
blob_id import import blob_id L21–21
compute_branch_id import import compute_branch_id L28–28
compute_identity_id import import compute_identity_id L28–28
compute_repo_id import import compute_repo_id L28–28
datetime import import datetime L22–22
db import import db L29–29
func function import func L25–25
ingest_push import import ingest_push L37–37
msgpack import import msgpack L31–31
pytest import import pytest L24–24
secrets import import secrets L19–19
select import import select L25–25
timezone import import timezone L22–22
wire_push_stream import import wire_push_stream L38–38
test_get_file_at_ref_resolves_via_entries function async_function test_get_file_at_ref_resolves_via_entries L513–544
test_get_file_last_commits_via_entries function async_function test_get_file_last_commits_via_entries L581–624
test_get_snapshot_diff_via_entries function async_function test_get_snapshot_diff_via_entries L548–577
test_get_snapshot_manifest_reconstructs_from_entries function async_function test_get_snapshot_manifest_reconstructs_from_entries L204–220
test_get_snapshot_manifest_returns_empty_for_unknown function async_function test_get_snapshot_manifest_returns_empty_for_unknown L193–200
test_ingest_push_entries_idempotent_on_repush function async_function test_ingest_push_entries_idempotent_on_repush L307–334
test_ingest_push_stores_snapshot_entries function async_function test_ingest_push_stores_snapshot_entries L277–303
test_list_tree_resolves_via_entries function async_function test_list_tree_resolves_via_entries L628–659
test_snapshot_entry_has_required_columns function function test_snapshot_entry_has_required_columns L168–175
test_snapshot_entry_model_exists function function test_snapshot_entry_model_exists L161–165
test_snapshot_manifest_column_removed function function test_snapshot_manifest_column_ L178–184
test_upsert_snapshot_entries_backfills_null_blob function async_function test_upsert_snapshot_entries_backfills_null_blob L247–268
test_upsert_snapshot_entries_is_idempotent function async_function test_upsert_snapshot_entries_is_idempotent L224–243
test_wire_fetch_includes_objects_from_entries function async_function test_wire_fetch_includes_objects_from_entries L668–692
test_wire_push_entries_idempotent_on_repush function async_function test_wire_push_entries_idempotent_on_repush L456–475
test_wire_push_repairs_stale_snapshot function async_function test_wire_push_repairs_stale_snapshot L479–504
test_wire_push_stores_snapshot_entries function async_function test_wire_push_stores_snapshot_entries L434–452
~ tests/test_ssl_bypass.py .py 28 symbols removed
BypassCFTransport class class BypassCFTransport L83–120
__init__ method method __init__ L100–106
aclose method async_method aclose L119–120
handle_async_request method async_method handle_async_request L108–117
EC2_IP variable variable EC2_IP L65–65
SIZE variable variable SIZE L78–78
STAGING_HOST variable variable STAGING_HOST L63–63
STAGING_URL variable variable STAGING_URL L64–64
_BYPASS_HOST variable variable _BYPASS_HOST L73–73
_BYPASS_PORT variable variable _BYPASS_PORT L72–72
_BYPASS_URL_PORT variable variable _BYPASS_URL_PORT L74–74
_make_m_payload function function _make_m_payload L125–137
AsyncIterator import import AsyncIterator L45–45
Path import import Path L44–44
SIZE_MATRIX import import SIZE_MATRIX L52–52
_create_repo import import _create_repo L52–52
_delete_repo import import _delete_repo L52–52
_make_commits_chain import import _make_commits_chain L52–52
_make_objects import import _make_objects L52–52
_push_stream import import _push_stream L52–52
annotations import import annotations L38–38
asyncio import import asyncio L40–40
httpx import import httpx L47–47
os import import os L41–41
pytest import import pytest L48–48
ssl import import ssl L42–42
sys import import sys L43–43
test_two_consecutive_m_pushes_bypass_cf function async_function test_two_consecutive_m_pushes_bypass_cf L144–241
~ tests/test_ssl_h2.py .py 20 symbols removed
STAGING_URL variable variable STAGING_URL L49–49
Path import import Path L28–28
SIZE_MATRIX import import SIZE_MATRIX L40–40
_create_repo import import _create_repo L40–40
_delete_repo import import _delete_repo L40–40
_make_commits_chain import import _make_commits_chain L40–40
_make_objects import import _make_objects L40–40
_push_stream import import _push_stream L40–40
annotations import import annotations L22–22
bench_wire_remote import import bench_wire_remote L39–39
httpx import import httpx L30–30
logging import import logging L24–24
os import import os L25–25
pytest import import pytest L31–31
ssl import import ssl L26–26
sys import import sys L27–27
test_bench_client_http2_enabled function function test_bench_client_http2_enabled L61–68
test_bench_client_keepalive_configured function function test_bench_client_keepalive_configured L71–74
test_make_bench_client_exists function function test_make_bench_client_exists L54–58
test_two_consecutive_m_pushes_via_cf_no_ssl_error function async_function test_two_consecutive_m_pushes_via_cf_no_ssl_error L81–116
~ tests/test_stream_security_phase1.py .py 39 symbols removed
ObjectStore variable variable ObjectStore L42–42
_collect function async_function _collect L92–96
_commit_pack function function _commit_pack L70–73
_end function function _end L76–77
_fw variable variable _fw L40–40
_header function function _header L55–60
_make_commit function function _make_commit L80–89
_make_repo function async_function _make_repo L101–124
_obj function function _obj L63–67
_pack function function _pack L47–48
_stub_backend function function _stub_backend L127–146
_wrap function function _wrap L51–52
AsyncMock import import AsyncMock L24–24
AsyncSession import import AsyncSession L23–23
JSONObject import import JSONObject L38–38
JSONValue import import JSONValue L38–38
MuseWireFrameWriter import import MuseWireFrameWriter L37–37
MusehubBlockedHash import import MusehubBlockedHash L27–27
MusehubBranch import import MusehubBranch L28–28
MusehubObject import import MusehubObject L28–28
MusehubRepo import import MusehubRepo L28–28
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L29–29
SFRAME_END import import SFRAME_END L29–29
SFRAME_ERROR import import SFRAME_ERROR L29–29
SFRAME_HEADER import import SFRAME_HEADER L29–29
SFRAME_OBJECT import import SFRAME_OBJECT L29–29
SFRAME_RESULT import import SFRAME_RESULT L29–29
annotations import import annotations L16–16
blob_id import import blob_id L26–26
hashlib import import hashlib L18–18
msgpack import import msgpack L20–20
now_utc_iso import import now_utc_iso L26–26
pytest import import pytest L21–21
select import import select L22–22
test_blocked_object_in_second_batch_yields_error function async_function test_blocked_object_in_second_batch_yields_error L227–277
test_blocked_object_nothing_written_to_db function async_function test_blocked_object_nothing_written_to_db L189–223
test_blocked_object_single_batch_yields_error function async_function test_blocked_object_single_batch_yields_error L154–185
test_blocked_push_is_idempotent function async_function test_blocked_push_is_idempotent L310–334
test_clean_stream_bypasses_blocklist_check function async_function test_clean_stream_bypasses_blocklist_check L281–306
~ tests/test_stream_security_phase2.py .py 39 symbols removed
ObjectStore variable variable ObjectStore L43–43
_IDENTITY_A variable variable _IDENTITY_A L45–45
_IDENTITY_B variable variable _IDENTITY_B L46–46
_collect function async_function _collect L96–100
_commit_pack function function _commit_pack L74–77
_end function function _end L80–81
_fw variable variable _fw L41–41
_header function function _header L59–64
_make_commit function function _make_commit L84–93
_make_repo function async_function _make_repo L105–127
_obj function function _obj L67–71
_pack function function _pack L51–52
_stub_backend function function _stub_backend L130–148
_wrap function function _wrap L55–56
AsyncMock import import AsyncMock L25–25
AsyncSession import import AsyncSession L24–24
JSONObject import import JSONObject L39–39
JSONValue import import JSONValue L39–39
MuseWireFrameWriter import import MuseWireFrameWriter L38–38
MusehubBranch import import MusehubBranch L29–29
MusehubDailyPushBytes import import MusehubDailyPushBytes L28–28
MusehubRepo import import MusehubRepo L29–29
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L30–30
SFRAME_END import import SFRAME_END L30–30
SFRAME_ERROR import import SFRAME_ERROR L30–30
SFRAME_HEADER import import SFRAME_HEADER L30–30
SFRAME_OBJECT import import SFRAME_OBJECT L30–30
SFRAME_RESULT import import SFRAME_RESULT L30–30
annotations import import annotations L17–17
blob_id import import blob_id L27–27
datetime import import datetime L19–19
msgpack import import msgpack L21–21
now_utc_iso import import now_utc_iso L27–27
pytest import import pytest L22–22
select import import select L23–23
test_daily_limit_is_per_user_stream function async_function test_daily_limit_is_per_user_stream L287–327
test_stream_push_increments_daily_bytes function async_function test_stream_push_increments_daily_bytes L156–207
test_stream_push_over_daily_limit_yields_error function async_function test_stream_push_over_daily_limit_yields_error L211–247
test_stream_push_under_daily_limit_completes function async_function test_stream_push_under_daily_limit_completes L251–283
~ tests/test_stream_security_phase3.py .py 35 symbols removed
ObjectStore variable variable ObjectStore L39–39
_collect function async_function _collect L89–93
_commit_pack function function _commit_pack L67–70
_end function function _end L73–74
_fw variable variable _fw L37–37
_header function function _header L52–57
_make_commit function function _make_commit L77–86
_make_repo function async_function _make_repo L98–120
_obj function function _obj L60–64
_pack function function _pack L44–45
_set_decompressed_cap function function _set_decompressed_cap L144–147
_stub_backend function function _stub_backend L123–141
_wrap function function _wrap L48–49
AsyncMock import import AsyncMock L22–22
AsyncSession import import AsyncSession L21–21
JSONObject import import JSONObject L35–35
JSONValue import import JSONValue L35–35
MuseWireFrameWriter import import MuseWireFrameWriter L34–34
MusehubBranch import import MusehubBranch L25–25
MusehubRepo import import MusehubRepo L25–25
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L26–26
SFRAME_END import import SFRAME_END L26–26
SFRAME_ERROR import import SFRAME_ERROR L26–26
SFRAME_HEADER import import SFRAME_HEADER L26–26
SFRAME_OBJECT import import SFRAME_OBJECT L26–26
SFRAME_RESULT import import SFRAME_RESULT L26–26
annotations import import annotations L17–17
blob_id import import blob_id L24–24
msgpack import import msgpack L19–19
now_utc_iso import import now_utc_iso L24–24
pytest import import pytest L20–20
test_cap_is_read_from_settings function async_function test_cap_is_read_from_settings L266–317
test_cumulative_total_exceeds_cap_yields_error function async_function test_cumulative_total_exceeds_cap_yields_error L191–225
test_single_object_exceeds_cumulative_cap_yields_error function async_function test_single_object_exceeds_cumulative_cap_yields_error L155–187
test_stream_under_cap_completes_successfully function async_function test_stream_under_cap_completes_successfully L229–262
~ tests/test_stream_security_phase4.py .py 38 symbols removed
ObjectStore variable variable ObjectStore L38–38
_collect function async_function _collect L88–92
_commit_pack function function _commit_pack L66–69
_end function function _end L72–73
_fw variable variable _fw L36–36
_header function function _header L51–56
_make_commit function function _make_commit L76–85
_make_repo function async_function _make_repo L108–130
_obj function function _obj L59–63
_pack function function _pack L43–44
_scan_jobs function async_function _scan_jobs L95–103
_stub_backend function function _stub_backend L133–151
_wrap function function _wrap L47–48
AsyncMock import import AsyncMock L20–20
AsyncSession import import AsyncSession L19–19
JSONObject import import JSONObject L34–34
JSONValue import import JSONValue L34–34
MuseWireFrameWriter import import MuseWireFrameWriter L33–33
MusehubBackgroundJob import import MusehubBackgroundJob L23–23
MusehubBranch import import MusehubBranch L24–24
MusehubObject import import MusehubObject L24–24
MusehubRepo import import MusehubRepo L24–24
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L25–25
SFRAME_END import import SFRAME_END L25–25
SFRAME_ERROR import import SFRAME_ERROR L25–25
SFRAME_HEADER import import SFRAME_HEADER L25–25
SFRAME_OBJECT import import SFRAME_OBJECT L25–25
SFRAME_RESULT import import SFRAME_RESULT L25–25
annotations import import annotations L14–14
blob_id import import blob_id L22–22
msgpack import import msgpack L16–16
now_utc_iso import import now_utc_iso L22–22
pytest import import pytest L17–17
select import import select L18–18
test_all_skipped_yields_zero_scan_jobs function async_function test_all_skipped_yields_zero_scan_jobs L298–339
test_mixed_new_and_skipped_only_new_get_scan_jobs function async_function test_mixed_new_and_skipped_only_new_get_scan_jobs L245–294
test_new_objects_get_scan_jobs function async_function test_new_objects_get_scan_jobs L159–200
test_skipped_objects_get_no_scan_jobs function async_function test_skipped_objects_get_no_scan_jobs L204–241
~ tests/test_stream_security_phase5.py .py 39 symbols removed
ObjectStore variable variable ObjectStore L47–47
_IDENTITY variable variable _IDENTITY L49–49
_collect function async_function _collect L99–103
_commit_pack function function _commit_pack L77–80
_end function function _end L83–84
_fw variable variable _fw L45–45
_header function function _header L62–67
_make_commit function function _make_commit L87–96
_make_repo function async_function _make_repo L117–139
_obj function function _obj L70–74
_pack function function _pack L54–55
_rejections function async_function _rejections L106–112
_stub_backend function function _stub_backend L142–160
_wrap function function _wrap L58–59
AsyncMock import import AsyncMock L29–29
AsyncSession import import AsyncSession L28–28
JSONObject import import JSONObject L43–43
JSONValue import import JSONValue L43–43
MuseWireFrameWriter import import MuseWireFrameWriter L42–42
MusehubBlockedHash import import MusehubBlockedHash L32–32
MusehubBranch import import MusehubBranch L33–33
MusehubRepo import import MusehubRepo L33–33 → moved to tests/test_push_ff_check.py
MusehubStreamRejection import import MusehubStreamRejection L32–32
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L34–34
SFRAME_END import import SFRAME_END L34–34
SFRAME_ERROR import import SFRAME_ERROR L34–34
SFRAME_HEADER import import SFRAME_HEADER L34–34
SFRAME_OBJECT import import SFRAME_OBJECT L34–34
SFRAME_RESULT import import SFRAME_RESULT L34–34
annotations import import annotations L23–23
blob_id import import blob_id L31–31
msgpack import import msgpack L25–25
now_utc_iso import import now_utc_iso L31–31
pytest import import pytest L26–26
select import import select L27–27
test_blocked_hash_writes_rejection_row function async_function test_blocked_hash_writes_rejection_row L168–206
test_daily_limit_writes_rejection_row function async_function test_daily_limit_writes_rejection_row L210–248
test_rejection_row_written_after_partial_commit function async_function test_rejection_row_written_after_partial_commit L292–340
test_zip_bomb_writes_rejection_row function async_function test_zip_bomb_writes_rejection_row L252–288
~ tests/test_wire_batch_stream.py .py 45 symbols removed
TestAllObjectsPresent class class TestAllObjectsPresent L307–351
test_all_unique_objects_sent_exactly_once method async_method test_all_unique_objects_sent_exactly_once L309–351
TestEmptyFetch class class TestEmptyFetch L398–414
test_empty_want_produces_header_and_end method async_method test_empty_want_produces_header_and_end L400–414
TestLargeSingleCommit class class TestLargeSingleCommit L421–443
test_single_commit_many_objects method async_method test_single_commit_many_objects L423–443
TestMultiBatchCompletion class class TestMultiBatchCompletion L260–300
test_all_commits_delivered_across_batches method async_method test_all_commits_delivered_across_batches L262–300
TestNoDuplicateObjects class class TestNoDuplicateObjects L230–253
test_no_object_sent_twice method async_method test_no_object_sent_twice L232–253
TestObjectsPrecedeCommits class class TestObjectsPrecedeCommits L192–223
test_objects_arrive_before_their_commit method async_method test_objects_arrive_before_their_commit L194–223
TestSharedObjectsSentOnce class class TestSharedObjectsSentOnce L358–391
test_shared_snapshot_objects_not_duplicated method async_method test_shared_snapshot_objects_not_duplicated L360–391
_OidsBySnapshot variable variable _OidsBySnapshot L53–53
_c_frame_commits function function _c_frame_commits L166–173
_collect_frames function async_function _collect_frames L154–158
_make_commit function async_function _make_commit L123–144
_make_objects function async_function _make_objects L68–101
_make_snapshot function async_function _make_snapshot L104–120
_now function function _now L64–65
_o_frame_oids function function _o_frame_oids L161–163
_snapshot_oids function function _snapshot_oids L176–185
_uid function function _uid L60–61
_unpack_stream function function _unpack_stream L147–151
Any import import Any L35–35
AsyncSession import import AsyncSession L39–39
JSONObject import import JSONObject L50–50
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L43–43
SFRAME_END import import SFRAME_END L43–43
SFRAME_HEADER import import SFRAME_HEADER L43–43
SFRAME_OBJECT import import SFRAME_OBJECT L43–43
StrDict import import StrDict L50–50
WireFetchRequest import import WireFetchRequest L43–43
annotations import import annotations L30–30
asyncio import import asyncio L32–32
blob_id import import blob_id L41–41
create_repo import import create_repo L51–51
datetime import import datetime L34–34
db import import db L42–42
fake_id import import fake_id L41–41
msgpack import import msgpack L37–37
pytest import import pytest L38–38
timezone import import timezone L34–34
zlib import import zlib L33–33
~ tests/test_wire_compression.py .py 38 symbols removed
_collect_frames function async_function _collect_frames L130–134
_make_commit function async_function _make_commit L108–127
_make_object function async_function _make_object L59–87
_make_snapshot function async_function _make_snapshot L90–105
_now function function _now L55–56
_o_frames function function _o_frames L137–138
_realistic_source function function _realistic_source L141–166
_uid function function _uid L51–52
AsyncSession import import AsyncSession L32–32
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L37–37
SFRAME_END import import SFRAME_END L37–37
SFRAME_HEADER import import SFRAME_HEADER L37–37
SFRAME_OBJECT import import SFRAME_OBJECT L37–37
WireFetchRequest import import WireFetchRequest L37–37
ZSTD_AVAILABLE import import ZSTD_AVAILABLE L34–34
annotations import import annotations L25–25
apply_delta import import apply_delta L34–34
blob_id import import blob_id L35–35
compute_delta import import compute_delta L34–34
create_repo import import create_repo L44–44
datetime import import datetime L28–28
db import import db L36–36
fake_id import import fake_id L35–35
msgpack import import msgpack L30–30
pytest import import pytest L31–31
timezone import import timezone L28–28
zlib import import zlib L27–27
test_c1_server_uses_zstd_encoding function async_function test_c1_server_uses_zstd_encoding L175–192
test_c2_zstd_frame_decompresses_correctly function async_function test_c2_zstd_frame_decompresses_correctly L201–221
test_c3_o_frames_sorted_by_path function async_function test_c3_o_frames_sorted_by_path L229–250
test_c4_successive_versions_use_delta_frame function async_function test_c4_successive_versions_use_delta_frame L258–295
test_c5_delta_frame_reconstructs_correctly function async_function test_c5_delta_frame_reconstructs_correctly L303–346
test_c6_unprofitable_delta_uses_full_frame function async_function test_c6_unprofitable_delta_uses_full_frame L354–386
test_c7_full_clone_correct_object_ids function async_function test_c7_full_clone_correct_object_ids L394–424
test_c8_cross_batch_delta function async_function test_c8_cross_batch_delta L432–478
test_c9_compute_delta_output_is_always_zlib function function test_c9_compute_delta_output_is_always_zlib L489–502
test_c9_fetch_path_never_sends_delta_zstd function function test_c9_fetch_path_never_sends_delta_zstd L505–519
test_c9_push_handler_handles_delta_zlib function function test_c9_push_handler_handles_delta_zlib L522–529
TestDeltaFrameIntegrity class class TestDeltaFrameIntegrity L222–291
test_fi2_delta_frame_sha256_matches_object_id method async_method test_fi2_delta_frame_sha256_matches_object_id L224–291
TestFullFrameIntegrity class class TestFullFrameIntegrity L154–190
test_fi1_full_frame_sha256_matches_object_id method async_method test_fi1_full_frame_sha256_matches_object_id L156–190
_client_decode function function _client_decode L63–93
_collect_frames function async_function _collect_frames L53–60
_make_commit_with_manifest function async_function _make_commit_with_manifest L122–149
_now function function _now L49–50
_realistic_source function function _realistic_source L195–219
_store_object function async_function _store_object L96–119
Any import import Any L29–29
AsyncSession import import AsyncSession L34–34
MusehubCommit import import MusehubCommit L37–37
MusehubObject import import MusehubObject L37–37
MusehubObjectRef import import MusehubObjectRef L37–37
MusehubSnapshot import import MusehubSnapshot L37–37
SFRAME_OBJECT import import SFRAME_OBJECT L43–43
WireFetchRequest import import WireFetchRequest L43–43
annotations import import annotations L24–24
blob_id import import blob_id L36–36
create_repo import import create_repo L44–44
datetime import import datetime L28–28
fake_id import import fake_id L36–36
hashlib import import hashlib L26–26
msgpack import import msgpack L31–31
pg_insert import import pg_insert L33–33
pytest import import pytest L32–32
timezone import import timezone L28–28
zlib import import zlib L27–27
~ tests/test_wire_multibatch_push.py .py 42 symbols removed
_collect_frames function async_function _collect_frames L116–120
_commit_pack_frame function function _commit_pack_frame L100–105
_end_frame function function _end_frame L108–113
_fw variable variable _fw L63–63
_header_frame function function _header_frame L78–87
_make_commit function function _make_commit L123–139
_make_objects function function _make_objects L197–202
_make_repo function async_function _make_repo L150–172
_make_snapshot function function _make_snapshot L142–147
_object_frame function function _object_frame L90–97
_pack function function _pack L70–71
_push_batch function async_function _push_batch L205–229
_stub_r2 function function _stub_r2 L175–194
_wrap function function _wrap L74–75
AsyncMock import import AsyncMock L46–46
AsyncSession import import AsyncSession L51–51
JSONObject import import JSONObject L45–45
JSONValue import import JSONValue L45–45
Mapping import import Mapping L42–42
MuseWireFrameWriter import import MuseWireFrameWriter L53–53
MusehubRepo import import MusehubRepo L44–44
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L54–54
SFRAME_END import import SFRAME_END L54–54
SFRAME_ERROR import import SFRAME_ERROR L54–54
SFRAME_HEADER import import SFRAME_HEADER L54–54
SFRAME_OBJECT import import SFRAME_OBJECT L54–54
SFRAME_RESULT import import SFRAME_RESULT L54–54
annotations import import annotations L38–38
blob_id import import blob_id L43–43
datetime import import datetime L40–40
msgpack import import msgpack L48–48
now_utc_iso import import now_utc_iso L43–43
patch import import patch L46–46
pytest import import pytest L49–49
select import import select L50–50 → moved to tests/test_push_ff_check.py
timezone import import timezone L40–40
test_mb1_nonfinal_batch_objects_land_in_db function async_function test_mb1_nonfinal_batch_objects_land_in_db L237–270
test_mb2_final_batch_succeeds_with_objects_from_earlier_batches function async_function test_mb2_final_batch_succeeds_with_objects_from_earlier_batches L278–318
test_mb3_final_batch_fails_when_objects_never_sent function async_function test_mb3_final_batch_fails_when_objects_never_sent L326–355
test_mb5_rolled_back_earlier_batch_causes_final_failure function async_function test_mb5_rolled_back_earlier_batch_causes_final_failure L363–406
test_mb6_have_excluded_objects_absent_from_db_rejects_push function async_function test_mb6_have_excluded_objects_absent_from_db_rejects_push L414–461
test_mb7_push_have_anchor_branch_first_then_dev_succeeds function async_function test_mb7_push_have_anchor_branch_first_then_dev_succeeds L469–537
~ tests/test_wire_oc_server.py .py 42 symbols removed
TestP14B5OneChunkOC class class TestP14B5OneChunkOC L138–200
test_result_ok_after_single_oc method async_method test_result_ok_after_single_oc L181–200
test_single_oc_chunk_stored_correctly method async_method test_single_oc_chunk_stored_correctly L140–158
test_single_oc_no_error_frame method async_method test_single_oc_no_error_frame L161–178
TestP14B6ThreeChunkOC class class TestP14B6ThreeChunkOC L207–273
_content_and_chunks method method _content_and_chunks L208–213
test_chunks_out_of_order_assembles_correctly method async_method test_chunks_out_of_order_assembles_correctly L255–273
test_three_chunks_no_error_frame method async_method test_three_chunks_no_error_frame L236–252
test_three_chunks_stored_correctly method async_method test_three_chunks_stored_correctly L216–233
TestP14B7PartialOCSequenceErrors class class TestP14B7PartialOCSequenceErrors L280–343
test_one_of_three_chunks_returns_error method async_method test_one_of_three_chunks_returns_error L282–300
test_partial_oc_object_not_stored method async_method test_partial_oc_object_not_stored L303–320
test_two_of_three_chunks_returns_error method async_method test_two_of_three_chunks_returns_error L323–343
_c_frame function function _c_frame L67–71
_collect_frames function async_function _collect_frames L78–84
_e_frame function function _e_frame L74–75
_fw variable variable _fw L34–34
_header_frame function function _header_frame L45–50
_oc_frame function function _oc_frame L53–64
_pack function function _pack L37–38
_wrap function function _wrap L41–42
AsyncIterator import import AsyncIterator L13–13
AsyncMock import import AsyncMock L15–15
AsyncSession import import AsyncSession L19–19
JSONObject import import JSONObject L22–22
JSONValue import import JSONValue L22–22
MagicMock import import MagicMock L15–15
MuseWireFrameWriter import import MuseWireFrameWriter L23–23
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L24–24
SFRAME_END import import SFRAME_END L24–24
SFRAME_ERROR import import SFRAME_ERROR L24–24
SFRAME_HEADER import import SFRAME_HEADER L24–24
SFRAME_OBJECT_CHUNK import import SFRAME_OBJECT_CHUNK L24–24
SFRAME_RESULT import import SFRAME_RESULT L24–24
annotations import import annotations L12–12
blob_id import import blob_id L21–21
fake_id import import fake_id L21–21
msgpack import import msgpack L17–17
pytest import import pytest L18–18
stored_objects function function stored_objects L92–93
stub_backend function function stub_backend L97–106
stub_session function function stub_session L110–131
~ tests/test_wire_presign_push.py .py 46 symbols removed
_body_iter function async_function _body_iter L215–216
_collect_frames function async_function _collect_frames L205–212
_commit_pack_frame function function _commit_pack_frame L124–129
_end_frame function function _end_frame L116–121
_fw variable variable _fw L78–78
_header_frame function function _header_frame L101–113
_make_commit_and_snapshot function async_function _make_commit_and_snapshot L171–202
_now function function _now L85–86
_o_frame function function _o_frame L132–140
_pack function function _pack L93–94
_store_object function async_function _store_object L143–168
_uid function function _uid L89–90
_wrap function function _wrap L97–98
AsyncIterator import import AsyncIterator L54–54
AsyncMock import import AsyncMock L59–59
AsyncSession import import AsyncSession L64–64
JSONObject import import JSONObject L75–75
MagicMock import import MagicMock L59–59
MuseWireFrameWriter import import MuseWireFrameWriter L74–74
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L68–68
SFRAME_END import import SFRAME_END L68–68
SFRAME_HEADER import import SFRAME_HEADER L68–68
SFRAME_OBJECT import import SFRAME_OBJECT L68–68
annotations import import annotations L53–53
asyncio import import asyncio L56–56
blob_id import import blob_id L66–66
create_repo import import create_repo L76–76
datetime import import datetime L58–58
db import import db L67–67
fake_id import import fake_id L66–66
msgpack import import msgpack L61–61
patch import import patch L59–59
pg_insert import import pg_insert L63–63
pytest import import pytest L62–62
timezone import import timezone L58–58
zlib import import zlib L57–57
test_p10_confirm_is_idempotent function async_function test_p10_confirm_is_idempotent L600–623
test_p11_full_end_to_end_with_confirm function async_function test_p11_full_end_to_end_with_confirm L631–698
test_p1_already_stored_vs_missing function async_function test_p1_already_stored_vs_missing L224–262
test_p2_missing_gets_presigned_url function async_function test_p2_missing_gets_presigned_url L270–296
test_p3_empty_object_list function async_function test_p3_empty_object_list L304–313
test_p4_zero_o_frames_all_prestored_commit_finalises function async_function test_p4_zero_o_frames_all_prestored_commit_finalises L321–372
test_p5_zero_o_frames_missing_objects_yields_422 function async_function test_p5_zero_o_frames_missing_objects_yields_422 L380–423
test_p6_full_round_trip_presign_store_push function async_function test_p6_full_round_trip_presign_store_push L431–491
test_p7_blob_backend_presign_batch_url_format function async_function test_p7_blob_backend_presign_batch_url_format L499–526
test_p9_confirm_registers_objects_and_push_succeeds function async_function test_p9_confirm_registers_objects_and_push_succeeds L534–592
~ tests/test_wire_push_plain.py .py 36 symbols removed
_commit_pack_frame function function _commit_pack_frame L72–77
_end_frame function function _end_frame L80–81
_fw variable variable _fw L35–35
_header_frame function function _header_frame L60–69
_last_frame function function _last_frame L38–44
_make_commit function function _make_commit L84–99
_make_snapshot function function _make_snapshot L102–103
_pack function function _pack L51–52
_stub_r2_backend function function _stub_r2_backend L106–113
_wrap_raw function function _wrap_raw L55–57
AsyncClient import import AsyncClient L21–21
AsyncIterator import import AsyncIterator L15–15
AsyncMock import import AsyncMock L17–17
AsyncSession import import AsyncSession L22–22
JSONObject import import JSONObject L25–25
JSONValue import import JSONValue L25–25
MagicMock import import MagicMock L17–17
MuseWireFrameWriter import import MuseWireFrameWriter L32–32
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L26–26
SFRAME_END import import SFRAME_END L26–26
SFRAME_HEADER import import SFRAME_HEADER L26–26
SFRAME_RESULT import import SFRAME_RESULT L26–26
StrDict import import StrDict L25–25
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L32–32
annotations import import annotations L12–12
blob_id import import blob_id L24–24
create_repo import import create_repo L33–33
datetime import import datetime L16–16
inspect import import inspect L14–14
msgpack import import msgpack L19–19
now_utc_iso import import now_utc_iso L24–24
pytest import import pytest L20–20
timezone import import timezone L16–16
test_s7_push_route_response_content_type function function test_s7_push_route_response_content_type L120–132
test_s8_raw_mwp_push_succeeds function async_function test_s8_raw_mwp_push_succeeds L140–179
test_s9_auth_still_checked_before_stream function async_function test_s9_auth_still_checked_before_stream L187–213
~ tests/test_wire_push_stream.py .py 127 symbols removed
TestT1FrameCodec class class TestT1FrameCodec L211–274
test_client_server_frame_tags_are_disjoint method method test_client_server_frame_tags_are_disjoint L224–229
test_commit_pack_frame_round_trips method method test_commit_pack_frame_round_trips L250–256
test_end_frame_round_trips method method test_end_frame_round_trips L258–260
test_header_frame_round_trips method method test_header_frame_round_trips L231–239
test_multiple_frames_concatenated_parse_correctly method method test_multiple_frames_concatenated_parse_correctly L262–269
test_object_frame_round_trips method method test_object_frame_round_trips L241–248
test_sframe_constants_are_single_chars method method test_sframe_constants_are_single_chars L217–222
test_stream_limits_are_positive method method test_stream_limits_are_positive L271–274
test_stream_mime_type method method test_stream_mime_type L214–215
TestT2ServerHelpers class class TestT2ServerHelpers L281–317
_import_helpers method method _import_helpers L284–286
test_err_default_code_is_400 method method test_err_default_code_is_400 L301–304
test_err_encodes_error_frame_with_code method method test_err_encodes_error_frame_with_code L294–299
test_prog_encodes_progress_frame method method test_prog_encodes_progress_frame L288–292
test_result_failure_encodes_correctly method method test_result_failure_encodes_correctly L314–317
test_result_ok_encodes_correctly method method test_result_ok_encodes_correctly L306–312
TestT3ObjectValidation class class TestT3ObjectValidation L324–382
_oid_for method method _oid_for L327–328
test_delta_object_frame_carries_base_field method method test_delta_object_frame_carries_base_field L370–382
test_large_object_frame_exceeds_limit_is_detectable method method test_large_object_frame_exceeds_limit_is_detectable L357–362
test_object_frame_with_empty_content_is_encodable method method test_object_frame_with_empty_content_is_encodable L350–355
test_raw_encoding_preserves_exact_bytes method method test_raw_encoding_preserves_exact_bytes L364–368
test_sha256_oid_format method method test_sha256_oid_format L330–334
test_wire_size_limit_constant_is_reasonable method method test_wire_size_limit_constant_is_reasonable L346–348
test_zlib_object_frame_decompresses_correctly method method test_zlib_object_frame_decompresses_correctly L336–344
TestT4CommitPackValidation class class TestT4CommitPackValidation L399–470
test_commit_pack_frame_encodes_many_commits method method test_commit_pack_frame_encodes_many_commits L424–427
test_commit_pack_limit_constant method method test_commit_pack_limit_constant L421–422
test_commit_without_required_fields_raises method method test_commit_without_required_fields_raises L408–412
test_minimal_commit_passes_model_validate method method test_minimal_commit_passes_model_validate L402–406
test_signed_commit_has_signature_fields method method test_signed_commit_has_signature_fields L429–437
test_snapshot_passes_model_validate method method test_snapshot_passes_model_validate L414–419
test_wire_commit_branch_empty_by_default method method test_wire_commit_branch_empty_by_default L463–470
test_wire_commit_branch_populated_from_branch_key method method test_wire_commit_branch_populated_from_branch_key L455–461
test_wire_commit_has_branch_field method method test_wire_commit_has_branch_field L439–444
test_wire_commit_has_no_created_on_branch_field method method test_wire_commit_has_no_created_on_branch_field L446–453
TestT5ServiceStream class class TestT5ServiceStream L477–672
stub_backend method method stub_backend L486–495
stub_session method method stub_session L498–509
test_delta_zlib_object_reconstructed_correctly method async_method test_delta_zlib_object_reconstructed_correctly L604–644
test_delta_zlib_wrong_base_yields_error method async_method test_delta_zlib_wrong_base_yields_error L647–672
test_missing_commit_pack_yields_error method async_method test_missing_commit_pack_yields_error L550–563
test_missing_end_frame_yields_error method async_method test_missing_end_frame_yields_error L528–547
test_missing_header_yields_error method async_method test_missing_header_yields_error L512–525
test_object_hash_mismatch_yields_error method async_method test_object_hash_mismatch_yields_error L566–581
test_progress_frames_emitted_on_header method async_method test_progress_frames_emitted_on_header L584–601
_body_iter function async_function _body_iter L201–204
_collect_frames function async_function _collect_frames L193–198
_commit_pack_frame function function _commit_pack_frame L146–151
_compute_delta function function _compute_delta L389–392
_end_frame function function _end_frame L154–155
_fw variable variable _fw L50–50
_header_frame function function _header_frame L108–124
_last_frame function function _last_frame L90–97
_make_commit function function _make_commit L158–182
_make_obj_bytes function function _make_obj_bytes L102–105
_make_repo function async_function _make_repo L703–733
_make_snapshot function function _make_snapshot L185–190
_object_frame function function _object_frame L127–143
_pack function function _pack L57–59
_stub_r2_backend function function _stub_r2_backend L679–700
_unpack_all function function _unpack_all L67–87
_unpack_all_strict function function _unpack_all_strict L1382–1386
_wrap function function _wrap L62–64
AsyncClient import import AsyncClient L29–29
AsyncGenerator import import AsyncGenerator L23–23
AsyncIterator import import AsyncIterator L23–23
AsyncMock import import AsyncMock L25–25
AsyncSession import import AsyncSession L30–30
JSONObject import import JSONObject L34–34
JSONValue import import JSONValue L34–34
MagicMock import import MagicMock L25–25
MuseWireFrameWriter import import MuseWireFrameWriter L47–47
MusehubRepo import import MusehubRepo L33–33
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L35–35
SFRAME_END import import SFRAME_END L35–35
SFRAME_ERROR import import SFRAME_ERROR L35–35
SFRAME_HEADER import import SFRAME_HEADER L35–35
SFRAME_OBJECT import import SFRAME_OBJECT L35–35
SFRAME_PROGRESS import import SFRAME_PROGRESS L35–35
SFRAME_RESULT import import SFRAME_RESULT L35–35
STREAM_MAX_COMMITS import import STREAM_MAX_COMMITS L35–35
STREAM_MAX_OBJECTS import import STREAM_MAX_OBJECTS L35–35
STREAM_MAX_OBJECT_WIRE_BYTES import import STREAM_MAX_OBJECT_WIRE_BYTES L35–35
StrDict import import StrDict L34–34
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L47–47
annotations import import annotations L18–18
asyncio import import asyncio L20–20
blob_id import import blob_id L32–32
create_repo import import create_repo L48–48
datetime import import datetime L24–24
fake_id import import fake_id L32–32
msgpack import import msgpack L27–27
now_utc_iso import import now_utc_iso L32–32
patch import import patch L25–25
pytest import import pytest L28–28
struct import import struct L21–21
timezone import import timezone L24–24
zlib import import zlib L22–22
test_phase4_non_ff_push_rejected_after_concurrent_advance function async_function test_phase4_non_ff_push_rejected_after_concurrent_advance L1768–1836
test_phase4_sequential_pushes_both_advance_branch function async_function test_phase4_sequential_pushes_both_advance_branch L1698–1764
test_t10_response_frames_use_only_string_map_keys function async_function test_t10_response_frames_use_only_string_map_keys L1390–1429
test_t11_e_frame_overstated_objects_rejected function async_function test_t11_e_frame_overstated_objects_rejected L1505–1532
test_t11_e_frame_wrong_n_commits_rejected function async_function test_t11_e_frame_wrong_n_commits_rejected L1474–1501
test_t11_e_frame_wrong_n_objects_rejected function async_function test_t11_e_frame_wrong_n_objects_rejected L1440–1470
test_t12_p6a_snapshot_missing_object_rejected function async_function test_t12_p6a_snapshot_missing_object_rejected L1546–1577
test_t12_p6b_snapshot_object_from_prior_push_accepted function async_function test_t12_p6b_snapshot_object_from_prior_push_accepted L1581–1629
test_t12_p6c_failed_push_leaves_branch_unchanged function async_function test_t12_p6c_failed_push_leaves_branch_unchanged L1633–1690
test_t6_force_push_advances_branch function async_function test_t6_force_push_advances_branch L825–857
test_t6_push_commit_branch_empty_when_wire_commit_has_no_branch function async_function test_t6_push_commit_branch_empty_when_wire_commit_has_no_branch L942–971
test_t6_push_delta_zlib_object function async_function test_t6_push_delta_zlib_object L975–1040
test_t6_push_single_commit_no_objects function async_function test_t6_push_single_commit_no_objects L737–758
test_t6_push_stores_agent_id_and_model_id_as_columns function async_function test_t6_push_stores_agent_id_and_model_id_as_columns L865–895
test_t6_push_stores_commit_branch_from_wire_commit function async_function test_t6_push_stores_commit_branch_from_wire_commit L899–938
test_t6_push_with_object function async_function test_t6_push_with_object L762–789
test_t6_push_zlib_compressed_object function async_function test_t6_push_zlib_compressed_object L793–821
test_t7_old_push_endpoints_deleted function async_function test_t7_old_push_endpoints_deleted L1132–1150
test_t7_push_stream_404_for_missing_repo function async_function test_t7_push_stream_404_for_missing_repo L1114–1128
test_t7_push_stream_requires_auth function async_function test_t7_push_stream_requires_auth L1094–1110
test_t7_push_stream_response_contains_result_frame function async_function test_t7_push_stream_response_contains_result_frame L1071–1090
test_t7_push_stream_returns_200_with_packstream_content_type function async_function test_t7_push_stream_returns_200_with_packstream_content_type L1048–1067
test_t8_push_chain_of_commits_parent_linking function async_function test_t8_push_chain_of_commits_parent_linking L1230–1264
test_t8_push_then_refs_show_commit function async_function test_t8_push_then_refs_show_commit L1158–1190
test_t8_push_with_objects_then_fetch_objects function async_function test_t8_push_with_objects_then_fetch_objects L1194–1226
test_t9_920_objects_with_binary_content_no_unicode_error function async_function test_t9_920_objects_with_binary_content_no_unicode_error L1326–1365
test_t9_mpackstreamwriter_compressed_frames_decode_clean function async_function test_t9_mpackstreamwriter_compressed_frames_decode_clean L1284–1322
~ tests/test_wire_shallow_fetch.py .py 46 symbols removed
TestDepthOnSingleCommit class class TestDepthOnSingleCommit L332–354
test_single_commit_depth_1_equals_full method async_method test_single_commit_depth_1_equals_full L334–354
TestDepthOne class class TestDepthOne L191–224
test_depth_1_returns_only_tip method async_method test_depth_1_returns_only_tip L193–209
test_depth_1_stream_ends_cleanly method async_method test_depth_1_stream_ends_cleanly L212–224
TestDepthTwo class class TestDepthTwo L231–251
test_depth_2_includes_parent_excludes_grandparent method async_method test_depth_2_includes_parent_excludes_grandparent L233–251
TestFullHistory class class TestFullHistory L166–184
test_no_depth_returns_all_commits method async_method test_no_depth_returns_all_commits L168–184
TestShallowDAG class class TestShallowDAG L361–385
test_depth_1_on_merge_commit_returns_only_merge method async_method test_depth_1_on_merge_commit_returns_only_merge L363–385
TestShallowHeader class class TestShallowHeader L258–291
test_h_frame_has_shallow_commits_on_depth method async_method test_h_frame_has_shallow_commits_on_depth L260–275
test_h_frame_no_shallow_commits_without_depth method async_method test_h_frame_no_shallow_commits_without_depth L278–291
TestShallowObjects class class TestShallowObjects L298–325
test_depth_1_only_sends_tip_objects method async_method test_depth_1_only_sends_tip_objects L300–325
TestWireFetchRequestSchema class class TestWireFetchRequestSchema L148–159
test_depth_accepts_none_explicitly method method test_depth_accepts_none_explicitly L157–159
test_depth_accepts_positive_int method method test_depth_accepts_positive_int L153–155
test_depth_defaults_to_none method method test_depth_defaults_to_none L149–151
_collect_frames function async_function _collect_frames L129–134
_make_commit function async_function _make_commit L69–90
_make_object function async_function _make_object L93–126
_make_snapshot function async_function _make_snapshot L50–66
_now function function _now L46–47
_uid function function _uid L42–43
_unpack_chunks function function _unpack_chunks L137–141
AsyncIterator import import AsyncIterator L15–15
AsyncSession import import AsyncSession L23–23
JSONObject import import JSONObject L34–34
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L27–27
SFRAME_END import import SFRAME_END L27–27
SFRAME_HEADER import import SFRAME_HEADER L27–27
SFRAME_OBJECT import import SFRAME_OBJECT L27–27
WireFetchRequest import import WireFetchRequest L27–27
annotations import import annotations L14–14
asyncio import import asyncio L17–17
blob_id import import blob_id L25–25
create_repo import import create_repo L35–35
datetime import import datetime L19–19
db import import db L26–26
fake_id import import fake_id L25–25
msgpack import import msgpack L21–21
pytest import import pytest L22–22
timezone import import timezone L19–19
zlib import import zlib L18–18
~ tests/test_wire_snapshot_delta.py .py 24 symbols removed
_OBJ_9 variable variable _OBJ_9 L25–25
_OBJ_F variable variable _OBJ_F L24–24
_SNAP_0 variable variable _SNAP_0 L23–23
_SNAP_A variable variable _SNAP_A L20–20
_SNAP_B variable variable _SNAP_B L21–21
_SNAP_C variable variable _SNAP_C L22–22
_make_manifest function function _make_manifest L37–38
_sha256_manifest function function _sha256_manifest L32–34
_snap_id function function _snap_id L41–42
StrDict import import StrDict L17–17
annotations import import annotations L12–12
blob_id import import blob_id L16–16
fake_id import import fake_id L16–16
long_id import import long_id L16–16
msgpack import import msgpack L14–14
pytest import import pytest L18–18
test_delta_chain_reconstruction function function test_delta_chain_reconstruction L169–206
test_empty_delta_is_identity function function test_empty_delta_is_identity L213–232
test_reconstruct_snapshot_delta_add_only function function test_reconstruct_snapshot_delta_add_only L117–140
test_reconstruct_snapshot_delta_basic function function test_reconstruct_snapshot_delta_basic L87–114
test_reconstruct_snapshot_delta_missing_base_raises function function test_reconstruct_snapshot_delta_missing_base_raises L147–162
test_wire_snapshot_delta_invalid_base_id function function test_wire_snapshot_delta_invalid_base_id L73–80
test_wire_snapshot_delta_invalid_snapshot_id function function test_wire_snapshot_delta_invalid_snapshot_id L63–70
test_wire_snapshot_delta_valid function function test_wire_snapshot_delta_valid L49–60
~ tests/test_wire_step2b_unpack.py .py 37 symbols removed
_AUTH_CTX variable variable _AUTH_CTX L63–68
_BLOB_SIZE variable variable _BLOB_SIZE L55–55
_N_COMMITS variable variable _N_COMMITS L53–53
_N_OBJECTS variable variable _N_OBJECTS L54–54
_UNPACK_GATE_MS variable variable _UNPACK_GATE_MS L56–56
_make_repo function function _make_repo L115–125
_populate function function _populate L128–177
client function async_function client L76–90
ASGITransport import import ASGITransport L27–27
AsyncClient import import AsyncClient L27–27
AsyncSession import import AsyncSession L28–28
CommitRecord import import CommitRecord L39–39
MSignContext import import MSignContext L30–30
SnapshotRecord import import SnapshotRecord L39–39
annotations import import annotations L17–17
app import import app L32–32
blob_id import import blob_id L46–46
build_mpack import import build_mpack L36–36
compute_commit_id import import compute_commit_id L38–38
compute_snapshot_id import import compute_snapshot_id L38–38
datetime import import datetime L19–19
get_db import import get_db L31–31
msgpack import import msgpack L24–24
muse_dir import import muse_dir L37–37
optional_signed_request import import optional_signed_request L30–30
pathlib import import pathlib L20–20
pytest import import pytest L25–25
pytest_asyncio import import pytest_asyncio L26–26
require_signed_request import import require_signed_request L30–30
tempfile import import tempfile L22–22
time import import time L21–21
write_branch_ref import import write_branch_ref L39–39
write_commit import import write_commit L39–39
write_object import import write_object L35–35
write_snapshot import import write_snapshot L39–39
repo function async_function repo L98–108
test_unpack_step2b_performance_gate function async_function test_unpack_step2b_performance_gate L185–237
~ tests/test_wire_step4_e2e.py .py 38 symbols removed
_AUTH_CTX variable variable _AUTH_CTX L68–73
_BLOB_SIZE variable variable _BLOB_SIZE L60–60
_E2E_GATE_MS variable variable _E2E_GATE_MS L61–61
_N_COMMITS variable variable _N_COMMITS L58–58
_N_OBJECTS variable variable _N_OBJECTS L59–59
_make_repo function function _make_repo L112–122
_populate function function _populate L125–174
client function async_function client L77–91
ASGITransport import import ASGITransport L33–33
AsyncClient import import AsyncClient L33–33
AsyncSession import import AsyncSession L34–34
CommitRecord import import CommitRecord L44–44
MSignContext import import MSignContext L36–36
SnapshotRecord import import SnapshotRecord L44–44
annotations import import annotations L22–22
app import import app L38–38
blob_id import import blob_id L51–51
build_mpack import import build_mpack L41–41 → moved to tests/test_push_ff_check.py
compute_commit_id import import compute_commit_id L43–43
compute_snapshot_id import import compute_snapshot_id L43–43 → moved to tests/test_push_ff_check.py
datetime import import datetime L24–24 → moved to tests/test_push_ff_check.py
get_db import import get_db L37–37
hashlib import import hashlib L25–25 → moved to tests/test_push_ff_check.py
httpx import import httpx L29–29 → moved to tests/test_push_ff_check.py
msgpack import import msgpack L30–30
muse_dir import import muse_dir L42–42 → moved to tests/test_push_ff_check.py
optional_signed_request import import optional_signed_request L36–36
pathlib import import pathlib L26–26 → moved to tests/test_push_ff_check.py
pytest import import pytest L31–31
pytest_asyncio import import pytest_asyncio L32–32
require_signed_request import import require_signed_request L36–36
time import import time L27–27
write_branch_ref import import write_branch_ref L44–44
write_commit import import write_commit L44–44
write_object import import write_object L40–40 → moved to tests/test_push_ff_check.py
write_snapshot import import write_snapshot L44–44 → moved to tests/test_push_ff_check.py
repo function async_function repo L95–105
test_e2e_step4_performance_gate function async_function test_e2e_step4_performance_gate L182–312
~ tests/test_wire_streaming_push.py .py 38 symbols removed
_commit_pack_frame function function _commit_pack_frame L77–78
_end_frame function function _end_frame L81–82
_fw variable variable _fw L38–38
_header_frame function function _header_frame L65–74
_last_frame function function _last_frame L41–47
_make_commit function function _make_commit L85–100
_make_snapshot function function _make_snapshot L103–104
_pack function function _pack L54–55
_stub_r2_backend function function _stub_r2_backend L107–114
_wrap function function _wrap L58–59
AsyncClient import import AsyncClient L24–24
AsyncIterator import import AsyncIterator L18–18
AsyncMock import import AsyncMock L20–20
AsyncSession import import AsyncSession L25–25
JSONObject import import JSONObject L28–28
JSONValue import import JSONValue L28–28
MagicMock import import MagicMock L20–20
MuseWireFrameWriter import import MuseWireFrameWriter L35–35
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L29–29
SFRAME_END import import SFRAME_END L29–29
SFRAME_HEADER import import SFRAME_HEADER L29–29
SFRAME_RESULT import import SFRAME_RESULT L29–29
StrDict import import StrDict L28–28
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L35–35
annotations import import annotations L15–15
blob_id import import blob_id L27–27
create_repo import import create_repo L36–36
datetime import import datetime L19–19
inspect import import inspect L17–17
msgpack import import msgpack L22–22
now_utc_iso import import now_utc_iso L27–27
patch import import patch L20–20
pytest import import pytest L23–23
timezone import import timezone L19–19
test_s1_push_stream_route_does_not_call_request_body function function test_s1_push_stream_route_does_not_call_request_body L121–135
test_s2_push_stream_route_uses_request_stream function function test_s2_push_stream_route_uses_request_stream L142–155
test_s3_valid_push_still_succeeds_with_streaming function async_function test_s3_valid_push_still_succeeds_with_streaming L163–186
test_s4_auth_checked_before_stream_consumed function async_function test_s4_auth_checked_before_stream_consumed L194–225
~ musehub/api/routes/wire.py .py 23 symbols removed, 13 symbols modified
ObjMapDict variable variable ObjMapDict L46–46
_IntMap variable variable _IntMap L39–39
fetch_stream function async_function fetch_stream L766–793
AsyncIterator import import AsyncIterator L21–21
Awaitable import import Awaitable L21–21
Callable import import Callable L21–21
Mapping import import Mapping L21–21
PolyglotObjectError import import PolyglotObjectError L50–50
StreamingResponse import import StreamingResponse L26–26
WIRE_CONTENT_TYPE import import WIRE_CONTENT_TYPE L40–40
WireNegotiateRequest import import WireNegotiateRequest L41–41
decompress_if_needed import import decompress_if_needed L37–37
wire_fetch_stream import import wire_fetch_stream L50–50
wire_negotiate import import wire_negotiate L50–50
wire_push_confirm import import wire_push_confirm L50–50
wire_push_presign import import wire_push_presign L50–50
wire_push_stream import import wire_push_stream L50–50
wire_push_unpack import import wire_push_unpack L50–50
negotiate function async_function negotiate L331–358
push_confirm function async_function push_confirm L409–441
push_presign function async_function push_presign L366–401
push_stream function async_function push_stream L208–323
push_unpack function async_function push_unpack L589–616
~ musehub/models/wire.py .py 19 symbols removed
SFRAME_COMMIT_PACK variable variable SFRAME_COMMIT_PACK L376–376
SFRAME_END variable variable SFRAME_END L377–377
SFRAME_ERROR variable variable SFRAME_ERROR L381–381
SFRAME_HEADER variable variable SFRAME_HEADER L373–373
SFRAME_OBJECT variable variable SFRAME_OBJECT L374–374
SFRAME_OBJECT_CHUNK variable variable SFRAME_OBJECT_CHUNK L375–375
SFRAME_PROGRESS variable variable SFRAME_PROGRESS L380–380
SFRAME_RESULT variable variable SFRAME_RESULT L382–382
STREAM_COMMIT_BATCH_SIZE variable variable STREAM_COMMIT_BATCH_SIZE L404–404
STREAM_MAX_COMMITS variable variable STREAM_MAX_COMMITS L391–391
STREAM_MAX_OBJECTS variable variable STREAM_MAX_OBJECTS L390–390
STREAM_MAX_OBJECT_WIRE_BYTES variable variable STREAM_MAX_OBJECT_WIRE_BYTES L395–395
STREAM_OBJECT_BATCH_SIZE variable variable STREAM_OBJECT_BATCH_SIZE L399–399
WireNegotiateRequest class class WireNegotiateRequest L325–333
_check_commit_ids method method _check_commit_ids L332–333
WireNegotiateResponse class class WireNegotiateResponse L335–339
WireSnapshotDelta class class WireSnapshotDelta L190–240
_check_added_values method method _check_added_values L229–240
_check_id method method _check_id L220–225
~ musehub/services/musehub_wire.py .py 2 symbols added, 43 symbols removed, 11 symbols modified
ConfirmResult class class ConfirmResult L114–117
PresignResult class class PresignResult L107–112
_AsyncExactReader class class _AsyncExactReader L4429–4483
__init__ method method __init__ L4432–4435
_available method method _available L4437–4438
_consume method method _consume L4449–4458
_fill method async_method _fill L4440–4447
read_exact method async_method read_exact L4475–4483
read_exact_or_eof method async_method read_exact_or_eof L4460–4473
_err function function _err L1122–1125
_is_ancestor_db function async_function _is_ancestor_db L1066–1096
_is_ancestor_in_mpack function function _is_ancestor_in_mpack L1039–1064
_prog function function _prog L1118–1120
_result function function _result L1127–1146
_sp function function _sp L1114–1116
AsyncGenerator import import AsyncGenerator L1102–1102
MusehubStreamRejection import import MusehubStreamRejection L57–57
SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L1106–1106
SFRAME_END import import SFRAME_END L1106–1106
SFRAME_ERROR import import SFRAME_ERROR L1106–1106
SFRAME_HEADER import import SFRAME_HEADER L1106–1106
SFRAME_OBJECT import import SFRAME_OBJECT L1106–1106
SFRAME_OBJECT_CHUNK import import SFRAME_OBJECT_CHUNK L1106–1106
SFRAME_PROGRESS import import SFRAME_PROGRESS L1106–1106
SFRAME_RESULT import import SFRAME_RESULT L1106–1106
STREAM_COMMIT_BATCH_SIZE import import STREAM_COMMIT_BATCH_SIZE L1106–1106
STREAM_MAX_COMMITS import import STREAM_MAX_COMMITS L1106–1106
STREAM_MAX_OBJECTS import import STREAM_MAX_OBJECTS L1106–1106
STREAM_MAX_OBJECT_WIRE_BYTES import import STREAM_MAX_OBJECT_WIRE_BYTES L1106–1106
STREAM_OBJECT_BATCH_SIZE import import STREAM_OBJECT_BATCH_SIZE L1106–1106
WireNegotiateRequest import import WireNegotiateRequest L73–73
WireNegotiateResponse import import WireNegotiateResponse L73–73
WireSnapshotDelta import import WireSnapshotDelta L1106–1106
_mp import import _mp L1103–1103
_struct import import _struct L4427–4427
iter_wire_frames function async_function iter_wire_frames L4485–4555
reconstruct_snapshot_delta function function reconstruct_snapshot_delta L1148–1177
wire_fetch_stream function async_function wire_fetch_stream L602–915
wire_negotiate function async_function wire_negotiate L917–998
wire_push_confirm function async_function wire_push_confirm L2201–2315
wire_push_presign function async_function wire_push_presign L2127–2199
wire_push_stream function async_function wire_push_stream L2967–4421
wire_push_unpack function async_function wire_push_unpack L1885–2124
+ NonFastForwardError class class NonFastForwardError L224–225
+ _is_fast_forward function function _is_fast_forward L228–267
~ tests/test_mpack_delta_e2e.py .py 1 symbol modified
~ repo
~ tests/test_mpack_fetch_readiness.py .py 1 symbol modified
~ repo
~ tests/test_mpack_index_job.py .py 1 symbol modified
~ repo
~ tests/test_mpack_index_job_phase3.py .py 1 symbol modified
~ repo
~ tests/test_mpack_index_job_phase4.py .py 1 symbol modified
~ repo
~ tests/test_mpack_push_async.py .py 1 symbol modified
~ repo
~ tests/test_mpack_size_gates.py .py 1 symbol modified
~ repo
~ tests/test_mpack_validation_phase2.py .py 1 symbol modified
~ repo
~ tests/test_wire_step3_upload.py .py 1 symbol modified
~ repo
~ tests/test_wire_step4c_scale.py .py 1 symbol modified
~ repo
~ tests/test_push_ff_check.py .py moved from tests/test_wire_step1_negotiate.py; 28 added, 3 removed, 2 modified
get_db import import get_db L25–25
time import import time L16–16
test_negotiate_step1_performance_gate function async_function test_negotiate_step1_performance_gate L85–140
+ _add_commit function function _add_commit L106–145
+ _get_branch_head function async_function _get_branch_head L206–219
+ _make_local_repo function function _make_local_repo L93–103
+ _upload_and_unpack function async_function _upload_and_unpack L148–203
+ CommitRecord import import CommitRecord L37–37
+ Manifest import import Manifest L44–44
+ MusehubBranch import import MusehubBranch L30–30
+ MusehubRepo import import MusehubRepo L30–30 ← moved from tests/test_stream_security_phase5.py
+ SnapshotRecord import import SnapshotRecord L37–37
+ blob_id import import blob_id L44–44
+ build_mpack import import build_mpack L33–33 ← moved from tests/test_wire_step4_e2e.py
+ compute_commit_id import import compute_commit_id L36–36
+ compute_snapshot_id import import compute_snapshot_id L36–36 ← moved from tests/test_wire_step4_e2e.py
+ datetime import import datetime L17–17 ← moved from tests/test_wire_step4_e2e.py
+ hashlib import import hashlib L18–18 ← moved from tests/test_wire_step4_e2e.py
+ httpx import import httpx L21–21 ← moved from tests/test_wire_step4_e2e.py
+ muse_dir import import muse_dir L35–35 ← moved from tests/test_wire_step4_e2e.py
+ pathlib import import pathlib L19–19 ← moved from tests/test_wire_step4_e2e.py
+ select import import select L26–26 ← moved from tests/test_wire_multibatch_push.py
+ write_branch_ref import import write_branch_ref L37–37
+ write_commit import import write_commit L37–37
+ write_object import import write_object L34–34 ← moved from tests/test_wire_step4_e2e.py
+ write_snapshot import import write_snapshot L37–37 ← moved from tests/test_wire_step4_e2e.py
+ test_ff1_fast_forward_push_advances_branch function async_function test_ff1_fast_forward_push_advances_branch L227–248
+ test_ff2_non_ff_push_rejected_without_force function async_function test_ff2_non_ff_push_rejected_without_force L256–280
+ test_ff3_non_ff_push_allowed_with_force function async_function test_ff3_non_ff_push_allowed_with_force L288–308
+ test_ff4_new_branch_always_succeeds function async_function test_ff4_new_branch_always_succeeds L316–327
+ test_ff5_same_head_is_noop function async_function test_ff5_same_head_is_noop L335–351
~ client
~ repo
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:0201d108c79f814839b0e75feb9fa86004351f329635675bc8ee9e4eb6711f94 --body "your comment"