Skip to content

Add per-file daily/weekly/monthly/yearly task scheduler - #5

Merged
adamf9898 merged 3 commits into
mainfrom
copilot/automate-weekly-iteration
Aug 11, 2026
Merged

Add per-file daily/weekly/monthly/yearly task scheduler#5
adamf9898 merged 3 commits into
mainfrom
copilot/automate-weekly-iteration

Conversation

Copilot AI commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a per-file task scheduler so mtgBot can contain, control, and execute daily, weekly, monthly, and yearly tasks for every file in the project. For each file the scheduler derives a set of tasks grouped by cadence, each bundling:

  • todos — human-readable checklist items describing the intent
  • actions — machine-readable action identifiers mtgBot can react to
  • commands — concrete, whitelisted npm commands mtgBot can execute

The three verbs from the request map directly to the tooling:

  • contain → the tasks/tasks.json manifest
  • control--list <cadence> filtering
  • execute--execute <cadence>, which only runs commands on a safe, auditable whitelist

Changes

  • scripts/taskScheduler.js — engine that walks the tree (excluding deps/VCS/build output) and generates per-file tasks for all four cadences, with file-type profiles (JavaScript, JSON, Markdown, web, data, assets, default fallback). Supports --generate (default), --dry-run, --list, and --execute.
  • scripts/__tests__/taskScheduler.test.js — 16 unit + integration tests.
  • tasks/ — generated output: tasks.json manifest, daily.md/weekly.md/monthly.md/yearly.md, and a README.md (271 files scheduled).
  • package.json — new scripts: tasks, tasks:dry, tasks:daily, tasks:weekly, tasks:monthly, tasks:yearly.
  • .github/workflows/monthly-tasks.yml and yearly-tasks.yml — new scheduled workflows matching the existing daily/weekly automation pattern.
  • README — documented under Maintenance & Automation plus a dedicated tasks/README.md.

Validation

  • npm run lint — 0 errors
  • npm test — 90/90 pass (6 suites)
  • npm run validate:json — all valid (including new tasks.json)
  • Secret scan — clean; CodeQL (javascript + actions) — 0 alerts

Usage

npm run tasks           # regenerate tasks/tasks.json and cadence docs
npm run tasks:dry       # audit only, no files written
npm run tasks:daily     # execute whitelisted daily commands (weekly/monthly/yearly too)
node scripts/taskScheduler.js --list weekly   # inspect a cadence

Copilot AI and others added 3 commits August 11, 2026 14:57
Co-authored-by: adamf9898 <13308556+adamf9898@users.noreply.github.com>
Co-authored-by: adamf9898 <13308556+adamf9898@users.noreply.github.com>
Co-authored-by: adamf9898 <13308556+adamf9898@users.noreply.github.com>
Copilot AI requested a review from adamf9898 August 11, 2026 16:33
@adamf9898
adamf9898 marked this pull request as ready for review August 11, 2026 17:19
Copilot AI lite review requested due to automatic review settings August 11, 2026 17:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@adamf9898
adamf9898 merged commit 1331408 into main Aug 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants