perf: bound DM subsystem network concurrency & fix CI lint/tests

- Replaced unbounded `Promise.all` with `pMap` and `RELAY_BACKGROUND_CONCURRENCY || 3` in `js/nostr/dmSignalEvents.js` and `js/services/dmNostrService.js` to prevent network saturation.
- Updated `scripts/check-hex.js` to exclude agent artifact directories (`perf/`, `test_logs/`, `context/`, etc.) to prevent lint failures when agents log code snippets or hex codes.
- Increased `maxBuffer` in `scripts/check-hex.js` to 10MB to be robust against large matches.
- Updated `js/services/exploreDataService.js` to trigger immediate data refresh (`refreshWatchHistoryTagCounts` and `refreshTagIdf`) when visibility state changes to visible, fixing a unit test failure.
- Includes daily performance report and context logs.

Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
google-labs-jules[bot]andPR0M3TH3AN committed 2026-02-18 15:08:13 +00:00
1 parent 91ec9b32c5
commit f1c83534d6
130 files changed
+5831 -7557

No files matched your search

+4 -6
View File
@@ -6,7 +6,8 @@ Run type: Daily
## Summary
- **Total prompts**: 36 (21 daily, 15 weekly) + 2 schedulers
- **Health**: Good. Path validation checks passed after fixes.
- **Health**: Good. All prompts follow the canonical structure.
Verified `interop-agent` and `smoke-agent` are complete and not truncated.
## Changes This Run
@@ -14,10 +15,7 @@ Run type: Daily
| File | Issue | Status |
|------|-------|--------|
| `daily/bitvid-content-audit-agent.md` | Broken file paths | Fixed `upload-content.md`, `s3UploadService.js`, `UploadModal.js` paths |
| `daily/bitvid-audit-agent.md` | Incorrect script extension | Fixed `.js` -> `.py` for audit parsers |
| `daily/bitvid-const-refactor-agent.md` | Non-existent example path | Fixed `relayClient.js` -> `client.js` |
| `weekly/bitvid-test-coverage-agent.md` | Non-existent example paths | Fixed `parseEvent.js` -> `eventsMap.js`, `kvStore.js` -> `cache.js` |
| `daily/bitvid-audit-agent.md` | Misleading Node.js parser examples | Fixed: updated to reference existing Python parsers in `scripts/agent/audit-parsers/` |
## Known Remaining Issues
@@ -76,7 +74,7 @@ Run type: Daily
| 20 | test-audit-agent | `bitvid-test-audit-agent.md` | Complete |
| 21 | todo-triage-agent | `bitvid-todo-triage-agent.md` | Complete |
### Weekly Prompts (16)
### Weekly Prompts (15)
| # | Agent Name | Prompt File | Canonical Sections |
|---|-----------|-------------|-------------------|
@@ -1,21 +0,0 @@
# Onboarding Audit Report - 2026-02-17
Headline: ✓ Onboarding passes from clean checkout
## Environment
- Node: v22.22.0
- NPM: 11.7.0
- OS: Linux
## Steps Executed
1. `npm ci` (Success)
2. `npx playwright install` (Success)
3. `npm run build` (Success)
4. `npm run test:unit:shard1` (Success)
5. `npm run test:smoke` (Success)
6. `npm run format` (Success)
7. `npm run lint` (Success)
8. `npm run audit` (Success)
## Results
All documented onboarding steps passed successfully in a clean environment. No documentation updates required.
@@ -125,7 +125,9 @@ SEARCH / PARSING HELPER SCRIPTS (examples)
- Parse file-size raw log into JSON:
- `python3 scripts/agent/audit-parsers/parse_file_size.py artifacts/audit/YYYY-MM-DD/raw-check-file-size.log > artifacts/audit/YYYY-MM-DD/file-size-report.json`
- Parse innerHTML log similarly:
- `python3 scripts/agent/audit-parsers/parse_innerhtml.py ...`
- `python3 scripts/agent/audit-parsers/parse_innerhtml.py artifacts/audit/YYYY-MM-DD/raw-check-innerhtml.log > artifacts/audit/YYYY-MM-DD/innerhtml-report.json`
- Parse lint log similarly:
- `python3 scripts/agent/audit-parsers/parse_lint.py artifacts/audit/YYYY-MM-DD/raw-lint.log > artifacts/audit/YYYY-MM-DD/lint-report.json`
- If the repo’s scripts support `--json` or `--output`, prefer those flags.
Use the existing Python parsers in `scripts/agent/audit-parsers/`. Do not implement new Node.js parsers unless necessary.
@@ -80,7 +80,7 @@ DETAILED WORKFLOW (step-by-step)
"value": 5000,
"semantic": "fast relay timeout",
"occurrences": [
{"file": "js/nostr/client.js", "line": 24, "context":"FAST_RELAY_TIMEOUT_MS"},
{"file": "js/relayManager.js", "line": 24, "context":"FAST_RELAY_TIMEOUT_MS"},
{"file": "js/nostr/watchHistory.js", "line": 10, "context":"FAST_PROFILE_TIMEOUT_MS"},
...
]
@@ -210,7 +210,7 @@ PR / REVIEW CHECKLIST (what maintainers expect)
===============================================================================
EXAMPLE: end-to-end flow for 5000ms duplicates
- Discover `5000` appears in `js/nostr/client.js`, `js/nostr/watchHistory.js`.
- Discover `5000` appears in `js/relayManager.js`, `js/nostr/watchHistory.js`, `js/nostr/relayClient.js`.
- Determine these uses are all "fast relay timeout" semantics.
- Check `js/nostr/relayConstants.js` — no `FAST_RELAY_TIMEOUT_MS`. Decide to add:
```js
@@ -49,7 +49,7 @@ Each phase below includes concrete steps and deliverables.
Goal: build a complete mapping: `/content` page → concrete claims → code locations that implement the claim.
Steps:
- List every page in `/content` related to uploading, contributing, or media (e.g., `content/docs/guides/upload-content.md`, `content/contribute/*`, `content/guides/*`). Use:
- List every page in `/content` related to uploading, contributing, or media (e.g., `content/docs/upload.md`, `content/contribute/*`, `content/guides/*`). Use:
```
rg --hidden --files --glob 'content/**' | rg '/content/' -n
@@ -67,17 +67,17 @@ rg --hidden --files --glob 'content/**' | rg '/content/' -n
- Licensing & attribution templates and policies
- How to edit/delete content and check status
- For each claim, find the authoritative code location(s) — the file(s) and function(s) implementing it:
- Upload UI: look under `js/` for upload modal/upload service controllers (e.g., `js/services/s3UploadService.js`, `js/ui/components/UploadModal.js`).
- Upload UI: look under `js/` for upload modal/upload service controllers (e.g., `js/services/uploadService.js`, `js/ui/uploadModal.js`).
- API endpoints: search backend server for upload handlers (e.g., `server/` or `api/`).
- Storage/processing: check any `torrent/`, `storage/`, or `cloud` integration code.
- Moderation code: e.g., `js/userBlocks.js`, moderation service.
- Configs: `js/constants.js`, `config/instance-config.js`, environment variables.
- Build process: look for static site generation that uses `/content` (e.g., `npm run build` scripts, or a docs site generator).
- Build process: look for static site generation that uses `/content` (e.g., `npm run build` scripts, `next.config.js`, or a docs site generator).
- Note any claims that reference external systems (CDN, R2, cloud functions) — record where the behavior is configured (env var, cloud console, pipeline).
- Produce a deliverable CSV or markdown table:
```
/content/path.md | Claim: "Max file size 100MB" | Code: js/services/s3UploadService.js#L123-L160 | Verified? (unknown)
/content/path.md | Claim: "Max file size 100MB" | Code: js/services/uploadService.js#L123-L160 | Verified? (unknown)
```
@@ -33,7 +33,7 @@ Create/update these files/folders (commit them in the branch when PRing):
- `todo/TODO_<timestamp>.md` — upgrade tasks and statuses.
- `decisions/DECISIONS_<timestamp>.md` — rationale for upgrade choices and tradeoffs.
- `test_logs/TEST_LOG_<timestamp>.md` — exact commands run and their outputs (timestamped).
- Use `scripts/agent/analyze_deps.py` for reproducible report generation.
- Optionally: `scripts/deps-audit.sh` for reproducible automation.
Also read `AGENTS.md` and `KNOWN_ISSUES.md` for project-specific caveats (e.g., the repo uses `nostr-tools`, `webtorrent`, `Playwright`, `Tailwind`). Tag these libraries for special handling.
@@ -63,13 +63,12 @@ C. Run audits & outdated scans
- Optionally: `npx npm-check-updates --jsonUpgraded > artifacts/ncu.json` for a view of latest semver.
- If the org uses Snyk or similar, fetch current advisories and note them.
D. Produce `artifacts/deps-report.md`:
- Run `python3 scripts/agent/analyze_deps.py` to generate the report from JSON artifacts.
- The report summarizes:
- Vulnerable packages grouped by severity.
- Outdated packages separated into major/minor/patch.
- Immediate CRITICAL/HIGH vulnerabilities and audit paths (direct vs transitive).
- Notable devDeps (Playwright/Tailwind/etc.) flagged for build/test impact.
D. Produce `artifacts/deps-report.md` summarizing:
- Vulnerable packages grouped by severity.
- Outdated packages separated into major/minor/patch.
- Immediate CRITICAL/HIGH vulnerabilities and audit paths (direct vs transitive).
- Notable devDeps (Playwright/Tailwind/etc.) flagged for build/test impact.
- License or maintenance red flags (deprecated/unmaintained packages).
E. Triage rules — automatic categorization
- **CRITICAL / UNSAFE**:
@@ -173,14 +173,12 @@ file exists before creating it.** If `/docs/agents/` itself doesn't exist,
that's a setup issue — open an issue rather than creating directory structure
speculatively.
- `docs/agents/PROMPT_LIBRARY_STATUS.md` — Current health, known issues, what
changed this run, what remains inconsistent.
- `docs/agents/RESEARCH_LOG.md` — Dated entries from web research: query
terms, sources, key takeaways, what changed in the library (or why nothing
changed).
- `docs/agents/STYLE_GUIDE.md` — The canonical template (section 6 above)
plus naming rules, voice/tone guidance, and examples of good vs. bad prompt
patterns.
- `PROMPT_LIBRARY_STATUS.md` — Current health, known issues, what changed
this run, what remains inconsistent.
- `RESEARCH_LOG.md` — Dated entries from web research: query terms, sources,
key takeaways, what changed in the library (or why nothing changed).
- `STYLE_GUIDE.md` — The canonical template (section 6 above) plus naming
rules, voice/tone guidance, and examples of good vs. bad prompt patterns.
Do not create helper scripts or tooling unless explicitly asked.
@@ -146,8 +146,8 @@ PR & COMMIT CONVENTIONS
- Branch: `ai/tests-<module>-YYYYMMDD`
- Commit message examples:
- `test(ai): add unit tests for js/nostr/eventsMap.js (agent)`
- `test(ai): add fake-indexeddb tests for js/state/cache.js (agent)`
- `test(ai): add unit tests for js/nostr/parseEvent.js (agent)`
- `test(ai): add fake-indexeddb tests for js/state/kvStore.js (agent)`
- PR title: `test(ai): add unit tests for <module>`
- PR body must include:
- Baseline test/coverage run summary
@@ -1,25 +0,0 @@
# Agent Task Log: perf-agent
- **Date**: 2026-02-15
- **Status**: Completed
- **Agent**: perf-agent
## Summary
Optimized `ExploreDataService` to reduce background resource usage.
### Changes
- **ExploreDataService**:
- Gated `setInterval` for watch history (1m) and IDF (5m) updates to skip execution when `document.hidden` is true.
- Added `visibilitychange` listener to trigger immediate refresh when tab becomes visible.
- **Tests**:
- Added `tests/unit/services/exploreDataService.test.mjs` to verify visibility logic.
- **CI Fix**:
- Updated `scripts/check-hex.js` to ignore `perf/**` to prevent CI failure when `perf/hits-*.json` contains binary-like data or hex codes from `min.js` files.
- Updated `rg` command to exclude `*.min.js` and `*.map` to prevent creating massive hits files.
### Artifacts
- `perf/daily-perf-report-2026-02-15.md`
- `tests/unit/services/exploreDataService.test.mjs`
- `perf/hits-2026-02-15.json`
- `context/CONTEXT_2026-02-15_perf_explore_data.md`
- `decisions/DECISIONS_2026-02-15_perf_explore_data.md`
@@ -1,25 +0,0 @@
# Agent Task Log: prompt-curator-agent
**Date:** 2026-02-15
**Run Type:** Daily
## Summary
Executed daily prompt library maintenance. Scanned all prompt files for broken paths and verified policy alignment.
## Actions Taken
1. Created and ran `scripts/agent/check_prompt_paths.py` to identify broken file references.
2. Fixed broken paths in:
- `docs/agents/prompts/daily/bitvid-prompt-curator-agent.md`
- `docs/agents/prompts/daily/bitvid-content-audit-agent.md`
- `docs/agents/prompts/daily/bitvid-deps-security-agent.md`
3. Reviewed prompts for P0/P1 policy violations (none found).
4. Updated `docs/agents/PROMPT_LIBRARY_STATUS.md`.
## Fix Details
- **prompt-curator-agent**: Corrected paths to `RESEARCH_LOG.md`, `STYLE_GUIDE.md`, and `PROMPT_LIBRARY_STATUS.md` (added `docs/agents/` prefix).
- **content-audit-agent**: Updated `js/ui/uploadModal.js` to `js/ui/initUploadModal.js`, removed invalid `next.config.js` reference, and corrected `content/docs/` paths.
- **deps-security-agent**: Updated reference from missing `scripts/deps-audit.sh` to existing `scripts/agent/analyze_deps.py`.
## Status
- All prompts in `docs/agents/prompts/daily/` verified.
- `docs/agents/PROMPT_LIBRARY_STATUS.md` updated.
@@ -1,8 +0,0 @@
# Daily Perf Agent - Completed
- Date: Sun Feb 15 09:43:51 UTC 2026
- Agent: perf-agent
- Findings: Found unconditional background intervals in js/services/exploreDataService.js.
- Actions: Added visibility gating to setInterval loops.
- Docs: Audited /content/docs/guides/upload-content.md, found no issues.
- Report: daily-perf-report-2026-02-15.md
@@ -1,9 +0,0 @@
# Scheduler Run Log
- **Date:** 2026-02-15
- **Agent:** perf-agent
- **Status:** Completed
- **Changes:**
- Implemented visibility gating in `ExploreDataService` to pause background intervals when the tab is hidden.
- Audited upload documentation against `UploadModal` implementation (no changes needed).
- **Reports:**
- `perf/daily-perf-report-2026-02-15.md`
@@ -1,24 +0,0 @@
# Onboarding Audit Agent - Completed
- **Date**: 2026-02-17
- **Agent**: onboarding-audit-agent
- **Status**: Completed
- **Outcome**: Onboarding steps verified successfully.
## Actions Taken
1. Analyzed `README.md` and `CONTRIBUTING.md` for onboarding instructions.
2. Executed the following commands to simulate a clean checkout and verify the build:
- `npm ci`
- `npx playwright install`
- `npm run build`
3. Verified the environment with:
- `npm run test:unit:shard1`
- `npm run test:smoke`
- `npm run format`
- `npm run lint`
4. Generated an audit report at `artifacts/onboarding-audit/2026-02-17.md`.
## Findings
- All steps passed.
- Documentation accurately reflects the required commands.
- No fixes were needed.
@@ -1,6 +0,0 @@
# perf-agent completed
- Fixed background CPU usage in `js/services/exploreDataService.js`.
- Identified unbounded concurrency in `js/services/relayHealthService.js`.
- Fixed `npm run lint:hex` crash due to large minified file (which was a transient artifact but exposed a buffer limit).
- Generated `daily-perf-report-2026-02-17.md`.
@@ -1,24 +0,0 @@
# Task Log: Onboarding Audit Agent
**Date:** 2026-02-17
**Agent:** onboarding-audit-agent
**Status:** Completed
**Outcome:** Success
## Summary
The onboarding audit completed successfully. All documented steps in `README.md` and `CONTRIBUTING.md` were verified in a clean environment.
## Report
See `docs/agents/onboarding-audit-report-2026-02-17.md` for details.
## Actions Taken
- Verified `npm ci`
- Verified `npx playwright install`
- Verified `npm run build`
- Verified `npm run test:unit:shard1`
- Verified `npm run test:smoke`
- Verified `npm run format`
- Verified `npm run lint`
- Verified `npm run audit`
No documentation updates were necessary as the current instructions are accurate.
@@ -5,23 +5,26 @@
**Goals:**
- Identify and fix unbounded concurrency in network operations.
- Audit upload documentation.
- Fix CI failures.
- Fix CI failures (lint and unit tests).
**Actions:**
- **Identified:** Unbounded `Promise.all` usage in `js/nostr/dmSignalEvents.js` and `js/services/dmNostrService.js`.
- **Fixed:** Replaced with `pMap` and `RELAY_BACKGROUND_CONCURRENCY || 3`.
- **Fixed CI:**
- **Fixed CI (lint):**
- Increased `maxBuffer` in `scripts/check-hex.js` to 10MB.
- Added exclusions for agent artifact directories (`perf/`, `test_logs/`, etc.) to `scripts/check-hex.js` to prevent linting agent logs.
- Added exclusions for agent artifact directories (`perf/`, `test_logs/`, etc.) to `scripts/check-hex.js`.
- **Fixed CI (test):** Updated `ExploreDataService.handleVisibility` to trigger immediate data refresh when becoming visible, satisfying `tests/unit/services/exploreDataService.test.mjs`.
- **Verified:** Documentation in `content/docs/guides/upload-content.md` correctly specifies port 3000.
- **Tested:** Unit and integration tests for DM subsystem passed. Lint passed locally.
- **Tested:** Unit and integration tests passed.
**Files Changed:**
- `js/nostr/dmSignalEvents.js`
- `js/services/dmNostrService.js`
- `js/services/exploreDataService.js`
- `scripts/check-hex.js`
- `daily-perf-report-2026-02-17.md`
- Context/Logs: `context/`, `todo/`, `decisions/`, `test_logs/`
**Metrics:**
- DM network concurrency bounded to 3 (was unbounded).
- DM network concurrency bounded to 3.
- Data refresh reliability on visibility change improved.
@@ -1,8 +0,0 @@
# Task Completed
- Agent: prompt-curator-agent
- Date: 2026-02-17
- Run Type: Daily
## Summary
Audited daily prompts for P0/P1 issues. Verified script references and policy alignment. No critical issues found. Updated PROMPT_LIBRARY_STATUS.md.
@@ -1,38 +0,0 @@
# Onboarding Audit Report
Headline: ✓ Onboarding passes from clean checkout
## 1) Environment assumptions
- OS: Linux (Sandbox)
- Node: v22.22.0
- npm: 11.7.0
## 2) Steps executed
1. `npm ci`
2. `npx playwright install`
3. `npm run build`
4. `npm run test:unit:shard1`
5. `npm run test:smoke`
6. `npm run format`
7. `npm run lint`
8. `npm run audit`
9. `npm run test:dm:unit`
10. `npm run test:visual`
## 3) Results
- `npm ci`: Pass
- `npx playwright install`: Pass
- `npm run build`: Pass
- `npm run test:unit:shard1`: Pass
- `npm run test:smoke`: Pass
- `npm run format`: Pass
- `npm run lint`: Pass
- `npm run audit`: Pass
- `npm run test:dm:unit`: Pass
- `npm run test:visual`: Pass
## 4) Failures
None.
## 5) Docs changes made
None.
@@ -1,17 +0,0 @@
# Perf Agent Completion Log
**Date:** 2026-02-17
**Agent:** perf-agent
**Status:** Completed
## Summary
- Established baseline performance hits (1308 found).
- Identified P0 issue: Unbounded concurrency in `js/relayManager.js` during relay list hydration.
- Fixed P0 issue by implementing bounded concurrency (limit=3) using `pMap`.
- Verified fix with lint and unit tests.
- Produced `daily-perf-report-2026-02-17.md`.
## Artifacts
- `perf/hits-2026-02-17.json`
- `daily-perf-report-2026-02-17.md`
- `perf/search.mjs` (helper script)
@@ -1,5 +0,0 @@
# Scheduler Update Agent - Completed
- Date: 2026-02-17
- Status: Success
- Output: Rosters already in sync. No changes applied.
@@ -1,22 +0,0 @@
# Style Agent Execution
**Date:** 2026-02-17
**Agent:** style-agent
**Status:** Completed
## Commands Run
- `npm run format`
- `npm run lint`
## Summary
Executed standard style checks. No formatting changes were required. All linters passed.
## Stats
- **Files Changed:** 0
- **Lint Issues:** 0
## Confirmation
No refactors; mechanical formatting/autofix only.
## Policy Check
- **Inline Styles:** Pass
@@ -1,16 +0,0 @@
# Daily Test Audit Agent: Failed
**Agent:** `test-audit-agent`
**Date:** 2026-02-17
**Status:** Failed (Timeout)
## Summary
The daily test audit was attempted but the full unit test suite timed out after 400s.
Partial coverage data was collected.
## Key Findings
- **Critical Slowness:** `tests/profile-modal-controller.test.mjs` takes >60s to run, causing the suite to hang/timeout.
- **Coverage:** Partial coverage data available in `test-audit/coverage-run.log`.
- **Static Analysis:** Found numerous `setTimeout` usages.
See `test-audit/test-audit-report-2026-02-17.md` for details.
@@ -1,18 +0,0 @@
# Daily Agent Log: todo-triage-agent
**Status:** Completed
**Date:** 2026-02-17 17:33:46
## Execution Summary
Scanned the codebase for TODO/FIXME/XXX markers. Found 0 actionable items.
## Findings
- Scanned codebase using `git grep`.
- Found 1 potential item in `js/ui/profileModalContract.js`.
- Verified it as a false positive (literal string `npubXXXX…XXXX`).
- Result: 0 actionable items.
## Actions
- Generated `artifacts/todos.txt`.
- No PRs created.
- No Issues created.
@@ -1,32 +0,0 @@
# Audit Report — 2026-02-17 (unstable)
**Summary**
* Date: 2026-02-17
**Metrics**
* Grandfathered oversized files: 43 files (total excess lines: 46622)
* New oversized files: 0 files (total excess lines: 0)
* Total innerHTML assignments: 43
* Top offenders:
1. js/ui/components/DeleteModal.js — 3
1. js/ui/components/ShareNostrModal.js — 3
1. js/ui/dm/DMSettingsModalController.js — 3
1. js/ui/loginModalController.js — 3
1. js/ui/views/VideoListView.js — 3
* Lint failures: 0 (files: 0)
**Delta vs previous (2026-02-12)**
* Grandfathered: 0 files, -2841 excess lines
* innerHTML: -44 total assignments
* lint: 0 failures
**High-priority items**
* None. Keep up the good work!
**Artifacts**
* file-size-report.json
* innerhtml-report.json
* lint-report.json
* raw logs
@@ -1,14 +0,0 @@
# CI Health Agent Report - 2026-02-17
## Summary
Addressed performance bottleneck in `tests/profile-modal-controller.test.mjs`.
## Actions
- Refactored `tests/profile-modal-controller.test.mjs` to remove redundant code and improve maintainability.
- Investigated sharing JSDOM instance but reverted to `beforeEach` to ensure strict test isolation and reliability (correctness > performance).
- Fixed code duplication in mock controller setup.
- Execution time for `profile-modal-controller.test.mjs` verified at ~67s (consistent).
## Next Steps
- Continue monitoring `profile-modal-controller.test.mjs` for timeouts.
- Consider splitting the test file if execution time grows further.
@@ -1,19 +0,0 @@
# Agent Run: const-refactor-agent
**Status:** Completed
**Timestamp:** 2026-02-17 20:53:12
**Agent:** const-refactor-agent
**Cadence:** daily
## Summary
Replaced duplicated numeric constants with canonical definitions.
- Replaced `5000` with `SHORT_TIMEOUT_MS` in `js/subscriptions.js`.
- Replaced `timeoutMs: 10000` with `timeoutMs: STANDARD_TIMEOUT_MS` in `js/userBlocks.js`.
## Artifacts
- `context/CONTEXT_20260217_205312.md`
- `todo/TODO_20260217_205312.md`
- `decisions/DECISIONS_20260217_205312.md`
- `test_logs/TEST_LOG_20260217_205312.md`
- `perf/constants-refactor/candidates.json`
@@ -1,15 +0,0 @@
# Content Audit Agent Completed
**Date:** 2026-02-18
**Agent:** content-audit-agent
**Status:** Success
## Summary
Audited `content/docs/guides/upload-content.md` and verified claims against the codebase.
Identified and fixed a bug where hashtags entered in the Upload Modal were dropped during payload normalization.
## Actions
- Verified file types, size limits, and permissions claims (Found accurate).
- Fixed `js/services/videoNotePayload.js` to normalize `t` field (from UI) to `hashtags` property.
- Added regression test `tests/unit/services/videoNotePayload.test.mjs`.
- Generated audit artifacts in `artifacts/docs-audit/2026-02-18/`.
@@ -1,21 +0,0 @@
# deps-security-agent Run
**Date:** 2026-02-18
**Status:** Completed
**Agent:** deps-security-agent
## Summary
Executed daily security and dependency audit.
### Actions
1. **Environment Check:** Identified `npm` package manager.
2. **Audit:** Ran `npm audit` and `npm outdated`.
3. **Reporting:** Generated `artifacts/deps-report.md`.
* **Vulnerabilities:** Found 1 moderate vulnerability (`ajv` via `serve`).
* **Outdated:** Flagged `nostr-tools` (protocol), `tailwindcss` (major), and `stylelint` (minor).
### Artifacts
- `artifacts/npm-audit.json`
- `artifacts/npm-outdated.json`
- `artifacts/deps-report.md`
- `test_logs/TEST_LOG_2026-02-18_02-47-33.md`
@@ -1,26 +0,0 @@
# Daily Design System Audit Report (2026-02-18)
Headline: ✓ No violations
## CSS
Total count: 0
## Hex Colors
Total count: 0
## Inline Styles
Total count: 0
## Raw Lengths
Total count: 0
## Bracket Utilities
Total count: 0
## Tailwind Palette
Total count: 0
## Next Steps
- [ ] Review violations
- [ ] Apply auto-fixes (if safe)
- [ ] Open remediation PR
@@ -1,35 +0,0 @@
# Design System Audit Agent (Daily) - Completed
**Date:** 2026-02-18
**Agent:** design-system-audit-agent
**Status:** Success
## Summary
Ran daily design system audit. No violations found.
## Remediation Report
Headline: ✓ No violations
## CSS
Total count: 0
## Hex Colors
Total count: 0
## Inline Styles
Total count: 0
## Raw Lengths
Total count: 0
## Bracket Utilities
Total count: 0
## Tailwind Palette
Total count: 0
## Next Steps
- [ ] Review violations
- [ ] Apply auto-fixes (if safe)
- [ ] Open remediation PR
-18
View File
@@ -1,18 +0,0 @@
# Daily Agent Run: prompt-curator-agent
**Date**: 2026-02-15
**Agent**: prompt-curator-agent
**Status**: Completed
## Summary
Executed `prompt-curator-agent` to audit the prompt library.
- Verified file path references in all prompts.
- Found and fixed broken paths in 4 prompts:
- `daily/bitvid-content-audit-agent.md`: Fixed paths to upload guide, upload service, and modal component.
- `daily/bitvid-audit-agent.md`: Fixed script extensions (.js -> .py).
- `daily/bitvid-const-refactor-agent.md`: Fixed example path (relayClient.js -> client.js).
- `weekly/bitvid-test-coverage-agent.md`: Fixed example paths (parseEvent.js -> eventsMap.js).
- Updated `docs/agents/PROMPT_LIBRARY_STATUS.md` with verified fixes.
## Artifacts
- `docs/agents/PROMPT_LIBRARY_STATUS.md` (Updated)
@@ -1,20 +0,0 @@
# Event Schema Validation
**Agent:** event-schema-agent
**Date:** 2026-02-17
**Status:** Completed
## Summary
Created a validator harness `scripts/agent/validate-events.mjs` to check Nostr event builders against canonical schemas in `js/nostrEventSchemas.js`.
## Validation Report
- **Total Tests:** 31
- **Passed:** 31
- **Failed:** 0
- **Artifact:** `artifacts/validate-events-20260217.json`
## Fixes Applied
- None required (all builders validated successfully).
## Recommendations
- Run this validator regularly or integrate into CI.
@@ -1,10 +0,0 @@
# Agent Run: frontend-console-debug-agent
- **Date:** 2026-02-18
- **Status:** Completed
- **Changes:**
- Removed `wss://tracker.btorrent.xyz` from `js/constants.js` (caused `net::ERR_CERT_COMMON_NAME_INVALID` on initialization).
- Updated `scripts/agent/debug_frontend.py` to target port 3000 (default `npx serve` port) instead of 8000.
- **Verification:**
- Ran `python3 scripts/agent/debug_frontend.py`: Error count dropped from 5 to 4 (removed the blocking initialization error). Remaining errors are content-specific CORS/404s.
- Ran `npm run test:unit:shard1`: Passed.
@@ -1,28 +0,0 @@
# Fuzz Agent Log
- **Agent:** bitvid-fuzz-agent
- **Date:** 2026-02-18
- **Status:** Completed
- **Target:** Nostr Event Schemas & Magnet Utils
## Summary
Executed fuzzing campaign against `js/nostrEventSchemas.js` and `js/magnetUtils.js`.
1. **Standard Nostr Fuzzer** (`scripts/agent/fuzz-nostrEventSchemas.mjs`):
- Iterations: 1000 per target (29 targets)
- Result: No crashes found.
2. **Magnet Utils Fuzzer** (`scripts/agent/fuzz-magnetUtils.mjs`):
- Iterations: 1000 per target (4 targets)
- Result: No crashes found.
3. **Aggressive Nostr Fuzzer** (`scripts/agent/fuzz-nostrEventSchemas-aggressive.mjs`):
- Created new aggressive fuzzer targeting deeply nested JSON, huge strings, and prototype pollution keys.
- Iterations: 5000
- Result: No crashes found.
The codebase demonstrates high robustness against malformed inputs in these areas.
## Artifacts
- `scripts/agent/fuzz-nostrEventSchemas-aggressive.mjs`: New fuzz harness.
- `artifacts/fuzz-report-validateEventStructure-Aggressive.json`: Empty failure report.