Ask the project what it contains
Scan the course folder, identify the detected job and optional manifests, and separate inventory from validation or execution.
1. Objective
Goal
Run hdrctl list . from cli-course. Confirm that Hydra detects first-job, recognizes its required manifests, and labels its optional transformations without opening a connector.
Keep working from the cli-course folder. The job is named first-job, and the workflow lessons add workflow.yaml beside it; every command and terminal excerpt in this lesson was run against that same cumulative project.
Reading a result. Durations and process identifiers vary between machines — ignore them. What proves a run is the stable evidence: named files, resolved identifiers, row counters, step states, HTTP status. If one of those differs from the lesson, fix the previous step before continuing.
Prerequisites
- Lesson 7 completed and checked.
- The validated
first-jobCSV project. - A terminal opened in the
cli-coursefolder.
2. Steps
01Read the command contract
Objective
Confirm that list accepts only a search path and language option.
Actions
- Open the subcommand help.
- Verify there is no connection, strictness, or execution option.
hdrctl list --help
The interface is intentionally small: an optional path plus global language and help.
Usage: hdrctl list [OPTIONS] [PATH] Examples: hydra list hydra list jobs/
02Inventory the course folder
Objective
Detect the cumulative job from its manifest structure.
Actions
- Stay in
cli-course. - Run hdrctl list against the current folder.
hdrctl list .
Hydra detects exactly the observed job and marks its required file set OK.
Jobs detected in C:\Users\DELL\Desktop\Hydra\conversation_files\cli-course ────────────────────────────────────────────────────────────────────── first-job ✅ OK [transforms] ────────────────────────────────────────────────────────────────────── 1 job(s) 1 OK OK
03Interpret the optional marker
Objective
Read [transforms] as inventory metadata, not an execution result.
Actions
- Locate the bracketed marker beside
first-job. - Match it to
first-job/transformations.yaml. - Do not infer row counts or connector access from this line.
Get-ChildItem first-job -Filter *.yaml
The job folder contains its core manifests plus transformations and parameters.
destinations.yaml parameters.yaml pipeline.yaml sources.yaml transformations.yaml
04Choose the next safe command
Objective
Move from inventory to the correct deeper check when needed.
Actions
- Use
validateafter manifest edits. - Use
testafter connection changes. - Use
runonly after both gates pass.
hdrctl validate first-job hdrctl test first-job
Inventory identifies the target; validation and testing provide the content and connector evidence.
✅ DSL valid — no errors detected. ✅ All tests pass — ready to execute.
3. Checklist
| Verification | Expected result |
|---|---|
| Detected name | first-job |
| Structural status | OK |
| Optional marker | [transforms] |
| Summary | 1 job(s) and one OK result |
4. Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No jobs are found | The search path does not contain job directories | Run from cli-course or pass its path |
| A folder is not OK | One or more required manifests are absent | Restore sources, destinations, and pipeline manifests before listing again |
| You expected row counts | list is structural only | Use hdrctl run for execution evidence |
5. Next lesson
The project inventory is clear and the job remains runnable. The next lesson adds a two-step workflow.yaml that runs this same job and records completion, then validates the dependency graph before execution.