wellmanifest-priority 0.1.0.dev0__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.
@@ -0,0 +1,124 @@
1
+ Metadata-Version: 2.4
2
+ Name: wellmanifest-priority
3
+ Version: 0.1.0.dev0
4
+ Summary: Propose-only priority documents, deterministic ranking, and conformance contracts
5
+ Author: Wellmanifest
6
+ License: Apache-2.0
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ Provides-Extra: test
10
+ Requires-Dist: jsonschema>=4.23; extra == "test"
11
+
12
+ # wellmanifest/priority
13
+
14
+ `wellmanifest.priority/v1` — standing priorities, the signals that reweight them,
15
+ and the amendments by which the intent itself is revised.
16
+
17
+ Abstract and project-agnostic: this pack names no organization, product, or
18
+ repository. Concrete adopters belong in `examples/`.
19
+
20
+ ## The problem
21
+
22
+ A ranked list of priorities is a photograph. It is correct when written and wrong
23
+ shortly after, because the state that justified the ranking keeps moving. Agents
24
+ then re-derive priorities from prose — each one differently — and the ranking
25
+ quietly becomes whatever the last model guessed.
26
+
27
+ Three specific failures follow, and the design targets each:
28
+
29
+ 1. **Everything is negotiable.** With a single numeric score, enough accumulated
30
+ small work outranks a correctness invariant. Fixed by **lexicographic tiers**:
31
+ a `floor` item cannot be outranked by any amount of lower-tier weight.
32
+ 2. **Priorities never die.** Without a completion test an item stays on the list
33
+ forever, consuming attention that belongs to work that can finish. Fixed by
34
+ making `SATISFIED_WHEN` **required**.
35
+ 3. **The intent silently becomes a different intent.** Fixed by separating
36
+ `ON` (changes the weight) from `AMEND` (changes the intent), and requiring
37
+ an amendment to justify itself.
38
+
39
+ ## Effect model
40
+
41
+ `propose-only`. The document ranks work and explains the ranking. It never
42
+ authorizes an edit.
43
+
44
+ ## Usage
45
+
46
+ ```sh
47
+ python3 -m pip install -e .
48
+ priority validate examples/standardization.priority.dsl
49
+ priority rank examples/standardization.priority.dsl --readings examples/readings.demo.json
50
+ priority receipt examples/standardization.priority.dsl \
51
+ --readings examples/readings.demo.json \
52
+ --context examples/evaluation-context.demo.json
53
+ priority matrix examples/standardization.priority.dsl
54
+ priority select examples/standardization.priority.dsl --capacity 3
55
+ priority project examples/standardization.priority.dsl # proposed bytes only
56
+ priority check examples/standardization.priority.dsl # drift gate
57
+ ```
58
+
59
+ The evaluator accepts only a versioned `wellmanifest.priority/readings/v1`
60
+ envelope bound to the exact document digest and producer references. It never
61
+ executes those producers. A runtime integration may run an explicit allowlist,
62
+ then pass its observations to the pure evaluator. `observedAt` controls reading
63
+ freshness; optional `activeSince` records how long a condition has held.
64
+
65
+ Independent producers may emit partial readings envelopes. `compose_readings`
66
+ combines disjoint, validated envelopes and emits a
67
+ `wellmanifest.priority/readings-composition/v1` receipt binding every source
68
+ digest and revision to the final readings digest. Duplicate signals and source
69
+ observations newer than the composition time fail closed.
70
+
71
+ `priority receipt` emits a deterministic `wellmanifest.priority/ranking/v1`
72
+ receipt. It is digest-bound and always carries `executionAuthorized: false`.
73
+
74
+ Escalation, decay and starvation additionally depend on elapsed durations. A
75
+ runtime that supplies them uses a
76
+ `wellmanifest.priority/evaluation-context/v1` envelope bound to the exact
77
+ document and readings revision. Passing `--context` emits
78
+ `wellmanifest.priority/ranking/v2`, whose receipt binds every input that can
79
+ change the rank. V1 remains available for evaluations that do not supply this
80
+ time context.
81
+
82
+ An external runtime may sign an
83
+ `wellmanifest.priority/evaluation-attestation/v1` over the exact document,
84
+ readings, context and ranking v2 digest. The reference verifier requires an
85
+ allowlisted issuer implementation digest, audience, current 15-minute validity
86
+ window, unused nonce and a caller-provided protected signature verifier. The
87
+ attestation remains `executionAuthorized: false`; it proves provenance and
88
+ reproducibility, not permission to execute work.
89
+
90
+ ## Reaching heterogeneous agents
91
+
92
+ Claude, ChatGPT/Codex, Gemini and IDE assistants read different files, and no
93
+ standard will change that. So the document is the authority and every agent-facing
94
+ file is a **generated projection** of it. `priority project` only proposes the
95
+ exact output bytes. An adopter-owned workflow may review and splice the marked
96
+ block so hand-written instructions around it survive:
97
+
98
+ | Target | File |
99
+ |---|---|
100
+ | Codex / ChatGPT, and the ecosystem contract | `AGENTS.md` |
101
+ | Claude Code | `CLAUDE.md` |
102
+ | Gemini CLI | `GEMINI.md` |
103
+ | Cursor | `.cursor/rules/priority.mdc` |
104
+ | CI, hooks, non-agent consumers | `.priority/ranking.json` |
105
+
106
+ `priority check` fails when a projection drifts, which is what stops the files
107
+ from becoming three different rankings.
108
+
109
+ ## Documents
110
+
111
+ - [`docs/STANDARD.md`](docs/STANDARD.md) — normative model: tiers, weight,
112
+ signals, complementarity, conformance levels.
113
+ - [`docs/GRAMMAR.md`](docs/GRAMMAR.md) — the `DOCUMENT PRIORITY` text form.
114
+ - [`docs/TRIGGERS.md`](docs/TRIGGERS.md) — commit / interval / watch cadences.
115
+ - [`docs/COMPLEMENTARITY.md`](docs/COMPLEMENTARITY.md) — how pairings are measured.
116
+
117
+ ## Conformance
118
+
119
+ | Level | Requires |
120
+ |---|---|
121
+ | `document` | Parses and validates |
122
+ | `signalled` | Every modifier names a signal with a declared producer |
123
+ | `projected` | Agent files generated and drift-checked |
124
+ | `measured` | Complementarity computed from observed co-movement, not only declared |
@@ -0,0 +1,113 @@
1
+ # wellmanifest/priority
2
+
3
+ `wellmanifest.priority/v1` — standing priorities, the signals that reweight them,
4
+ and the amendments by which the intent itself is revised.
5
+
6
+ Abstract and project-agnostic: this pack names no organization, product, or
7
+ repository. Concrete adopters belong in `examples/`.
8
+
9
+ ## The problem
10
+
11
+ A ranked list of priorities is a photograph. It is correct when written and wrong
12
+ shortly after, because the state that justified the ranking keeps moving. Agents
13
+ then re-derive priorities from prose — each one differently — and the ranking
14
+ quietly becomes whatever the last model guessed.
15
+
16
+ Three specific failures follow, and the design targets each:
17
+
18
+ 1. **Everything is negotiable.** With a single numeric score, enough accumulated
19
+ small work outranks a correctness invariant. Fixed by **lexicographic tiers**:
20
+ a `floor` item cannot be outranked by any amount of lower-tier weight.
21
+ 2. **Priorities never die.** Without a completion test an item stays on the list
22
+ forever, consuming attention that belongs to work that can finish. Fixed by
23
+ making `SATISFIED_WHEN` **required**.
24
+ 3. **The intent silently becomes a different intent.** Fixed by separating
25
+ `ON` (changes the weight) from `AMEND` (changes the intent), and requiring
26
+ an amendment to justify itself.
27
+
28
+ ## Effect model
29
+
30
+ `propose-only`. The document ranks work and explains the ranking. It never
31
+ authorizes an edit.
32
+
33
+ ## Usage
34
+
35
+ ```sh
36
+ python3 -m pip install -e .
37
+ priority validate examples/standardization.priority.dsl
38
+ priority rank examples/standardization.priority.dsl --readings examples/readings.demo.json
39
+ priority receipt examples/standardization.priority.dsl \
40
+ --readings examples/readings.demo.json \
41
+ --context examples/evaluation-context.demo.json
42
+ priority matrix examples/standardization.priority.dsl
43
+ priority select examples/standardization.priority.dsl --capacity 3
44
+ priority project examples/standardization.priority.dsl # proposed bytes only
45
+ priority check examples/standardization.priority.dsl # drift gate
46
+ ```
47
+
48
+ The evaluator accepts only a versioned `wellmanifest.priority/readings/v1`
49
+ envelope bound to the exact document digest and producer references. It never
50
+ executes those producers. A runtime integration may run an explicit allowlist,
51
+ then pass its observations to the pure evaluator. `observedAt` controls reading
52
+ freshness; optional `activeSince` records how long a condition has held.
53
+
54
+ Independent producers may emit partial readings envelopes. `compose_readings`
55
+ combines disjoint, validated envelopes and emits a
56
+ `wellmanifest.priority/readings-composition/v1` receipt binding every source
57
+ digest and revision to the final readings digest. Duplicate signals and source
58
+ observations newer than the composition time fail closed.
59
+
60
+ `priority receipt` emits a deterministic `wellmanifest.priority/ranking/v1`
61
+ receipt. It is digest-bound and always carries `executionAuthorized: false`.
62
+
63
+ Escalation, decay and starvation additionally depend on elapsed durations. A
64
+ runtime that supplies them uses a
65
+ `wellmanifest.priority/evaluation-context/v1` envelope bound to the exact
66
+ document and readings revision. Passing `--context` emits
67
+ `wellmanifest.priority/ranking/v2`, whose receipt binds every input that can
68
+ change the rank. V1 remains available for evaluations that do not supply this
69
+ time context.
70
+
71
+ An external runtime may sign an
72
+ `wellmanifest.priority/evaluation-attestation/v1` over the exact document,
73
+ readings, context and ranking v2 digest. The reference verifier requires an
74
+ allowlisted issuer implementation digest, audience, current 15-minute validity
75
+ window, unused nonce and a caller-provided protected signature verifier. The
76
+ attestation remains `executionAuthorized: false`; it proves provenance and
77
+ reproducibility, not permission to execute work.
78
+
79
+ ## Reaching heterogeneous agents
80
+
81
+ Claude, ChatGPT/Codex, Gemini and IDE assistants read different files, and no
82
+ standard will change that. So the document is the authority and every agent-facing
83
+ file is a **generated projection** of it. `priority project` only proposes the
84
+ exact output bytes. An adopter-owned workflow may review and splice the marked
85
+ block so hand-written instructions around it survive:
86
+
87
+ | Target | File |
88
+ |---|---|
89
+ | Codex / ChatGPT, and the ecosystem contract | `AGENTS.md` |
90
+ | Claude Code | `CLAUDE.md` |
91
+ | Gemini CLI | `GEMINI.md` |
92
+ | Cursor | `.cursor/rules/priority.mdc` |
93
+ | CI, hooks, non-agent consumers | `.priority/ranking.json` |
94
+
95
+ `priority check` fails when a projection drifts, which is what stops the files
96
+ from becoming three different rankings.
97
+
98
+ ## Documents
99
+
100
+ - [`docs/STANDARD.md`](docs/STANDARD.md) — normative model: tiers, weight,
101
+ signals, complementarity, conformance levels.
102
+ - [`docs/GRAMMAR.md`](docs/GRAMMAR.md) — the `DOCUMENT PRIORITY` text form.
103
+ - [`docs/TRIGGERS.md`](docs/TRIGGERS.md) — commit / interval / watch cadences.
104
+ - [`docs/COMPLEMENTARITY.md`](docs/COMPLEMENTARITY.md) — how pairings are measured.
105
+
106
+ ## Conformance
107
+
108
+ | Level | Requires |
109
+ |---|---|
110
+ | `document` | Parses and validates |
111
+ | `signalled` | Every modifier names a signal with a declared producer |
112
+ | `projected` | Agent files generated and drift-checked |
113
+ | `measured` | Complementarity computed from observed co-movement, not only declared |
@@ -0,0 +1,31 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "wellmanifest-priority"
7
+ version = "0.1.0.dev0"
8
+ description = "Propose-only priority documents, deterministic ranking, and conformance contracts"
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = {text = "Apache-2.0"}
12
+ authors = [{name = "Wellmanifest"}]
13
+ dependencies = []
14
+
15
+ [project.optional-dependencies]
16
+ test = ["jsonschema>=4.23"]
17
+
18
+ [project.scripts]
19
+ priority = "priority:main"
20
+ wellmanifest-priority = "priority:main"
21
+
22
+ [tool.setuptools]
23
+ package-dir = {"" = "src"}
24
+ py-modules = ["priority"]
25
+
26
+ [tool.setuptools.packages.find]
27
+ where = ["src"]
28
+
29
+ [tool.unittest]
30
+ start-directory = "tests"
31
+
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+