@milpa/comal 0.1.7 → 0.2.0
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.
- package/README.md +19 -1
- package/backend/contracts/remote-commands-v1.json +12 -0
- package/governance/chrome-task-v10.json +323 -0
- package/governance/chrome-task-v11.json +355 -0
- package/governance/chrome-task-v12.json +387 -0
- package/governance/chrome-task-v13.json +419 -0
- package/governance/chrome-task-v3.json +99 -0
- package/governance/chrome-task-v4.json +131 -0
- package/governance/chrome-task-v5.json +163 -0
- package/governance/chrome-task-v6.json +195 -0
- package/governance/chrome-task-v7.json +227 -0
- package/governance/chrome-task-v8.json +259 -0
- package/governance/chrome-task-v9.json +291 -0
- package/governance/source-task-v1.json +1 -0
- package/governance/source-task-v2.json +1 -0
- package/package.json +14 -1
- package/src/agent-recovery-proof.mjs +12 -1
- package/src/agent.mjs +94 -30
- package/src/audit.mjs +21 -6
- package/src/auto-guard.mjs +48 -1
- package/src/chrome-candidate-recovery-proof.mjs +47 -0
- package/src/chrome-recovery-proof.mjs +6 -2
- package/src/chrome-source-syntax.mjs +93 -0
- package/src/cli.mjs +158 -54
- package/src/codex-provider.mjs +3 -2
- package/src/connection-settings.mjs +204 -0
- package/src/context-pressure.mjs +2 -1
- package/src/durable-agent-runs.mjs +5 -11
- package/src/event-channels.mjs +8 -0
- package/src/file-recovery-proof.mjs +11 -3
- package/src/file-recovery.mjs +24 -0
- package/src/gemini-provider.mjs +6 -1
- package/src/git-agent-revision.mjs +12 -0
- package/src/git-agent-workspaces.mjs +143 -0
- package/src/git-integration-lineage.mjs +20 -0
- package/src/git-integration-operations.mjs +200 -0
- package/src/git-integration-recovery-proof.mjs +70 -0
- package/src/git-page-cli-bridge.mjs +61 -0
- package/src/git-page-evidence.mjs +30 -0
- package/src/git-page-identity.mjs +10 -0
- package/src/git-page-proof.mjs +96 -0
- package/src/git-page-settlement.mjs +21 -0
- package/src/git-page-verification.mjs +134 -0
- package/src/git-plumbing.mjs +212 -0
- package/src/git-process-worker.mjs +50 -0
- package/src/git-source.mjs +110 -0
- package/src/git-workspaces.mjs +519 -0
- package/src/goals.mjs +13 -7
- package/src/house.mjs +246 -20
- package/src/i18n/cli-es.mjs +4 -0
- package/src/i18n/es.mjs +35 -0
- package/src/judges.mjs +27 -11
- package/src/mcp-runtime.mjs +15 -3
- package/src/model-controls.mjs +11 -1
- package/src/model-deadline.mjs +4 -3
- package/src/native-refusal.mjs +38 -0
- package/src/onboarding.mjs +88 -24
- package/src/openai-provider.mjs +14 -7
- package/src/operations.mjs +9 -2
- package/src/output-recovery.mjs +48 -0
- package/src/peer-tools.mjs +18 -8
- package/src/permission-controls.mjs +232 -0
- package/src/permission-rules.mjs +312 -0
- package/src/permissions.mjs +113 -30
- package/src/plugin-catalog.mjs +84 -0
- package/src/plugin-config.mjs +48 -6
- package/src/plugin-controls.mjs +332 -0
- package/src/plugin-notices.mjs +88 -0
- package/src/plugin-trust.mjs +104 -0
- package/src/plugins/chrome-lab/bridge.mjs +38 -12
- package/src/plugins/chrome-lab/client.mjs +103 -25
- package/src/plugins/chrome-lab/diagnostics.mjs +19 -0
- package/src/plugins/chrome-lab/index.mjs +116 -26
- package/src/plugins/chrome-lab/project.mjs +30 -2
- package/src/plugins/chrome-lab/scoped-input.mjs +135 -0
- package/src/plugins/chrome-lab/worker-diagnostics.mjs +51 -0
- package/src/plugins/open-relay/actions.mjs +205 -0
- package/src/plugins/open-relay/bound.mjs +47 -0
- package/src/plugins/open-relay/client.mjs +158 -0
- package/src/plugins/open-relay/dossier.mjs +119 -0
- package/src/plugins/open-relay/index.mjs +153 -0
- package/src/plugins/open-relay/lookup.mjs +45 -0
- package/src/plugins/open-relay/notices.mjs +79 -0
- package/src/plugins/open-relay/watch.mjs +127 -0
- package/src/plugins.mjs +72 -29
- package/src/private-fs.mjs +40 -0
- package/src/process-lock.mjs +24 -13
- package/src/provider-auth.mjs +14 -3
- package/src/provider.mjs +11 -2
- package/src/read-only-check.mjs +7 -3
- package/src/scope-ceiling.mjs +56 -0
- package/src/scoped-policy.mjs +39 -0
- package/src/secret-login.mjs +68 -0
- package/src/session-bus.mjs +41 -7
- package/src/session-projections-candidate.mjs +119 -0
- package/src/session-projections.mjs +119 -0
- package/src/session-read-cache.mjs +23 -3
- package/src/sessions.mjs +35 -11
- package/src/source-editor-role.mjs +13 -0
- package/src/source-ownership.mjs +73 -0
- package/src/source-proposal-proof.mjs +55 -0
- package/src/source-proposals.mjs +118 -0
- package/src/source-requests.mjs +148 -0
- package/src/source-task-proof.mjs +24 -0
- package/src/source-task-revision-proof.mjs +44 -0
- package/src/subagents.mjs +187 -87
- package/src/tool-packs.mjs +5 -5
- package/src/tools.mjs +82 -15
- package/src/trusted-context.mjs +5 -1
- package/src/tui/connection-transition.mjs +1 -1
- package/src/tui/controller.mjs +8 -4
- package/src/tui/discovery.mjs +24 -12
- package/src/tui/inbound-blocks.mjs +55 -0
- package/src/tui/present.mjs +504 -0
- package/src/tui/screen.mjs +49 -13
- package/src/windows-private.ps1 +61 -0
- package/src/work-assertions.mjs +6 -2
- package/src/work-plan.mjs +34 -8
- package/src/work-state.mjs +15 -9
- package/src/workflows/chrome-page-cases.mjs +156 -0
- package/src/workflows/chrome-page-checkpoint-reader.mjs +10 -0
- package/src/workflows/chrome-page-diagnostics.mjs +113 -0
- package/src/workflows/chrome-page-law.mjs +48 -0
- package/src/workflows/chrome-page-recovery-host-v13.mjs +14 -0
- package/src/workflows/chrome-page-recovery-v13.mjs +104 -0
- package/src/workflows/chrome-page-task.mjs +429 -0
- package/src/workflows/chrome-page-verifier.mjs +123 -0
- package/src/workflows/chrome-source.mjs +73 -0
- package/src/workflows/chrome-supplied-inputs.mjs +43 -0
- package/src/workflows/chrome-task-adoption.mjs +122 -0
- package/src/workflows/chrome-task.mjs +379 -74
- package/src/workflows/source-task-v1.mjs +124 -0
- package/src/workflows/source-task-v2.mjs +227 -0
- package/src/workflows/source-task.mjs +13 -0
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ comal --help
|
|
|
28
28
|
|
|
29
29
|
Keep the PATH line in your shell startup file if you use that prefix. If your Node manager already provides a user prefix, you can omit `--prefix "$HOME/.local"`. The package registers the `comal` executable; you do not need to create a shell alias.
|
|
30
30
|
|
|
31
|
-
You can pin a version with `npx @milpa/comal@0.
|
|
31
|
+
You can pin a version with `npx @milpa/comal@0.2.0` or `npm install --global @milpa/comal@0.2.0`. The local release manifest preserves SHA-256 and SHA-512 integrity is checked against npm at publish time. No independent publisher signature is claimed.
|
|
32
32
|
|
|
33
33
|
## Test without account or model
|
|
34
34
|
|
|
@@ -58,6 +58,24 @@ For APIs, set the key via the environment or your secrets manager. Do not paste
|
|
|
58
58
|
|
|
59
59
|
In the TUI, `/provider` opens a searchable list of workspace profiles and login providers. `/models` lists models from the active provider; `/effort` offers the active model’s supported levels. Use ↑/↓ and Enter to select, or Esc to keep your draft. A pending selection stays distinct from the active connection. Comal checks model/provider candidates before replacing a working connection; failed checks offer explicit recovery without retrying automatically. A catalog check does not prove inference entitlement.
|
|
60
60
|
|
|
61
|
+
## Configure from inside the session (0.2.0)
|
|
62
|
+
|
|
63
|
+
You can start with plain `comal` and configure everything from the composer; startup flags keep working and still win over saved settings.
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
/login ollama # Ollama Cloud: the key goes in a hidden field
|
|
67
|
+
/provider ollama
|
|
68
|
+
/model MODEL_ID
|
|
69
|
+
/max-tokens 32000 # output reserve, saved for later sessions
|
|
70
|
+
/context-window auto # detected window (Ollama uses /api/show)
|
|
71
|
+
/config # connection, limits, permissions and config paths
|
|
72
|
+
/config save # remember this connection for the next launch
|
|
73
|
+
/plugins available # plugins bundled with Comal
|
|
74
|
+
/permissions # mode, saved rules and recent decisions
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Keys entered with `/login` are stored only in Comal's private credential store and are never exported to the process environment, so tools such as Bash cannot read them. What changed in 0.2.0: https://comal.milpahq.com/academy/docs/novedades/ .
|
|
78
|
+
|
|
61
79
|
## Connect your Artifacts account
|
|
62
80
|
|
|
63
81
|
```sh
|
|
@@ -91,6 +91,18 @@
|
|
|
91
91
|
"description": "Model capability support and provenance",
|
|
92
92
|
"argument_pattern": "(?:refresh)?"
|
|
93
93
|
},
|
|
94
|
+
{
|
|
95
|
+
"name": "permissions",
|
|
96
|
+
"arguments": "",
|
|
97
|
+
"description": "Permission mode, saved rules and recent decisions (read-only)",
|
|
98
|
+
"argument_pattern": ""
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "autonomy",
|
|
102
|
+
"arguments": "",
|
|
103
|
+
"description": "Current autonomy level (read-only)",
|
|
104
|
+
"argument_pattern": ""
|
|
105
|
+
},
|
|
94
106
|
{
|
|
95
107
|
"name": "plugins",
|
|
96
108
|
"arguments": "[status|list]",
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
{
|
|
2
|
+
"profile": {
|
|
3
|
+
"name": "comal-chrome-task",
|
|
4
|
+
"version": "10",
|
|
5
|
+
"decisionIds": [
|
|
6
|
+
"COMAL-CHROME-010"
|
|
7
|
+
]
|
|
8
|
+
},
|
|
9
|
+
"decisions": [
|
|
10
|
+
{
|
|
11
|
+
"id": "COMAL-CHROME-001",
|
|
12
|
+
"title": "La casa conserva el encargo y cierra con evidencia vigente",
|
|
13
|
+
"status": "accepted",
|
|
14
|
+
"supersedes": null,
|
|
15
|
+
"gates": [
|
|
16
|
+
{
|
|
17
|
+
"id": "task-scope",
|
|
18
|
+
"tier": "enforced",
|
|
19
|
+
"operations": [
|
|
20
|
+
"*"
|
|
21
|
+
],
|
|
22
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "current-evidence",
|
|
26
|
+
"tier": "enforced",
|
|
27
|
+
"operations": [
|
|
28
|
+
"WorkTaskUpdate"
|
|
29
|
+
],
|
|
30
|
+
"boundTo": "runtime:chrome-task.close"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "COMAL-CHROME-002",
|
|
36
|
+
"title": "The accepted Chrome task binds exact artifact bytes through a narrow host hash capability",
|
|
37
|
+
"status": "accepted",
|
|
38
|
+
"supersedes": "COMAL-CHROME-001",
|
|
39
|
+
"gates": [
|
|
40
|
+
{
|
|
41
|
+
"id": "task-scope",
|
|
42
|
+
"tier": "enforced",
|
|
43
|
+
"operations": [
|
|
44
|
+
"*"
|
|
45
|
+
],
|
|
46
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "current-evidence",
|
|
50
|
+
"tier": "enforced",
|
|
51
|
+
"operations": [
|
|
52
|
+
"WorkTaskUpdate"
|
|
53
|
+
],
|
|
54
|
+
"boundTo": "runtime:chrome-task.close"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "artifact-hash",
|
|
58
|
+
"tier": "enforced",
|
|
59
|
+
"operations": [
|
|
60
|
+
"FileInfo"
|
|
61
|
+
],
|
|
62
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "COMAL-CHROME-003",
|
|
68
|
+
"title": "Conversational declarations preserve original intent and expose scoped live popup inspection without model-managed resources",
|
|
69
|
+
"status": "accepted",
|
|
70
|
+
"supersedes": "COMAL-CHROME-002",
|
|
71
|
+
"gates": [
|
|
72
|
+
{
|
|
73
|
+
"id": "task-scope",
|
|
74
|
+
"tier": "enforced",
|
|
75
|
+
"operations": [
|
|
76
|
+
"*"
|
|
77
|
+
],
|
|
78
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "current-evidence",
|
|
82
|
+
"tier": "enforced",
|
|
83
|
+
"operations": [
|
|
84
|
+
"WorkTaskUpdate"
|
|
85
|
+
],
|
|
86
|
+
"boundTo": "runtime:chrome-task.close"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "artifact-hash",
|
|
90
|
+
"tier": "enforced",
|
|
91
|
+
"operations": [
|
|
92
|
+
"FileInfo"
|
|
93
|
+
],
|
|
94
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "COMAL-CHROME-004",
|
|
100
|
+
"title": "Reuse completed behavior evidence only for identical source and live document identity, with fresh terminal postconditions; explicit rerun and changed resources execute tests again",
|
|
101
|
+
"status": "accepted",
|
|
102
|
+
"supersedes": "COMAL-CHROME-003",
|
|
103
|
+
"gates": [
|
|
104
|
+
{
|
|
105
|
+
"id": "task-scope",
|
|
106
|
+
"tier": "enforced",
|
|
107
|
+
"operations": [
|
|
108
|
+
"*"
|
|
109
|
+
],
|
|
110
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "current-evidence",
|
|
114
|
+
"tier": "enforced",
|
|
115
|
+
"operations": [
|
|
116
|
+
"WorkTaskUpdate"
|
|
117
|
+
],
|
|
118
|
+
"boundTo": "runtime:chrome-task.close"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"id": "artifact-hash",
|
|
122
|
+
"tier": "enforced",
|
|
123
|
+
"operations": [
|
|
124
|
+
"FileInfo"
|
|
125
|
+
],
|
|
126
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "COMAL-CHROME-005",
|
|
132
|
+
"title": "An explicit candidate commit composes publication, declared tests and closure with unchanged child authority and durable evidence",
|
|
133
|
+
"status": "accepted",
|
|
134
|
+
"supersedes": "COMAL-CHROME-004",
|
|
135
|
+
"gates": [
|
|
136
|
+
{
|
|
137
|
+
"id": "task-scope",
|
|
138
|
+
"tier": "enforced",
|
|
139
|
+
"operations": [
|
|
140
|
+
"*"
|
|
141
|
+
],
|
|
142
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": "current-evidence",
|
|
146
|
+
"tier": "enforced",
|
|
147
|
+
"operations": [
|
|
148
|
+
"WorkTaskUpdate"
|
|
149
|
+
],
|
|
150
|
+
"boundTo": "runtime:chrome-task.close"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"id": "artifact-hash",
|
|
154
|
+
"tier": "enforced",
|
|
155
|
+
"operations": [
|
|
156
|
+
"FileInfo"
|
|
157
|
+
],
|
|
158
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"id": "COMAL-CHROME-006",
|
|
164
|
+
"title": "Own immutable fixture pages and popup resources are bound separately; cross-surface checks retain source, document, connection and permission gates",
|
|
165
|
+
"status": "accepted",
|
|
166
|
+
"supersedes": "COMAL-CHROME-005",
|
|
167
|
+
"gates": [
|
|
168
|
+
{
|
|
169
|
+
"id": "task-scope",
|
|
170
|
+
"tier": "enforced",
|
|
171
|
+
"operations": [
|
|
172
|
+
"*"
|
|
173
|
+
],
|
|
174
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "current-evidence",
|
|
178
|
+
"tier": "enforced",
|
|
179
|
+
"operations": [
|
|
180
|
+
"WorkTaskUpdate"
|
|
181
|
+
],
|
|
182
|
+
"boundTo": "runtime:chrome-task.close"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"id": "artifact-hash",
|
|
186
|
+
"tier": "enforced",
|
|
187
|
+
"operations": [
|
|
188
|
+
"FileInfo"
|
|
189
|
+
],
|
|
190
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": "COMAL-CHROME-007",
|
|
196
|
+
"title": "Physical input targets are activated and declared reloads require an observed new document; acknowledged dispatch alone is not persistence evidence",
|
|
197
|
+
"status": "accepted",
|
|
198
|
+
"supersedes": "COMAL-CHROME-006",
|
|
199
|
+
"gates": [
|
|
200
|
+
{
|
|
201
|
+
"id": "task-scope",
|
|
202
|
+
"tier": "enforced",
|
|
203
|
+
"operations": [
|
|
204
|
+
"*"
|
|
205
|
+
],
|
|
206
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": "current-evidence",
|
|
210
|
+
"tier": "enforced",
|
|
211
|
+
"operations": [
|
|
212
|
+
"WorkTaskUpdate"
|
|
213
|
+
],
|
|
214
|
+
"boundTo": "runtime:chrome-task.close"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"id": "artifact-hash",
|
|
218
|
+
"tier": "enforced",
|
|
219
|
+
"operations": [
|
|
220
|
+
"FileInfo"
|
|
221
|
+
],
|
|
222
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
223
|
+
}
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "COMAL-CHROME-008",
|
|
228
|
+
"title": "Current publication and explicit native worker generation bound diagnostic text; unavailable or historical observations do not grant effects or close work",
|
|
229
|
+
"status": "accepted",
|
|
230
|
+
"supersedes": "COMAL-CHROME-007",
|
|
231
|
+
"gates": [
|
|
232
|
+
{
|
|
233
|
+
"id": "task-scope",
|
|
234
|
+
"tier": "enforced",
|
|
235
|
+
"operations": [
|
|
236
|
+
"*"
|
|
237
|
+
],
|
|
238
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"id": "current-evidence",
|
|
242
|
+
"tier": "enforced",
|
|
243
|
+
"operations": [
|
|
244
|
+
"WorkTaskUpdate"
|
|
245
|
+
],
|
|
246
|
+
"boundTo": "runtime:chrome-task.close"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"id": "artifact-hash",
|
|
250
|
+
"tier": "enforced",
|
|
251
|
+
"operations": [
|
|
252
|
+
"FileInfo"
|
|
253
|
+
],
|
|
254
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "COMAL-CHROME-009",
|
|
260
|
+
"title": "Accepted Chrome source retains exact oversized proposals through native ports, scoped history and current child authority without changing acceptance",
|
|
261
|
+
"status": "accepted",
|
|
262
|
+
"supersedes": "COMAL-CHROME-008",
|
|
263
|
+
"gates": [
|
|
264
|
+
{
|
|
265
|
+
"id": "task-scope",
|
|
266
|
+
"tier": "enforced",
|
|
267
|
+
"operations": [
|
|
268
|
+
"*"
|
|
269
|
+
],
|
|
270
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"id": "current-evidence",
|
|
274
|
+
"tier": "enforced",
|
|
275
|
+
"operations": [
|
|
276
|
+
"WorkTaskUpdate"
|
|
277
|
+
],
|
|
278
|
+
"boundTo": "runtime:chrome-task.close"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "artifact-hash",
|
|
282
|
+
"tier": "enforced",
|
|
283
|
+
"operations": [
|
|
284
|
+
"FileInfo"
|
|
285
|
+
],
|
|
286
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
287
|
+
}
|
|
288
|
+
]
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"id": "COMAL-CHROME-010",
|
|
292
|
+
"title": "Explicit supplied assets remain immutable across source recovery and resume; publication binds the exact checked snapshot before dispatch",
|
|
293
|
+
"status": "accepted",
|
|
294
|
+
"supersedes": "COMAL-CHROME-009",
|
|
295
|
+
"gates": [
|
|
296
|
+
{
|
|
297
|
+
"id": "task-scope",
|
|
298
|
+
"tier": "enforced",
|
|
299
|
+
"operations": [
|
|
300
|
+
"*"
|
|
301
|
+
],
|
|
302
|
+
"boundTo": "runtime:chrome-task.scope"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"id": "current-evidence",
|
|
306
|
+
"tier": "enforced",
|
|
307
|
+
"operations": [
|
|
308
|
+
"WorkTaskUpdate"
|
|
309
|
+
],
|
|
310
|
+
"boundTo": "runtime:chrome-task.close"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"id": "artifact-hash",
|
|
314
|
+
"tier": "enforced",
|
|
315
|
+
"operations": [
|
|
316
|
+
"FileInfo"
|
|
317
|
+
],
|
|
318
|
+
"boundTo": "runtime:chrome-task.artifact-hash"
|
|
319
|
+
}
|
|
320
|
+
]
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
}
|