The daily and weekly scheduler prompts included a "hard stop" rule that aborted execution if Draft PR creation failed. In restricted environments (like the agent sandbox), `GH_TOKEN` is unavailable, preventing API write access even if git operations work.
This change modifies `docs/agents/prompts/daily-scheduler.md` and `docs/agents/prompts/weekly-scheduler.md` to implement a "soft fail" policy:
- If PR creation fails (e.g., missing credentials), the agent logs the failure in the `_started.md` file summary and proceeds.
- The pushed branch and `_started.md` log file serve as the primary distributed lock.
- Updates the checklist template to accept "FAILED/SKIPPED" for the PR number.
This ensures the scheduler can operate in constrained environments without sacrificing the core distributed locking mechanism.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Updated scripts/agent/debug_frontend.py to be more robust (timestamps, exit codes).
- Verified no frontend console errors on startup.
- Created task logs (started/completed).
Co-authored-by: PR0M3TH3AN <[email protected]>
- Added `npm run test:smoke` documentation to README.md and CONTRIBUTING.md
- Added `npm run audit` documentation to README.md and CONTRIBUTING.md
- Ran `npm run audit` to generate REMEDIATION_REPORT.md
- Created daily agent scheduler logs (started/completed)
Co-authored-by: PR0M3TH3AN <[email protected]>
- Update `CLAUDE.md` to include `FEATURE_TRUSTED_HIDE_CONTROLS` and `FEATURE_IMPROVED_COMMENT_FETCHING`.
- Update `docs/nostr-event-schemas.md` to include detailed schemas for NIP-17 and Gift Wrap kinds (1059, 13, 14, 15, 20001, 20002, 10050).
- Add task logs for docs-alignment-agent execution.
Co-authored-by: PR0M3TH3AN <[email protected]>
Agents were skipping the pre-flight curl/gh check for in-progress work,
causing duplicate task runs. Root causes:
1. Two-document indirection (meta prompt → scheduler) caused the pre-flight
instructions to get lost when the agent opened the second file
2. No proof-of-execution gate — agents could assert "no conflicts" without
actually running the commands
3. curl|jq pipeline silently fails when jq is unavailable
4. "Step 0" labeling felt like skippable preamble
Changes:
- Make the commands the literal first instruction ("run NOW, paste output")
- Use gh CLI as primary (authenticated, no jq needed), curl as fallback
- Require raw terminal output pasted before proceeding (output gate)
- Rename "Step 0" to "PRE-FLIGHT GATE" to signal it's not optional
- Eliminate duplication between meta prompt and scheduler files
- Add explicit "STOP HERE" checkpoint after command execution
- Add skip-ahead clause for agents arriving from meta prompt
https://claude.ai/code/session_01S7jaQb9ctJ4bzqRhEcm28Q
Replace shared CSV files (AGENT_TASK_LOG.csv, WEEKLY_AGENT_TASK_LOG.csv)
with per-entry files in docs/agents/task-logs/{daily,weekly}/. Each log
entry is now a separate file named YYYY-MM-DD_HH-MM-SS_<agent>_<status>.md,
eliminating git merge conflicts and race conditions when multiple agents
run concurrently.
Updated files:
- daily-scheduler.md: rewritten for directory-based log format
- weekly-scheduler.md: rewritten for directory-based log format
- META_PROMPTS.md: updated pre-flight scan and claiming instructions
- AGENTS.md: updated scheduler reference from CSV to directory-based
Migrated all existing CSV entries to individual files in the new
directory structure.
https://claude.ai/code/session_01P62EWUXwupgxPhpnRejUuz
- Move `CONTEXT.md`, `TODO.md`, `DECISIONS.md`, `TEST_LOG.md` to `context/`, `todo/`, `decisions/`, `test_logs/` directories with timestamps.
- Update `AGENTS.md` and `CLAUDE.md` to define the new workflow: agents must read the latest timestamped file and create a new one when updating.
- Update `daily-scheduler.md` and `weekly-scheduler.md` to initialize tasks using the new file structure.
- Update all daily agent prompts to reference the new directory structure.
- This change prevents merge conflicts on persistent state files by treating them as an append-only log of snapshots.
Co-authored-by: PR0M3TH3AN <[email protected]>
Extracts all hashtag preference related logic into a new controller
`js/ui/profileModal/ProfileHashtagController.js` to reduce the size of `js/ui/profileModalController.js` and improve maintainability.
- Moves `normalizeHashtagTag`, `formatHashtagTag`, `getResolvedHashtagPreferences`, `setHashtagStatus`, `refreshHashtagBackgroundStatus`, `populateHashtagPreferences`, `renderHashtagList`, `sanitizeHashtagList`, `createHashtagListItem`, `persistHashtagPreferences`, `handleAddHashtagPreference`, `handleRemoveHashtagPreference`, `handleHashtagPreferencesChange`, `describeHashtagPreferencesError`.
- Updates `ProfileModalController` to delegate to `ProfileHashtagController`.
- Adds delegate getters/methods in `ProfileModalController` to maintain backward compatibility for tests.
- Reduces `js/ui/profileModalController.js` by ~600 lines.
- Updates file size baseline in `scripts/check-file-size.mjs`.
Passes `npm run lint` and `npm run test:unit`.
Co-authored-by: PR0M3TH3AN <[email protected]>
Extracts all hashtag preference related logic into a new controller
`js/ui/profileModal/ProfileHashtagController.js` to reduce the size of `js/ui/profileModalController.js` and improve maintainability.
- Moves `normalizeHashtagTag`, `formatHashtagTag`, `getResolvedHashtagPreferences`, `setHashtagStatus`, `refreshHashtagBackgroundStatus`, `populateHashtagPreferences`, `renderHashtagList`, `sanitizeHashtagList`, `createHashtagListItem`, `persistHashtagPreferences`, `handleAddHashtagPreference`, `handleRemoveHashtagPreference`, `handleHashtagPreferencesChange`, `describeHashtagPreferencesError`.
- Updates `ProfileModalController` to delegate to `ProfileHashtagController`.
- Reduces `js/ui/profileModalController.js` by ~600 lines.
- Updates file size baseline in `scripts/check-file-size.mjs`.
Passes `npm run lint` and `npm run test:unit`.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Inserts a `## TASK COMPLETION & SELF-CORRECTION` section into all daily and weekly agent prompts.
- Instructs agents to complete their task and commit upon success, rather than asking for next steps.
- Provides specific negative examples of questions to avoid.
- Places the instruction before `FINAL NOTE` or `BEGIN` markers to ensure visibility.
Co-authored-by: PR0M3TH3AN <[email protected]>
Agents were repeatedly picking up content-audit-agent because:
1. CSV only updated after task completion — crashes left no trace
2. PR claim check (Step 1.5) was buried and easy to skip
3. No "started" status meant failed runs were invisible to rotation
4. Pre-flight scan was too narrow (checked one agent, not all)
Changes:
- Add Step 0 (mandatory pre-flight) that scans ALL open PRs and CSV
for in-progress work before selecting any task
- Introduce "started" CSV status logged immediately upon claiming,
before task execution begins — ensures rotation advances on crash
- Promote claim check from sub-step 1.5 to full Step 2 with explicit
MANDATORY warnings
- Add 24-hour stale claim timeout for abandoned "started" entries
- Add fallback: if gh is unavailable, CSV "started" rows still work
- Strengthen META_PROMPTS.md to front-load deduplication as Step 0
with explicit "this has happened before" warning language
- Add Quick Reference table summarizing all 5 deduplication layers
https://claude.ai/code/session_017QCJvunQJ7ATr6uZBHV5iA