2026-08-02 02:47:43 -03:00
|
|
|
|
# Hands-on curriculum
|
|
|
|
|
|
|
|
|
|
|
|
Complete labs by evidence, not elapsed time. A focused pass can establish
|
|
|
|
|
|
operational competence in several days; mastery requires repeating real triage
|
|
|
|
|
|
and recovery work over multiple incidents.
|
|
|
|
|
|
|
2026-08-02 12:25:51 -03:00
|
|
|
|
Run the curriculum on `openai-codex/gpt-5.6-terra`. Use the local model only for a
|
2026-08-02 03:21:55 -03:00
|
|
|
|
deliberate comparison lab; it is not the default coach for multi-reference work.
|
|
|
|
|
|
|
2026-08-02 02:47:43 -03:00
|
|
|
|
## Phase 1: orientation and control
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 1 — Map the system
|
|
|
|
|
|
|
|
|
|
|
|
From the web UI, identify Chat, Sessions, Files, Models, Logs, Cron, Skills,
|
|
|
|
|
|
Plugins, MCP, Channels, Webhooks, Pairing, Profiles, Config, Keys, System, and
|
|
|
|
|
|
Documentation. Explain which state belongs to the operator PVC and which
|
|
|
|
|
|
components are shared. Verify three claims with read-only CLI output.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: a correct diagram or written request path from browser to
|
|
|
|
|
|
agent to model, including the fallback branch and the consumer boundary.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 2 — Models, context, and fallback
|
|
|
|
|
|
|
|
|
|
|
|
Inspect `hermes status`, `hermes fallback list`, deployment placement, and GPU
|
2026-08-02 12:25:51 -03:00
|
|
|
|
owner state. Explain why a 32K model was rejected, why normal Codex-backed chat
|
|
|
|
|
|
remains available when Wolf owns the GPU, and when the local fallback can run.
|
2026-08-02 02:47:43 -03:00
|
|
|
|
|
|
|
|
|
|
Success evidence: predict outcomes for local healthy, local slow, gate 503,
|
|
|
|
|
|
invalid local response, and expired Codex authorization without changing state.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 3 — Sessions, files, profiles, and logs
|
|
|
|
|
|
|
|
|
|
|
|
Create a named training session and a harmless workspace note through the UI,
|
|
|
|
|
|
then find the corresponding session/file/log surfaces. Inspect profile and
|
|
|
|
|
|
backup help without creating a profile or backup.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: explain persistence, what survives a pod replacement, what is
|
|
|
|
|
|
instance-local, and how to recover a lost conversation without exposing auth.
|
|
|
|
|
|
|
|
|
|
|
|
## Phase 2: tools and safe autonomy
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 4 — Tools versus skills versus MCP
|
|
|
|
|
|
|
|
|
|
|
|
Use `hermes tools`, `hermes skills`, `hermes plugins`, and `hermes mcp` help or
|
|
|
|
|
|
list/status views. Classify each as executable capability, procedure/context,
|
|
|
|
|
|
packaged extension, or external protocol integration. Explain why a skill is
|
|
|
|
|
|
not a security boundary.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: choose the right mechanism for three examples: repeatable
|
|
|
|
|
|
Titan triage, a read-only external API, and a scheduled notification.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 5 — Prove the permission boundary
|
|
|
|
|
|
|
|
|
|
|
|
Use `kubectl auth can-i` as both service accounts. Inspect the relevant
|
|
|
|
|
|
ClusterRoles and NetworkPolicies. Do not attempt mutations.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: an allow/deny matrix covering pods, logs, Secrets, exec,
|
|
|
|
|
|
deployment patch, Flux reads, Flux reconcile, the model gate, internal services,
|
|
|
|
|
|
and public web research.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 6 — Channels, pairing, webhooks, and cron
|
|
|
|
|
|
|
|
|
|
|
|
Inspect the configured state and help for gateway/channels, pairing, webhooks,
|
|
|
|
|
|
and cron. Design one safe notification workflow and one unsafe workflow. Do not
|
|
|
|
|
|
register a channel, create a webhook, or schedule a job during the lab.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: identify the identity, secret, audience, tool policy, failure
|
|
|
|
|
|
mode, audit trail, and revocation path for the proposed integration.
|
|
|
|
|
|
|
|
|
|
|
|
## Phase 3: the interview workflow
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 7 — Deterministic live triage
|
|
|
|
|
|
|
|
|
|
|
|
Invoke `$triage-titan-test-failures`. Read the current Ariadne diagnosis and
|
|
|
|
|
|
bundle, then correlate one suite with Jenkins, Flux/Git, cluster health, and
|
|
|
|
|
|
quality metrics. Keep every collection step read-only.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: the required structured triage result with timestamps and no
|
|
|
|
|
|
invented evidence.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 8 — Incident simulations
|
|
|
|
|
|
|
|
|
|
|
|
Use one student packet from `incident-drills.md`. Diagnose it before receiving
|
|
|
|
|
|
coach notes. Repeat until three cases score at least `Independent`.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: correct failure class, causal chain, next checks, minimal
|
|
|
|
|
|
repo-side correction, and explicit approval boundary.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 9 — Build and evaluate a reusable skill
|
|
|
|
|
|
|
|
|
|
|
|
Identify a stable repeated workflow, create a small skill in the operator's
|
|
|
|
|
|
writable skills directory, inspect it, and test it against a fresh incident.
|
|
|
|
|
|
Do not alter the Flux-mounted training or triage skills.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: precise trigger description, concise procedure, progressive
|
|
|
|
|
|
disclosure where useful, one passing case, one adversarial case, and a stated
|
|
|
|
|
|
permission boundary.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 10 — Model outage drill
|
|
|
|
|
|
|
|
|
|
|
|
Use retained logs/current status or a separately approved maintenance window.
|
|
|
|
|
|
Do not take the live model down for training. Explain the expected trace from
|
|
|
|
|
|
model gate to fallback, recognize an auth failure, and name the restoration
|
|
|
|
|
|
checks.
|
|
|
|
|
|
|
|
|
|
|
|
Success evidence: correctly distinguish model unavailability, context rejection,
|
|
|
|
|
|
provider auth failure, and agent failure.
|
|
|
|
|
|
|
|
|
|
|
|
## Phase 4: independent operation
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 11 — Supervised real incident
|
|
|
|
|
|
|
|
|
|
|
|
Lead a real failure triage from intake to an approved repo-side proposal. A
|
|
|
|
|
|
human applies any change through Git/Flux. Verify the result read-only.
|
|
|
|
|
|
|
|
|
|
|
|
### Lab 12 — Teach it back and audit the claims
|
|
|
|
|
|
|
|
|
|
|
|
Explain the complete architecture and demonstrate the workflow without hints.
|
|
|
|
|
|
Audit each sentence of the interview answer using the claim table in
|
|
|
|
|
|
`mastery-rubric.md`. Weaken or qualify anything not supported by evidence.
|
|
|
|
|
|
|
|
|
|
|
|
## Suggested pace
|
|
|
|
|
|
|
|
|
|
|
|
- Day 1: Labs 1–3.
|
|
|
|
|
|
- Days 2–3: Labs 4–6.
|
|
|
|
|
|
- Days 4–7: Labs 7–10.
|
|
|
|
|
|
- Weeks 2–4: repeat Labs 7–11 on real incidents; improve one skill from observed
|
|
|
|
|
|
failures; finish with Lab 12.
|
|
|
|
|
|
|
|
|
|
|
|
Do not advance solely because a day elapsed. Re-run any lab graded below
|
|
|
|
|
|
`Independent`.
|