You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* [ ] IF Prime spell deployer is a smart contract (e.g. multisig or factory), ensure the deployer address is in `addresses_deployers.sol` as an entry
262
+
* [ ] IF Prime Agent spell deployer is a smart contract (e.g. multisig or factory), ensure the deployer address is in `addresses_deployers.sol` as an entry
263
263
* IF Prime Agent provides instructions to be executed by the main spell (i.e. that will operate within Pause Proxy `DelegateCall` context)
264
264
* [ ] No Prime Agent contract being interacted with is authed on a core contract like `vat`, etc. (Check comprehensively where the risk is high)
265
265
* [ ] Prime Agent contract licensing and optimizations generally do not matter (except where they pose a security risk)
Copy file name to clipboardExpand all lines: spell/star-spell-reviewer-checklist.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
-
# Star Spells Reviewer Checklist
1
+
# Prime Agent Spells Reviewer Checklist
2
2
3
-
This checklist provides guidance for crafting and reviewing spells for Star protocols (Spark, Bloom, etc.). It focuses on common practices and should be used alongside protocol-specific knowledge.
3
+
This checklist provides guidance for crafting and reviewing spells for the Prime Agents (Spark, Grove, Keel, etc.). It focuses on common practices and should be used alongside protocol-specific knowledge.
4
4
5
5
## Governance Architecture Considerations
6
6
7
7
### Spells Contracts Relationships
8
8
9
-
The diagram below illustrates that, despite the name, `StarSpell` is functionally more similar to `DssSpellAction` than to `DssSpell`. Both `StarSpell` and `DssSpellAction` contain executable logic, whereas `DssSpell` primarily handles scheduling and execution triggering through `MCD_PAUSE`. This architectural similarity is important to understand when reviewing and developing spells for Star protocols.
9
+
The diagram below illustrates that, despite the name, `PrimeAgentSpell` is functionally more similar to `DssSpellAction` than to `DssSpell`. Both `PrimeAgentSpell` and `DssSpellAction` contain executable logic, whereas `DssSpell` primarily handles scheduling and execution triggering through `MCD_PAUSE`. This architectural similarity is important to understand when reviewing and developing spells for the Prime Agent protocols.
10
10
11
11
<details>
12
12
<summary><b>View Diagram</b></summary>
@@ -26,7 +26,7 @@ classDiagram
26
26
DssSpell ..> DssSpellAction : instantiates
27
27
28
28
%% Functional similarity
29
-
DssSpellAction <.. StarSpell : functionally similar
29
+
DssSpellAction <.. PrimeAgentSpell : functionally similar
30
30
31
31
%% Reference relationship
32
32
DssExec --> DssAction : references
@@ -36,7 +36,7 @@ classDiagram
36
36
37
37
### Execution Flow
38
38
39
-
The diagram bellow illustrates the execution flow of a spell from the Core up to the Star protocol.
39
+
The diagram bellow illustrates the execution flow of a spell from the Core up to the Prime Agent protocol.
This section outlines the review process and provides concrete action items for both the crafter and reviewers of the spell. The document is divided into separate stages ("Development", "Deployment", "Handover"). Both reviewers must complete all checks in the relevant stage and publish them as the PR comment at the end of each stage.
115
115
@@ -120,7 +120,7 @@ This section outlines the review process and provides concrete action items for
120
120
-`COMMIT_TITLE`, URL_TO_THE_PR_OR_THE_COMMIT
121
121
-[ ] Content matches description: no unrelated changes.
122
122
-[ ] No security-related changes are present in this commit.
123
-
-[ ] Verify solc version matches the Star protocol standard based on prior Star contracts.
123
+
-[ ] Verify solc version matches the Prime Agent protocol standard based on prior contracts.
124
124
125
125
#### Spell Description & Comments
126
126
-[ ] Spell PR has clear description.
@@ -130,12 +130,12 @@ This section outlines the review process and provides concrete action items for
130
130
-[ ] Every parameter change is clearly commented with before/after values.
131
131
132
132
#### Proposed changes
133
-
- LIST every forum post proposing changes for this particular Star, particular target date:
133
+
- LIST every forum post proposing changes for this particular Prime Agent, particular target date:
134
134
- FORUM_POST_TITLE, FORUM_POST_URL
135
135
-[ ] Forum post follows the [known template](https://docs.google.com/document/d/1vLqeP-zXmxKo2OpoxnL2z0ZczPe4nWN49-3URx-iKVA/edit?tab=t.nkz4n7by2dnh).
136
136
-[ ] Verify spell content matches the combined scope of the forum posts listed above.
137
137
-[ ] Verify forum posts contain all new addresses directly or indirectly used in the spell, their constructor arguments and rate limits.
138
-
-[ ] IF the Star Spell introduces a major change that can affect external parties, suggest Governance Facilitators to set Core Spell office hours to `true`.
138
+
-[ ] IF the Prime Agent spell introduces a major change that can affect external parties, suggest Governance Facilitators to set Core Spell office hours to `true`.
139
139
140
140
#### Contract Structure & Code Quality
141
141
-[ ] The only external non-view function in the spell contract is `execute()`.
@@ -149,12 +149,12 @@ This section outlines the review process and provides concrete action items for
149
149
-[ ] Matches valid external source (previously approved forum post, external docs, etc).
150
150
151
151
### StarGuard execution
152
-
-[ ] IF a [StarGuard module](https://github.com/sky-ecosystem/star-guard) is onboarded for this Star, the following additional checks are done:
152
+
-[ ] IF a [StarGuard module](https://github.com/sky-ecosystem/star-guard) is onboarded for this Prime Agent, the following additional checks are done:
-[ ]`isExecutable` either simply returns `true` or implements additional logic communicated via the relevant forum post (e.g.: by describing "earliest launch date" or "office hours" logic, etc).
155
155
-[ ] The test ensures the spell is executable before expiration (i.e. `isExecutable` outputs `true` before `StarGuard.maxDelay()` is passed).
156
156
-[ ] Third-party actors can not take advantage of the fact that Spell will be executed in a later block than the Core spell, otherwise suggest `direct execution`.
157
-
-[ ] IF Prime spell can not be executed in a later block OR have to be executed sequentially to another Prime spell, `direct execution` is clearly mentioned in the forum post together with elaborated explanation why it is needed.
157
+
-[ ] IF Prime Agent spell can not be executed in a later block OR have to be executed sequentially to another Prime Agent spell, `direct execution` is clearly mentioned in the forum post together with elaborated explanation why it is needed.
158
158
-[ ] The `direct execution` explanation makes sense on the technical level and can not be circumvented by the use of `isExecutable()` interface.
159
159
160
160
#### On-boarding New Contracts
@@ -211,7 +211,7 @@ This section outlines the review process and provides concrete action items for
211
211
-[ ] No privileged functions accessible by unauthorized users.
212
212
213
213
#### Parameter Changes & Protocol Integration
214
-
-[ ]Star Protocol invariants are maintained after spell execution.
214
+
-[ ]Prime Agent protocol invariants are maintained after spell execution.
215
215
-[ ] All parameter changes use the appropriate helper functions IF available.
216
216
-[ ] Parameter changes match the Executive Sheet exactly.
217
217
-[ ] Spell interacts correctly with existing protocol components.
@@ -276,8 +276,8 @@ EXECUTED_TESTS_LOGS
276
276
-[ ] Both reviewers gave explicit "Good to handover".
277
277
-[ ] All review comments have been addressed or resolved.
278
278
-[ ] The spell address, the codehash and the direct execution are posted by the crafter in the `#govops` in the `XXX spell YYYY-MM-DD deployed to 0x… with hash 0x…, direct execution: yes / no` format.
279
-
-[ ] Posted spell address matches the spell evaluated above.
280
-
-[ ] Posted spell codehash matches the one noted down above.
0 commit comments