Merge branch 'unstable' into ai/decompose/daily-run-4837693991627885906

This commit is contained in:
thePR0M3TH3AN authored and GitHub committed 2026-02-12 20:48:23 -05:00
commit 6150ef96ff
44 files changed
+691 -42

No files matched your search

+1 -9
View File
@@ -1,11 +1,3 @@
# Decisions
- **Refactor `5000` in UI controllers to `SHORT_TIMEOUT_MS`**:
- **Context**: Used in `setTimeout` for clearing status messages.
- **Decision**: Use `SHORT_TIMEOUT_MS` from `js/constants.js` which is already defined as 5000.
- **Rationale**: Increases consistency and makes the timeout configurable from a central location if needed.
- **Refactor `60000` in `js/webtorrent.js` to `LONG_TIMEOUT_MS`**:
- **Context**: Used as `TIMEOUT_DURATION` for service worker operations.
- **Decision**: **REVERTED** to `60000`.
- **Rationale**: CI checks failed with timeouts. Reverting `webtorrent.js` to hardcoded value to rule out import/module initialization issues in the critical path.
- Focusing on upload documentation as it is critical for user onboarding.
+3
View File
@@ -0,0 +1,3 @@
# Test Log
- Initialized environment.
+3 -8
View File
@@ -1,8 +1,3 @@
# Todo
- [ ] Refactor `js/ui/engagementController.js`: Replace `5000` with `SHORT_TIMEOUT_MS`.
- [ ] Refactor `js/ui/applicationBootstrap.js`: Replace `5000` with `SHORT_TIMEOUT_MS`.
- [ ] Refactor `js/webtorrent.js`: Replace `60000` with `LONG_TIMEOUT_MS`.
- [ ] Run `npm run lint`.
- [ ] Run `npm run test:unit`.
- [ ] Update `docs/agents/AGENT_TASK_LOG.csv`.
- [ ] Audit content/docs/guides/upload-content.md
- [ ] Verify claims against code
- [ ] Update documentation if needed
@@ -0,0 +1,13 @@
# Documentation Inventory
| Page | Claim | Code Location | Verified? |
|------|-------|---------------|-----------|
| `content/docs/guides/upload-content.md` | Accepted Video Types: `.mp4`, `.webm`, `.mov`, `.mkv`, `.ts`, `.m3u8`, `.mpg`, `.mpeg` | `components/upload-modal.html` (input accept attribute) | Yes |
| `content/docs/guides/upload-content.md` | Accepted Thumbnail Types: `image/*` | `components/upload-modal.html` (input accept attribute) | Yes |
| `content/docs/guides/upload-content.md` | File Size Recommended: Up to 2GB (Client-side hashing limit) | `js/utils/torrentHash.js` (in-memory buffer usage impl) | Yes |
| `content/docs/guides/upload-content.md` | Required Metadata: Title | `js/services/videoNotePayload.js` (`VIDEO_NOTE_ERROR_CODES.MISSING_TITLE`) | Yes |
| `content/docs/guides/upload-content.md` | Required Source: URL, Magnet, or IMETA | `js/services/videoNotePayload.js` (`VIDEO_NOTE_ERROR_CODES.MISSING_SOURCE`) | Yes |
| `content/docs/guides/upload-content.md` | HTTPS required for External URLs | `js/services/videoNotePayload.js` (`VIDEO_NOTE_ERROR_CODES.INVALID_URL_PROTOCOL`) | Yes |
| `content/docs/guides/upload-content.md` | CORS Policy JSON | `js/storage/s3-multipart.js` (`ensureBucketCors`) | Yes |
| `content/docs/guides/upload-content.md` | Automatic CORS Configuration | `js/services/s3Service.js` (`prepareS3Connection` calls `ensureBucketCors`) | Yes |
| `content/docs/guides/upload-content.md` | Upload Methods: R2, S3, External, Magnet | `js/ui/components/UploadModal.js`, `js/services/s3UploadService.js` | Yes |
@@ -0,0 +1,39 @@
# Verification Report
## 1. Accepted File Types
- **Claim**: `.mp4`, `.webm`, `.mov`, `.mkv`, `.ts`, `.m3u8`, `.mpg`, `.mpeg`.
- **Code**: `components/upload-modal.html`
```html
<input id="input-file" type="file" class="hidden" accept="video/*,.m3u8,.ts,.mp4,.webm,.mov,.mkv,.mpg,.mpeg" />
```
- **Status**: **Verified**.
## 2. File Size Limits
- **Claim**: 2GB recommended due to browser memory hashing.
- **Code**: `js/services/s3UploadService.js` calls `this.deps.calculateTorrentInfoHash(file)`. `js/utils/torrentHash.js` reads file into memory/buffer for hashing.
- **Status**: **Verified**.
## 3. Metadata Validation
- **Claim**: Title required. HTTPS for URLs.
- **Code**: `js/services/videoNotePayload.js`:
```javascript
if (!legacyFormData.title) errors.push(VIDEO_NOTE_ERROR_CODES.MISSING_TITLE);
if (legacyFormData.url && !/^https:\/\//i.test(legacyFormData.url)) errors.push(VIDEO_NOTE_ERROR_CODES.INVALID_URL_PROTOCOL);
```
- **Status**: **Verified**.
## 4. CORS Policy
- **Claim**: JSON policy provided in docs.
- **Code**: `js/storage/s3-multipart.js` `ensureBucketCors` constructs the policy dynamically but matches the structure (AllowedOrigins, AllowedMethods, AllowedHeaders=["*"], ExposeHeaders=[ETag, ...]).
- **Status**: **Verified**.
## 5. Upload Lifecycle
- **Claim**: "The client handles the upload, generates a magnet link...".
- **Code**: `js/ui/components/UploadModal.js` `handleVideoSelection` uploads video, then calls `generateTorrentMetadata`, then uploads `.torrent` file if successful.
- **Gap**: Docs do not explicitly mention that a `.torrent` file is also uploaded to the bucket.
- **Recommendation**: Update docs to mention `.torrent` file generation and upload.
## 6. S3/R2 Configuration
- **Claim**: Supports S3 and R2.
- **Code**: `js/services/s3Service.js` and `js/services/storageService.js` handle these providers.
- **Status**: **Verified**.
+2 -2
View File
@@ -147,9 +147,9 @@ bitvid will verify your credentials by attempting to list or upload a test file.
### How Uploads Work
1. **Direct Upload:** Your browser uploads the file directly to your storage bucket. No video data passes through a bitvid server.
1. **Direct Upload:** Your browser uploads the file directly to your storage bucket. The client also automatically generates and uploads a `.torrent` file to enable P2P swarming. No video data passes through a bitvid server.
2. **External Link:** Your browser streams directly from the provided URL (or via WebTorrent if a magnet is also provided). No video data passes through the bitvid server.
3. **Client-Side Hashing:** Your browser calculates a cryptographic hash (info hash) of the file locally to enable WebTorrent support. This happens in memory, so large files require sufficient RAM.
3. **Client-Side Hashing:** Your browser calculates a cryptographic hash (info hash) of the file locally to enable WebTorrent support. This happens in memory, so large files (>2GB) may require significant RAM and can cause browser instability.
4. **Publication:** The video metadata (title, URL, hash, tags) is signed by your Nostr key and published to relays.
### Moderation & Visibility
+1
View File
@@ -4,3 +4,4 @@ date,agent_name,prompt_file,status,branch,summary
2026-02-12,const-refactor-agent,bitvid-const-refactor-agent.md,completed,ai/constants-refactor/daily-run,"Refactored timeouts in UI controllers and webtorrent.js to use canonical constants"
2026-02-13,decompose-agent,bitvid-decompose-agent.md,started,ai/decompose/daily-run,"Task claimed — execution beginning"
2026-02-13,decompose-agent,bitvid-decompose-agent.md,completed,ai/decompose/daily-run,"Extracted ProfileHashtagController from profileModalController.js, reducing file size by ~600 lines"
2026-02-12,content-audit-agent,bitvid-content-audit-agent.md,completed,content-audit/fix-upload-docs,"Audited upload docs, verified claims against code, updated details on .torrent generation"
1 date agent_name prompt_file status branch summary
4 2026-02-12 const-refactor-agent bitvid-const-refactor-agent.md completed ai/constants-refactor/daily-run Refactored timeouts in UI controllers and webtorrent.js to use canonical constants
5 2026-02-13 decompose-agent bitvid-decompose-agent.md started ai/decompose/daily-run Task claimed — execution beginning
6 2026-02-13 decompose-agent bitvid-decompose-agent.md completed ai/decompose/daily-run Extracted ProfileHashtagController from profileModalController.js, reducing file size by ~600 lines
7 2026-02-12 content-audit-agent bitvid-content-audit-agent.md completed content-audit/fix-upload-docs Audited upload docs, verified claims against code, updated details on .torrent generation
@@ -244,6 +244,23 @@ QUALITY BAR & BEHAVIORAL GUIDELINES
- Keep the maintainers informed: link to previous reports and show deltas.
===============================================================================
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
FINAL NOTE
This job is the maintainer’s weekly health check. Be conservative with automation, rigorous in parsing and comparison, and make the output actionable. Start now: run the three audit scripts, parse their outputs, compute the metrics, compare to last week, and publish the `Audit Report — YYYY-MM-DD` to GitHub.
@@ -170,4 +170,20 @@ OUTPUTS PER RUN
- A “flaky tests” summary (artifact or PR body) with evidence links/IDs
- 0–1 small PR fixing or documenting flakes
- 0–N issues for non-trivial flakes or policy/CI questions
- 0–N issues for non-trivial flakes or policy/CI questions
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -242,4 +242,20 @@ FINAL NOTES & Etiquette
* Record every decision and test run to make audits traceable.
* Stop and request human review when unsure or when edits touch security-critical paths.
Begin now: checkout `unstable`, run discovery searches/AST scan, produce `perf/constants-refactor/candidates.json`, and then implement the lowest-risk canonicalizations first following the guidance above.
Begin now: checkout `unstable`, run discovery searches/AST scan, produce `perf/constants-refactor/candidates.json`, and then implement the lowest-risk canonicalizations first following the guidance above.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -250,6 +250,23 @@ FIRST-RUN CHECKLIST (practical)
6. Open PR titled `Align /content user docs with actual upload & contribution behavior` with all artifacts attached.
===============================================================================
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
FINAL NOTE
Treat `/content` as the canonical user contract. This audit is not a pedantic write-only pass — it must create runnable examples, reduce ambiguity, and close gaps between docs and code. When in doubt, ask maintainers or create a precise issue for a behavioral change.
@@ -270,6 +270,23 @@ EXTRA TIPS & STYLE NOTES
---
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
FINAL NOTE
This is a conservative, incremental refactor: extract, test, baseline, PR. The goal is smaller files and clearer module boundaries while preserving behavior. Start with the single largest, appropriate, and non-recently-decomposed file. Make 2–3 clean extractions, test thoroughly, update baseline, and open one `[decompose]` PR targeting `unstable`.
@@ -197,6 +197,23 @@ FIRST-RUN CHECKLIST (run immediately)
5. Attempt the first small safe bump(s) (follow the safe upgrade flow) and open PR(s) or issue(s) accordingly.
--------------------------------------------------------------------------------
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
FINAL NOTE
Run this daily as a scheduled job or as part of CI cadence. Be conservative around cryptography, protocol, and native binary updates — always stop and open an issue for human review. Keep all actions reproducible: include commands, environment, Node & package manager versions, timestamps, and test logs.
@@ -216,4 +216,20 @@ Partial success:
- Issue documenting remaining violations with owners + next steps
Always:
- A concise remediation report in the PR/issue following the required format
- A concise remediation report in the PR/issue following the required format
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
+17 -1
View File
@@ -175,4 +175,20 @@ OUTPUTS PER RUN
- Updated `README.md` (as needed, verified)
- `CONTRIBUTING.md` (added if missing, minimal and verified)
- Targeted fixes to `docs/nostr-event-schemas.md` and/or `docs/playback-fallback.md`
- 0–N issues for any mismatches requiring maintainer decision
- 0–N issues for any mismatches requiring maintainer decision
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -177,4 +177,20 @@ OUTPUTS PER RUN
- 0–1 focused PR aligning targeted docs with code behavior
- Claims map + diagnosis summary (PR body or small markdown artifact)
- Validation notes (commands run / what was verified)
- 0–N issues for unclear or non-trivial follow-ups
- 0–N issues for unclear or non-trivial follow-ups
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -231,4 +231,20 @@ FINAL NOTES
- If you find cryptographic issues, stop and open `requires-security-review`.
- Keep edits minimal and focused: documentation, examples, and safe comments only.
Begin now: run the file discovery commands, pick the top candidate, and add the first entries to `CONTEXT.md` describing your plan.
Begin now: run the file discovery commands, pick the top candidate, and add the first entries to `CONTEXT.md` describing your plan.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -254,3 +254,20 @@ Begin now:
1. Run `node scripts/check-innerhtml.mjs --report`
2. Pick **ONE** file (RISKY/high-count preferred).
3. Follow the workflow above and open a `[security]` PR to `unstable` when ready.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -210,4 +210,20 @@ Daily:
- 0–1 small PR fixing a trivial, safe known issue (or none if nothing safe)
- Updated `KNOWN_ISSUES.md` with last-checked notes and links
- 0–N GitHub issues for medium/large/risky items
- A short daily remediation report (artifact or PR body)
- A short daily remediation report (artifact or PR body)
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -187,4 +187,20 @@ OUTPUTS PER RUN
- `scripts/agent/load-test.mjs` (or repo-approved equivalent)
- A load report (JSON) produced locally (and committed only if repo allows)
- A prioritized list of bottlenecks tied to measured evidence
- 0–N issues for non-trivial bottlenecks, especially security-sensitive ones
- 0–N issues for non-trivial bottlenecks, especially security-sensitive ones
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -220,6 +220,23 @@ OUTPUTS (what you must produce each run)
- `test/nostr-specs/fixtures/` — representative events/ciphertexts used for validation.
===============================================================================
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
FINAL NOTE
This prompt is your single-task manual: research NIP specs, map them to the code, verify with tests, and deliver small, auditable PRs or issues that progressively make bitvid a well-behaved Nostr client. Be conservative with cryptography and moderation; always stop for human review on changes that affect security.
@@ -175,4 +175,20 @@ OUTPUTS PER RUN
- An onboarding audit report (PR body or a small doc file per repo conventions)
- Updates to `README.md` and/or `CONTRIBUTING.md` when needed
- Optional devcontainer/Docker suggestion (and implementation only if justified)
- 0–1 PR + 0–N issues for non-trivial blockers
- 0–1 PR + 0–N issues for non-trivial blockers
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -189,6 +189,23 @@ BEHAVIORAL GUARDRAILS & QUALITY BAR
- If context is lost: read `CONTEXT.md`, `TODO.md`, `DECISIONS.md`, `TEST_LOG.md`.
-------------------------------------------------------------------------------
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
FINAL NOTE
You are a helper, not a helicopter. Make safe, measurable progress daily. Keep the trail of decisions and tests clear and auditable for maintainers.
@@ -265,3 +265,20 @@ BEGIN
4. Execute the review workflow for the appropriate run type.
5. Apply fixes in priority order, commit incrementally, open PR(s).
6. Update supporting docs. Open issues for anything requiring human input.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -191,3 +191,20 @@ BEGIN
3. Read both scheduler rosters.
4. Compare and identify differences.
5. Apply changes (if any), verify, commit, and open PR.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -133,4 +133,20 @@ PR body must include:
OUTPUTS PER RUN
- 0–1 PR containing only formatting and safe autofix changes.
- 0–N issues for non-autofixable lint failures or missing/unclear scripts.
- 0–N issues for non-autofixable lint failures or missing/unclear scripts.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -242,6 +242,23 @@ OUTPUTS (what you must produce each run)
- PRs for test fixes and Issues for larger/risky work.
===============================================================================
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
FINAL NOTE
You are the gatekeeper for test confidence. Run daily, be conservative in code edits, always prefer test-only fixes, ensure each assertion ties back to observable user behavior or public API, and keep everything auditable and traceable.
@@ -177,4 +177,20 @@ OUTPUTS PER RUN
- `artifacts/todos.txt` (or equivalent documented inventory)
- 0–N small PRs for trivial, safe TODOs
- 0–N GitHub issues for medium/large/sensitive TODOs
- Clear notes linking PRs/issues back to the inventory lines
- Clear notes linking PRs/issues back to the inventory lines
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -174,4 +174,20 @@ OUTPUTS PER RUN
- 1–3 minimal reproducers under `examples/reproducers/<issue>-<shortname>/` (if repo allows)
- Issue comments with run steps + evidence
- 0–1 PR adding reproducers and linking the issues
- 0–1 PR adding reproducers and linking the issues
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -151,4 +151,20 @@ OUTPUTS PER RUN
- Updated `CHANGELOG.md` (if present and used by repo), and/or
- `releases/draft-YYYYMMDD.md` (if `releases/` exists)
- 0–1 PR containing only documentation changes, ready for human review
- 0–1 PR containing only documentation changes, ready for human review
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -257,3 +257,20 @@ QUALITY BAR
* Proof > hunch. If you cannot demonstrate “no references” and green verification, **do not delete**.
* Small, reversible, well-documented PRs only.
* Preserve runtime/build/test behavior; the test-suite is the final arbiter.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -189,4 +189,20 @@ BEGIN
1. Inspect `js/nostrEventSchemas.js` and list exported builders/sanitizers.
2. Implement `scripts/agent/validate-events.mjs` and run it for `buildVideoPostEvent` + discovered builders.
3. Triage failures, apply **only safe builder fixes** with tests and docs updates, or open issues when required.
4. Open PR `ai/schema-validate-YYYYMMDD` with the harness, report, and any fixes.
4. Open PR `ai/schema-validate-YYYYMMDD` with the harness, report, and any fixes.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -165,4 +165,20 @@ OUTPUTS PER RUN
- `scripts/agent/debug_frontend.py` (if repo conventions allow)
- `artifacts/debug_frontend.log` (committed only if repo norms allow; otherwise excerpt in PR)
- 0–1 PR fixing the first initialization-blocking console/page error
- 0–N issues for unsafe/ambiguous follow-ups
- 0–N issues for unsafe/ambiguous follow-ups
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -209,4 +209,20 @@ OUTPUTS PER RUN
- 0–N reproducers under `examples/reproducers/` (if allowed)
- `artifacts/fuzz-report-<target>-YYYYMMDD.json` (committed only if allowed)
- 0–1 PR (harness + repros, optionally small safe guards/tests)
- 0–N issues for sensitive or non-trivial fixes
- 0–N issues for sensitive or non-trivial fixes
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -165,4 +165,21 @@ OUTPUTS PER RUN
- New GitHub issues for any discovered bugs or protocol mismatches, complete with reproduction steps and references to the artifacts.
───────────────────────────────────────────────────────────────────────────────
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
BEGIN
@@ -210,4 +210,20 @@ OUTPUTS PER RUN
- `weekly-perf-report-YYYY-MM-DD.md`
- 0–1 optimization PR with measured improvement
- 0–N issues for remaining bottlenecks and future work
- Optional: small harness/instrumentation improvements (measured and gated)
- Optional: small harness/instrumentation improvements (measured and gated)
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -161,4 +161,20 @@ BEGIN
2. Produce `DIAGNOSIS.md`.
3. Build or reuse a harness; produce a repeatable `BASELINE.md`.
4. Implement the smallest safe optimization and tests.
5. Re-run benchmarks, produce `AFTER.md`, and open the PR with evidence.
5. Re-run benchmarks, produce `AFTER.md`, and open the PR with evidence.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -192,4 +192,20 @@ OUTPUTS PER RUN
- PR comments for each open PR reviewed (or a markdown “review output” file if
commenting isn’t possible in the environment)
- Optional micro-fix commits or follow-up PRs for trivial cases only
- An audit log summarizing what was checked and results
- An audit log summarizing what was checked and results
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -253,3 +253,20 @@ OUTPUTS PER RUN
- 0–1 fix PR addressing the highest-severity confirmed race condition
- 0–N issues for remaining findings and security-sensitive races
- Optional: reproduction test(s) demonstrating the race condition
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -159,4 +159,20 @@ OUTPUTS PER RUN
- thin wrapper in original location
- unit tests for extracted behavior
- PR notes tying the change to `AGENTS.md` refactor guidance
- 0–N issues for targets that are not safely refactorable in a small PR
- 0–N issues for targets that are not safely refactorable in a small PR
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -191,4 +191,21 @@ OUTPUTS PER RUN
- **Console Output:** Real-time progress updates and a final summary (Pass/Fail) printed to stdout.
───────────────────────────────────────────────────────────────────────────────
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
BEGIN
@@ -229,4 +229,20 @@ BEGIN
5. Produce `artifacts/error-aggregates-YYYYMMDD.json` and `ai/reports/telemetry-YYYYMMDD.md`.
6. If artifacts are permitted to be committed, open `ai/telemetry-YYYYMMDD` PR with the report. Otherwise, attach in PR body and open issue(s) for human triage.
**Privacy-first rule:** If you cannot guarantee all PII/keys are redacted from every artifact, stop and request maintainer review — do not commit or publish raw logs.
**Privacy-first rule:** If you cannot guarantee all PII/keys are redacted from every artifact, stop and request maintainer review — do not commit or publish raw logs.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -186,4 +186,20 @@ BEGIN
2. Run `npm ci` and `npm run test:unit`, capture logs to `artifacts/tests-YYYYMMDD/`.
3. Produce coverage report and identify low-coverage modules (priority: `js/nostr/*`, `js/services/*`, `js/state/*`).
4. Add focused tests using existing devDependencies and mocks. Keep PRs small and verifiable.
5. Re-run coverage and open PR(s) with artifacts and coverage improvements.
5. Re-run coverage and open PR(s) with artifacts and coverage improvements.
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?
@@ -175,4 +175,20 @@ If report directory doesn’t exist and policy is unclear:
OUTPUTS PER RUN
- `ai/reports/weekly-YYYYMMDD.md` (or repo-approved equivalent)
- One commit containing only the report (if committing is allowed by policy)
- One commit containing only the report (if committing is allowed by policy)
## TASK COMPLETION & SELF-CORRECTION
If you are unsure what to do next, complete what you have and commit after the initial goal is completed and tests are successful.
**Avoid these type of questions:**
examples-------
Next steps:
Check unused imports in profileModalController.js.
Run unit tests npm run test:unit.
Update file size baseline.
Commit and complete the work.
Do you have any specific advice or checks before I proceed?