masterwork 0.0.1__tar.gz → 0.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {masterwork-0.0.1/masterwork.egg-info → masterwork-0.0.2}/PKG-INFO +20 -17
- {masterwork-0.0.1 → masterwork-0.0.2}/README.md +3 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/README.pypi.md +19 -16
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/__init__.py +1 -1
- {masterwork-0.0.1 → masterwork-0.0.2/masterwork.egg-info}/PKG-INFO +20 -17
- {masterwork-0.0.1 → masterwork-0.0.2}/pyproject.toml +1 -1
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_packaging.py +19 -5
- {masterwork-0.0.1 → masterwork-0.0.2}/LICENSE +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/__main__.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/blind_label.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/campaign.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/cells.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/ceremony.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/gate.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/line.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/measure.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/pairs.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/retain.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/rubric-example.json +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork/seal.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork.egg-info/SOURCES.txt +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork.egg-info/dependency_links.txt +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork.egg-info/entry_points.txt +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork.egg-info/requires.txt +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/masterwork.egg-info/top_level.txt +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/setup.cfg +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_blind_label.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_campaign.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_cells.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_ceremony.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_cli.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_examples.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_gate.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_line.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_measure.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_pairs.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_retain.py +0 -0
- {masterwork-0.0.1 → masterwork-0.0.2}/tests/test_seal.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: masterwork
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: A production line for agent character: a sitting the model speaks for itself in, sealed candidates, frozen gates, and a verdict it is not allowed to give itself.
|
|
5
5
|
Author: Codechu
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -25,11 +25,11 @@ License-File: LICENSE
|
|
|
25
25
|
Requires-Dist: journeyman-bench>=0.2.1
|
|
26
26
|
Dynamic: license-file
|
|
27
27
|
|
|
28
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
28
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/banner.jpg" alt="A craftsman slides a sealed folio across his bench onto the guild's empty judging table; earlier pieces stand turned to the wall behind him." width="100%"></p>
|
|
29
29
|
|
|
30
30
|
# Masterwork
|
|
31
31
|
|
|
32
|
-
[](#run-it) [](https://github.com/codechu/masterwork/blob/v0.0.
|
|
32
|
+
[](#run-it) [](https://github.com/codechu/masterwork/blob/v0.0.2/LICENSE) [](https://github.com/codechu/masterwork/blob/v0.0.2/CONTRIBUTING.md#ground-rules) [](#status)
|
|
33
33
|
|
|
34
34
|
*Makes a character for a model. Does not score it.*
|
|
35
35
|
|
|
@@ -115,7 +115,7 @@ record, and exits in a way that says *waiting*, not *broken*.
|
|
|
115
115
|
| `HELD_WITHOUT_PURPOSE` | the spec does not say what the run decides | write `purpose`; if you cannot say what changes on each outcome, the run is not ready |
|
|
116
116
|
| `HELD_AT_SEAL` | the piece is unreproducible, or the deployed copy differs | fix the seal or the deployment — never run "just to see" |
|
|
117
117
|
| `HELD_AT_COMPLETENESS` | the grid is short | find the missing cells; if proceeding anyway, declare it |
|
|
118
|
-
| `HELD_FOR_LABELLING` | labels are missing, empty, or written for an older version of a cell | get them with [`masterwork/blind_label.py`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
118
|
+
| `HELD_FOR_LABELLING` | labels are missing, empty, or written for an older version of a cell | get them with [`masterwork/blind_label.py`](https://github.com/codechu/masterwork/blob/v0.0.2/masterwork/blind_label.py); the line is waiting, not broken |
|
|
119
119
|
| `HELD_AT_MEASUREMENT` | the benchmark says the score is not comparable | judge from a separate endpoint, or declare and keep the stamp |
|
|
120
120
|
| `HELD_AT_GATE` | a threshold sits inside its own noise | the gate is void; measure the band, write a new gate |
|
|
121
121
|
| `HELD_WITHOUT_MEASUREMENT` | a rule names an axis and nothing measured it | judge with the benchmark, or declare the run diagnostic — a gate that was checked is not a gate that was applied |
|
|
@@ -173,7 +173,7 @@ deleted, because deciding what to remove is not the line's call.
|
|
|
173
173
|
|
|
174
174
|
## Making a piece
|
|
175
175
|
|
|
176
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
176
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/ceremony.jpg" alt="A figure writes alone by lantern light; every earlier work in the room is draped and turned away, and a stick of sealing wax lies unused on the table." width="520"></p>
|
|
177
177
|
|
|
178
178
|
`pipeline/ceremony.py` runs the sitting. Four properties are the recipe rather
|
|
179
179
|
than implementation detail, and each was paid for:
|
|
@@ -220,10 +220,10 @@ You get the line and its gates, the shape of the sitting, and the method
|
|
|
220
220
|
written down: how a tale differs from an instruction, where a tale comes from,
|
|
221
221
|
what a question has to do, why instructions come last, and how to tag a tale
|
|
222
222
|
whose effect cannot be separated. That is
|
|
223
|
-
[`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
223
|
+
[`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/GROWING.md), and it is the part that transfers.
|
|
224
224
|
|
|
225
225
|
You do not get a corpus. Three pairs come with the repository in
|
|
226
|
-
[`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
226
|
+
[`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/starter/) so the machinery runs end to end and the
|
|
227
227
|
form is unambiguous; they are a beginning and they are meant to be outgrown.
|
|
228
228
|
The corpus is the work, and it has to be yours: a tale is written from
|
|
229
229
|
something **you** measured and got wrong, and a corpus assembled from someone
|
|
@@ -279,12 +279,13 @@ the position — a masterwork is submitted, and it can be refused.
|
|
|
279
279
|
|
|
280
280
|
| document | when you need it |
|
|
281
281
|
|---|---|
|
|
282
|
-
| [`AGENTS.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
283
|
-
| [`docs/run-spec.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
284
|
-
| [`docs/campaigns.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
285
|
-
| [`docs/gates.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
286
|
-
| [`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
287
|
-
| [`CHANGELOG.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
282
|
+
| [`AGENTS.md`](https://github.com/codechu/masterwork/blob/v0.0.2/AGENTS.md) | before running anything — the refusals, the vocabulary, and the four things not to do. Read it whether or not you are an agent |
|
|
283
|
+
| [`docs/run-spec.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/run-spec.md) | writing the JSON for one run, field by field |
|
|
284
|
+
| [`docs/campaigns.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/campaigns.md) | repeating an arm to measure a band, or comparing two arms against it |
|
|
285
|
+
| [`docs/gates.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/gates.md) | writing a threshold that can hold — start from [`gates/succession.md`](https://github.com/codechu/masterwork/blob/v0.0.2/gates/succession.md) |
|
|
286
|
+
| [`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/GROWING.md) | before writing a single tale — the shape is in [`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/starter/) |
|
|
287
|
+
| [`CHANGELOG.md`](https://github.com/codechu/masterwork/blob/v0.0.2/CHANGELOG.md) | every entry names the incident that caused it |
|
|
288
|
+
| [assets/README.md](https://github.com/codechu/masterwork/blob/v0.0.2/assets/README.md) | you need a fifth image that matches the four |
|
|
288
289
|
|
|
289
290
|
<details>
|
|
290
291
|
<summary>Layout</summary>
|
|
@@ -302,8 +303,10 @@ runs/ local run directories (ignored — heavy and re-derivable)
|
|
|
302
303
|
|
|
303
304
|
---
|
|
304
305
|
|
|
305
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
306
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/icon.png" alt="Masterwork guild seal — a struck M hallmark inside a rope ring" width="96"></p>
|
|
306
307
|
|
|
307
|
-
Contributing: [CONTRIBUTING.md](https://github.com/codechu/masterwork/blob/v0.0.
|
|
308
|
-
[CHANGELOG.md](https://github.com/codechu/masterwork/blob/v0.0.
|
|
309
|
-
[Apache License 2.0](https://github.com/codechu/masterwork/blob/v0.0.
|
|
308
|
+
Contributing: [CONTRIBUTING.md](https://github.com/codechu/masterwork/blob/v0.0.2/CONTRIBUTING.md) · Changelog:
|
|
309
|
+
[CHANGELOG.md](https://github.com/codechu/masterwork/blob/v0.0.2/CHANGELOG.md) · Licensed under the
|
|
310
|
+
[Apache License 2.0](https://github.com/codechu/masterwork/blob/v0.0.2/LICENSE).
|
|
311
|
+
|
|
312
|
+
Part of [Codechu](https://github.com/codechu).
|
|
@@ -258,6 +258,7 @@ the position — a masterwork is submitted, and it can be refused.
|
|
|
258
258
|
| [`docs/gates.md`](docs/gates.md) | writing a threshold that can hold — start from [`gates/succession.md`](gates/succession.md) |
|
|
259
259
|
| [`corpus/GROWING.md`](corpus/GROWING.md) | before writing a single tale — the shape is in [`corpus/starter/`](corpus/starter/) |
|
|
260
260
|
| [`CHANGELOG.md`](CHANGELOG.md) | every entry names the incident that caused it |
|
|
261
|
+
| [assets/README.md](assets/README.md) | you need a fifth image that matches the four |
|
|
261
262
|
|
|
262
263
|
<details>
|
|
263
264
|
<summary>Layout</summary>
|
|
@@ -280,3 +281,5 @@ runs/ local run directories (ignored — heavy and re-derivable)
|
|
|
280
281
|
Contributing: [CONTRIBUTING.md](CONTRIBUTING.md) · Changelog:
|
|
281
282
|
[CHANGELOG.md](CHANGELOG.md) · Licensed under the
|
|
282
283
|
[Apache License 2.0](LICENSE).
|
|
284
|
+
|
|
285
|
+
Part of [Codechu](https://github.com/codechu).
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
1
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/banner.jpg" alt="A craftsman slides a sealed folio across his bench onto the guild's empty judging table; earlier pieces stand turned to the wall behind him." width="100%"></p>
|
|
2
2
|
|
|
3
3
|
# Masterwork
|
|
4
4
|
|
|
5
|
-
[](#run-it) [](https://github.com/codechu/masterwork/blob/v0.0.
|
|
5
|
+
[](#run-it) [](https://github.com/codechu/masterwork/blob/v0.0.2/LICENSE) [](https://github.com/codechu/masterwork/blob/v0.0.2/CONTRIBUTING.md#ground-rules) [](#status)
|
|
6
6
|
|
|
7
7
|
*Makes a character for a model. Does not score it.*
|
|
8
8
|
|
|
@@ -88,7 +88,7 @@ record, and exits in a way that says *waiting*, not *broken*.
|
|
|
88
88
|
| `HELD_WITHOUT_PURPOSE` | the spec does not say what the run decides | write `purpose`; if you cannot say what changes on each outcome, the run is not ready |
|
|
89
89
|
| `HELD_AT_SEAL` | the piece is unreproducible, or the deployed copy differs | fix the seal or the deployment — never run "just to see" |
|
|
90
90
|
| `HELD_AT_COMPLETENESS` | the grid is short | find the missing cells; if proceeding anyway, declare it |
|
|
91
|
-
| `HELD_FOR_LABELLING` | labels are missing, empty, or written for an older version of a cell | get them with [`masterwork/blind_label.py`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
91
|
+
| `HELD_FOR_LABELLING` | labels are missing, empty, or written for an older version of a cell | get them with [`masterwork/blind_label.py`](https://github.com/codechu/masterwork/blob/v0.0.2/masterwork/blind_label.py); the line is waiting, not broken |
|
|
92
92
|
| `HELD_AT_MEASUREMENT` | the benchmark says the score is not comparable | judge from a separate endpoint, or declare and keep the stamp |
|
|
93
93
|
| `HELD_AT_GATE` | a threshold sits inside its own noise | the gate is void; measure the band, write a new gate |
|
|
94
94
|
| `HELD_WITHOUT_MEASUREMENT` | a rule names an axis and nothing measured it | judge with the benchmark, or declare the run diagnostic — a gate that was checked is not a gate that was applied |
|
|
@@ -146,7 +146,7 @@ deleted, because deciding what to remove is not the line's call.
|
|
|
146
146
|
|
|
147
147
|
## Making a piece
|
|
148
148
|
|
|
149
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
149
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/ceremony.jpg" alt="A figure writes alone by lantern light; every earlier work in the room is draped and turned away, and a stick of sealing wax lies unused on the table." width="520"></p>
|
|
150
150
|
|
|
151
151
|
`pipeline/ceremony.py` runs the sitting. Four properties are the recipe rather
|
|
152
152
|
than implementation detail, and each was paid for:
|
|
@@ -193,10 +193,10 @@ You get the line and its gates, the shape of the sitting, and the method
|
|
|
193
193
|
written down: how a tale differs from an instruction, where a tale comes from,
|
|
194
194
|
what a question has to do, why instructions come last, and how to tag a tale
|
|
195
195
|
whose effect cannot be separated. That is
|
|
196
|
-
[`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
196
|
+
[`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/GROWING.md), and it is the part that transfers.
|
|
197
197
|
|
|
198
198
|
You do not get a corpus. Three pairs come with the repository in
|
|
199
|
-
[`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
199
|
+
[`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/starter/) so the machinery runs end to end and the
|
|
200
200
|
form is unambiguous; they are a beginning and they are meant to be outgrown.
|
|
201
201
|
The corpus is the work, and it has to be yours: a tale is written from
|
|
202
202
|
something **you** measured and got wrong, and a corpus assembled from someone
|
|
@@ -252,12 +252,13 @@ the position — a masterwork is submitted, and it can be refused.
|
|
|
252
252
|
|
|
253
253
|
| document | when you need it |
|
|
254
254
|
|---|---|
|
|
255
|
-
| [`AGENTS.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
256
|
-
| [`docs/run-spec.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
257
|
-
| [`docs/campaigns.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
258
|
-
| [`docs/gates.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
259
|
-
| [`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
260
|
-
| [`CHANGELOG.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
255
|
+
| [`AGENTS.md`](https://github.com/codechu/masterwork/blob/v0.0.2/AGENTS.md) | before running anything — the refusals, the vocabulary, and the four things not to do. Read it whether or not you are an agent |
|
|
256
|
+
| [`docs/run-spec.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/run-spec.md) | writing the JSON for one run, field by field |
|
|
257
|
+
| [`docs/campaigns.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/campaigns.md) | repeating an arm to measure a band, or comparing two arms against it |
|
|
258
|
+
| [`docs/gates.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/gates.md) | writing a threshold that can hold — start from [`gates/succession.md`](https://github.com/codechu/masterwork/blob/v0.0.2/gates/succession.md) |
|
|
259
|
+
| [`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/GROWING.md) | before writing a single tale — the shape is in [`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/starter/) |
|
|
260
|
+
| [`CHANGELOG.md`](https://github.com/codechu/masterwork/blob/v0.0.2/CHANGELOG.md) | every entry names the incident that caused it |
|
|
261
|
+
| [assets/README.md](https://github.com/codechu/masterwork/blob/v0.0.2/assets/README.md) | you need a fifth image that matches the four |
|
|
261
262
|
|
|
262
263
|
<details>
|
|
263
264
|
<summary>Layout</summary>
|
|
@@ -275,8 +276,10 @@ runs/ local run directories (ignored — heavy and re-derivable)
|
|
|
275
276
|
|
|
276
277
|
---
|
|
277
278
|
|
|
278
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
279
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/icon.png" alt="Masterwork guild seal — a struck M hallmark inside a rope ring" width="96"></p>
|
|
279
280
|
|
|
280
|
-
Contributing: [CONTRIBUTING.md](https://github.com/codechu/masterwork/blob/v0.0.
|
|
281
|
-
[CHANGELOG.md](https://github.com/codechu/masterwork/blob/v0.0.
|
|
282
|
-
[Apache License 2.0](https://github.com/codechu/masterwork/blob/v0.0.
|
|
281
|
+
Contributing: [CONTRIBUTING.md](https://github.com/codechu/masterwork/blob/v0.0.2/CONTRIBUTING.md) · Changelog:
|
|
282
|
+
[CHANGELOG.md](https://github.com/codechu/masterwork/blob/v0.0.2/CHANGELOG.md) · Licensed under the
|
|
283
|
+
[Apache License 2.0](https://github.com/codechu/masterwork/blob/v0.0.2/LICENSE).
|
|
284
|
+
|
|
285
|
+
Part of [Codechu](https://github.com/codechu).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: masterwork
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: A production line for agent character: a sitting the model speaks for itself in, sealed candidates, frozen gates, and a verdict it is not allowed to give itself.
|
|
5
5
|
Author: Codechu
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -25,11 +25,11 @@ License-File: LICENSE
|
|
|
25
25
|
Requires-Dist: journeyman-bench>=0.2.1
|
|
26
26
|
Dynamic: license-file
|
|
27
27
|
|
|
28
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
28
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/banner.jpg" alt="A craftsman slides a sealed folio across his bench onto the guild's empty judging table; earlier pieces stand turned to the wall behind him." width="100%"></p>
|
|
29
29
|
|
|
30
30
|
# Masterwork
|
|
31
31
|
|
|
32
|
-
[](#run-it) [](https://github.com/codechu/masterwork/blob/v0.0.
|
|
32
|
+
[](#run-it) [](https://github.com/codechu/masterwork/blob/v0.0.2/LICENSE) [](https://github.com/codechu/masterwork/blob/v0.0.2/CONTRIBUTING.md#ground-rules) [](#status)
|
|
33
33
|
|
|
34
34
|
*Makes a character for a model. Does not score it.*
|
|
35
35
|
|
|
@@ -115,7 +115,7 @@ record, and exits in a way that says *waiting*, not *broken*.
|
|
|
115
115
|
| `HELD_WITHOUT_PURPOSE` | the spec does not say what the run decides | write `purpose`; if you cannot say what changes on each outcome, the run is not ready |
|
|
116
116
|
| `HELD_AT_SEAL` | the piece is unreproducible, or the deployed copy differs | fix the seal or the deployment — never run "just to see" |
|
|
117
117
|
| `HELD_AT_COMPLETENESS` | the grid is short | find the missing cells; if proceeding anyway, declare it |
|
|
118
|
-
| `HELD_FOR_LABELLING` | labels are missing, empty, or written for an older version of a cell | get them with [`masterwork/blind_label.py`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
118
|
+
| `HELD_FOR_LABELLING` | labels are missing, empty, or written for an older version of a cell | get them with [`masterwork/blind_label.py`](https://github.com/codechu/masterwork/blob/v0.0.2/masterwork/blind_label.py); the line is waiting, not broken |
|
|
119
119
|
| `HELD_AT_MEASUREMENT` | the benchmark says the score is not comparable | judge from a separate endpoint, or declare and keep the stamp |
|
|
120
120
|
| `HELD_AT_GATE` | a threshold sits inside its own noise | the gate is void; measure the band, write a new gate |
|
|
121
121
|
| `HELD_WITHOUT_MEASUREMENT` | a rule names an axis and nothing measured it | judge with the benchmark, or declare the run diagnostic — a gate that was checked is not a gate that was applied |
|
|
@@ -173,7 +173,7 @@ deleted, because deciding what to remove is not the line's call.
|
|
|
173
173
|
|
|
174
174
|
## Making a piece
|
|
175
175
|
|
|
176
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
176
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/ceremony.jpg" alt="A figure writes alone by lantern light; every earlier work in the room is draped and turned away, and a stick of sealing wax lies unused on the table." width="520"></p>
|
|
177
177
|
|
|
178
178
|
`pipeline/ceremony.py` runs the sitting. Four properties are the recipe rather
|
|
179
179
|
than implementation detail, and each was paid for:
|
|
@@ -220,10 +220,10 @@ You get the line and its gates, the shape of the sitting, and the method
|
|
|
220
220
|
written down: how a tale differs from an instruction, where a tale comes from,
|
|
221
221
|
what a question has to do, why instructions come last, and how to tag a tale
|
|
222
222
|
whose effect cannot be separated. That is
|
|
223
|
-
[`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
223
|
+
[`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/GROWING.md), and it is the part that transfers.
|
|
224
224
|
|
|
225
225
|
You do not get a corpus. Three pairs come with the repository in
|
|
226
|
-
[`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
226
|
+
[`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/starter/) so the machinery runs end to end and the
|
|
227
227
|
form is unambiguous; they are a beginning and they are meant to be outgrown.
|
|
228
228
|
The corpus is the work, and it has to be yours: a tale is written from
|
|
229
229
|
something **you** measured and got wrong, and a corpus assembled from someone
|
|
@@ -279,12 +279,13 @@ the position — a masterwork is submitted, and it can be refused.
|
|
|
279
279
|
|
|
280
280
|
| document | when you need it |
|
|
281
281
|
|---|---|
|
|
282
|
-
| [`AGENTS.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
283
|
-
| [`docs/run-spec.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
284
|
-
| [`docs/campaigns.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
285
|
-
| [`docs/gates.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
286
|
-
| [`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
287
|
-
| [`CHANGELOG.md`](https://github.com/codechu/masterwork/blob/v0.0.
|
|
282
|
+
| [`AGENTS.md`](https://github.com/codechu/masterwork/blob/v0.0.2/AGENTS.md) | before running anything — the refusals, the vocabulary, and the four things not to do. Read it whether or not you are an agent |
|
|
283
|
+
| [`docs/run-spec.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/run-spec.md) | writing the JSON for one run, field by field |
|
|
284
|
+
| [`docs/campaigns.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/campaigns.md) | repeating an arm to measure a band, or comparing two arms against it |
|
|
285
|
+
| [`docs/gates.md`](https://github.com/codechu/masterwork/blob/v0.0.2/docs/gates.md) | writing a threshold that can hold — start from [`gates/succession.md`](https://github.com/codechu/masterwork/blob/v0.0.2/gates/succession.md) |
|
|
286
|
+
| [`corpus/GROWING.md`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/GROWING.md) | before writing a single tale — the shape is in [`corpus/starter/`](https://github.com/codechu/masterwork/blob/v0.0.2/corpus/starter/) |
|
|
287
|
+
| [`CHANGELOG.md`](https://github.com/codechu/masterwork/blob/v0.0.2/CHANGELOG.md) | every entry names the incident that caused it |
|
|
288
|
+
| [assets/README.md](https://github.com/codechu/masterwork/blob/v0.0.2/assets/README.md) | you need a fifth image that matches the four |
|
|
288
289
|
|
|
289
290
|
<details>
|
|
290
291
|
<summary>Layout</summary>
|
|
@@ -302,8 +303,10 @@ runs/ local run directories (ignored — heavy and re-derivable)
|
|
|
302
303
|
|
|
303
304
|
---
|
|
304
305
|
|
|
305
|
-
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.
|
|
306
|
+
<p align="center"><img src="https://raw.githubusercontent.com/codechu/masterwork/v0.0.2/assets/icon.png" alt="Masterwork guild seal — a struck M hallmark inside a rope ring" width="96"></p>
|
|
306
307
|
|
|
307
|
-
Contributing: [CONTRIBUTING.md](https://github.com/codechu/masterwork/blob/v0.0.
|
|
308
|
-
[CHANGELOG.md](https://github.com/codechu/masterwork/blob/v0.0.
|
|
309
|
-
[Apache License 2.0](https://github.com/codechu/masterwork/blob/v0.0.
|
|
308
|
+
Contributing: [CONTRIBUTING.md](https://github.com/codechu/masterwork/blob/v0.0.2/CONTRIBUTING.md) · Changelog:
|
|
309
|
+
[CHANGELOG.md](https://github.com/codechu/masterwork/blob/v0.0.2/CHANGELOG.md) · Licensed under the
|
|
310
|
+
[Apache License 2.0](https://github.com/codechu/masterwork/blob/v0.0.2/LICENSE).
|
|
311
|
+
|
|
312
|
+
Part of [Codechu](https://github.com/codechu).
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "masterwork"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.2"
|
|
8
8
|
description = "A production line for agent character: a sitting the model speaks for itself in, sealed candidates, frozen gates, and a verdict it is not allowed to give itself."
|
|
9
9
|
readme = "README.pypi.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -39,11 +39,25 @@ def test_the_judge_is_a_declared_dependency():
|
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
def test_versions_agree():
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
"""Four records now, and a release moves all of them or none.
|
|
43
|
+
|
|
44
|
+
Next door a release bumped one of four and left three behind, so the
|
|
45
|
+
package announced one version while every artefact it produced was
|
|
46
|
+
stamped with another. The archived record is the worst of them: a DOI
|
|
47
|
+
citing a version that did not produce the work cannot be corrected
|
|
48
|
+
after the fact.
|
|
49
|
+
"""
|
|
50
|
+
found = {
|
|
51
|
+
"pyproject.toml": re.search(r'(?m)^version = "([^"]+)"',
|
|
52
|
+
read("pyproject.toml")).group(1),
|
|
53
|
+
"masterwork/__init__.py": re.search(r'(?m)^__version__ = "([^"]+)"',
|
|
54
|
+
read("masterwork/__init__.py")).group(1),
|
|
55
|
+
"CITATION.cff": re.search(r"(?m)^version: (\S+)",
|
|
56
|
+
read("CITATION.cff")).group(1),
|
|
57
|
+
".zenodo.json": re.search(r'"version": "([^"]+)"',
|
|
58
|
+
read(".zenodo.json")).group(1),
|
|
59
|
+
}
|
|
60
|
+
assert len(set(found.values())) == 1, f"version drift: {found}"
|
|
47
61
|
|
|
48
62
|
|
|
49
63
|
def test_pypi_readme_is_current():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|