Commit Graph
1090 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN 62afdbb774 perf: optimize roster check in cmd-list using Set
Refactored `src/cmd-list.mjs` to use a `Set` for roster lookups, reducing complexity from O(M*N) to O(M+N).
Added dependency injection to `cmdList` to enable unit testing.
Added `test/cmd-list.test.mjs` to verify functionality.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:31:13 +00:00
google-labs-jules[bot]andPR0M3TH3AN a31332457d test: add unit tests for roster loading logic
- Implemented dependency injection in `src/roster.mjs` to allow mocking `fs` and `loadTorchConfig`.
- Added `test/roster.test.mjs` with comprehensive test cases:
    - Fallback behavior when no files/config exist.
    - Priority of `torch/roster.json` (User Roster) over `roster.json` (CWD).
    - Internal module roster fallback.
    - Environment variable overrides.
    - Configuration overrides.
    - Error handling for malformed JSON or missing fields.
- Exported `_resetRosterCache`, `_setRosterDependencies`, and `_restoreRosterDependencies` for testing purposes.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:31:12 +00:00
google-labs-jules[bot]andPR0M3TH3AN cc932d31de refactor: extract hardcoded error classification strings in lock-ops.mjs
- Introduced `PUBLISH_ERROR_CODES` constant for publish error classification.
- Introduced `PUBLISH_FAILURE_CATEGORIES` constant for failure categorization.
- Replaced hardcoded strings in `classifyPublishError`, `isTransientPublishCategory`, `LockPublisher.publish`, and `determineFailureCategory` with these constants.
- Verified changes with existing tests.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:30:29 +00:00
google-labs-jules[bot]andPR0M3TH3AN 7305dd964d Optimize createLifecyclePlan with Promise.all
Replaced sequential `await condenseGroup` calls with `Promise.all` to run condensation tasks concurrently.
Added `scripts/benchmark-pruner.mjs` to measure performance improvement.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:30:28 +00:00
google-labs-jules[bot]andPR0M3TH3AN ace069cc19 perf(pruner): optimize groupNearDuplicates to O(N log N) from O(N^2)
Sorts memories by created_at and uses an early exit condition in the inner loop to avoid checking all pairs. This reduces complexity from O(N^2) to roughly O(N * k) where k is the number of items within the duplicate window.

Measured improvement for 30k items: ~2.1s -> ~0.25s (8x speedup).

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:30:11 +00:00
google-labs-jules[bot]andPR0M3TH3AN aad5e46b31 fix(dashboard): whitelist exposed torch-config.json fields
Restrict the /torch-config.json endpoint to only return fields required by the dashboard frontend (dashboard config excluding auth, and nostrLock namespace/relays). This prevents exposure of sensitive internal configuration such as rosters, scheduler settings, and full relay lists.

- Modify src/dashboard.mjs to sanitize config using an allowlist approach.
- Add test/dashboard-config-exposure.test.mjs to verify sensitive fields are stripped.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:29:23 +00:00
google-labs-jules[bot]andPR0M3TH3AN 75c9b669c0 feat(dashboard): add HTTP security headers
Adds standard HTTP security headers (CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy) to all dashboard responses to mitigate XSS, clickjacking, and MIME sniffing attacks.

Includes verification tests in test/dashboard-security.test.mjs.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:29:21 +00:00
google-labs-jules[bot]andPR0M3TH3AN e12c415f28 feat(test): add unit tests for roster loading logic with dependency injection
- Refactor `src/roster.mjs` to support dependency injection for `fs` and `loadTorchConfig`.
- Add `test/roster.test.mjs` to test roster loading scenarios including file precedence, caching, fallback, and configuration overrides.
- Export `_resetRosterCache` in `src/roster.mjs` for testing purposes.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:29:09 +00:00
google-labs-jules[bot]andPR0M3TH3AN b1353cb79b fix: prevent command injection in init scripts by validating install dir
- Added `validateInstallDir` function to `src/ops.mjs` to enforce strict allowlist for directory names (alphanumeric, hyphens, underscores, slashes, periods).
- Integrated validation into `resolveConfiguration` to sanitize both interactive and mock inputs.
- Added comprehensive unit tests in `test/install_dir_validation.test.mjs`.

This fixes a vulnerability where malicious directory names could inject shell commands into `package.json` scripts during initialization.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:28:59 +00:00
google-labs-jules[bot]andPR0M3TH3AN ba5d86142c Refactor: Move ensureDir to src/utils.mjs
Moved the `ensureDir` utility function from `src/ops.mjs` to `src/utils.mjs` to promote code reuse and centralization.
Updated `src/ops.mjs` and `src/services/memory/index.js` to use the shared utility.
Added unit tests for `ensureDir` in `test/utils.test.mjs`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:28:09 +00:00
google-labs-jules[bot]andPR0M3TH3AN 74993c1d47 I've removed the dead code in src/cmd-lock.mjs. This file contained duplicated logic that is now handled in src/lib.mjs and is not imported by any other module in the codebase.
Verified by:
- Searching the codebase to confirm no imports.
- Running the tests to ensure no regressions.
- Running the build to ensure the process is unaffected.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:28:01 +00:00
google-labs-jules[bot]andPR0M3TH3AN e787247c6f test(utils): add unit tests for todayDateStr and nowUnix
Add comprehensive unit tests for `todayDateStr` and `nowUnix` in `src/utils.mjs`.
These tests use `node:test`'s mock timers to ensure deterministic execution, verifying
that the date formatting and timestamp generation behave as expected.

- `todayDateStr`: verified correct YYYY-MM-DD format
- `nowUnix`: verified correct integer timestamp generation

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:27:26 +00:00
google-labs-jules[bot]andPR0M3TH3AN b012ae19da test: enhance coverage for relay alert thresholds
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:27:21 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9a9f93aa04 chore: remove dead code src/cmd-check.mjs
- Remove `src/cmd-check.mjs` as it is not used in the codebase and contains outdated logic.
- Remove `test/cmd-check.test.mjs` as it tests the deleted file.
- Verify that `cmdCheck` in `src/lib.mjs` is covered by `test/lib.test.mjs`.

This improves code health by removing unused and duplicate code.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 03:23:18 +00:00
google-labs-jules[bot]andPR0M3TH3AN 06ddd10f1a chore(scheduler): run daily design-system-audit-agent
- Executed design-system-audit-agent on daily cadence
- Generated design system audit report (memory-update.md)
- Created run artifacts in src/context, src/todo, src/decisions, src/test_logs
- Published lock completion and final task log

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 02:42:06 +00:00
thePR0M3TH3AN cea50da512 Merge pull request #268 from PR0M3TH3AN/agents/daily/docs-agent-2026-02-18-7952298957749290543
Daily Scheduler: docs-agent run
2026-02-17 21:32:10 -05:00
thePR0M3TH3AN 214fe54ca8 Merge pull request #267 from PR0M3TH3AN/agents/daily/design-system-audit-2026-02-18-1397951051448174521
Daily Agent: Design System Audit
2026-02-17 21:30:11 -05:00
google-labs-jules[bot]andPR0M3TH3AN f436beab9b docs(agent): audit and improve documentation (docs-agent)
- Created `CONTRIBUTING.md` with development instructions.
- Updated `README.md` to include a Development section.
- Added daily scheduler run artifacts.
- Completed scheduler cycle for `docs-agent`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 01:16:10 +00:00
google-labs-jules[bot]andPR0M3TH3AN c90508ba42 chore(ui): design system audit (autofixes)
- Ran design-system-audit-agent.
- Audited landing/index.html for inline styles and design system violations.
- Applied safe auto-fixes to landing/index.html (margins, colors, text alignment).
- Generated audit report in task-logs/daily/.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 00:24:07 +00:00
thePR0M3TH3AN f343af246f Merge pull request #266 from PR0M3TH3AN/agents/daily/deps-security-agent-2026-02-17-6568228938484904642
Daily Scheduler: deps-security-agent
2026-02-17 18:40:25 -05:00
thePR0M3TH3AN b122da6365 Merge pull request #265 from PR0M3TH3AN/agents/daily/2026-02-17T22-28-08-decompose-agent-17472629862250051313
[scheduler] daily/decompose-agent: Decompose scripts/agent/run-scheduler-cycle.mjs
2026-02-17 18:39:47 -05:00
google-labs-jules[bot]andPR0M3TH3AN da4d360af1 chore(scheduler): execute deps-security-agent
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 23:27:49 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9e993800fa [scheduler] daily/decompose-agent: Decompose scripts/agent/run-scheduler-cycle.mjs
- Executed daily scheduler cycle.
- Selected `decompose-agent` (next in roster).
- Decomposed `scripts/agent/run-scheduler-cycle.mjs` (1127 lines) into `scripts/agent/scheduler-utils.mjs` (195 lines) and `scripts/agent/scheduler-lock.mjs` (173 lines).
- Resulting main file size: 788 lines (339 lines reduction).
- Fixed lint warnings.
- Updated `test/scheduler-preflight-lock.e2e.test.mjs`, `test/run-scheduler-cycle-memory-policy.test.mjs`, `test/scheduler-lock-failure-schema.contract.test.mjs` to copy new modules into test fixtures.
- Updated `test/scheduler-ratchet.test.mjs` to verify moved functions in `scheduler-lock.mjs`.
- Note: `scripts/check-file-size.mjs` was not updated as it lacks the baseline feature referenced in the prompt.
- Created artifacts: `src/context/CONTEXT_...`, `src/decisions/DECISIONS_...`, `src/test_logs/TEST_LOG_...`, `src/todo/TODO_...`.
- Created scheduler log: `task-logs/daily/2026-02-17T22-29-00Z__decompose-agent__completed.md`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 22:41:37 +00:00
thePR0M3TH3AN 7f45ff84b4 Merge pull request #264 from PR0M3TH3AN/agents/daily/content-audit-agent-2026-02-17-3211903591273154654
Daily Agent: content-audit-agent run (missing content directory) + fix lock-ops
2026-02-17 17:00:16 -05:00
google-labs-jules[bot]andPR0M3TH3AN ed56a72f69 Daily Agent: content-audit-agent run (missing content directory) + fix lock-ops
- Audited `/content` directory: Not found.
- Updated `KNOWN_ISSUES.md`.
- Fixed a bug in `src/lock-ops.mjs` where `deps` was undefined in `LockPublisher`.
- Created run artifacts and task logs.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 21:39:10 +00:00
thePR0M3TH3AN ee6618d6d5 Merge pull request #263 from PR0M3TH3AN/agents/daily/ci-health-agent-2026-02-17-8365488986185039286
chore(scheduler): Execute ci-health-agent (fix bugs, improve verification)
2026-02-17 15:09:41 -05:00
thePR0M3TH3AN 8fb2a2ab99 Merge branch 'main' into agents/daily/ci-health-agent-2026-02-17-8365488986185039286 2026-02-17 15:09:34 -05:00
google-labs-jules[bot]andPR0M3TH3AN 5e99e81f2d chore(scheduler): Execute ci-health-agent and fix critical bugs
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 19:58:43 +00:00
thePR0M3TH3AN 2bdb728bd3 Merge pull request #262 from PR0M3TH3AN/agents/weekly/frontend-console-debug-agent-3080226125712323863
fix(dashboard): Allow access to src/constants.mjs and fix lock-ops
2026-02-17 14:57:53 -05:00
thePR0M3TH3AN 010fea88e3 Merge branch 'main' into agents/weekly/frontend-console-debug-agent-3080226125712323863 2026-02-17 14:53:27 -05:00
thePR0M3TH3AN 43941cccf0 Merge pull request #261 from PR0M3TH3AN/scheduler-const-refactor-fix-11733749972945038277
Refactor lock backend constants and fix scheduler errors
2026-02-17 14:52:52 -05:00
google-labs-jules[bot]andPR0M3TH3AN 2466c80af9 fix(dashboard): Allow access to src/constants.mjs and fix lock-ops
`frontend-console-debug-agent` run:
- Fixed a 403 Forbidden error in `src/dashboard.mjs` preventing `src/constants.mjs` from loading by adding it to the `allowedPaths` whitelist.
- Refactored `src/lock-ops.mjs` to fix a critical syntax error in `LockPublisher` class.
- Fixed a typo in `src/cmd-check.mjs` (`queryLocksFn` -> `queryLocks`).
- Added `@playwright/test` for frontend debugging.
- Added `scripts/agent/debug_frontend.mjs` for reproduction.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 19:52:10 +00:00
google-labs-jules[bot]andPR0M3TH3AN 03ccb232ee Refactor lock backend constants and fix scheduler syntax error
- Extracted hardcoded retry/health constants from `src/lock-ops.mjs` to `src/constants.mjs`.
- Refactored `src/lock-ops.mjs` to use `LockPublisher` class pattern and shared constants.
- Fixed `SyntaxError` in `src/lock-ops.mjs` (function inside function).
- Fixed `ReferenceError` in `src/cmd-check.mjs` (`queryLocksFn` -> `queryLocks`).
- Verified with unit tests (`test:unit:lock-backend`) and linting.
- Completed daily scheduler cycle for `const-refactor-agent`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 19:50:48 +00:00
thePR0M3TH3AN 7f87c371fc Merge pull request #255 from PR0M3TH3AN/fix-insecure-random-backoff-15480292305985131336
🔒 Fix insecure random number generator in backoff logic
2026-02-17 14:30:21 -05:00
thePR0M3TH3AN 058011089d Merge branch 'main' into fix-insecure-random-backoff-15480292305985131336 2026-02-17 14:30:13 -05:00
thePR0M3TH3AN 6e31c9cec6 Merge pull request #258 from PR0M3TH3AN/fix-scheduler-env-leak-137317158852257446
🔒 Fix environment variable leakage in scheduler cycle
2026-02-17 14:29:53 -05:00
thePR0M3TH3AN 94d4136070 Merge pull request #259 from PR0M3TH3AN/refactor-cmdinit-ops-5287196156995262612
🧹 Refactor cmdInit in src/ops.mjs
2026-02-17 14:29:39 -05:00
thePR0M3TH3AN 59c286e247 Merge branch 'main' into refactor-cmdinit-ops-5287196156995262612 2026-02-17 14:29:31 -05:00
thePR0M3TH3AN 0c41456db6 Merge pull request #254 from PR0M3TH3AN/refactor-cmd-init-10842756279574756855
🧹 Refactor cmdInit in src/ops.mjs
2026-02-17 14:29:07 -05:00
thePR0M3TH3AN 65a3afc7e4 Merge pull request #252 from PR0M3TH3AN/refactor-lock-ops-publish-lock-16349393256066370386
Refactor publishLock to LockPublisher class
2026-02-17 14:28:46 -05:00
thePR0M3TH3AN 2c51424b6d Merge branch 'main' into refactor-lock-ops-publish-lock-16349393256066370386 2026-02-17 14:28:12 -05:00
thePR0M3TH3AN db38fb0e91 Merge pull request #256 from PR0M3TH3AN/refactor-lock-ops-state-3445549076565547288
Refactor lock-ops to encapsulate global state
2026-02-17 14:27:22 -05:00
thePR0M3TH3AN c2ceb00174 Merge pull request #250 from PR0M3TH3AN/test-improvement-get-relevant-memories-15158310533650216935
Test Improvement: Make getRelevantMemories testable and add unit tests
2026-02-17 14:27:03 -05:00
thePR0M3TH3AN fb558b0b4d Merge branch 'main' into test-improvement-get-relevant-memories-15158310533650216935 2026-02-17 14:26:54 -05:00
thePR0M3TH3AN e355330e5b Merge pull request #253 from PR0M3TH3AN/test-triggerPruneDryRun-12931935296810438248
test: Add tests for triggerPruneDryRun
2026-02-17 14:26:29 -05:00
thePR0M3TH3AN 79a33958ab Merge pull request #260 from PR0M3TH3AN/jules-perf-async-config-1969443791138192182
⚡ Async Config Loading Optimization
2026-02-17 14:26:16 -05:00
thePR0M3TH3AN 3502d38431 Merge branch 'main' into jules-perf-async-config-1969443791138192182 2026-02-17 14:26:06 -05:00
thePR0M3TH3AN da2e623b7c Merge pull request #246 from PR0M3TH3AN/test-render-prompt-memory-context-18203619131675777622
test: add comprehensive tests for renderPromptWithMemoryContext
2026-02-17 14:25:39 -05:00
thePR0M3TH3AN cc6f9d9259 Merge pull request #247 from PR0M3TH3AN/test/ingest-events-coverage-4058176338689655233
Add unit tests for ingestEvents function
2026-02-17 14:25:13 -05:00
thePR0M3TH3AN 4a59ccd501 Merge branch 'main' into test/ingest-events-coverage-4058176338689655233 2026-02-17 14:25:04 -05:00