Outcome
Turn GitHub Student Developer Pack into a cost-bounded, production-like MLOps learning and engineering environment around RunSift .
The objective is not to add infrastructure for its own sake. Every claimed benefit or external service must produce one of the following:
stronger RunSift engineering evidence (reproducibility, CI/CD, release quality, observability, security, rollback);
a reusable MLOps skill demonstrated by code/configuration/runbooks in this repository;
reduced local/cloud cost compared with an equivalent paid learning setup.
This issue is an epic / execution plan , not permission to activate every service immediately.
Why this belongs in RunSift
RunSift already owns progressive CI quality gates in #15 , a reproducible release gate in #35 , post-MVP validation in #36 , and MLOps relevance/documentation in #16 /#21 .
The missing layer is a disciplined plan for using student resources to practice the surrounding production lifecycle:
Code / PR
↓
GitHub Actions
↓
quality + security + deterministic fixtures
↓
build package/container
↓
GitHub Packages / GHCR
↓
staging deployment (only when justified)
↓
metrics / traces / errors
↓
incident + rollback exercise
↓
evidence recorded back in RunSift
This epic must extend existing RunSift contracts, not duplicate or weaken them.
Principles / guardrails
No benefit is activated just because it is free. Activate only when there is a concrete learning or repository objective.
Verify the current Student Pack offer, quota, eligibility, expiration, and billing behavior immediately before activation; benefits change over time.
Never assume a free credit means unlimited usage.
No always-on paid VM, GPU, Kubernetes cluster, database, or observability ingestion without an explicit budget guard.
Prefer local/open-source equivalents first; use student cloud credits for the parts that cannot be learned realistically offline.
Do not create CI runs solely to consume quota or demonstrate activity.
Preserve [CI/CD] Add progressive quality gates for package, static checks, tests, fixtures, and reports #15 concurrency cancellation, least-privilege permissions, deterministic local reproduction, and pinned actions.
Do not turn optional infrastructure into an MVP dependency.
Product-facing GitHub integration, ML, metrics, dashboards, or service infrastructure remain subject to [Release] Verify and publish RunSift CLI v0.1.0 MVP #35 /[Validation] Evaluate MVP evidence and choose RunSift's next phase #36 activation gates.
Secrets, private logs, tokens, telemetry, and external storage remain subject to [Security] Implement pre-persistence secret redaction and redaction reporting #33 and [Security] Enforce untrusted-input path, resource, and rendering boundaries #37 .
No unsupported claim such as “production-ready” or “MLOps platform” without measured evidence.
Student Pack utilization map
A. GitHub Pro — primary engineering platform
Use GitHub itself as the default control plane before introducing another CI/CD system.
Targets
Evidence
workflow YAML;
local reproduction commands;
CI timing/usage comparison;
release provenance;
documented rollback path.
B. GitHub Packages / GHCR — artifact and container registry practice
RunSift should use GitHub-native artifact distribution before adding a third-party registry.
Targets
Non-goal
Do not containerize the offline CLI merely to say the project “uses Docker”.
C. Codespaces — disposable reproducible development environment
Use Codespaces as a clean-room verification and onboarding environment, not as permanent compute.
Targets
Evidence
A reviewer can open a clean environment and reproduce the documented RunSift workflow without hidden machine state.
D. LocalStack + OpenTofu/Terraform — cloud/IaC learning without cloud spend
Use local emulation for AWS-style infrastructure exercises before consuming real cloud credit.
Learning lab
OpenTofu/Terraform
↓
LocalStack
├── object storage experiment
├── queue/event experiment
└── IAM/configuration exercise
Targets
Non-goal
Do not make AWS emulation a RunSift runtime dependency.
E. Azure student credit — real cloud deployment exercise
Treat cloud credit as a scarce experiment budget , not a permanent hosting plan.
Activation gate
Do not spend Azure credit until:
Product-facing deployment must also respect #36 .
Candidate exercise
GitHub Actions
↓
GHCR / cloud registry
↓
small staging service/job
↓
health check
↓
observability
↓
rollback
↓
destroy infrastructure
Targets
F. Heroku or equivalent student deployment benefit — long-lived lightweight demo only if justified
Use a student deployment benefit only if RunSift gains a legitimate service/demo surface after validation.
Targets
Activation gate
Blocked unless #36 selects a direction that actually needs a running service or a separately documented learning lab is used.
G. Datadog — production observability learning
Use the student observability benefit to learn real metrics/logs/traces only after there is something meaningful to observe.
Candidate signals
Targets
Constraint
#26 remains authoritative for any Prometheus-compatible RunSift product output; this section is an external observability learning/integration exercise , not permission to bypass #19 /#36 .
H. Sentry — exception and release diagnostics
If a deployed service exists, use the student benefit for application error tracking.
Targets
I. MongoDB Atlas or other student data benefit — optional metadata lab
Do not add a database to the RunSift product merely because credits exist.
Possible learning use:
versioned run metadata experiment;
structured experiment metadata;
retention/deletion exercise;
query/index benchmarking on synthetic/sanitized data.
Activation gate
J. Deepnote / Camber / student compute — bounded experimentation
Use temporary compute for notebooks, data experiments, or CPU-heavy learning jobs that are inappropriate for CI.
Targets
K. Student learning subscriptions — schedule activation, do not redeem simultaneously
Benefits with short validity windows should be activated just-in-time .
Learning sequence
software/backend/Linux fundamentals if needed;
data/ML engineering;
distributed systems/cloud/system design;
immediately apply each module to RunSift or a versioned lab artifact.
Rule
No course counts as progress without one of:
merged code/configuration;
reproducible lab;
ADR/design note;
benchmark;
test suite;
incident/rollback exercise;
documented technical decision.
Suggested execution phases
Phase 0 — Inventory and budget ledger
Exit criterion: every activated benefit has an owner, purpose, quota, expiry, and teardown strategy.
Phase 1 — GitHub-native CI + packaging
Depends primarily on #32 and #15 .
Exit criterion: RunSift has reproducible local/CI commands and bounded CI usage.
Phase 2 — Reproducible MLOps/IaC labs
Exit criterion: a reviewer can reproduce the lab without paid cloud resources.
Phase 3 — Release engineering
Blocked by the actual completion criteria of #35 .
Exit criterion: release behavior is reproducible from source revision to published artifact.
Phase 4 — Real cloud + observability exercise
Only after a justified use case exists.
Exit criterion: the repository contains an evidence-backed operations case study, not screenshots of unused dashboards.
Phase 5 — Post-MVP MLOps expansion
Blocked by #36 for product-facing changes.
Possible directions only if evidence supports them:
model/heuristic experiment tracking;
versioned evaluation datasets;
data/model lineage;
drift or reliability analysis;
scheduled evaluation;
service deployment;
production metrics.
Do not pre-commit to MLflow, feature stores, Kubeflow, Airflow, Kubernetes, or other platforms until the problem requires them.
Cost and quota safety policy
Maintain a lightweight ledger:
Resource
Purpose
Free quota/credit
Soft limit
Hard action
Expiry
Teardown
GitHub Actions
CI
VERIFY CURRENT
project budget
cancel/skip nonessential jobs
VERIFY
n/a
GHCR/Packages
artifacts
VERIFY CURRENT
retention target
delete superseded artifacts
VERIFY
cleanup workflow/manual
Codespaces
clean env
VERIFY CURRENT
per-session limit
stop/delete
VERIFY
delete environment
Azure
cloud lab
VERIFY CURRENT
experiment budget
destroy resources
VERIFY
destroy/portal check
Datadog
observability
VERIFY CURRENT
ingestion budget
disable excess sources
VERIFY
remove integration
Sentry
errors
VERIFY CURRENT
event budget
sampling/disable
VERIFY
remove DSN/integration
Other Pack benefit
explicit objective
VERIFY CURRENT
explicit
stop
VERIFY
documented
VERIFY CURRENT is intentional: do not freeze rapidly changing Student Pack quotas into project assumptions.
CI anti-spam / fair-use rules
Security requirements
Learning evidence / portfolio outputs
By the end of this epic, the project should be able to demonstrate the following with artifacts rather than claims :
reproducible Python packaging;
deterministic CI gates;
GitHub Actions optimization and quota discipline;
package/container registry lifecycle;
supply-chain/security basics;
IaC plan/apply/destroy lifecycle;
clean-environment reproducibility;
cloud deployment with explicit budget controls;
metrics/logs/traces/error diagnostics;
controlled incident and rollback exercise;
cost/quota ledger;
ADRs explaining rejected over-engineering choices.
Definition of Done
Explicit non-goals
adopting every Student Pack service;
running paid infrastructure continuously because credits exist;
adding Kubernetes, Airflow, Kubeflow, MLflow, a database, or a service without a demonstrated requirement;
bypassing [Validation] Evaluate MVP evidence and choose RunSift's next phase #36 to make RunSift a cloud/ML platform prematurely;
replacing deterministic fixture-based CI with live external-service tests;
storing private/raw CI data in third-party student services;
optimizing for dashboard screenshots rather than engineering evidence;
maximizing quota consumption. The target is maximum learning and engineering value per unit of free quota/credit .
Related issues
[CI/CD] Add progressive quality gates for package, static checks, tests, fixtures, and reports #15 — progressive CI/CD quality gates
[Docs] Publish reproducible quickstart, architecture, examples, limitations, and MLOps case study #16 — reproducible documentation and MLOps case study
[Epic] Portfolio Polish and Demo #21 — portfolio polish/demo
[Observability] Add optional Prometheus-compatible metrics output #26 — optional Prometheus-compatible output (post-validation scope)
[Foundation] Create installable package, source layout, and reproducible toolchain #32 — reproducible package/toolchain foundation
[Security] Implement pre-persistence secret redaction and redaction reporting #33 — secret redaction
[Release] Verify and publish RunSift CLI v0.1.0 MVP #35 — v0.1.0 release gate
[Validation] Evaluate MVP evidence and choose RunSift's next phase #36 — post-MVP evidence/next-phase decision
[Security] Enforce untrusted-input path, resource, and rendering boundaries #37 — untrusted-input/resource/rendering security boundaries
Outcome
Turn GitHub Student Developer Pack into a cost-bounded, production-like MLOps learning and engineering environment around RunSift.
The objective is not to add infrastructure for its own sake. Every claimed benefit or external service must produce one of the following:
This issue is an epic / execution plan, not permission to activate every service immediately.
Why this belongs in RunSift
RunSift already owns progressive CI quality gates in #15, a reproducible release gate in #35, post-MVP validation in #36, and MLOps relevance/documentation in #16/#21.
The missing layer is a disciplined plan for using student resources to practice the surrounding production lifecycle:
This epic must extend existing RunSift contracts, not duplicate or weaken them.
Principles / guardrails
Student Pack utilization map
A. GitHub Pro — primary engineering platform
Use GitHub itself as the default control plane before introducing another CI/CD system.
Targets
Evidence
B. GitHub Packages / GHCR — artifact and container registry practice
RunSift should use GitHub-native artifact distribution before adding a third-party registry.
Targets
Non-goal
Do not containerize the offline CLI merely to say the project “uses Docker”.
C. Codespaces — disposable reproducible development environment
Use Codespaces as a clean-room verification and onboarding environment, not as permanent compute.
Targets
Evidence
A reviewer can open a clean environment and reproduce the documented RunSift workflow without hidden machine state.
D. LocalStack + OpenTofu/Terraform — cloud/IaC learning without cloud spend
Use local emulation for AWS-style infrastructure exercises before consuming real cloud credit.
Learning lab
Targets
labs/orinfrastructure/labs/boundaryup,test, anddestroycommandsNon-goal
Do not make AWS emulation a RunSift runtime dependency.
E. Azure student credit — real cloud deployment exercise
Treat cloud credit as a scarce experiment budget, not a permanent hosting plan.
Activation gate
Do not spend Azure credit until:
Product-facing deployment must also respect #36.
Candidate exercise
Targets
F. Heroku or equivalent student deployment benefit — long-lived lightweight demo only if justified
Use a student deployment benefit only if RunSift gains a legitimate service/demo surface after validation.
Targets
/healthand version/build metadata if a service existsActivation gate
Blocked unless #36 selects a direction that actually needs a running service or a separately documented learning lab is used.
G. Datadog — production observability learning
Use the student observability benefit to learn real metrics/logs/traces only after there is something meaningful to observe.
Candidate signals
Targets
Constraint
#26 remains authoritative for any Prometheus-compatible RunSift product output; this section is an external observability learning/integration exercise, not permission to bypass #19/#36.
H. Sentry — exception and release diagnostics
If a deployed service exists, use the student benefit for application error tracking.
Targets
I. MongoDB Atlas or other student data benefit — optional metadata lab
Do not add a database to the RunSift product merely because credits exist.
Possible learning use:
Activation gate
J. Deepnote / Camber / student compute — bounded experimentation
Use temporary compute for notebooks, data experiments, or CPU-heavy learning jobs that are inappropriate for CI.
Targets
K. Student learning subscriptions — schedule activation, do not redeem simultaneously
Benefits with short validity windows should be activated just-in-time.
Learning sequence
Rule
No course counts as progress without one of:
Suggested execution phases
Phase 0 — Inventory and budget ledger
docs/student-pack-ledger.mdor equivalentExit criterion: every activated benefit has an owner, purpose, quota, expiry, and teardown strategy.
Phase 1 — GitHub-native CI + packaging
Depends primarily on #32 and #15.
Exit criterion: RunSift has reproducible local/CI commands and bounded CI usage.
Phase 2 — Reproducible MLOps/IaC labs
Exit criterion: a reviewer can reproduce the lab without paid cloud resources.
Phase 3 — Release engineering
Blocked by the actual completion criteria of #35.
Exit criterion: release behavior is reproducible from source revision to published artifact.
Phase 4 — Real cloud + observability exercise
Only after a justified use case exists.
Exit criterion: the repository contains an evidence-backed operations case study, not screenshots of unused dashboards.
Phase 5 — Post-MVP MLOps expansion
Blocked by #36 for product-facing changes.
Possible directions only if evidence supports them:
Do not pre-commit to MLflow, feature stores, Kubeflow, Airflow, Kubernetes, or other platforms until the problem requires them.
Cost and quota safety policy
Maintain a lightweight ledger:
destroy/portal checkVERIFY CURRENTis intentional: do not freeze rapidly changing Student Pack quotas into project assumptions.CI anti-spam / fair-use rules
concurrencycancellation where safeSecurity requirements
Learning evidence / portfolio outputs
By the end of this epic, the project should be able to demonstrate the following with artifacts rather than claims:
Definition of Done
Explicit non-goals
Related issues