ARCHIVED TRAINING / proteanhq/protean
proteanhq__protean-62
This is a preserved training example. Membership in the current training wave has not been verified.
Problem statement
Allow `Entity` to accept keyword arguments for `update`
Entity accepts attributes to be updated as a dictionary. So the invocation would be something like `entry.update({'votes': entry.votes+1})`.
The proposal is to enhance `update` method to accept keyword arguments too, so that we could do this: `entry.update(votes=entry.votes+1)`
## Hints:
codecov-io: # [Codecov](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=h1) Report
> Merging [#62](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=desc) into [master](https://codecov.io/gh/proteanhq/protean/commit/7bed76610fc19318a364eb90f2aab22e51990878?src=pr&el=desc) will **decrease** coverage by `0.11%`.
> The diff coverage is `76.92%`.
[](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #62 +/- ##
==========================================
- Coverage 79.97% 79.85% -0.12%
==========================================
Files 36 36
Lines 1418 1425 +7
Branches 230 234 +4
==========================================
+ Hits 1134 1138 +4
- Misses 185 186 +1
- Partials 99 101 +2
```
| [Impacted Files](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/protean/core/usecase/generic.py](https://codecov.io/gh/proteanhq/protean/pull/62/diff?src=pr&el=tree#diff-c3JjL3Byb3RlYW4vY29yZS91c2VjYXNlL2dlbmVyaWMucHk=) | `91.66% <100%> (ø)` | :arrow_up: |
| [src/protean/core/entity.py](https://codecov.io/gh/proteanhq/protean/pull/62/diff?src=pr&el=tree#diff-c3JjL3Byb3RlYW4vY29yZS9lbnRpdHkucHk=) | `92.35% <75%> (-1.65%)` | :arrow_down: |
------
[Continue to review full report at Codecov](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=footer). Last update [7bed766...6f0248d](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
Training membership
opd_e4b_pure_v7 opd_e4b_pure_v7b
Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.
Task and snapshot provenance
Snapshot captured 2026-11-12T17:06:59.476467+00:00 · Autoresearch-Arena/gemma-4-developer-agent
{
"datasets": [
"opd_e4b_pure_v7",
"opd_e4b_pure_v7b"
],
"examples": 13,
"instance_id": "proteanhq__protean-62",
"problem_statement": "Allow `Entity` to accept keyword arguments for `update`\nEntity accepts attributes to be updated as a dictionary. So the invocation would be something like `entry.update({'votes': entry.votes+1})`.\r\n\r\nThe proposal is to enhance `update` method to accept keyword arguments too, so that we could do this: `entry.update(votes=entry.votes+1)`\n\n## Hints:\ncodecov-io: # [Codecov](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=h1) Report\n> Merging [#62](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=desc) into [master](https://codecov.io/gh/proteanhq/protean/commit/7bed76610fc19318a364eb90f2aab22e51990878?src=pr&el=desc) will **decrease** coverage by `0.11%`.\n> The diff coverage is `76.92%`.\n\n[](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=tree)\n\n```diff\n@@ Coverage Diff @@\n## master #62 +/- ##\n==========================================\n- Coverage 79.97% 79.85% -0.12% \n==========================================\n Files 36 36 \n Lines 1418 1425 +7 \n Branches 230 234 +4 \n==========================================\n+ Hits 1134 1138 +4 \n- Misses 185 186 +1 \n- Partials 99 101 +2\n```\n\n\n| [Impacted Files](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [src/protean/core/usecase/generic.py](https://codecov.io/gh/proteanhq/protean/pull/62/diff?src=pr&el=tree#diff-c3JjL3Byb3RlYW4vY29yZS91c2VjYXNlL2dlbmVyaWMucHk=) | `91.66% <100%> (ø)` | :arrow_up: |\n| [src/protean/core/entity.py](https://codecov.io/gh/proteanhq/protean/pull/62/diff?src=pr&el=tree#diff-c3JjL3Byb3RlYW4vY29yZS9lbnRpdHkucHk=) | `92.35% <75%> (-1.65%)` | :arrow_down: |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=footer). Last update [7bed766...6f0248d](https://codecov.io/gh/proteanhq/protean/pull/62?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).",
"repo": "proteanhq/protean",
"source": "v2/experiments/train_data/opd_e4b_pure_v7/verified_rft_messages.jsonl",
"source_sha256": "e37f7bd675322f3f81500b73559d60d5f602ca0537bf19f5cb06332c728c7b72"
}{
"captured_at": "2026-11-12T17:06:59.476467+00:00",
"membership": "archived training",
"membership_evidence": "Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.",
"name": "Preserved post-training task archive",
"source": "Autoresearch-Arena/gemma-4-developer-agent",
"source_revision": "016496de222aaafca0d4ee4c18efc63ba616f76e",
"sources": [
{
"path": "v2/experiments/train_data/opd_e4b_cispo_v5/verified_rft_messages.jsonl",
"sha256": "a43610ad0dfb6ace95375cfae09000f41afc0338cc925af870a4ade7a9b20c4c"
},
{
"path": "v2/experiments/train_data/opd_e4b_hybrid_v3/verified_rft_messages.jsonl",
"sha256": "bd326303eb127e8e5e08f03daf97bb88d79d19709d59f3f93f348bc56686a8df"
},
{
"path": "v2/experiments/train_data/opd_e4b_onpolicy_v3/verified_rft_messages.jsonl",
"sha256": "960c680e797e823a0d3a22f4b1d5ef60a72971373d703b877340b0c9126aaf68"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v6a/verified_rft_messages.jsonl",
"sha256": "f045b7ca5b3883a1e2eaee81e1c02a4a1b53dd7b7b36e98bacb2ba5823a15148"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v6b/verified_rft_messages.jsonl",
"sha256": "0f62460a9706eea5e1605255896f191ab00cb5706c5f1f2e1c293e9a718218dc"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v7/verified_rft_messages.jsonl",
"sha256": "e37f7bd675322f3f81500b73559d60d5f602ca0537bf19f5cb06332c728c7b72"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v7b/verified_rft_messages.jsonl",
"sha256": "b864bdc8695183433eef6e31cb8d33fad44ba3aded2170c1ade4ad5b2944ce23"
},
{
"path": "v2/experiments/train_data/opd_e4b_self_audit_v4/verified_rft_messages.jsonl",
"sha256": "0026023745afb8f3dc1c176dc7f7171157b4ad5a66656b524af218e8e19ceee6"
},
{
"path": "v2/experiments/train_data/rft_e4b_aligned_v2/verified_rft_messages.jsonl",
"sha256": "92a4515fee9d152b0d4c510ee3ce4caaaffe2003ba7584469f8027f174aab18c"
},
{
"path": "v2/experiments/train_data/rft_v1/verified_rft_messages.jsonl",
"sha256": "a42453ccd7ac7680b0a03865e8e7080bc8bf74c8d9d193b440c441ed46f8512b"
},
{
"path": "v2/experiments/train_data/rft_v2/verified_rft_messages.jsonl",
"sha256": "18f4b3bd7e651f83c6acab479c9475e3fa50dc652a384f309e97146983ac85ba"
}
]
}