Repository navigation
delegatee -> executor - #85
Conversation
arkana-ai-bot
left a comment
There was a problem hiding this comment.
Arkana review — delegatee → executor rename
No protocol-critical paths touched. This is purely an infrastructure rename with a few additive config changes. Coverage is complete: all seven pre-PR delegatee occurrences (docker/compose.ark.yml, regtest.mjs ×3, lib/compose.mjs, lib/profiles.mjs, README.md) are replaced by the diff.
Functional changes (beyond the rename)
| File | Change | Assessment |
|---|---|---|
compose.ark.yml |
DELEGATEE_EXPLORER_URL: http://mempool_web/api → EXECUTOR_ELECTRUM_URL: tcp://fulcrum:50001 |
Correct: fulcrum is already up with base, direct Electrum avoids the mempool REST path, appropriate for regtest. |
compose.ark.yml |
Added EXECUTOR_ENCRYPTION_KEY env var |
New daemon requirement; default ships in .env.defaults. |
compose.ark.yml |
Added EXECUTOR_MIN_DELEGATION_EXPIRY: '0' |
Intentional regtest affordance — bypasses the production 24 h floor so short-lived delegations work in regtest rounds. ✓ |
compose.ark.yml |
New port mapping ${EXECUTOR_ADMIN_PORT:-7281}:7081 exposed |
Admin port 7281 does not collide with any other mapped service (7080 explorer, 7271 covclaimd, 7280 executor public, 7090/7091 solver). EXECUTOR_ADMIN_AUTH: disabled is appropriate here since these are well-known regtest-only keys. |
regtest.mjs |
waitForOrFail URL now reads env('EXECUTOR_HTTP_PORT', '7280') |
Good — was hardcoded before. |
regtest.mjs |
active.delete('executor') added to the EMULATOR_IMAGE opt-out block |
Correct parity with solver / covclaimd handling. |
Notes
.env.defaults / compose.ark.yml — test keys committed to a public repository.
EXECUTOR_COSIGNER_KEY and EXECUTOR_ENCRYPTION_KEY are plaintext private keys shipped as defaults. The PR comment correctly labels them "Fixed test keys." The cosigner key is the same 32-byte value that the old DELEGATEE_DELEGATE_KEY used — no rotation, so no old-container leftover issue. These values must never leave regtest; the regtest-only scope is documented in the comment, which is sufficient for this repo.
No EXECUTOR_IMAGE empty-check opt-out. covclaimd and intent-solver have per-image opt-outs in start(); executor and solver do not. This is a pre-existing asymmetry rather than a regression introduced here — no change needed.
Cross-repo. ts-sdk and arkadian/docs carry the string "delegatee" only in prose comments / documentation (not in profile selectors, CI config, or code that invokes regtest.mjs). No cross-repo breakage.
Summary
The diff is consistent and complete. No blocking issues. The behavioral changes (Electrum switch, encryption key, min-expiry 0, admin port) are all appropriate for a regtest context.
No description provided.