Atlas project production

BOUSD-ClassSize-Extract

Refresh Aeries class-size outputs into Google Sheets for staffing, class-load, and planning workflows.

Internal-only entry. Do not publish externally without review.
Type
Field Tool
Lifecycle
Active
Last touched
2026-03-26
Visibility
Internal

Purpose

Keep class-size planning views refreshed from Aeries so staffing and section-load discussions use a current source feed.

Current state

The implementation path is now explicit: `run.sh` executes `conf.d/summary.toml` and `conf.d/class-counts.toml`, produces `data/summary.csv` and `data/class-counts.csv`, and overwrites `SourceData-summary` and `SourceData-class-counts` ranges in the destination sheet. `aether/docs/cron-example.txt` documents hourly weekday execution (`0 7-18 * * 1-5`) from `/home/bousdtech/repos/BOUSD-ClassSize-Extract/run.sh`.

Next step

Confirm authoritative host identity, owner/escalation contacts, and the canonical list of downstream planning views that consume the two source tabs.

Interfaces

Inputs
  • SQL query files
  • TOML configuration
  • ODBC connection settings
  • Google service-account access
Outputs
  • class-size sheet tabs
  • local CSV artifacts
  • planning source data

Reality to Action trace

Reality Ingestion

Contributes in this stage.

Canonical Storage

Not in scope.

Automation Engines

Not in scope.

Human Interfaces

Contributes in this stage.

Operational Adoption

Contributes in this stage.

Core workflow

TBD. Document the 5-10 steps that define the core workflow.

Data integrity and contracts

Source of truth rules

  • Aeries is canonical for the extracted data.
  • Destination sheets are operational distribution surfaces and should not become the authoring system.

Safe handling

  • Restrict service-account keys and ODBC credentials to approved operators.
  • Treat CSV artifacts and destination tabs as restricted operational data.
  • Document host ownership and recovery steps in an internal runbook.

Operational notes

Reliability posture

Deterministic `run.sh` behavior with two fixed extracts and documented cron-path cadence provides stable runtime evidence; failures usually preserve prior sheet state, but alert routing and owner escalation are still not centralized.

Observability

  • stdout/stderr from run.sh and bundled CLI tools
  • CSV artifacts in data/ (`summary.csv`, `class-counts.csv`) and temp/
  • stale or missing downstream sheet tabs

Security and privacy

These jobs move restricted operational data from Aeries into Google Sheets. Keep service-account keys, credentials, logs, and CSV artifacts private.

Dependencies

Upstream
  • Aeries SQL access
  • ODBC driver stability
  • service-account sharing
  • scheduler ownership
Downstream
  • class-load and enrollment planning workflows

Ownership

Owners

Technology Services, Josh Barton

Users

Technology Services, district reporting stakeholders

BOUSD-ClassSize-Extract

Operational Notes

  • Implementation pattern: run.sh wrapper, conf.d/ configuration, SQL-over-ODBC extraction, local CSV artifacts, and controlled Google Sheets range overwrites.
  • Extract contracts: summary and class-counts each map from conf.d/<name>.toml to data/<name>.csv and SourceData-<name>!A1:ZZ10000.
  • Scheduled cadence: Hourly on weekdays between 07:00 and 18:00; repo evidence in aether/docs/cron-example.txt uses 0 7-18 * * 1-5 /home/bousdtech/repos/BOUSD-ClassSize-Extract/run.sh.
  • README-level credential boundary: destination sheets are expected to grant edit access to the shared service account used across this extract family.
  • Shared family risks include sheet header drift, secret sprawl, host ownership gaps, and weak centralized monitoring.

Registry Alignment

  • Registry context: this feed belongs to the Aeries-to-Google Sheets reporting extract family, which Atlas keeps as operational family context rather than as a standalone BOUSD integration.
  • Registry clarified: this job shares the same production host, secret, and schema-drift risk profile as the other BOUSD reporting extracts.
  • Validation gaps: destination tab contracts are now known in repo evidence, but canonical owner/escalation mapping and consuming planning-workflow inventory remain incomplete.