Implementation Studies
The executable integrations share generation and process contracts, but their acquisition paths and output protocols differ. This subtree gives each consumer its own source-backed study.
GitLab CI YAML is included separately: its active entry point collects schemas through Wrapper.Versioning. It is not an eleventh executable CLI wrapper.
Implementation matrix
Help acquisition and output compatibility answer different questions. The version column describes output profiles, not the whole collected command surface.
| Study | Acquisition and generation | Reviewed output profile | Main typed observations |
|---|---|---|---|
| Vagrant | Specialized collector, version image, Vagrant help parser; source-derived UI catalogue | 2.4.9 stable patch | Machine protocol, UI parameters, communicator readiness, diagnostics |
| Docker | GitHub tags, version-dependent recipes, Cobra help | 29.0.4 stable patch | Engine events, formatted objects, inspection JSON, transfer/build observations |
| Docker Compose | Release collector, binary image, Cobra help | 2.40.3 and 5.1.0 stable patches | Service/container events, lists, JSON resource progress and v5 BuildKit |
| Git | Tags, version-dependent builds, specialized help execution | 2.30–2.40 and 2.41–2.x intervals | Porcelain, refs/diff, Trace2 and diagnostics/progress |
| Packer | Specialized collector, version images, Packer help | 1.11.2 and 1.16.0 stable patches | Machine UI, artifacts, inspection, build milestones |
| Podman | Release collector, version-dependent recipes, Cobra help | 5.8.1 stable patch | Events, container JSON, transfer progress and diagnostics |
| Podman Compose | Releases, Python package image, argparse help | 1.5.0 stable patch | Python orchestration/log observations and service output |
| GitLab CLI | GitLab releases, image preparation, help parser | 1.117.0 stable patch | API JSON, resources, pipelines/jobs and diagnostics |
| Dotnet | SDK tags, SDK image, specialized help execution | 10.0.100, 10.0.401 and reviewed 11 RC SDK | Host inventory, diagnostics and selected JSON |
| WinGet | Installed Windows executable, help and option probes | 1.29.290 and 1.29.380 stable patches | Exports, selected EN/FR messages, tables and HRESULTs |
| GitLab CI YAML | HTTP schema collection, separate schema generator | Schema selection; no process-output profile | Typed pipeline configuration and YAML serialization |
Stable-patch profiles exclude prereleases and the next patch's prereleases through exclusive bounds. Unknown versions preserve raw observations and terminal status. Output versioning explains selection rules.
How to read a study
Each executable study follows the tool integration, acquisition, generated API, command demonstration, Environment, output contracts, version boundaries and verification.
Complete offline examples use a fake transport and source-shaped records. Declaration excerpts and examples intended for an installed tool are labeled explicitly.
Begin with Vagrant for wire records and a source-derived message catalogue. Read Git for multiple protocols, Packer for artifact completeness and Compose for format selection through Environment.
Shared guarantees and differing limits
Every executable consumer has a Contracts assembly and typed parser factory. Commands and environments are generated at build time; event models come from separately established output contracts.
Shared plumbing preserves logical lines, channels, profiles and actual terminal status. It does not give every tool identical readiness semantics.
Compose can forward service stderr through its own stdout. Git hooks can print arbitrary text. Packer plugins can emit unknown fields. WinGet locales can change human messages. Each study explains what remains generic or raw.
Compare maintenance effort
A help snapshot, an output profile and an environment variable are separate maintenance tasks. A tool upgrade may require only one, or several.
Machine protocols can support reliable projection. Human templates require exact recognition and retained evidence. Independent plugins or server APIs add another compatibility axis.
For an application operation, identify the specific command, format and postcondition required. Generated-command counts do not measure whether that postcondition is observable.
Related concepts
Use scraping for acquisition, generation for compiler inputs, contracts for dependencies and Environment for variable semantics.
The studies lead back to consumer integration, which connects the implemented command, runner and parsing boundaries.
Source snapshot
Source inspection: 2 October 2026. These implementation paths are relative to Net/FrenchExDev in the local ecosystem checkout. The v2 changes are largely uncommitted; these paths identify inspected code, without claiming that public branch links contain it.
BinaryWrapper/doc/CONSUMER-MIGRATION.mdGitLab.Ci.Yaml/src/FrenchExDev.Net.GitLab.Ci.Yaml.Design/Program.cs