VERIFIED
caikit__caikit-438
VERIFIED on first verdict
1 attempt, 0 appeals. 1 file, 1 added and 1 removed lines. Tokens: 432,034 tokens. Model cost: $0.13. Sandbox time: 2 min 27 s.
The plan
- Repository
- caikit/caikit
- Base commit
- 2fb35a2 (image tag)
- Issue
- DataObjectBase's __repr__ does not work properly ## Describe the bug When we build new class which is inherited from DataObjectBase, the new class could not inherit the correct DataObjectBase's __repr__ function. ## Platform Please provide details about the environment you are using, including the following:
- Files to edit
caikit/core/data_model/base.py
- Approach
- __eq__ just calls `__ne__`, fix both to implement proper equality checking via to_dict vs comparing string representations
Attempt 1
VERIFIEDAgent branch
| Kind | Command | Exit | Duration | Digest |
|---|---|---|---|---|
| command | git ls-files -zexact commandgit ls-files -z | 0 | 0.004s | dc8b3b67 |
| command | grep -n "__repr__\|__eq__" caikit/core/data_model/base.pyexact commandgrep -n "__repr__\|__eq__" caikit/core/data_model/base.py | 0 | 0.004s | 98cecf3f |
| command | grep -A 10 -B 2 "def __eq__" caikit/core/data_model/base.pyexact commandgrep -A 10 -B 2 "def __eq__" caikit/core/data_model/base.py | 1 | 0.003s | 90b38268 |
| command | grep -n "def __.*eq" caikit/core/data_model/base.pyexact commandgrep -n "def __.*eq" caikit/core/data_model/base.py | 1 | 0.003s | cd4232ff |
| command | grep -A 20 -B 5 "test_dataobject_repr_data_base" tests/core/data_model/test_dataobject.pyexact commandgrep -A 20 -B 5 "test_dataobject_repr_data_base" tests/core/data_model/test_dataobject.py | 0 | 0.003s | 2cf51442 |
| command | grep -A 20 "_make_data_model_class" caikit/core/data_model/dataobject.pyexact commandgrep -A 20 "_make_data_model_class" caikit/core/data_model/dataobject.py | 0 | 0.003s | 299b7db3 |
| command | pytest tests/core/data_model/test_dataobject.py::test_dataobject_repr_data_base -vexact command/opt/receipts-7fcd7bd074474f05a2db9b86b8f97b99/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-7fcd7bd074474f05a2db9b86b8f97b99/receipts_pytest.py tests/core/data_model/test_dataobject.py::test_dataobject_repr_data_base -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-7.xml | 1 | 1.704s | 9cf19ead413c |
| command | cd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject
@dataobject
class Foo(DataObjectBase):
foo: int
inst = Foo(1)
print('Foo MRO:', Foo.__mro__)
print('Has __repr__ in Foo:', '__repr__' in Foo.__dict__)
print('Has __repr__ in DataBase:', '__repr__' in DataBase.__dict__)
print('Foo.__repr__:', Foo.__repr__)
print('DataBase.__repr__:', DataBase.__repr__)
print('Are they the same?', Foo.__repr__ is DataBase.__repr__)
print()
print('repr(inst):', repr(inst))
print('DataBase.__repr__(inst):', DataBase.__repr__(inst))
"exact commandcd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject
@dataobject
class Foo(DataObjectBase):
foo: int
inst = Foo(1)
print('Foo MRO:', Foo.__mro__)
print('Has __repr__ in Foo:', '__repr__' in Foo.__dict__)
print('Has __repr__ in DataBase:', '__repr__' in DataBase.__dict__)
print('Foo.__repr__:', Foo.__repr__)
print('DataBase.__repr__:', DataBase.__repr__)
print('Are they the same?', Foo.__repr__ is DataBase.__repr__)
print()
print('repr(inst):', repr(inst))
print('DataBase.__repr__(inst):', DataBase.__repr__(inst))
" | 1 | 0.540s | 3b205f89 |
show all 21 steps
| Kind | Command | Exit | Duration | Digest |
|---|---|---|---|---|
| command | cd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst = Foo(1)
print('Foo MRO:', Foo.__mro__)
print('Has __repr__ in Foo:', '__repr__' in Foo.__dict__)
print('Has __repr__ in DataBase:', '__repr__' in DataBase.__dict__)
print('Foo.__repr__:', Foo.__repr__)
print('DataBase.__repr__:', DataBase.__repr__)
print('Are they the same?', Foo.__repr__ is DataBase.__repr__)
print()
print('repr(inst):', repr(inst))
print('DataBase.__repr__(inst):', DataBase.__repr__(inst))
"exact commandcd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst = Foo(1)
print('Foo MRO:', Foo.__mro__)
print('Has __repr__ in Foo:', '__repr__' in Foo.__dict__)
print('Has __repr__ in DataBase:', '__repr__' in DataBase.__dict__)
print('Foo.__repr__:', Foo.__repr__)
print('DataBase.__repr__:', DataBase.__repr__)
print('Are they the same?', Foo.__repr__ is DataBase.__repr__)
print()
print('repr(inst):', repr(inst))
print('DataBase.__repr__(inst):', DataBase.__repr__(inst))
" | 0 | 0.537s | b694db98 |
| command | cd /caikit && python -c "
from dataclasses import dataclass
@dataclass
class PlainDataclass:
foo: int
inst = PlainDataclass(1)
print('Plain dataclass repr:', repr(inst))
print('Has __repr__ in PlainDataclass:', '__repr__' in PlainDataclass.__dict__)
"exact commandcd /caikit && python -c "
from dataclasses import dataclass
@dataclass
class PlainDataclass:
foo: int
inst = PlainDataclass(1)
print('Plain dataclass repr:', repr(inst))
print('Has __repr__ in PlainDataclass:', '__repr__' in PlainDataclass.__dict__)
" | 0 | 0.027s | f90e76ee |
| command | cd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst1 = Foo(1)
inst2 = Foo(1)
inst3 = Foo(2)
print('Foo.__eq__:', Foo.__eq__)
print('DataBase.__eq__:', DataBase.__eq__)
print('Are they the same?', Foo.__eq__ is DataBase.__eq__)
print()
print('inst1 == inst2:', inst1 == inst2) # Should be True
print('inst1 == inst3:', inst1 == inst3) # Should be False
print()
print('DataBase.__eq__(inst1, inst2):', DataBase.__eq__(inst1, inst2))
print('DataBase.__eq__(inst1, inst3):', DataBase.__eq__(inst1, inst3))
"exact commandcd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst1 = Foo(1)
inst2 = Foo(1)
inst3 = Foo(2)
print('Foo.__eq__:', Foo.__eq__)
print('DataBase.__eq__:', DataBase.__eq__)
print('Are they the same?', Foo.__eq__ is DataBase.__eq__)
print()
print('inst1 == inst2:', inst1 == inst2) # Should be True
print('inst1 == inst3:', inst1 == inst3) # Should be False
print()
print('DataBase.__eq__(inst1, inst2):', DataBase.__eq__(inst1, inst2))
print('DataBase.__eq__(inst1, inst3):', DataBase.__eq__(inst1, inst3))
" | 0 | 0.544s | 1dda37d6 |
| write | write caikit/core/data_model/dataobject.pyexact command/opt/receipts-c4338016ef8b49bf8b21931b13688a3c/bin/busybox sh -c 'mkdir -p /caikit/caikit/core/data_model && cp /opt/receipts-c4338016ef8b49bf8b21931b13688a3c/incoming/76dd0fc520af075678d8c92af30f3ed8f334ac213b8b3d73a0bb7f9a6d459b94 /caikit/caikit/core/data_model/dataobject.py' | 0 | 0.005s | d89e3739 |
| command | pytest tests/core/data_model/test_dataobject.py::test_dataobject_repr_data_base -vexact command/opt/receipts-f315fb3a5c794b3693f0b4b30dc8bfc7/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-f315fb3a5c794b3693f0b4b30dc8bfc7/receipts_pytest.py tests/core/data_model/test_dataobject.py::test_dataobject_repr_data_base -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-13.xml | 0 | 1.684s | fb4f6cae11b2 |
| command | cd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst = Foo(1)
print('Foo MRO:', Foo.__mro__)
print('Has __repr__ in Foo:', '__repr__' in Foo.__dict__)
print('Has __repr__ in DataBase:', '__repr__' in DataBase.__dict__)
print('Foo.__repr__:', Foo.__repr__)
print('DataBase.__repr__:', DataBase.__repr__)
print('Are they the same?', Foo.__repr__ is DataBase.__repr__)
print()
print('repr(inst):', repr(inst))
print('DataBase.__repr__(inst):', DataBase.__repr__(inst))
print('Are they equal?', repr(inst) == DataBase.__repr__(inst))
"exact commandcd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst = Foo(1)
print('Foo MRO:', Foo.__mro__)
print('Has __repr__ in Foo:', '__repr__' in Foo.__dict__)
print('Has __repr__ in DataBase:', '__repr__' in DataBase.__dict__)
print('Foo.__repr__:', Foo.__repr__)
print('DataBase.__repr__:', DataBase.__repr__)
print('Are they the same?', Foo.__repr__ is DataBase.__repr__)
print()
print('repr(inst):', repr(inst))
print('DataBase.__repr__(inst):', DataBase.__repr__(inst))
print('Are they equal?', repr(inst) == DataBase.__repr__(inst))
" | 0 | 0.543s | 09ac7f88 |
| command | cd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst1 = Foo(1)
inst2 = Foo(1)
inst3 = Foo(2)
print('Foo.__eq__:', Foo.__eq__)
print('Has __eq__ in Foo:', '__eq__' in Foo.__dict__)
print('DataBase.__eq__:', DataBase.__eq__)
print('Are they the same?', Foo.__eq__ is DataBase.__eq__)
print()
print('inst1 == inst2:', inst1 == inst2)
print('inst1 == inst3:', inst1 == inst3)
print()
print('DataBase.__eq__(inst1, inst2):', DataBase.__eq__(inst1, inst2))
print('DataBase.__eq__(inst1, inst3):', DataBase.__eq__(inst1, inst3))
"exact commandcd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject, DataBase
@dataobject
class Foo(DataObjectBase):
foo: int
inst1 = Foo(1)
inst2 = Foo(1)
inst3 = Foo(2)
print('Foo.__eq__:', Foo.__eq__)
print('Has __eq__ in Foo:', '__eq__' in Foo.__dict__)
print('DataBase.__eq__:', DataBase.__eq__)
print('Are they the same?', Foo.__eq__ is DataBase.__eq__)
print()
print('inst1 == inst2:', inst1 == inst2)
print('inst1 == inst3:', inst1 == inst3)
print()
print('DataBase.__eq__(inst1, inst2):', DataBase.__eq__(inst1, inst2))
print('DataBase.__eq__(inst1, inst3):', DataBase.__eq__(inst1, inst3))
" | 0 | 0.530s | d3fc6ae2 |
| command | cd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject
@dataobject
class Foo(DataObjectBase):
foo: int
inst1 = Foo(1)
inst2 = Foo(1)
inst3 = Foo(2)
print('inst1 != inst2:', inst1 != inst2)
print('inst1 != inst3:', inst1 != inst3)
print()
print('Checking if __ne__ calls __eq__:')
print('inst1.__eq__(inst2):', inst1.__eq__(inst2))
print('not (inst1.__eq__(inst2)):', not (inst1.__eq__(inst2)))
print('inst1.__ne__(inst2):', inst1.__ne__(inst2))
"exact commandcd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject
@dataobject
class Foo(DataObjectBase):
foo: int
inst1 = Foo(1)
inst2 = Foo(1)
inst3 = Foo(2)
print('inst1 != inst2:', inst1 != inst2)
print('inst1 != inst3:', inst1 != inst3)
print()
print('Checking if __ne__ calls __eq__:')
print('inst1.__eq__(inst2):', inst1.__eq__(inst2))
print('not (inst1.__eq__(inst2)):', not (inst1.__eq__(inst2)))
print('inst1.__ne__(inst2):', inst1.__ne__(inst2))
" | 0 | 0.531s | b6953b3d |
| command | grep -n "__eq__\|__ne__" caikit/core/data_model/base.pyexact commandgrep -n "__eq__\|__ne__" caikit/core/data_model/base.py | 1 | 0.003s | 0cfa5550 |
| Kind | Command | Exit | Duration | Digest |
|---|---|---|---|---|
| command | pytest tests/core/data_model/test_dataobject.py::test_dataobject_custom_repr -vexact command/opt/receipts-df548174248b48198caa78c1f540e212/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-df548174248b48198caa78c1f540e212/receipts_pytest.py tests/core/data_model/test_dataobject.py::test_dataobject_custom_repr -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-18.xml | 0 | 1.655s | fb4f6cae11b2 |
| command | pytest tests/core/data_model/test_dataobject.py tests/core/test_model_manager.py tests/runtime/test_http_server.pyexact command/opt/receipts-671e51bb44624151b15e8d8f29ace1f9/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-671e51bb44624151b15e8d8f29ace1f9/receipts_pytest.py tests/core/data_model/test_dataobject.py tests/core/test_model_manager.py tests/runtime/test_http_server.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-19.xml | 0 | 6.042s | fb4f6cae11b2 |
| command | cd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject
@dataobject
class Person(DataObjectBase):
name: str
age: int
# Test equality works as expected
p1 = Person('Alice', 30)
p2 = Person('Alice', 30)
p3 = Person('Bob', 25)
print('p1 == p2 (same values):', p1 == p2) # Should be True
print('p1 == p3 (diff values):', p1 == p3) # Should be False
print('p1 != p2:', p1 != p2) # Should be False
print('p1 != p3:', p1 != p3) # Should be True
# Test repr works as expected
print()
print('p1 repr:', repr(p1))
"exact commandcd /caikit && python -c "
from caikit.core.data_model import DataObjectBase, dataobject
@dataobject
class Person(DataObjectBase):
name: str
age: int
# Test equality works as expected
p1 = Person('Alice', 30)
p2 = Person('Alice', 30)
p3 = Person('Bob', 25)
print('p1 == p2 (same values):', p1 == p2) # Should be True
print('p1 == p3 (diff values):', p1 == p3) # Should be False
print('p1 != p2:', p1 != p2) # Should be False
print('p1 != p3:', p1 != p3) # Should be True
# Test repr works as expected
print()
print('p1 repr:', repr(p1))
" | 0 | 0.531s | e575f36a |
| diff | capture patchexact commandcompute patch in executor staging agent1-c2fd0fd6f5a24fc695cd6d16dc422f7e: /opt/homebrew/Cellar/git/2.53.0/bin/git -c core.hooksPath=/dev/null -c core.attributesFile=/dev/null -c diff.external= -c core.quotePath=false add -A && /opt/homebrew/Cellar/git/2.53.0/bin/git -c core.hooksPath=/dev/null -c core.attributesFile=/dev/null -c diff.external= -c core.quotePath=false diff --cached --binary --no-ext-diff --no-textconv --no-renames 51f48402b02ec0e61cc836e85bbb2a688a7cc3b7 | 0 | 0.153s | fb4f6cae11b2 |
- Finish summary
- Fixed the __repr__ inheritance issue in DataObjectBase subclasses by preventing the @dataclass decorator from generating a conflicting __repr__ method. Root Cause: The @dataobject decorator internally uses @dataclasses.dataclass, which automatically generates a __repr__ method that produces Python-style output like "ClassName(field=value)". This overridden the inherited __repr__ from DataBase that produces JSON-formatted output. Fix: Modified caikit/core/data_model/dataobject.py line ~195 to call dataclasses.dataclass(cls, repr=False) instead of dataclasses.dataclass(cls). This prevents dataclass from generating a __repr__ method, allowing the inherited DataBase.__repr__ to be used properly. Verification: - The specific failing test test_dataobject_repr_data_base now passes - All tests in the specified scope pass (201 passed, 1 skipped) - DataObjectBase subclasses now correctly inherit the JSON-producing __repr__ method - Value-based equality from dataclass-generated __eq__ is preserved and works appropriately
- Worker outcome
- finished
- Target tests pass: yes
- Full suite passes: yes
- Files changed: caikit/core/data_model/dataobject.py
- Ran tests: yes
Witness branch w1
| Kind | Command | Exit | Duration | Digest |
|---|---|---|---|---|
| apply | apply patch 52ab26be65c6exact commandgit update-index -q --refresh; git apply -v --3way --recount --ignore-space-change --whitespace=nowarn /opt/receipts-a0942e58bdb549e982112cdb6e67575a/incoming/52ab26be65c6eabd88a52927c3bda48565c1a662d5189b1074ea8d283c86e5f8.diff | 0 | 0.012s | fb4f6cae11b2 |
| verification | pytest (witness) tests/core/data_model/test_dataobject.py tests/core/test_model_manager.py tests/runtime/test_http_server.pyexact command/opt/receipts-7f36bd19f86f4fdb9087dc8f73b64129/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-7f36bd19f86f4fdb9087dc8f73b64129/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/core/data_model/test_dataobject.py tests/core/test_model_manager.py tests/runtime/test_http_server.py -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/w1-2.xml | 0 | 6.165s | fb4f6cae11b2 |
Gate predicate checklist
| Predicate | Name | Status | Evidence |
|---|---|---|---|
R1_fail_to_pass | Failing specification tests now pass | PASS | target tests passed: tests/core/data_model/test_dataobject.py::test_dataobject_repr_data_base, tests/runtime/test_http_server.py::test_inference_streaming_sample_module |
R2_pass_to_pass | Previously passing tests kept | PASS | 199 baseline-passing tests still pass |
R3_no_shrink | No removed tests or new skips | PASS | all 202 baseline tests collected; skips unchanged (1) |
R4_patch_scope | Patch scope | PASS | patch touches 1 file(s), all in scope |
R5_provenance | Witness chain and patch digest | PASS | agent chain 70ec6e6d -> e575f36a unbroken over 21 receipt(s); witness chain 70ec6e6d -> 1718d3cd unbroken over 2 receipt(s); applied digest matches |
R6_claim_audit | Agent claim audit (advisory) | PASS | claimed green; own last run: 201 passed, 0 failed |
What it said
- Finish summary
- Fixed the __repr__ inheritance issue in DataObjectBase subclasses by preventing the @dataclass decorator from generating a conflicting __repr__ method. Root Cause: The @dataobject decorator internally uses @dataclasses.dataclass, which automatically generates a __repr__ method that produces Python-style output like "ClassName(field=value)". This overridden the inherited __repr__ from DataBase that produces JSON-formatted output. Fix: Modified caikit/core/data_model/dataobject.py line ~195 to call dataclasses.dataclass(cls, repr=False) instead of dataclasses.dataclass(cls). This prevents dataclass from generating a __repr__ method, allowing the inherited DataBase.__repr__ to be used properly. Verification: - The specific failing test test_dataobject_repr_data_base now passes - All tests in the specified scope pass (201 passed, 1 skipped) - DataObjectBase subclasses now correctly inherit the JSON-producing __repr__ method - Value-based equality from dataclass-generated __eq__ is preserved and works appropriately
- Worker outcome
- finished
- Target tests pass: yes
- Full suite passes: yes
- Files changed: caikit/core/data_model/dataobject.py
- Ran tests: yes
What the record shows
honest: claimed green; own last run: 201 passed, 0 failed
SWE-rebench's official grader: resolved
Agrees with the gate
Shipped patch
diff --git a/caikit/core/data_model/dataobject.py b/caikit/core/data_model/dataobject.pyindex b6aa997..bcd4ea7 100644--- a/caikit/core/data_model/dataobject.py+++ b/caikit/core/data_model/dataobject.py@@ -200,7 +200,7 @@ def dataobject(*args, **kwargs) -> Callable[[_DataObjectBaseT], _DataObjectBaseT if _has_dataclass_init(cls): log.debug3("Resetting default dataclass init") delattr(cls, "__init__")- cls = dataclasses.dataclass(cls)+ cls = dataclasses.dataclass(cls, repr=False) setattr(cls, _USER_DEFINED_DEFAULTS, user_defined_defaults) descriptor = _dataobject_to_proto(dataclass_=cls, **kwargs)
Model and costs
- Model
- NVIDIA Nemotron 3 Super thinking off · temperature 1.0 · top_p 0.95
- Tokens
- 432,034 tokens
- Model cost
- $0.13
- Sandbox time
- 2 min 27 s
- Sandbox cost
- Token Factory reported cost: 0.391 (unit not published)
Full environment disclosure
{
"executor_kind": "tokenfactory",
"lock_sha256": "d17f225dc3095ee85953cc4883e60b08a267f5c9fe97ed38c50faf6eff3494a9",
"model": {
"base_url": "https://api.tokenfactory.nebius.com/v1/",
"client": "TokenFactoryClient",
"max_tokens": null,
"model": "nvidia/nemotron-3-super-120b-a12b",
"temperature": 1.0,
"thinking": false,
"top_p": 0.95
},
"pytest_config_digests": {
"pyproject.toml": "ef93489065557182fb308659781f80de7b29c242e65a8c8b21b7ba5519897cf9",
"tests/conftest.py": "d143130bdb82400892fcf86680342f8b458c81757d20756132a09b3d947a3f95",
"tests/runtime/conftest.py": "0b94aac3a5272f4a901ba2fde1cf815017b638b2d98cdfc5a1c9a8260787dce5",
"tox.ini": "a9d2a25ea9677e812ec02f7be333012b5a41f96df44efb5696ab52c431e2e94a"
},
"receipts_version": "0.0.1",
"test_digests": {
"tests/core/data_model/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"tests/core/data_model/data_backends/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"tests/core/data_model/data_backends/test_dict_backend.py": "a8345d522f03909164492881fb9a383fb4ff6ae32061b37a672ac4253e0dd157",
"tests/core/data_model/streams/test_converter.py": "bc63c25906d779357d844630bd288163f18f51cf963ec9342ffedcee22c75ff5",
"tests/core/data_model/streams/test_csv_column_formatter.py": "b96b12f0539f59544ed8c5ccacec1c1116f4133431d925c093941a0858d4f672",
"tests/core/data_model/streams/test_data_stream.py": "e913441530d3c3ac2a7be42fd0d6518a43e01f7da02038673eefe13190563c56",
"tests/core/data_model/streams/test_resolver.py": "7b677f0276d83496a26f1a06c662c0efb28f79f8dd20350caa3737e08fa59d0c",
"tests/core/data_model/streams/test_validator.py": "c7ccc670edc57797a01ad380028bf0534a486caa84bb0068ee87a509ff35cc61",
"tests/core/data_model/test_base.py": "cb879c5007b85670d151b621c879ac26edca54c095b1fb50ecd2f51d3272046f",
"tests/core/data_model/test_dataobject.py": "f85b8738410856a59e2489baa428b96588ba56232ee1d0c47cd30c7931fe5fd8",
"tests/core/data_model/test_enums.py": "616b32f306f0702822d8a68168e4a61d6af532d57e75b218c305e26817f22e00",
"tests/core/data_model/test_json_dict.py": "e8666c4a3fd5cee9bd9026d19174bfb1a3a9cde616ccc835418f0c3d98a38d8c",
"tests/core/data_model/test_producer.py": "acfd57ccf9a80fe855b9d956ad8ca38b283a10baa9e53f37bbe63d825bd092b3",
"tests/core/data_model/test_timestamp.py": "492140f23f4f3039d1b9f326eddbec3602247e83df6aa0beb9c03f90fbe22c88",
"tests/runtime/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"tests/runtime/conftest.py": "0b94aac3a5272f4a901ba2fde1cf815017b638b2d98cdfc5a1c9a8260787dce5",
"tests/runtime/generated/__init__.py": "6e79028d905fc52a7900d04eedec487eabd8779a1c8ec9872a36ddf1254f01a3",
"tests/runtime/interceptors/__init__.py": "a313cb1a3cb4da825929ec79b4e4ba0841fab5bcc643f3e0a2cfe30de09076ad",
"tests/runtime/interceptors/test_caikit_runtime_server_wrapper.py": "c777d3043a5df446896c5fafb8efd6a27a219a1b163a34cda145721c1addd378",
"tests/runtime/metrics/__init__.py": "a313cb1a3cb4da825929ec79b4e4ba0841fab5bcc643f3e0a2cfe30de09076ad",
"tests/runtime/metrics/test_rpc_meter.py": "f4d80ef7fd32bb6c6bb753dfe31fdcdad94318cb313d19486770c2e5cacf6bca",
"tests/runtime/model_management/__init__.py": "a313cb1a3cb4da825929ec79b4e4ba0841fab5bcc643f3e0a2cfe30de09076ad",
"tests/runtime/model_management/test_batcher.py": "b83c2d856cee5d67c82ad3c8c76af460e27af084fc7ce2c714f89db977a4ffef",
"tests/runtime/model_management/test_model_loader.py": "8c0b63722132b6b1dcc2cfc1318129aa7ffe5293a6c019ab5acd3cf8284e4721",
"tests/runtime/model_management/test_model_manager.py": "942e3e234410ba90f05b5cf52b06cc2d33996a8b611385a233ec8220d2a01955",
"tests/runtime/model_management/test_model_sizer.py": "de6ff60c368f71b759254d61d129956a05ad79d69da78b92433a821fa6b5d800",
"tests/runtime/service_generation/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"tests/runtime/service_generation/test_create_service.py": "54445503190a2d193a0efbc6f27fc95583ba79967aaf43aec8cee1c20454d8d6",
"tests/runtime/service_generation/test_data_stream_source.py": "c4cf04d55b583f70b3956273a8009f8cafdc59b193544f4daf0c2bc91a787fb1",
"tests/runtime/service_generation/test_protoable.py": "decd2cfaf21ffcbd3e63796e8d736ab520cdb5292bece0d18a48dda4ead4d07a",
"tests/runtime/service_generation/test_rpcs.py": "edb4dd5e0ab988007e72e4687c9afc77c45d1555f4264818e79cb2acb832cba2",
"tests/runtime/service_generation/test_type_helpers.py": "94577dba50d1d3a79f0979a844241b8484920047ec71470c33518611f809544d",
"tests/runtime/servicers/__init__.py": "a313cb1a3cb4da825929ec79b4e4ba0841fab5bcc643f3e0a2cfe30de09076ad",
"tests/runtime/servicers/test_global_predict_servicer_impl.py": "0dac09a0e2c07d4fe838782d72573947957c7612a680d2b6ea7ff18c7d0c778e",
"tests/runtime/servicers/test_global_train_servicer_impl.py": "e53963831a81e18b8e92404b0fa468364f5dc84e781ff701773c80b104f33e75",
"tests/runtime/servicers/test_model_runtime_servicer_impl.py": "5794afb82844575e03375bd8144f34139fa75e4affd60b6ea535ff86c41c4102",
"tests/runtime/servicers/test_model_train_servicer_impl.py": "6b717c44ff876f57b55cb4141a1af120d65f62e4afa9e934ee7512ac7da5816c",
"tests/runtime/servicers/test_training_management_servicer.py": "776f0849c4c3d996b7eb2ccf907b424126e20500b81cb9145e21fe75c2df851d",
"tests/runtime/test_grpc_server.py": "bee5fbff2fcf0db1d69bc74f921007a984d860ccd606631a1406f8a921ec1257",
"tests/runtime/test_http_server.py": "f50712aa2d09f127e198a838362adbd02ae56add7a4f02b4a3508eed8f3f15f1",
"tests/runtime/test_service_factory.py": "5c26a0fd2a92bbac0ca2112a04e1a3cba99296772e425dcb06e77f3e5d3dd0e2",
"tests/runtime/utils/__init__.py": "a313cb1a3cb4da825929ec79b4e4ba0841fab5bcc643f3e0a2cfe30de09076ad",
"tests/runtime/utils/test_import_util.py": "0233268319feeb5bb138b001b527f8fe4d03273fbaa1edac52fdf3c6957ca663",
"tests/runtime/utils/test_servicer_util.py": "530468ee90518a78e75fa250f102f3ca6b32a70b70650ab43033d9c1cf26fde7",
"tests/runtime/work_management/__init__.py": "a313cb1a3cb4da825929ec79b4e4ba0841fab5bcc643f3e0a2cfe30de09076ad",
"tests/runtime/work_management/test_abortable_action.py": "a47cec4922aba47f2bfc56c10d25bf2b7577e48e1e3dc55a587a5416b689cfca",
"tests/runtime/work_management/test_call_aborter.py": "8899239bf028883a46a1b500f68271d7e08d88607c5509e27651b73af3def6cb"
}
}The bundle
Recorded JSON and patches. In these copies the local checkout path is removed from file paths, and the home directory is shown as ~.
- attempts/1/filtered.diff
- attempts/1/patch.diff
- attempts/1/verdict.json
- attempts/1/witness/receipts.jsonl
- baseline.json
- branches/agent1/receipts.jsonl
- branches/base/receipts.jsonl
- branches/official1/receipts.jsonl
- branches/w1/receipts.jsonl
- cost.json
- disclosure.json
- input.json
- lock.txt
- plan.json
- record.json
- result.json