Provider execution
Provider execution starts well before the process is launched. tinx must install metadata, locate or hydrate the OCI store, extract the current platform binary, and then resolve the alias from PATH.
Install and store
Provider metadata is stored under:
$TINX_HOME/providers/<namespace>/<name>/<version>/
The OCI layout is stored under:
$TINX_HOME/store/<storeID>/oci/
storeID is derived from the provider identity and manifest digest so different artifact revisions do not collide.
Materialization
When the workspace shell needs a provider binary, tinx:
- computes the expected binary path
- checks whether the binary already exists and is executable
- extracts the binary for the current
GOOSandGOARCHif needed - extracts assets into the provider store root
Expected binary path:
$TINX_HOME/store/<storeID>/bin/<os>/<arch>/<entrypoint>
Remote hydration
If the OCI store metadata exists but the runtime blobs are missing, tinx can hydrate the local store from the registry and retry extraction. This avoids throwing away cached metadata when only the platform binary is missing.
Command lookup
Once the workspace shell is built, execution is normal process spawning:
- search
PATHfor the requested alias - resolve the shim path
execthe real provider binary- pass the merged workspace environment to the child process
That keeps provider invocation simple. Providers receive standard command-line arguments and environment variables rather than a custom RPC protocol.