Files
project-work/worker-toolkit-stocks-in-the-future/repo/docs/map/processes/CONTEXT.md

2.2 KiB

processes — the movements

One job: hold one card per movement that actually runs. Six do. Nothing here is aspirational; if a card describes something that no scheduler, controller, or human triggers, it does not belong in this folder.

Inputs

  • Reference (every read): ../CONTEXT.md — universes and traps
  • Reference (every write): ../_meta/schema.md, ../_templates/process.md
  • Working: config/recurring.yml, app/jobs/, app/services/, app/controllers/

The six movements

Card Trigger Runs
authenticate-authorize every request Devise (username) → Pundit → admin gate
place-and-execute-order student, then cron */15 * * * * Order → OrderExecutionJob → ExecuteOrder → fees
finalize-gradebook-earnings admin clicks Finalize verified! → DistributeEarnings → deposits
refresh-market-data cron nightly + weekly Alpha Vantage → Stock
snapshot-portfolio-worth cron month-end Portfolio → PortfolioSnapshot
import-students admin uploads CSV BulkStudentImportService → Student + Portfolio

Four of the six are scheduled, not user-driven. The schedule is one file — config/recurring.yml — and it is the fastest way to see what this app does on its own.

Process

  1. Copy ../_templates/process.md.
  2. Write Input → Movement → Output in three sentences before writing any steps.
  3. Number the steps and cite path:line on each. Do not restate what the source says — point at it.
  4. Fill consumes: / produces: with links to object cards. Those links are the graph; there is no separate edge list to maintain.
  5. Fill Hits / Does not hit, first-order only.

Outputs

  • One card per movement, in this folder

Human check

Read the Steps aloud against the source file open beside you. If a step describes a behaviour the code does not have — or skips a guard clause that changes the outcome — fix it now. A wrong movement card sends an agent to the wrong file.