[constants] replace magic number 30078 with KIND_APP_DATA in cmd-lock.mjs

Refactored src/cmd-lock.mjs to use KIND_APP_DATA constant instead of hardcoded 30078.
Added refactor artifacts.
Created task completion log.

Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
google-labs-jules[bot]andPR0M3TH3AN committed 2026-02-15 22:15:06 +00:00
1 parent 04bafc92bb
commit 703c351ff2
7 files changed
+228 -1

No files matched your search

+2 -1
View File
@@ -6,6 +6,7 @@ import {
} from './torch-config.mjs';
import {
RACE_CHECK_DELAY_MS,
KIND_APP_DATA,
} from './constants.mjs';
import { getRoster } from './roster.mjs';
import { queryLocks, publishLock } from './lock-ops.mjs';
@@ -55,7 +56,7 @@ export async function cmdLock(agent, cadence, dryRun = false) {
console.error('Step 3: Building lock event...');
const event = finalizeEvent(
{
kind: 30078,
kind: KIND_APP_DATA,
created_at: now,
tags: [
['d', `${namespace}-lock/${cadence}/${agent}/${dateStr}`],
@@ -0,0 +1,3 @@
Goal: Refactor duplicated numeric constants
Scope: src/cmd-lock.mjs
Constraints: Preserve semantics
@@ -0,0 +1,3 @@
# Decisions
- Replace 30078 with KIND_APP_DATA in src/cmd-lock.mjs
- Rationale: Centralize constant definitions, improve code clarity.
@@ -0,0 +1,183 @@
> [email protected] lint
> eslint .
/app/scripts/agent/smoke-test.mjs
23:7 warning 'CONFIRM_PUBLIC' is assigned a value but never used no-unused-vars
48:14 warning 'e' is defined but never used no-unused-vars
/app/scripts/benchmark-dashboard.mjs
25:14 warning 'e' is defined but never used no-unused-vars
62:22 warning 'e' is defined but never used no-unused-vars
/app/src/lib.mjs
70:14 warning '_' is assigned a value but never used no-unused-vars
/app/test-audit/run-flaky-check.mjs
18:24 warning 'code' is defined but never used no-unused-vars
/app/test-audit/run-static-analysis.mjs
15:12 warning 'e' is defined but never used no-unused-vars
/app/test/lib.test.mjs
102:11 warning 'mockPublishLock' is assigned a value but never used no-unused-vars
356:11 warning 'mockPublishLock' is assigned a value but never used no-unused-vars
/app/test/nostr-lock.test.mjs
1:10 warning 'test' is defined but never used no-unused-vars
✖ 10 problems (0 errors, 10 warnings)
> [email protected] test:unit:lock-backend
> node --test test/lock-ops.test.mjs test/lock-ops-publish-retry.test.mjs
TAP version 13
# Published to 1/1 relays (required=1, timeout=200ms)
# Published to 1/1 relays (required=1, timeout=200ms)
# (node:2424) ExperimentalWarning: The MockTimers API is an experimental feature and might change at any time
# (Use `node --trace-warnings ...` to show where the warning was created)
# Subtest: publishLock retry behavior
# Subtest: succeeds immediately on first attempt without retries
ok 1 - succeeds immediately on first attempt without retries
---
duration_ms: 10.07528
type: 'test'
...
# Subtest: retries a transient failure then succeeds within retry budget with bounded jitter
ok 2 - retries a transient failure then succeeds within retry budget with bounded jitter
---
duration_ms: 2.606726
type: 'test'
...
# Subtest: returns terminal relay_publish_quorum_failure after exhausting retry budget
ok 3 - returns terminal relay_publish_quorum_failure after exhausting retry budget
---
duration_ms: 2.711407
type: 'test'
...
# Subtest: short-circuits non-retryable failures without extra attempts
ok 4 - short-circuits non-retryable failures without extra attempts
---
duration_ms: 2.747843
type: 'test'
...
1..4
ok 1 - publishLock retry behavior
---
duration_ms: 19.734333
type: 'suite'
...
# Published to 2/2 relays (required=1, timeout=200ms)
# {"event":"lock_publish_quorum_met","correlationId":"none","attemptId":"1","publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"requiredSuccesses":1,"timeoutMs":200,"retryTimeline":[{"publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"elapsedMs":1}],"totalElapsedMs":1}
# Published to 1/2 relays (required=1, timeout=200ms)
# {"event":"lock_publish_quorum_met","correlationId":"none","attemptId":"1","publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"requiredSuccesses":1,"timeoutMs":200,"retryTimeline":[{"publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"elapsedMs":1}],"totalElapsedMs":1}
# Published to 1/2 relays (required=1, timeout=200ms)
# {"event":"lock_publish_quorum_met","correlationId":"none","attemptId":"1","publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"requiredSuccesses":1,"timeoutMs":200,"retryTimeline":[{"publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"elapsedMs":1}],"totalElapsedMs":1}
# Published to 1/2 relays (required=1, timeout=200ms)
# {"event":"lock_publish_quorum_met","correlationId":"none","attemptId":"1","publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"requiredSuccesses":1,"timeoutMs":200,"retryTimeline":[{"publishAttempt":1,"successCount":1,"relayAttemptedCount":2,"elapsedMs":0}],"totalElapsedMs":0}
# Published to 1/2 relays (required=1, timeout=200ms)
# {"event":"lock_publish_quorum_met","correlationId":"none","attemptId":"1","publishAttempt":1,"successCount":1,"relayAttemptedCount":1,"requiredSuccesses":1,"timeoutMs":200,"retryTimeline":[{"publishAttempt":1,"successCount":1,"relayAttemptedCount":1,"elapsedMs":0}],"totalElapsedMs":0}
# Published to 1/1 relays (required=1, timeout=200ms)
# {"event":"lock_publish_quorum_met","correlationId":"none","attemptId":"1","publishAttempt":1,"successCount":1,"relayAttemptedCount":1,"requiredSuccesses":1,"timeoutMs":200,"retryTimeline":[{"publishAttempt":1,"successCount":1,"relayAttemptedCount":1,"elapsedMs":0}],"totalElapsedMs":0}
# Published to 1/1 relays (required=1, timeout=200ms)
# {"event":"lock_publish_quorum_met","correlationId":"none","attemptId":"1","publishAttempt":1,"successCount":1,"relayAttemptedCount":3,"requiredSuccesses":1,"timeoutMs":200,"retryTimeline":[{"publishAttempt":1,"successCount":1,"relayAttemptedCount":3,"elapsedMs":0}],"totalElapsedMs":0}
# Published to 1/3 relays (required=1, timeout=200ms)
# Subtest: lock-ops
# Subtest: parseLockEvent
# Subtest: parses a valid lock event correctly
ok 1 - parses a valid lock event correctly
---
duration_ms: 1.753646
type: 'test'
...
1..1
ok 1 - parseLockEvent
---
duration_ms: 2.739357
type: 'suite'
...
# Subtest: queryLocks
# Subtest: falls back to fallback relays when primary query fails
ok 1 - falls back to fallback relays when primary query fails
---
duration_ms: 15.579432
type: 'test'
...
1..1
ok 2 - queryLocks
---
duration_ms: 15.854897
type: 'suite'
...
# Subtest: publishLock
# Subtest: retries transient failures and succeeds on a later attempt
ok 1 - retries transient failures and succeeds on a later attempt
---
duration_ms: 6.237703
type: 'test'
...
# Subtest: fails after retry budget is exhausted for persistent transient failures
ok 2 - fails after retry budget is exhausted for persistent transient failures
---
duration_ms: 2.28717
type: 'test'
...
# Subtest: fails without retry for persistent validation failures
ok 3 - fails without retry for persistent validation failures
---
duration_ms: 1.145815
type: 'test'
...
# Subtest: includes per-relay reason categories and retry metadata in failure diagnostics
ok 4 - includes per-relay reason categories and retry metadata in failure diagnostics
---
duration_ms: 1.637662
type: 'test'
...
# Subtest: returns success when mixed relay outcomes still satisfy quorum
ok 5 - returns success when mixed relay outcomes still satisfy quorum
---
duration_ms: 1.164031
type: 'test'
...
# Subtest: uses fallback relays to satisfy min success quorum
ok 6 - uses fallback relays to satisfy min success quorum
---
duration_ms: 1.480202
type: 'test'
...
# Subtest: quarantines repeatedly failing relays and still reaches quorum with one healthy relay
ok 7 - quarantines repeatedly failing relays and still reaches quorum with one healthy relay
---
duration_ms: 2.491078
type: 'test'
...
# Subtest: uses fallback and min active pool to reintroduce quarantined relay when needed
ok 8 - uses fallback and min active pool to reintroduce quarantined relay when needed
---
duration_ms: 1.083114
type: 'test'
...
1..8
ok 3 - publishLock
---
duration_ms: 18.308594
type: 'suite'
...
1..3
ok 2 - lock-ops
---
duration_ms: 37.980069
type: 'suite'
...
1..2
# tests 14
# suites 5
# pass 14
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 205.968263
+2
View File
@@ -0,0 +1,2 @@
# Todo
- [x] Replace 30078 with KIND_APP_DATA in src/cmd-lock.mjs