Commit 30fe335
committed
feat(manager): classify every team-plan field and refuse an unhonored limit
A confirmed team plan carried a quota envelope and a stop condition that no
owner enforces at plan level, and the confirmation card listed them beside real
work with nothing to tell them apart. An owner could read a bounded envelope as
a limit that holds, while the only claim behind it was JSON.
Classify every validated plan field and make the plan say which limits it wants
enforced:
* The validated preview now carries `field_classification`: a lane's first
bounded Todo is an `execution_constraint` because the confirmation creates it
through the canonical Todo owner, its acceptance is a
`retained_acceptance_reference` because it is kept beside that work, and the
objective, plan-level envelope and stop condition are `advisory`.
* A plan may declare `enforcement` for the plan-level envelope and stop
condition. `advisory` is accepted; `enforced` is refused before confirmation
with the field named and the supported value stated, because this host has no
plan-level enforcement owner. A field outside that closed set, and an invented
value, are refused too.
* The Dashboard card and the language-neutral `review_card_frame_v0` show each
field's class, so a limit nothing holds cannot render as a binding. A field
the host did not classify keeps no class instead of being assumed to bind.
* The steward skill states the rule where the plan is written, and the roadmap
and selection RFC record the closed F1 rather than accumulating a second
current truth.
Evidence: previous runtime admits the claim with no classification at all
(`ADMITTED: classification = None`) while this head refuses it; 120 focused
Python tests; `npm run test:control-plane` fails exactly the pre-existing set
(no new failure); team-plan dashboard smoke, action-review-plan smoke, packaged
`smoke:personal-workspace-packaged` with all six scenarios; docs governance and
asset integrity smokes; `loopx canary premerge --from-git-diff` ok with 0
failures. Control-plane change: proposed for review, not self-merged.
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>1 parent e66615d commit 30fe335
19 files changed
Lines changed: 430 additions & 39 deletions
File tree
- apps/presentation/dashboard
- smoke
- src/features/personal-workspace
- docs/architecture/rfcs
- examples/personal-workspace-browser
- loopx
- capabilities/manager_context/skills/loopx-manager
- control_plane
- presentation
- work_items
- web/chat
- assets
- tests
- control_plane_ts
Lines changed: 31 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
97 | 104 | | |
98 | 105 | | |
99 | 106 | | |
| |||
130 | 137 | | |
131 | 138 | | |
132 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
133 | 143 | | |
134 | 144 | | |
135 | 145 | | |
| |||
149 | 159 | | |
150 | 160 | | |
151 | 161 | | |
152 | | - | |
153 | | - | |
| 162 | + | |
| 163 | + | |
154 | 164 | | |
155 | 165 | | |
156 | 166 | | |
157 | 167 | | |
158 | 168 | | |
159 | 169 | | |
160 | 170 | | |
161 | | - | |
162 | 171 | | |
163 | | - | |
164 | | - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
165 | 179 | | |
166 | 180 | | |
167 | 181 | | |
168 | 182 | | |
169 | 183 | | |
170 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
171 | 197 | | |
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
700 | 700 | | |
701 | 701 | | |
702 | 702 | | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
703 | 706 | | |
704 | 707 | | |
705 | 708 | | |
| |||
1738 | 1741 | | |
1739 | 1742 | | |
1740 | 1743 | | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
1741 | 1747 | | |
1742 | 1748 | | |
1743 | 1749 | | |
| |||
Lines changed: 42 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
24 | 51 | | |
25 | 52 | | |
26 | 53 | | |
27 | 54 | | |
28 | 55 | | |
| 56 | + | |
29 | 57 | | |
30 | 58 | | |
31 | 59 | | |
| |||
61 | 89 | | |
62 | 90 | | |
63 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
64 | 98 | | |
65 | 99 | | |
66 | 100 | | |
67 | 101 | | |
68 | 102 | | |
69 | | - | |
| 103 | + | |
70 | 104 | | |
71 | 105 | | |
72 | 106 | | |
| |||
90 | 124 | | |
91 | 125 | | |
92 | 126 | | |
93 | | - | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
94 | 131 | | |
95 | 132 | | |
96 | 133 | | |
97 | 134 | | |
98 | 135 | | |
99 | 136 | | |
100 | 137 | | |
101 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
102 | 141 | | |
103 | 142 | | |
104 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
522 | 522 | | |
523 | 523 | | |
524 | 524 | | |
525 | | - | |
526 | | - | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
527 | 532 | | |
528 | 533 | | |
529 | 534 | | |
530 | 535 | | |
531 | 536 | | |
532 | | - | |
| 537 | + | |
533 | 538 | | |
534 | 539 | | |
535 | 540 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
403 | 403 | | |
404 | 404 | | |
405 | 405 | | |
406 | | - | |
| 406 | + | |
407 | 407 | | |
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
411 | 411 | | |
412 | | - | |
| 412 | + | |
413 | 413 | | |
414 | 414 | | |
415 | 415 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
| 303 | + | |
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
| |||
0 commit comments