feat: Assignment 1; initialization

This commit is contained in:
rand committed 2026-09-26 00:52:31 -04:00
commit ca41ea3567
18 files changed
+3673

No files matched your search

+126
View File
@@ -0,0 +1,126 @@
\chapter{Example Assignment}
\ChapterLabel{ExampleAssignment}
\index{activity brief}
\index{workflow}
\index{automation}
\index{infrastructure as code}
\index{evidence}
\index{observability}
\index{rollback}
\index{retrospective}
\index{continuous improvement}
\index{submission}
\index{cleanup}
\section{Activity Brief}
\subsection{Scenario}
Describe the operational scenario and why it matters. Use a bounded,
non-production system. \textit{Example: A team must deploy a small service
reliably to a remote Linux host and recover from a failed release.}
\subsection{Activities}
Assign stable IDs to each assessed activity. Add rows as needed.
\begin{tabularx}{\linewidth}{L{2.1cm}L{3.1cm}Y}
\caption{Activity Register\label{Table:ActivityRegister}}\\
\toprule \textbf{ID} & \textbf{Activity} & \textbf{Completion criterion}\\ \midrule
\ActivityID{ACT-01} & \textit{[Prepare environment]} & \textit{[repeatable environment baseline is present]}\\
\ActivityID{ACT-02} & \textit{[Automate workflow]} & \textit{[workflow runs from documented inputs]}\\
\ActivityID{ACT-03} & \textit{[Observe and recover]} & \textit{[evidence shows monitoring and recovery]}\\ \bottomrule
\end{tabularx}
\subsection{Success Criteria}
State observable outcomes, not implementation prescriptions. Include security,
cost, cleanup, and reproducibility criteria where applicable.
\subsection{Assessment Rubric}
\begin{tabularx}{\linewidth}{L{3.2cm}L{2.0cm}Y}
\toprule \textbf{Criterion} & \textbf{Weight} & \textbf{Evidence expected}\\ \midrule
Reproducible workflow & \textit{[points]} & \textit{[automation and clean-run proof]}\\
Operational quality & \textit{[points]} & \textit{[observability, rollback, security]}\\
Evidence and explanation & \textit{[points]} & \textit{[commands, outputs, rationale]}\\
Reflection & \textit{[points]} & \textit{[failure analysis and improvement]}\\ \bottomrule
\end{tabularx}
\section{Workflow and Implementation}
\subsection{Environment Baseline}
Specify the authorized environment, prerequisites, access model, versioned
inputs, and teardown procedure. Record commands in a repository script or
infrastructure-as-code definition; do not rely on a sequence of undocumented
console clicks.
\subsection{Procedure}
For each activity, state the goal, input, command or automation entry point,
expected result, and rollback or cleanup action. Link the corresponding
activity identifier and evidence identifier.
\begin{lstlisting}[language=bash,caption={Replace with a safe, repeatable workflow entry point.}]
# ./scripts/provision.sh --environment sandbox
# ./scripts/deploy.sh --version <tag>
# ./scripts/destroy.sh --environment sandbox
\end{lstlisting}
\subsection{Operational Controls}
Describe least-privilege access, secret handling, logging, monitoring, change
control, budget guardrails, backup or rollback, and resource cleanup. A secret
shall be referenced by its approved storage location, never pasted into this
document or committed to the repository.
\subsection{Failure Exercise}
Define one safe failure or degradation scenario. State the trigger, expected
signal, diagnosis path, recovery action, and evidence required. Never direct
students to disrupt shared or production infrastructure.
\section{Evidence Register}
\subsection{How to Use This Section}
Evidence demonstrates an actual execution; an expected result is not evidence.
Use sanitized command output, logs, screenshots, links to versioned files, or
recorded metrics. Redact secrets and personal information.
\begin{tabularx}{\linewidth}{L{1.7cm}L{2.2cm}L{2.6cm}Y}
\caption{Evidence Register\label{Table:EvidenceRegister}}\\
\toprule \textbf{ID} & \textbf{Activity} & \textbf{Evidence type} & \textbf{Location and interpretation}\\ \midrule
\EvidenceID{EVD-01} & \ActivityRef{ACT-01} & \textit{[log / script / image]} & \textit{[repository path or sanitized URL; what it demonstrates]}\\
\EvidenceID{EVD-02} & \ActivityRef{ACT-02} & \textit{[pipeline output]} & \textit{[location; result and relevant timestamp]}\\
\EvidenceID{EVD-03} & \ActivityRef{ACT-03} & \textit{[monitoring / recovery output]} & \textit{[location; failure signal and recovery result]}\\ \bottomrule
\end{tabularx}
\subsection{Evidence Quality Checks}
Evidence should identify the executed version, environment, time, command or
automation entry point, outcome, and any deviation from the expected result.
State failures plainly; they are valuable inputs to the retrospective.
\section{Retrospective}
\subsection{Outcome}
Summarize what happened, including completed work, gaps, and unexpected
behavior. Distinguish facts from interpretation.
\subsection{Flow and Feedback}
Identify queues, handoffs, manual steps, slow feedback, and sources of rework.
Explain which changes improved delivery flow or made failures visible sooner.
This emphasis on flow, feedback, and continual learning is consistent with the
DevOps framing introduced in \cite{PhoenixProject}.
\subsection{Improvement Experiments}
Propose one or more small, testable improvements. State the hypothesis, change,
measurement, expected result, and risk. Do not represent a proposal as an
approved production change.
\subsection{Team Contributions}
For team assignments, concisely identify each member's meaningful contribution
and any collaboration constraints.
\section{Submission and Cleanup}
\subsection{Submission Checklist}
\begin{itemize}
\item Versioned automation, configuration, and runbook are committed.
\item Evidence links resolve and contain no secrets or personal data.
\item The retrospective is complete and distinguishes results from proposals.
\item Remote resources have been destroyed or explicitly transferred as directed.
\item The repository identifies the final commit or release tag.
\end{itemize}
\subsection{Academic Integrity and Responsible Use}
Follow the course policy for collaboration and AI assistance. Cite external
code, tutorials, and AI-generated material as required by the instructor.
Students remain responsible for understanding, testing, and explaining all
submitted work.