@milpa/comal 0.1.6 → 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.
Files changed (137) hide show
  1. package/README.md +19 -1
  2. package/backend/contracts/remote-commands-v1.json +12 -0
  3. package/backend/contracts/remote-workspace-v1.schema.json +287 -0
  4. package/governance/chrome-task-v10.json +323 -0
  5. package/governance/chrome-task-v11.json +355 -0
  6. package/governance/chrome-task-v12.json +387 -0
  7. package/governance/chrome-task-v13.json +419 -0
  8. package/governance/chrome-task-v3.json +99 -0
  9. package/governance/chrome-task-v4.json +131 -0
  10. package/governance/chrome-task-v5.json +163 -0
  11. package/governance/chrome-task-v6.json +195 -0
  12. package/governance/chrome-task-v7.json +227 -0
  13. package/governance/chrome-task-v8.json +259 -0
  14. package/governance/chrome-task-v9.json +291 -0
  15. package/governance/source-task-v1.json +1 -0
  16. package/governance/source-task-v2.json +1 -0
  17. package/package.json +15 -1
  18. package/src/agent-recovery-proof.mjs +12 -1
  19. package/src/agent.mjs +94 -30
  20. package/src/audit.mjs +21 -6
  21. package/src/auto-guard.mjs +48 -1
  22. package/src/chrome-candidate-recovery-proof.mjs +47 -0
  23. package/src/chrome-recovery-proof.mjs +6 -2
  24. package/src/chrome-source-syntax.mjs +93 -0
  25. package/src/cli.mjs +161 -56
  26. package/src/codex-provider.mjs +3 -2
  27. package/src/connection-settings.mjs +204 -0
  28. package/src/context-pressure.mjs +2 -1
  29. package/src/durable-agent-runs.mjs +5 -11
  30. package/src/event-channels.mjs +8 -0
  31. package/src/file-recovery-proof.mjs +11 -3
  32. package/src/file-recovery.mjs +24 -0
  33. package/src/gemini-provider.mjs +6 -1
  34. package/src/git-agent-revision.mjs +12 -0
  35. package/src/git-agent-workspaces.mjs +143 -0
  36. package/src/git-integration-lineage.mjs +20 -0
  37. package/src/git-integration-operations.mjs +200 -0
  38. package/src/git-integration-recovery-proof.mjs +70 -0
  39. package/src/git-page-cli-bridge.mjs +61 -0
  40. package/src/git-page-evidence.mjs +30 -0
  41. package/src/git-page-identity.mjs +10 -0
  42. package/src/git-page-proof.mjs +96 -0
  43. package/src/git-page-settlement.mjs +21 -0
  44. package/src/git-page-verification.mjs +134 -0
  45. package/src/git-plumbing.mjs +212 -0
  46. package/src/git-process-worker.mjs +50 -0
  47. package/src/git-source.mjs +110 -0
  48. package/src/git-workspaces.mjs +519 -0
  49. package/src/goals.mjs +13 -7
  50. package/src/house.mjs +246 -20
  51. package/src/i18n/cli-es.mjs +4 -0
  52. package/src/i18n/es.mjs +35 -0
  53. package/src/judges.mjs +27 -11
  54. package/src/mcp-runtime.mjs +15 -3
  55. package/src/model-controls.mjs +11 -1
  56. package/src/model-deadline.mjs +4 -3
  57. package/src/native-refusal.mjs +38 -0
  58. package/src/onboarding.mjs +88 -24
  59. package/src/openai-provider.mjs +14 -7
  60. package/src/operations.mjs +9 -2
  61. package/src/output-recovery.mjs +48 -0
  62. package/src/peer-tools.mjs +18 -8
  63. package/src/permission-controls.mjs +232 -0
  64. package/src/permission-rules.mjs +312 -0
  65. package/src/permissions.mjs +113 -30
  66. package/src/plugin-catalog.mjs +84 -0
  67. package/src/plugin-config.mjs +48 -6
  68. package/src/plugin-controls.mjs +332 -0
  69. package/src/plugin-notices.mjs +88 -0
  70. package/src/plugin-trust.mjs +104 -0
  71. package/src/plugins/chrome-lab/bridge.mjs +38 -12
  72. package/src/plugins/chrome-lab/client.mjs +103 -25
  73. package/src/plugins/chrome-lab/diagnostics.mjs +19 -0
  74. package/src/plugins/chrome-lab/index.mjs +116 -26
  75. package/src/plugins/chrome-lab/project.mjs +30 -2
  76. package/src/plugins/chrome-lab/scoped-input.mjs +135 -0
  77. package/src/plugins/chrome-lab/worker-diagnostics.mjs +51 -0
  78. package/src/plugins/open-relay/actions.mjs +205 -0
  79. package/src/plugins/open-relay/bound.mjs +47 -0
  80. package/src/plugins/open-relay/client.mjs +158 -0
  81. package/src/plugins/open-relay/dossier.mjs +119 -0
  82. package/src/plugins/open-relay/index.mjs +153 -0
  83. package/src/plugins/open-relay/lookup.mjs +45 -0
  84. package/src/plugins/open-relay/notices.mjs +79 -0
  85. package/src/plugins/open-relay/watch.mjs +127 -0
  86. package/src/plugins.mjs +72 -29
  87. package/src/private-fs.mjs +40 -0
  88. package/src/process-lock.mjs +24 -13
  89. package/src/provider-auth.mjs +14 -3
  90. package/src/provider.mjs +11 -2
  91. package/src/read-only-check.mjs +7 -3
  92. package/src/remote-control.mjs +29 -4
  93. package/src/remote-workspace.mjs +50 -0
  94. package/src/scope-ceiling.mjs +56 -0
  95. package/src/scoped-policy.mjs +39 -0
  96. package/src/secret-login.mjs +68 -0
  97. package/src/session-bus.mjs +41 -7
  98. package/src/session-projections-candidate.mjs +119 -0
  99. package/src/session-projections.mjs +119 -0
  100. package/src/session-read-cache.mjs +23 -3
  101. package/src/sessions.mjs +35 -11
  102. package/src/source-editor-role.mjs +13 -0
  103. package/src/source-ownership.mjs +73 -0
  104. package/src/source-proposal-proof.mjs +55 -0
  105. package/src/source-proposals.mjs +118 -0
  106. package/src/source-requests.mjs +148 -0
  107. package/src/source-task-proof.mjs +24 -0
  108. package/src/source-task-revision-proof.mjs +44 -0
  109. package/src/subagents.mjs +187 -87
  110. package/src/tool-packs.mjs +5 -5
  111. package/src/tools.mjs +82 -15
  112. package/src/trusted-context.mjs +5 -1
  113. package/src/tui/connection-transition.mjs +1 -1
  114. package/src/tui/controller.mjs +8 -4
  115. package/src/tui/discovery.mjs +24 -12
  116. package/src/tui/inbound-blocks.mjs +55 -0
  117. package/src/tui/present.mjs +504 -0
  118. package/src/tui/screen.mjs +49 -13
  119. package/src/windows-private.ps1 +61 -0
  120. package/src/work-assertions.mjs +6 -2
  121. package/src/work-plan.mjs +34 -8
  122. package/src/work-state.mjs +15 -9
  123. package/src/workflows/chrome-page-cases.mjs +156 -0
  124. package/src/workflows/chrome-page-checkpoint-reader.mjs +10 -0
  125. package/src/workflows/chrome-page-diagnostics.mjs +113 -0
  126. package/src/workflows/chrome-page-law.mjs +48 -0
  127. package/src/workflows/chrome-page-recovery-host-v13.mjs +14 -0
  128. package/src/workflows/chrome-page-recovery-v13.mjs +104 -0
  129. package/src/workflows/chrome-page-task.mjs +429 -0
  130. package/src/workflows/chrome-page-verifier.mjs +123 -0
  131. package/src/workflows/chrome-source.mjs +73 -0
  132. package/src/workflows/chrome-supplied-inputs.mjs +43 -0
  133. package/src/workflows/chrome-task-adoption.mjs +122 -0
  134. package/src/workflows/chrome-task.mjs +379 -74
  135. package/src/workflows/source-task-v1.mjs +124 -0
  136. package/src/workflows/source-task-v2.mjs +227 -0
  137. package/src/workflows/source-task.mjs +13 -0
@@ -0,0 +1,163 @@
1
+ {
2
+ "profile": {
3
+ "name": "comal-chrome-task",
4
+ "version": "5",
5
+ "decisionIds": [
6
+ "COMAL-CHROME-005"
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
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "profile": {
3
+ "name": "comal-chrome-task",
4
+ "version": "6",
5
+ "decisionIds": [
6
+ "COMAL-CHROME-006"
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
+ }
@@ -0,0 +1,227 @@
1
+ {
2
+ "profile": {
3
+ "name": "comal-chrome-task",
4
+ "version": "7",
5
+ "decisionIds": [
6
+ "COMAL-CHROME-007"
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
+ }