mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-10-28 16:31:56 +00:00
1393 lines
65 KiB
Plaintext
1393 lines
65 KiB
Plaintext
TAP version 13
|
|
# Subtest: parseArgs should parse basic command
|
|
ok 1 - parseArgs should parse basic command
|
|
---
|
|
duration_ms: 3.207809
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse agent and cadence
|
|
ok 2 - parseArgs should parse agent and cadence
|
|
---
|
|
duration_ms: 0.233159
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse equals sign syntax
|
|
ok 3 - parseArgs should parse equals sign syntax
|
|
---
|
|
duration_ms: 0.186487
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse dry-run flag
|
|
ok 4 - parseArgs should parse dry-run flag
|
|
---
|
|
duration_ms: 0.161689
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse port with default
|
|
ok 5 - parseArgs should parse port with default
|
|
---
|
|
duration_ms: 0.180898
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse custom port
|
|
ok 6 - parseArgs should parse custom port
|
|
---
|
|
duration_ms: 0.225232
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse ignore-logs flag
|
|
ok 7 - parseArgs should parse ignore-logs flag
|
|
---
|
|
duration_ms: 0.183293
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse memory flags
|
|
ok 8 - parseArgs should parse memory flags
|
|
---
|
|
duration_ms: 1.386079
|
|
type: 'test'
|
|
...
|
|
# Subtest: parseArgs should parse memory flags with equals
|
|
ok 9 - parseArgs should parse memory flags with equals
|
|
---
|
|
duration_ms: 0.359798
|
|
type: 'test'
|
|
...
|
|
# Subtest: src/lib.mjs
|
|
# Subtest: cmdCheck
|
|
# Subtest: returns correct structure with empty locks
|
|
ok 1 - returns correct structure with empty locks
|
|
---
|
|
duration_ms: 6.904745
|
|
type: 'test'
|
|
...
|
|
# Subtest: identifies locked agents
|
|
ok 2 - identifies locked agents
|
|
---
|
|
duration_ms: 1.252236
|
|
type: 'test'
|
|
...
|
|
# Subtest: excludes paused agents
|
|
ok 3 - excludes paused agents
|
|
---
|
|
duration_ms: 0.97911
|
|
type: 'test'
|
|
...
|
|
# Subtest: identifies unknown locked agents
|
|
ok 4 - identifies unknown locked agents
|
|
---
|
|
duration_ms: 1.610621
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 1 - cmdCheck
|
|
---
|
|
duration_ms: 13.786874
|
|
type: 'suite'
|
|
...
|
|
# Subtest: cmdLock
|
|
# Subtest: successfully locks an available agent
|
|
ok 1 - successfully locks an available agent
|
|
---
|
|
duration_ms: 24.035768
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails if agent is not in roster
|
|
ok 2 - fails if agent is not in roster
|
|
---
|
|
duration_ms: 11.030725
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails if agent is already locked
|
|
ok 3 - fails if agent is already locked
|
|
---
|
|
duration_ms: 1.197212
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails if agent is already completed
|
|
ok 4 - fails if agent is already completed
|
|
---
|
|
duration_ms: 0.850039
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails if race check is lost
|
|
ok 5 - fails if race check is lost
|
|
---
|
|
duration_ms: 8.437584
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles race condition with identical timestamps using eventId tie-breaker (we win)
|
|
ok 6 - handles race condition with identical timestamps using eventId tie-breaker (we win)
|
|
---
|
|
duration_ms: 25.890147
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles race condition with identical timestamps using eventId tie-breaker (we lose)
|
|
ok 7 - handles race condition with identical timestamps using eventId tie-breaker (we lose)
|
|
---
|
|
duration_ms: 3.331089
|
|
type: 'test'
|
|
...
|
|
# Subtest: dry run does not publish
|
|
ok 8 - dry run does not publish
|
|
---
|
|
duration_ms: 1.204047
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 2 - cmdLock
|
|
---
|
|
duration_ms: 77.316775
|
|
type: 'suite'
|
|
...
|
|
# Subtest: cmdList
|
|
# Subtest: lists active locks
|
|
ok 1 - lists active locks
|
|
---
|
|
duration_ms: 1.995217
|
|
type: 'test'
|
|
...
|
|
# Subtest: warns about unknown agents
|
|
ok 2 - warns about unknown agents
|
|
---
|
|
duration_ms: 0.615662
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles no locks
|
|
ok 3 - handles no locks
|
|
---
|
|
duration_ms: 0.424166
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 3 - cmdList
|
|
---
|
|
duration_ms: 3.385693
|
|
type: 'suite'
|
|
...
|
|
# Subtest: cmdComplete
|
|
# Subtest: successfully completes an active lock
|
|
ok 1 - successfully completes an active lock
|
|
---
|
|
duration_ms: 2.73568
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails if no active lock found
|
|
ok 2 - fails if no active lock found
|
|
---
|
|
duration_ms: 0.680301
|
|
type: 'test'
|
|
...
|
|
# Subtest: detects already completed task
|
|
ok 3 - detects already completed task
|
|
---
|
|
duration_ms: 0.640269
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 4 - cmdComplete
|
|
---
|
|
duration_ms: 4.447219
|
|
type: 'suite'
|
|
...
|
|
1..4
|
|
ok 10 - src/lib.mjs
|
|
---
|
|
duration_ms: 101.118997
|
|
type: 'suite'
|
|
...
|
|
# Published to 1/3 relays (required=1, timeout=25ms)
|
|
# Published to 2/2 relays (required=2, timeout=25ms)
|
|
# Published to 2/3 relays (required=2, timeout=25ms)
|
|
# (node:4157) 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: ci-resilience lock acquisition under unstable relays
|
|
# Subtest: recovers after all relays are down for an initial outage window
|
|
ok 1 - recovers after all relays are down for an initial outage window
|
|
---
|
|
duration_ms: 44.291964
|
|
type: 'test'
|
|
...
|
|
# Subtest: survives intermittent timeout spikes and reaches quorum with bounded retries
|
|
ok 2 - survives intermittent timeout spikes and reaches quorum with bounded retries
|
|
---
|
|
duration_ms: 3.948598
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles staggered relay recovery and never exceeds retry budget
|
|
ok 3 - handles staggered relay recovery and never exceeds retry budget
|
|
---
|
|
duration_ms: 8.806657
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 11 - ci-resilience lock acquisition under unstable relays
|
|
---
|
|
duration_ms: 62.66373
|
|
type: 'suite'
|
|
...
|
|
# Published to 1/1 relays (required=1, timeout=200ms)
|
|
# Published to 1/1 relays (required=1, timeout=200ms)
|
|
# (node:4176) 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: 21.93794
|
|
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: 5.116051
|
|
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: 5.682426
|
|
type: 'test'
|
|
...
|
|
# Subtest: short-circuits non-retryable failures without extra attempts
|
|
ok 4 - short-circuits non-retryable failures without extra attempts
|
|
---
|
|
duration_ms: 3.435884
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 12 - publishLock retry behavior
|
|
---
|
|
duration_ms: 40.515275
|
|
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":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":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":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":1}],"totalElapsedMs":1}
|
|
# 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":1}],"totalElapsedMs":1}
|
|
# 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: 4.322751
|
|
type: 'test'
|
|
...
|
|
1..1
|
|
ok 1 - parseLockEvent
|
|
---
|
|
duration_ms: 5.779728
|
|
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: 18.228261
|
|
type: 'test'
|
|
...
|
|
1..1
|
|
ok 2 - queryLocks
|
|
---
|
|
duration_ms: 18.528195
|
|
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: 5.466583
|
|
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.442897
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails without retry for persistent validation failures
|
|
ok 3 - fails without retry for persistent validation failures
|
|
---
|
|
duration_ms: 1.03001
|
|
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.626149
|
|
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.121444
|
|
type: 'test'
|
|
...
|
|
# Subtest: uses fallback relays to satisfy min success quorum
|
|
ok 6 - uses fallback relays to satisfy min success quorum
|
|
---
|
|
duration_ms: 1.079026
|
|
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.147612
|
|
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.067194
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 3 - publishLock
|
|
---
|
|
duration_ms: 16.645185
|
|
type: 'suite'
|
|
...
|
|
1..3
|
|
ok 13 - lock-ops
|
|
---
|
|
duration_ms: 42.348931
|
|
type: 'suite'
|
|
...
|
|
# memory_telemetry {
|
|
# event: 'memory:ingested',
|
|
# payload: {
|
|
# memory_id: '7856361b-a50e-44e1-865f-3a1e6af94f6b',
|
|
# agent_id: 'agent-telemetry',
|
|
# dedupe_key: '004018cd7d9858183d0d37ddf5825d91497fb31b4d0606a3a7add73e46b79fba',
|
|
# chunk_events: 1,
|
|
# window_start: 0,
|
|
# window_end: 1771172243219
|
|
# },
|
|
# ts: 1771172243225
|
|
# }
|
|
# memory_metric {
|
|
# metric: 'memory_ingested_total',
|
|
# payload: { count: 1 },
|
|
# ts: 1771172243227
|
|
# }
|
|
# memory_metric {
|
|
# metric: 'memory_retrieved_total',
|
|
# payload: { count: 1, cache_hit: false },
|
|
# ts: 1771172243229
|
|
# }
|
|
# memory_telemetry {
|
|
# event: 'memory:pruned',
|
|
# payload: { pruned_count: 1, retention_ms: 1000, dry_run: true },
|
|
# ts: 1771172243231
|
|
# }
|
|
# memory_metric {
|
|
# metric: 'memory_pruned_total',
|
|
# payload: { count: 0, retention_ms: 1000, dry_run: true },
|
|
# ts: 1771172243231
|
|
# }
|
|
# memory_telemetry {
|
|
# event: 'memory:prune_skipped',
|
|
# payload: { reason: 'flag_disabled', retention_ms: 1000 },
|
|
# ts: 1771172243231
|
|
# }
|
|
# Subtest: listMemories, inspectMemory, pinMemory, and unpinMemory support admin hooks
|
|
ok 14 - listMemories, inspectMemory, pinMemory, and unpinMemory support admin hooks
|
|
---
|
|
duration_ms: 4.307572
|
|
type: 'test'
|
|
...
|
|
# Subtest: triggerPruneDryRun returns candidate metadata without deleting records
|
|
ok 15 - triggerPruneDryRun returns candidate metadata without deleting records
|
|
---
|
|
duration_ms: 0.791589
|
|
type: 'test'
|
|
...
|
|
# Subtest: memoryStats reports counts/rates and retrieval telemetry remains redaction-safe
|
|
ok 16 - memoryStats reports counts/rates and retrieval telemetry remains redaction-safe
|
|
---
|
|
duration_ms: 12.613017
|
|
type: 'test'
|
|
...
|
|
# Subtest: runPruneCycle respects prune feature-flag modes
|
|
ok 17 - runPruneCycle respects prune feature-flag modes
|
|
---
|
|
duration_ms: 1.635771
|
|
type: 'test'
|
|
...
|
|
# Subtest: stores runtime events in signer/session namespace and clears scope
|
|
ok 18 - stores runtime events in signer/session namespace and clears scope
|
|
---
|
|
duration_ms: 13.530818
|
|
type: 'test'
|
|
...
|
|
# Subtest: expires runtime events and records expiration metrics
|
|
ok 19 - expires runtime events and records expiration metrics
|
|
---
|
|
duration_ms: 10.708487
|
|
type: 'test'
|
|
...
|
|
# Subtest: enforces LRU bounds and tracks eviction metrics
|
|
ok 20 - enforces LRU bounds and tracks eviction metrics
|
|
---
|
|
duration_ms: 0.93493
|
|
type: 'test'
|
|
...
|
|
# Subtest: blocks decrypted/session-sensitive data from durable promotion without sanitizer pass
|
|
ok 21 - blocks decrypted/session-sensitive data from durable promotion without sanitizer pass
|
|
---
|
|
duration_ms: 0.383858
|
|
type: 'test'
|
|
...
|
|
# Subtest: createEmbedderAdapter selects in-memory backend and supports vector CRUD
|
|
ok 22 - createEmbedderAdapter selects in-memory backend and supports vector CRUD
|
|
---
|
|
duration_ms: 2.18428
|
|
type: 'test'
|
|
...
|
|
# Subtest: createEmbedderAdapter reads backend from environment
|
|
ok 23 - createEmbedderAdapter reads backend from environment
|
|
---
|
|
duration_ms: 1.797149
|
|
type: 'test'
|
|
...
|
|
# Subtest: memory feature flags parse defaults and canary allow-lists
|
|
ok 24 - memory feature flags parse defaults and canary allow-lists
|
|
---
|
|
duration_ms: 1.653791
|
|
type: 'test'
|
|
...
|
|
# Subtest: memory prune flag supports off, dry-run, and active modes
|
|
ok 25 - memory prune flag supports off, dry-run, and active modes
|
|
---
|
|
duration_ms: 0.332521
|
|
type: 'test'
|
|
...
|
|
# Subtest: ingestMemoryWindow gathers sources, redacts pii, chunks, embeds, links, and emits telemetry
|
|
ok 26 - ingestMemoryWindow gathers sources, redacts pii, chunks, embeds, links, and emits telemetry
|
|
---
|
|
duration_ms: 7.304005
|
|
type: 'test'
|
|
...
|
|
# Subtest: ingestMemoryWindow dedupes overlapping windows by hashed content + agent + timestamp bucket
|
|
ok 27 - ingestMemoryWindow dedupes overlapping windows by hashed content + agent + timestamp bucket
|
|
---
|
|
duration_ms: 3.374466
|
|
type: 'test'
|
|
...
|
|
# Subtest: createLifecyclePlan respects delete safety constraints and logs reasons
|
|
ok 28 - createLifecyclePlan respects delete safety constraints and logs reasons
|
|
---
|
|
duration_ms: 3.374085
|
|
type: 'test'
|
|
...
|
|
# Subtest: createLifecyclePlan condenses near-duplicates and archives merged source records
|
|
ok 29 - createLifecyclePlan condenses near-duplicates and archives merged source records
|
|
---
|
|
duration_ms: 1.094682
|
|
type: 'test'
|
|
...
|
|
# Subtest: applyLifecycleActions executes keep/archive/delete and merge markers
|
|
ok 30 - applyLifecycleActions executes keep/archive/delete and merge markers
|
|
---
|
|
duration_ms: 1.727697
|
|
type: 'test'
|
|
...
|
|
# Subtest: filterAndRankMemories applies metadata filters and composite score
|
|
ok 31 - filterAndRankMemories applies metadata filters and composite score
|
|
---
|
|
duration_ms: 3.645929
|
|
type: 'test'
|
|
...
|
|
# Subtest: formatMemoriesForPrompt returns prompt blocks and enforces token budget trimming
|
|
ok 32 - formatMemoriesForPrompt returns prompt blocks and enforces token budget trimming
|
|
---
|
|
duration_ms: 1.310101
|
|
type: 'test'
|
|
...
|
|
# Subtest: isMemoryRetrievalEnabled supports global toggle and agent canary list
|
|
ok 33 - isMemoryRetrievalEnabled supports global toggle and agent canary list
|
|
---
|
|
duration_ms: 0.485555
|
|
type: 'test'
|
|
...
|
|
# Subtest: renderPromptWithMemoryContext injects bounded memory block before base prompt
|
|
ok 34 - renderPromptWithMemoryContext injects bounded memory block before base prompt
|
|
---
|
|
duration_ms: 1.064462
|
|
type: 'test'
|
|
...
|
|
# Subtest: createDbAdvisoryLockProvider acquires and releases postgres advisory locks
|
|
ok 35 - createDbAdvisoryLockProvider acquires and releases postgres advisory locks
|
|
---
|
|
duration_ms: 5.929768
|
|
type: 'test'
|
|
...
|
|
# Subtest: startMemoryMaintenanceScheduler runs all jobs and emits metrics including retries
|
|
ok 36 - startMemoryMaintenanceScheduler runs all jobs and emits metrics including retries
|
|
---
|
|
duration_ms: 27.965397
|
|
type: 'test'
|
|
...
|
|
# Subtest: startMemoryMaintenanceScheduler skips jobs when feature flags disable memory
|
|
ok 37 - startMemoryMaintenanceScheduler skips jobs when feature flags disable memory
|
|
---
|
|
duration_ms: 11.041732
|
|
type: 'test'
|
|
...
|
|
# Subtest: normalizeMemoryItem applies durable schema defaults and coercions
|
|
ok 38 - normalizeMemoryItem applies durable schema defaults and coercions
|
|
---
|
|
duration_ms: 3.559893
|
|
type: 'test'
|
|
...
|
|
# Subtest: validateMemoryItem reports field-level errors
|
|
ok 39 - validateMemoryItem reports field-level errors
|
|
---
|
|
duration_ms: 0.594268
|
|
type: 'test'
|
|
...
|
|
# Subtest: ingestEvents rejects invalid writes and logs structured validation details
|
|
ok 40 - ingestEvents rejects invalid writes and logs structured validation details
|
|
---
|
|
duration_ms: 5.917923
|
|
type: 'test'
|
|
...
|
|
# Subtest: loadMemoryPromptTemplates loads all memory prompt templates from disk
|
|
ok 41 - loadMemoryPromptTemplates loads all memory prompt templates from disk
|
|
---
|
|
duration_ms: 2.9983
|
|
type: 'test'
|
|
...
|
|
# Subtest: summarizeEvents retries with repair prompt when first response is malformed JSON
|
|
ok 42 - summarizeEvents retries with repair prompt when first response is malformed JSON
|
|
---
|
|
duration_ms: 2.619585
|
|
type: 'test'
|
|
...
|
|
# Subtest: summarizeEvents falls back to deterministic minimal summary with conservative importance when parsing fails twice
|
|
ok 43 - summarizeEvents falls back to deterministic minimal summary with conservative importance when parsing fails twice
|
|
---
|
|
duration_ms: 0.627561
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI Smoke Test
|
|
# Subtest: should print usage when no args provided
|
|
ok 1 - should print usage when no args provided
|
|
---
|
|
duration_ms: 383.82675
|
|
type: 'test'
|
|
...
|
|
# Subtest: should fail when checking without cadence
|
|
ok 2 - should fail when checking without cadence
|
|
---
|
|
duration_ms: 373.050465
|
|
type: 'test'
|
|
...
|
|
# Subtest: should include paused agents in check output
|
|
ok 3 - should include paused agents in check output
|
|
---
|
|
duration_ms: 1043.137448
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 44 - CLI Smoke Test
|
|
---
|
|
duration_ms: 1801.863691
|
|
type: 'suite'
|
|
...
|
|
# Initializing torch configuration in /app/test-ops-V4izU2/project1/torch...
|
|
# Created torch/roster.json
|
|
# Created torch/META_PROMPTS.md
|
|
# Created torch/scheduler-flow.md
|
|
# Created torch/daily-scheduler.md
|
|
# Created torch/weekly-scheduler.md
|
|
# Created torch/scripts/check-file-size.mjs
|
|
# Created torch/scripts/check-innerhtml.mjs
|
|
# Created 22 files in torch/prompts/daily/
|
|
# Created 20 files in torch/prompts/weekly/
|
|
# Created torch-config.json with namespace "torch-04f904c2"
|
|
# Initialization complete.
|
|
# You can now customize the files in torch/ and torch/prompts/.
|
|
# Initializing torch configuration in /app/test-ops-V4izU2/project2/torch...
|
|
# Initializing torch configuration in /app/test-ops-V4izU2/project3/torch...
|
|
# Created torch/roster.json
|
|
# Created torch/META_PROMPTS.md
|
|
# Created torch/scheduler-flow.md
|
|
# Created torch/daily-scheduler.md
|
|
# Created torch/weekly-scheduler.md
|
|
# Created torch/scripts/check-file-size.mjs
|
|
# Created torch/scripts/check-innerhtml.mjs
|
|
# Created 22 files in torch/prompts/daily/
|
|
# Created 20 files in torch/prompts/weekly/
|
|
# Created torch-config.json with namespace "torch-f2c039bb"
|
|
# Initialization complete.
|
|
# You can now customize the files in torch/ and torch/prompts/.
|
|
# Updating torch configuration in /app/test-ops-V4izU2/project3/torch...
|
|
# Creating backup at torch/_backups/backup_2026-02-15T16-17-23-742Z...
|
|
# Updating static files...
|
|
# Updated META_PROMPTS.md
|
|
# Updated scheduler-flow.md
|
|
# Updated daily-scheduler.md
|
|
# Updated weekly-scheduler.md
|
|
# Skipped roster.json (preserved)
|
|
# Updating scripts...
|
|
# Skipped check-file-size.mjs (preserved)
|
|
# Skipped check-innerhtml.mjs (preserved)
|
|
# Updating prompts...
|
|
# daily/: 0 added, 0 updated, 22 preserved
|
|
# weekly/: 0 added, 0 updated, 20 preserved
|
|
# Update complete.
|
|
# Initializing torch configuration in /app/test-ops-V4izU2/project4/torch...
|
|
# Created torch/roster.json
|
|
# Created torch/META_PROMPTS.md
|
|
# Created torch/scheduler-flow.md
|
|
# Created torch/daily-scheduler.md
|
|
# Created torch/weekly-scheduler.md
|
|
# Created torch/scripts/check-file-size.mjs
|
|
# Created torch/scripts/check-innerhtml.mjs
|
|
# Created 22 files in torch/prompts/daily/
|
|
# Created 20 files in torch/prompts/weekly/
|
|
# Created torch-config.json with namespace "torch-c7436f21"
|
|
# Initialization complete.
|
|
# You can now customize the files in torch/ and torch/prompts/.
|
|
# Updating torch configuration in /app/test-ops-V4izU2/project4/torch...
|
|
# Creating backup at torch/_backups/backup_2026-02-15T16-17-23-777Z...
|
|
# Updating static files...
|
|
# Updated META_PROMPTS.md
|
|
# Updated scheduler-flow.md
|
|
# Updated daily-scheduler.md
|
|
# Updated weekly-scheduler.md
|
|
# Overwrote roster.json (forced)
|
|
# Updating scripts...
|
|
# Updated check-file-size.mjs (forced)
|
|
# Updated check-innerhtml.mjs (forced)
|
|
# Updating prompts...
|
|
# daily/: 0 added, 22 updated, 0 preserved
|
|
# weekly/: 0 added, 20 updated, 0 preserved
|
|
# Update complete.
|
|
# Initializing torch configuration in /app/test-ops-V4izU2/project5/torch...
|
|
# Created torch/roster.json
|
|
# Created torch/META_PROMPTS.md
|
|
# Created torch/scheduler-flow.md
|
|
# Created torch/daily-scheduler.md
|
|
# Created torch/weekly-scheduler.md
|
|
# Created torch/scripts/check-file-size.mjs
|
|
# Created torch/scripts/check-innerhtml.mjs
|
|
# Created 22 files in torch/prompts/daily/
|
|
# Created 20 files in torch/prompts/weekly/
|
|
# Created torch-config.json with namespace "torch-0142ba6e"
|
|
# Initialization complete.
|
|
# You can now customize the files in torch/ and torch/prompts/.
|
|
# Updating torch configuration in /app/test-ops-V4izU2/project5/torch...
|
|
# Creating backup at torch/_backups/backup_2026-02-15T16-17-23-858Z...
|
|
# Updating static files...
|
|
# Updated META_PROMPTS.md
|
|
# Updated scheduler-flow.md
|
|
# Updated daily-scheduler.md
|
|
# Updated weekly-scheduler.md
|
|
# Skipped roster.json (preserved)
|
|
# Updating scripts...
|
|
# Skipped check-file-size.mjs (preserved)
|
|
# Skipped check-innerhtml.mjs (preserved)
|
|
# Updating prompts...
|
|
# daily/: 0 added, 0 updated, 22 preserved
|
|
# weekly/: 0 added, 0 updated, 20 preserved
|
|
# Update complete.
|
|
# Initializing torch configuration in /app/test-ops-V4izU2/project_roster/torch...
|
|
# Created torch/roster.json
|
|
# Created torch/META_PROMPTS.md
|
|
# Created torch/scheduler-flow.md
|
|
# Created torch/daily-scheduler.md
|
|
# Created torch/weekly-scheduler.md
|
|
# Created torch/scripts/check-file-size.mjs
|
|
# Created torch/scripts/check-innerhtml.mjs
|
|
# Created 22 files in torch/prompts/daily/
|
|
# Created 20 files in torch/prompts/weekly/
|
|
# Created torch-config.json with namespace "torch-a1b522cc"
|
|
# Initialization complete.
|
|
# You can now customize the files in torch/ and torch/prompts/.
|
|
# Checking locks: namespace=torch-a1b522cc, cadence=daily, date=2026-02-15
|
|
# Relays: wss://relay.damus.io, wss://nos.lol, wss://relay.primal.net
|
|
# {"event":"relay_health_snapshot","reason":"query:periodic","relays":[{"relay":"wss://nos.lol","score":0.6,"sampleSize":0,"successRate":0.5,"timeoutRate":0,"averageLatencyMs":null,"failureStreak":0,"quarantined":false,"quarantineRemainingMs":0,"cooldownMs":30000,"lastResultAt":null},{"relay":"wss://relay.damus.io","score":0.6,"sampleSize":0,"successRate":0.5,"timeoutRate":0,"averageLatencyMs":null,"failureStreak":0,"quarantined":false,"quarantineRemainingMs":0,"cooldownMs":30000,"lastResultAt":null},{"relay":"wss://relay.nostr.band","score":0.6,"sampleSize":0,"successRate":0.5,"timeoutRate":0,"averageLatencyMs":null,"failureStreak":0,"quarantined":false,"quarantineRemainingMs":0,"cooldownMs":30000,"lastResultAt":null},{"relay":"wss://relay.primal.net","score":0.6,"sampleSize":0,"successRate":0.5,"timeoutRate":0,"averageLatencyMs":null,"failureStreak":0,"quarantined":false,"quarantineRemainingMs":0,"cooldownMs":30000,"lastResultAt":null},{"relay":"wss://relay.snort.social","score":0.6,"sampleSize":0,"successRate":0.5,"timeoutRate":0,"averageLatencyMs":null,"failureStreak":0,"quarantined":false,"quarantineRemainingMs":0,"cooldownMs":30000,"lastResultAt":null}]}
|
|
# Initializing torch configuration in /app/test-ops-V4izU2/project_config_init/torch...
|
|
# Created torch/roster.json
|
|
# Created torch/META_PROMPTS.md
|
|
# Created torch/scheduler-flow.md
|
|
# Created torch/daily-scheduler.md
|
|
# Created torch/weekly-scheduler.md
|
|
# Created torch/scripts/check-file-size.mjs
|
|
# Created torch/scripts/check-innerhtml.mjs
|
|
# Created 22 files in torch/prompts/daily/
|
|
# Created 20 files in torch/prompts/weekly/
|
|
# Created torch-config.json with namespace "torch-4e4b8527"
|
|
# Initialization complete.
|
|
# You can now customize the files in torch/ and torch/prompts/.
|
|
# Subtest: cmdInit creates directory structure and files
|
|
ok 45 - cmdInit creates directory structure and files
|
|
---
|
|
duration_ms: 42.052872
|
|
type: 'test'
|
|
...
|
|
# Subtest: cmdInit fails if directory exists without force
|
|
ok 46 - cmdInit fails if directory exists without force
|
|
---
|
|
duration_ms: 1.736228
|
|
type: 'test'
|
|
...
|
|
# Subtest: cmdUpdate preserves modified prompt
|
|
ok 47 - cmdUpdate preserves modified prompt
|
|
---
|
|
duration_ms: 36.949608
|
|
type: 'test'
|
|
...
|
|
# Subtest: cmdUpdate overwrites prompt with force
|
|
ok 48 - cmdUpdate overwrites prompt with force
|
|
---
|
|
duration_ms: 71.227136
|
|
type: 'test'
|
|
...
|
|
# Subtest: cmdUpdate creates backup
|
|
ok 49 - cmdUpdate creates backup
|
|
---
|
|
duration_ms: 47.683515
|
|
type: 'test'
|
|
...
|
|
# Subtest: torch-lock check respects local roster
|
|
ok 50 - torch-lock check respects local roster
|
|
---
|
|
duration_ms: 1275.724431
|
|
type: 'test'
|
|
...
|
|
# Subtest: cmdInit creates torch-config.json with random namespace
|
|
ok 51 - cmdInit creates torch-config.json with random namespace
|
|
---
|
|
duration_ms: 25.12418
|
|
type: 'test'
|
|
...
|
|
# Published to 1/3 relays (required=1, timeout=80ms)
|
|
# Subtest: relay fanout quorum integration
|
|
# Subtest: passes with required=1 when one relay succeeds and two fail
|
|
ok 1 - passes with required=1 when one relay succeeds and two fail
|
|
---
|
|
duration_ms: 179.303288
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails with quorum error for required=1 when all relays fail
|
|
ok 2 - fails with quorum error for required=1 when all relays fail
|
|
---
|
|
duration_ms: 106.681725
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails with required=2 when only one relay succeeds
|
|
ok 3 - fails with required=2 when only one relay succeeds
|
|
---
|
|
duration_ms: 98.352854
|
|
type: 'test'
|
|
...
|
|
# Published to 2/3 relays (required=2, timeout=80ms)
|
|
# Subtest: passes when delayed successes reach quorum before timeout
|
|
ok 4 - passes when delayed successes reach quorum before timeout
|
|
---
|
|
duration_ms: 92.739864
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 52 - relay fanout quorum integration
|
|
---
|
|
duration_ms: 480.09955
|
|
type: 'suite'
|
|
...
|
|
# Subtest: raises all-relays-down duration alert after threshold
|
|
ok 53 - raises all-relays-down duration alert after threshold
|
|
---
|
|
duration_ms: 2.056389
|
|
type: 'test'
|
|
...
|
|
# Subtest: raises success-rate alert when rolling health falls below threshold
|
|
ok 54 - raises success-rate alert when rolling health falls below threshold
|
|
---
|
|
duration_ms: 0.324557
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails required memory policy when retrieval/storage evidence is missing
|
|
ok 55 - fails required memory policy when retrieval/storage evidence is missing
|
|
---
|
|
duration_ms: 816.967528
|
|
type: 'test'
|
|
...
|
|
# Subtest: accepts required memory policy when markers or artifacts are produced
|
|
ok 56 - accepts required memory policy when markers or artifacts are produced
|
|
---
|
|
duration_ms: 851.752434
|
|
type: 'test'
|
|
...
|
|
# Subtest: records backend failure metadata when lock command exits with code 2
|
|
ok 57 - records backend failure metadata when lock command exits with code 2
|
|
---
|
|
duration_ms: 923.81765
|
|
type: 'test'
|
|
...
|
|
# Subtest: defers backend failures in non-strict mode and reuses idempotency key on successful retry
|
|
ok 58 - defers backend failures in non-strict mode and reuses idempotency key on successful retry
|
|
---
|
|
duration_ms: 574.214779
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails after exceeding non-strict deferral budget
|
|
ok 59 - fails after exceeding non-strict deferral budget
|
|
---
|
|
duration_ms: 199.921164
|
|
type: 'test'
|
|
...
|
|
# Subtest: strict lock mode fails immediately without deferral
|
|
ok 60 - strict lock mode fails immediately without deferral
|
|
---
|
|
duration_ms: 106.769647
|
|
type: 'test'
|
|
...
|
|
# Subtest: skips lock health preflight by default when not enabled
|
|
ok 61 - skips lock health preflight by default when not enabled
|
|
---
|
|
duration_ms: 377.20189
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails scheduler with preflight metadata when lock health preflight is enabled
|
|
ok 62 - fails scheduler with preflight metadata when lock health preflight is enabled
|
|
---
|
|
duration_ms: 149.111388
|
|
type: 'test'
|
|
...
|
|
# Subtest: categorizes unreadable prompt files as prompt_parse_error
|
|
ok 63 - categorizes unreadable prompt files as prompt_parse_error
|
|
---
|
|
duration_ms: 118.261408
|
|
type: 'test'
|
|
...
|
|
# Subtest: categorizes invalid prompt schema as prompt_schema_error
|
|
ok 64 - categorizes invalid prompt schema as prompt_schema_error
|
|
---
|
|
duration_ms: 129.558549
|
|
type: 'test'
|
|
...
|
|
# Subtest: categorizes handoff runtime failures as execution_error
|
|
ok 65 - categorizes handoff runtime failures as execution_error
|
|
---
|
|
duration_ms: 341.601642
|
|
type: 'test'
|
|
...
|
|
# Subtest: retries lock acquisition for backend error and succeeds on a later attempt
|
|
ok 66 - retries lock acquisition for backend error and succeeds on a later attempt
|
|
---
|
|
duration_ms: 383.754001
|
|
type: 'test'
|
|
...
|
|
# Subtest: stops retrying after configured lock backend retries are exhausted
|
|
ok 67 - stops retrying after configured lock backend retries are exhausted
|
|
---
|
|
duration_ms: 110.088778
|
|
type: 'test'
|
|
...
|
|
# Subtest: does not use backend retry flow for exit code 3 lock conflicts
|
|
ok 68 - does not use backend retry flow for exit code 3 lock conflicts
|
|
---
|
|
duration_ms: 386.218614
|
|
type: 'test'
|
|
...
|
|
# Subtest: runs selected scheduler prompt through configured runner command
|
|
ok 69 - runs selected scheduler prompt through configured runner command
|
|
---
|
|
duration_ms: 366.341274
|
|
type: 'test'
|
|
...
|
|
# Subtest: propagates non-zero runner exit code
|
|
ok 70 - propagates non-zero runner exit code
|
|
---
|
|
duration_ms: 319.511588
|
|
type: 'test'
|
|
...
|
|
# Subtest: scheduler lock backend failure artifact matches required frontmatter schema
|
|
ok 71 - scheduler lock backend failure artifact matches required frontmatter schema
|
|
---
|
|
duration_ms: 123.314585
|
|
type: 'test'
|
|
...
|
|
# Subtest: schema contract catches missing required lock-backend field
|
|
ok 72 - schema contract catches missing required lock-backend field
|
|
---
|
|
duration_ms: 2.399678
|
|
type: 'test'
|
|
...
|
|
# Subtest: schema contract catches misnamed lock-backend key
|
|
ok 73 - schema contract catches misnamed lock-backend key
|
|
---
|
|
duration_ms: 0.372476
|
|
type: 'test'
|
|
...
|
|
# Subtest: lock preflight e2e: successful lock writes completed status snapshot
|
|
ok 74 - lock preflight e2e: successful lock writes completed status snapshot
|
|
---
|
|
duration_ms: 424.47349
|
|
type: 'test'
|
|
...
|
|
# Subtest: lock preflight e2e: exit code 2 quorum failure persists failed backend status and prompt-not-started marker
|
|
ok 75 - lock preflight e2e: exit code 2 quorum failure persists failed backend status and prompt-not-started marker
|
|
---
|
|
duration_ms: 105.380904
|
|
type: 'test'
|
|
...
|
|
# Subtest: lock preflight e2e: non-lock failure exits failed without prompt parse/schema classification
|
|
ok 76 - lock preflight e2e: non-lock failure exits failed without prompt parse/schema classification
|
|
---
|
|
duration_ms: 101.887081
|
|
type: 'test'
|
|
...
|
|
# Subtest: Scheduler Ratchet Logic (Log Checking)
|
|
# Subtest: excludes agents completed today (daily)
|
|
ok 1 - excludes agents completed today (daily)
|
|
---
|
|
duration_ms: 3.299241
|
|
type: 'test'
|
|
...
|
|
# Subtest: excludes agents completed this week (weekly)
|
|
ok 2 - excludes agents completed this week (weekly)
|
|
---
|
|
duration_ms: 0.405618
|
|
type: 'test'
|
|
...
|
|
# Subtest: combines locked and completed agents in exclusion list
|
|
ok 3 - combines locked and completed agents in exclusion list
|
|
---
|
|
duration_ms: 0.502726
|
|
type: 'test'
|
|
...
|
|
# Subtest: ignores logs when --ignore-logs is set
|
|
ok 4 - ignores logs when --ignore-logs is set
|
|
---
|
|
duration_ms: 0.280384
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles missing log directory gracefully
|
|
ok 5 - handles missing log directory gracefully
|
|
---
|
|
duration_ms: 0.414921
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 77 - Scheduler Ratchet Logic (Log Checking)
|
|
---
|
|
duration_ms: 6.722353
|
|
type: 'suite'
|
|
...
|
|
# Subtest: Scheduler cycle ordering guarantees
|
|
# Subtest: keeps optional preflight before lock-acquire and preserves handoff/artifact/validation/complete ordering
|
|
ok 1 - keeps optional preflight before lock-acquire and preserves handoff/artifact/validation/complete ordering
|
|
---
|
|
duration_ms: 14.925881
|
|
type: 'test'
|
|
...
|
|
# Subtest: includes lock backend failure metadata and classifier checkpoints
|
|
ok 2 - includes lock backend failure metadata and classifier checkpoints
|
|
---
|
|
duration_ms: 2.126878
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 78 - Scheduler cycle ordering guarantees
|
|
---
|
|
duration_ms: 17.46538
|
|
type: 'suite'
|
|
...
|
|
# Subtest: summarizes recent lock reliability by platform/cadence/backend/relay
|
|
ok 79 - summarizes recent lock reliability by platform/cadence/backend/relay
|
|
---
|
|
duration_ms: 98.977497
|
|
type: 'test'
|
|
...
|
|
# Subtest: loadTorchConfig (Unit Tests with Mocked FS)
|
|
# Subtest: loads valid config correctly
|
|
ok 1 - loads valid config correctly
|
|
---
|
|
duration_ms: 2.794971
|
|
type: 'test'
|
|
...
|
|
# Subtest: returns default config when file is missing
|
|
ok 2 - returns default config when file is missing
|
|
---
|
|
duration_ms: 0.614297
|
|
type: 'test'
|
|
...
|
|
# Subtest: throws error on malformed JSON
|
|
ok 3 - throws error on malformed JSON
|
|
---
|
|
duration_ms: 0.948542
|
|
type: 'test'
|
|
...
|
|
# Subtest: caches the config and ignores subsequent fs calls
|
|
ok 4 - caches the config and ignores subsequent fs calls
|
|
---
|
|
duration_ms: 0.479903
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 80 - loadTorchConfig (Unit Tests with Mocked FS)
|
|
---
|
|
duration_ms: 6.697672
|
|
type: 'suite'
|
|
...
|
|
# Subtest: torch-config
|
|
# Subtest: getTorchConfigPath
|
|
# Subtest: returns default path when env var is not set
|
|
ok 1 - returns default path when env var is not set
|
|
---
|
|
duration_ms: 1.256855
|
|
type: 'test'
|
|
...
|
|
# Subtest: returns custom path when env var is set
|
|
ok 2 - returns custom path when env var is set
|
|
---
|
|
duration_ms: 0.282895
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 1 - getTorchConfigPath
|
|
---
|
|
duration_ms: 3.096014
|
|
type: 'suite'
|
|
...
|
|
# Subtest: parseTorchConfig
|
|
# Subtest: parses new lock backend knobs
|
|
ok 1 - parses new lock backend knobs
|
|
---
|
|
duration_ms: 1.825336
|
|
type: 'test'
|
|
...
|
|
1..1
|
|
ok 2 - parseTorchConfig
|
|
---
|
|
duration_ms: 2.147755
|
|
type: 'suite'
|
|
...
|
|
# Subtest: loadTorchConfig
|
|
# Subtest: throws fatal error for invalid relay URL
|
|
ok 1 - throws fatal error for invalid relay URL
|
|
---
|
|
duration_ms: 1.559903
|
|
type: 'test'
|
|
...
|
|
# Subtest: throws fatal error for invalid timeout range
|
|
ok 2 - throws fatal error for invalid timeout range
|
|
---
|
|
duration_ms: 0.772939
|
|
type: 'test'
|
|
...
|
|
# Subtest: throws error for malformed JSON
|
|
ok 3 - throws error for malformed JSON
|
|
---
|
|
duration_ms: 1.896993
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 3 - loadTorchConfig
|
|
---
|
|
duration_ms: 4.787858
|
|
type: 'suite'
|
|
...
|
|
# Subtest: backend getters
|
|
# Subtest: returns default relays
|
|
ok 1 - returns default relays
|
|
---
|
|
duration_ms: 0.630417
|
|
type: 'test'
|
|
...
|
|
# Subtest: validates env knob values
|
|
ok 2 - validates env knob values
|
|
---
|
|
duration_ms: 1.051312
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 4 - backend getters
|
|
---
|
|
duration_ms: 2.049458
|
|
type: 'suite'
|
|
...
|
|
1..4
|
|
ok 81 - torch-config
|
|
---
|
|
duration_ms: 13.298272
|
|
type: 'suite'
|
|
...
|
|
# Subtest: Date Utilities
|
|
# Subtest: getIsoWeekStr
|
|
# Subtest: returns correct ISO week for simple cases
|
|
ok 1 - returns correct ISO week for simple cases
|
|
---
|
|
duration_ms: 1.401843
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles year boundaries correctly
|
|
ok 2 - handles year boundaries correctly
|
|
---
|
|
duration_ms: 0.22169
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles leap years
|
|
ok 3 - handles leap years
|
|
---
|
|
duration_ms: 0.169879
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles empty input (defaults to today)
|
|
ok 4 - handles empty input (defaults to today)
|
|
---
|
|
duration_ms: 0.378036
|
|
type: 'test'
|
|
...
|
|
# Subtest: handles invalid input gracefully
|
|
ok 5 - handles invalid input gracefully
|
|
---
|
|
duration_ms: 0.168264
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 1 - getIsoWeekStr
|
|
---
|
|
duration_ms: 4.984731
|
|
type: 'suite'
|
|
...
|
|
1..1
|
|
ok 82 - Date Utilities
|
|
---
|
|
duration_ms: 5.676298
|
|
type: 'suite'
|
|
...
|
|
# Subtest: passes when artifacts include metadata and failure IDs map to unresolved known issue entries
|
|
ok 83 - passes when artifacts include metadata and failure IDs map to unresolved known issue entries
|
|
---
|
|
duration_ms: 91.889648
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails when required metadata is missing from artifacts
|
|
ok 84 - fails when required metadata is missing from artifacts
|
|
---
|
|
duration_ms: 74.181001
|
|
type: 'test'
|
|
...
|
|
# Subtest: fails when failure identifiers are not cross-linked to known issues or incidents
|
|
ok 85 - fails when failure identifiers are not cross-linked to known issues or incidents
|
|
---
|
|
duration_ms: 76.047901
|
|
type: 'test'
|
|
...
|
|
# Subtest: schema validation covers required fields, coercion, and rejection paths
|
|
ok 86 - schema validation covers required fields, coercion, and rejection paths
|
|
---
|
|
duration_ms: 5.173316
|
|
type: 'test'
|
|
...
|
|
# Subtest: summarizer parser accepts valid json and recovers after malformed json response
|
|
ok 87 - summarizer parser accepts valid json and recovers after malformed json response
|
|
---
|
|
duration_ms: 2.938132
|
|
type: 'test'
|
|
...
|
|
# Subtest: ingest integration persists memory records and links embeddings from event batches
|
|
ok 88 - ingest integration persists memory records and links embeddings from event batches
|
|
---
|
|
duration_ms: 3.017692
|
|
type: 'test'
|
|
...
|
|
# Subtest: retrieval ranking blends semantic, importance, and recency signals
|
|
ok 89 - retrieval ranking blends semantic, importance, and recency signals
|
|
---
|
|
duration_ms: 1.015062
|
|
type: 'test'
|
|
...
|
|
# Subtest: pruner policy protects pins, merges duplicates, and picks archive/delete outcomes
|
|
ok 90 - pruner policy protects pins, merges duplicates, and picks archive/delete outcomes
|
|
---
|
|
duration_ms: 1.690237
|
|
type: 'test'
|
|
...
|
|
# Subtest: scheduler smoke test handles mocked clock and lock contention
|
|
ok 91 - scheduler smoke test handles mocked clock and lock contention
|
|
---
|
|
duration_ms: 33.301608
|
|
type: 'test'
|
|
...
|
|
1..91
|
|
# tests 146
|
|
# suites 23
|
|
# pass 146
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 8341.271153
|
|
# start of coverage report
|
|
# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
# file | line % | branch % | funcs % | uncovered lines
|
|
# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
# bin | | | |
|
|
# torch-lock.mjs | 100.00 | 100.00 | 100.00 |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-selected-prompt.mjs | 68.92 | 45.45 | 60.00 | 8-11 18 21-28 34-35 44-45 48-49 63-66
|
|
# summarize-lock-reliability.mjs | 91.74 | 59.65 | 81.25 | 20-21 29-30 73 78-80 115 125-131 182-183 240-241
|
|
# verify-run-artifacts.mjs | 82.04 | 46.67 | 64.29 | 57-60 62-65 96 100-102 117-118 121-127 131-132 143 166-167 180-181 209-210 212-213 215-216 248-249 255-256 259-263 272-274 297-299 302-304 317-325 329-330 360-361
|
|
# src | | | |
|
|
# cli-parser.mjs | 100.00 | 100.00 | 100.00 |
|
|
# constants.mjs | 100.00 | 100.00 | 100.00 |
|
|
# dashboard.mjs | 8.70 | 100.00 | 0.00 | 9-92
|
|
# errors.mjs | 100.00 | 100.00 | 100.00 |
|
|
# lib.mjs | 84.59 | 71.43 | 90.91 | 373 375-377 491 577-587 590-600 603-609 612-629 632-634 637-639 642-644 647-657 660-667 670-677 680-687 690-693 696-699 702-704 710-712
|
|
# lock-ops.mjs | 97.10 | 90.81 | 96.55 | 32-33 207-210 225-227 241-242 249-251 354-356
|
|
# ops.mjs | 93.80 | 80.95 | 100.00 | 50-51 131-132 137-138 140-141 143-144 155-156 211-212 246-247
|
|
# relay-health.mjs | 24.20 | 68.75 | 41.67 | 9-15 17-19 74-94 96-166 168-187 189-192 195-281
|
|
# roster.mjs | 87.39 | 33.33 | 83.33 | 76-83 88-91 107 110
|
|
# services | | | |
|
|
# memory | | | |
|
|
# cache.js | 92.66 | 75.41 | 95.24 | 121-135 146
|
|
# embedder.js | 95.45 | 69.70 | 89.47 | 56-57 59-60 105-106
|
|
# feature-flags.js | 100.00 | 90.00 | 100.00 |
|
|
# formatter.js | 91.75 | 50.00 | 90.00 | 113-114 117-118 121-122 128-129 131-132 162-163 170-171 190-191
|
|
# index.js | 82.17 | 57.65 | 81.58 | 24 27-30 33-37 40 62-64 76-77 90-92 95-97 123-124 138-140 168-179 218-219 236-251 253-258 294-297 335-336
|
|
# ingestor.js | 95.19 | 68.92 | 95.45 | 12-15 77-79 87-88 96 102-103 144-145
|
|
# pruner.js | 95.85 | 80.82 | 86.36 | 15-16 116-117 153-154 226-227 298-302
|
|
# retriever.js | 89.50 | 68.42 | 92.86 | 10-26 80-81
|
|
# scheduler.js | 86.12 | 82.35 | 85.71 | 33-42 46-47 55-56 89-90 106-116 261-275 297-298
|
|
# schema.js | 98.51 | 76.74 | 100.00 | 102-103
|
|
# summarizer.js | 96.03 | 68.42 | 100.00 | 53-54 58-59 95-96
|
|
# torch-config.mjs | 94.37 | 87.64 | 92.86 | 35-36 180 195-196 222-232
|
|
# utils.mjs | 100.00 | 100.00 | 100.00 |
|
|
# test | | | |
|
|
# cli-parser.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# lib.test.mjs | 95.20 | 100.00 | 95.06 | 207-226
|
|
# lock-acquisition-resilience.integration.test.mjs | 100.00 | 100.00 | 94.12 |
|
|
# lock-ops-publish-retry.test.mjs | 100.00 | 95.08 | 98.21 |
|
|
# lock-ops.test.mjs | 99.49 | 100.00 | 97.48 | 208 290
|
|
# memory-admin.test.mjs | 99.26 | 88.24 | 93.33 | 59
|
|
# memory-cache.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# memory-embedder.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# memory-feature-flags.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# memory-ingestor.test.mjs | 97.22 | 100.00 | 83.33 | 55 61 64
|
|
# memory-pruner.test.mjs | 100.00 | 81.48 | 100.00 |
|
|
# memory-retriever.test.mjs | 100.00 | 80.95 | 100.00 |
|
|
# memory-scheduler.test.mjs | 96.03 | 100.00 | 76.19 | 63 107 110 113 116
|
|
# memory-schema.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# memory-summarizer.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# nostr-lock.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# ops.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# relay-fanout-quorum.integration.test.mjs | 94.98 | 88.06 | 100.00 | 16-18 28-29 39-41 50-51 54-55
|
|
# relay-health-thresholds.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# run-scheduler-cycle-memory-policy.test.mjs | 100.00 | 95.45 | 100.00 |
|
|
# run-selected-prompt.test.mjs | 97.18 | 85.71 | 71.43 | 22 26
|
|
# scheduler-lock-failure-schema.contract.test.mjs | 100.00 | 89.29 | 100.00 |
|
|
# scheduler-preflight-lock.e2e.test.mjs | 100.00 | 83.33 | 100.00 |
|
|
# scheduler-ratchet.test.mjs | 99.40 | 100.00 | 88.89 | 96
|
|
# summarize-lock-reliability.test.mjs | 100.00 | 85.71 | 83.33 |
|
|
# torch-config-unit.test.mjs | 100.00 | 100.00 | 87.50 |
|
|
# torch-config.test.mjs | 98.03 | 90.32 | 100.00 | 25 77 123
|
|
# utils.test.mjs | 100.00 | 100.00 | 100.00 |
|
|
# verify-run-artifacts.test.mjs | 100.00 | 92.86 | 100.00 |
|
|
# tests | | | |
|
|
# fixtures | | | |
|
|
# memory-fixtures.js | 100.00 | 100.00 | 100.00 |
|
|
# memory.test.js | 99.28 | 100.00 | 94.29 | 106 257
|
|
# .. | | | |
|
|
# tmp | | | |
|
|
# scheduler-lock-e2e-C36azh | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 48.51 | 32.74 | 54.10 | 25-27 33-36 55-56 58 61-76 96-98 118 124-125 131-134 137-143 145-150 152-157 159-163 165-177 184-190 195-201 206-245 247-258 265-269 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 843-853 862-878 886-896 898-911 914-930 950-960 981-992 999-1009 1019-1027 1035-1036
|
|
# verify-run-artifacts.mjs | 100.00 | 100.00 | 100.00 |
|
|
# scheduler-lock-e2e-o4Ltng | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 39.83 | 33.68 | 47.46 | 25-27 33-36 55-56 58 61-76 118 124-125 131-134 137-143 145-150 152-157 159-163 165-177 179-204 206-245 247-258 260-277 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 839-948 950-1031 1035-1036
|
|
# scheduler-lock-e2e-P7GSOn | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 52.65 | 37.33 | 63.33 | 25-27 33-36 55-56 58 66-67 69-70 72-73 118 133-134 149 174-175 179-204 214 216-218 220-225 231-236 241-244 247-258 260-277 279-291 293-305 313-318 320-322 324-327 341-355 373 461-462 465-466 486-505 507-509 529-530 541-544 560-561 569-575 579-584 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 772-796 826-948 950-1031 1035-1036
|
|
# scheduler-lock-schema-Sf2PND | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 52.65 | 35.10 | 63.33 | 25-27 33-36 55-56 58 66-67 69-70 72-73 118 133-134 149 174-175 179-204 214 216-218 220-225 231-236 241-244 247-258 260-277 279-291 293-305 313-318 320-322 324-327 341-355 373 461-462 465-466 486-505 507-509 529-530 541-544 560-561 569-575 579-584 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 772-796 826-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-0FSTXE | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 51.01 | 33.05 | 57.38 | 25-27 33-36 55-56 58 61-76 96-98 124-125 131-134 137-143 145-150 152-157 159-163 165-177 184-190 195-201 206-245 256-257 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 843-853 867-877 886-896 898-911 919-929 950-960 963-964 981-992 999-1009 1019-1027 1035-1036
|
|
# verify-run-artifacts.mjs | 100.00 | 100.00 | 100.00 |
|
|
# scheduler-memory-policy-1gNfZ7 | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 52.75 | 37.09 | 63.33 | 25-27 33-36 55-56 58 66-67 69-70 72-73 118 133-134 149 174-175 179-204 212-213 218 220-225 231-236 241-244 247-258 260-277 279-291 293-305 313-318 320-322 324-327 341-355 373 461-462 465-466 486-505 507-509 529-530 541-544 560-561 569-575 579-584 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 772-796 826-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-1zrMDK | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 47.64 | 36.36 | 59.02 | 25-27 33-36 55-56 58 61-76 96-98 124-125 131-134 137-143 145-150 159-163 165-177 184-190 195-201 206-245 247-258 265-269 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 843-853 867-877 886-896 898-911 919-929 961-1031 1035-1036
|
|
# scheduler-memory-policy-C9cNfm | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 41.76 | 33.00 | 48.33 | 25-27 33-36 55-56 58 61-76 96-98 118 124-125 131-134 137-143 145-150 159-163 165-177 184-190 202-203 206-245 247-258 260-277 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 477-480 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 854-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-eYF0rC | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 43.20 | 33.01 | 50.00 | 25-27 33-36 55-56 58 61-76 96-98 118 124-125 131-134 137-143 145-150 159-163 165-177 184-190 195-201 206-245 247-258 260-277 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 843-853 862-878 898-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-g5puiQ | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 55.64 | 40.94 | 70.00 | 25-27 33-36 55-56 58 66-67 69-70 72-73 118 134 149 174-175 179-204 212-213 216-217 222-225 231-236 241-244 247-258 260-277 279-291 293-305 313-318 324-327 341-355 373 461-462 465-466 486-505 507-509 529-530 541-544 560-561 569-575 579-584 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 826-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-GaIYMe | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 48.89 | 41.60 | 54.10 | 25-27 33-36 55-56 58 61-76 96-98 118 131-134 137-143 145-150 152-157 159-163 165-177 184-190 195-201 206-245 247-258 265-269 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 753-825 828-838 843-853 862-878 886-896 898-911 914-930 950-960 981-992 999-1009 1019-1027 1035-1036
|
|
# verify-run-artifacts.mjs | 100.00 | 100.00 | 100.00 |
|
|
# scheduler-memory-policy-gkVwbe | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 48.51 | 32.74 | 54.10 | 25-27 33-36 55-56 58 61-76 96-98 118 124-125 131-134 137-143 145-150 152-157 159-163 165-177 184-190 195-201 206-245 247-258 265-269 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 843-853 862-878 886-896 898-911 914-930 950-960 981-992 999-1009 1019-1027 1035-1036
|
|
# verify-run-artifacts.mjs | 100.00 | 100.00 | 100.00 |
|
|
# scheduler-memory-policy-ixkssp | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 53.33 | 33.12 | 65.57 | 25-27 33-36 55-56 58 66-67 69-70 72-73 118 124-125 131-134 149 174-175 179-204 212-213 216-217 222-225 231-236 241-244 247-258 260-277 279-291 293-305 313-318 320-322 324-327 341-355 373 461-462 465-466 486-505 529-530 569-575 579-584 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 772-796 826-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-JlPD5a | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 41.56 | 32.32 | 46.67 | 25-27 33-36 55-56 58 61-76 96-98 118 124-125 131-134 137-143 145-150 159-163 165-177 191-192 195-203 206-245 247-258 260-277 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 477-480 482-484 486-505 507-509 531-544 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 854-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-KrZBRc | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 53.04 | 35.95 | 63.33 | 25-27 33-36 55-56 58 66-67 69-70 72-73 118 131-134 149 174-175 179-204 212-213 216-217 222-225 231-236 241-244 247-258 260-277 279-291 293-305 313-318 320-322 324-327 341-355 373 461-462 465-466 486-505 507-509 529-530 560-561 569-575 579-584 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 772-796 826-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-OFSd4b | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 49.57 | 38.33 | 55.74 | 25-27 33-36 55-56 58 61-76 118 131-134 137-143 145-150 152-157 159-163 165-177 184-190 195-201 206-245 247-258 265-269 279-291 293-305 307-311 313-318 320-322 324-327 341-355 373 461-462 465-466 482-484 486-505 507-509 533-540 560-561 565-591 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 753-825 828-838 843-853 862-878 886-896 898-911 914-930 950-960 981-992 999-1009 1019-1027 1035-1036
|
|
# verify-run-artifacts.mjs | 100.00 | 100.00 | 100.00 |
|
|
# scheduler-memory-policy-S1VZPM | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# check-relay-health.mjs | 100.00 | 100.00 | 100.00 |
|
|
# run-scheduler-cycle.mjs | 37.90 | 39.45 | 55.36 | 25-27 33-36 55-56 58 61-76 96-98 118 124-125 133-134 149 174-175 179-204 206-245 247-258 260-277 279-291 293-305 307-311 313-318 320-322 324-327 329-358 360-374 461-462 465-466 477-480 482-484 507-509 511-563 565-591 637-639 643-645 654 693-694 699-701 706-734 746-948 950-1031 1035-1036
|
|
# scheduler-memory-policy-yMXCHA | | | |
|
|
# scripts | | | |
|
|
# agent | | | |
|
|
# run-scheduler-cycle.mjs | 64.71 | 39.52 | 77.42 | 25-27 33-36 55-56 58 66-67 69-70 72-73 118 134 149 174-175 184-190 195-201 212-213 218 220-225 231-236 241-244 247-258 265-269 279-291 293-305 313-318 324-327 341-355 373 461-462 465-466 486-505 507-509 541-544 560-561 569-575 579-584 637-639 643-645 654 663-692 699-701 709-715 725-733 749-750 797-809 828-838 843-853 862-878 886-896 898-911 914-930 950-960 981-992 999-1009 1019-1027 1035-1036
|
|
# verify-run-artifacts.mjs | 100.00 | 100.00 | 100.00 |
|
|
# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
# all files | 64.37 | 58.20 | 75.46 |
|
|
# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
# end of coverage report
|