alias i8='infinito' # the infinito CLI
alias i8bo='m bootstrap'
alias i8bond='m bond'
alias i8bu='m build'
alias i8buce='m build-cleanup'
alias i8bude='m build-dependency'
alias i8bumi='m build-missing'
alias i8buno='m build-no-cache'
alias i8bunoca='m build-no-cache-all'
alias i8ca='m act-debug'
alias i8caru='m act-runner-image'
alias i8cawo='m act-workflow'
alias i8ce='m cheat'
alias i8ce2='m clean'
alias i8ceca='m clean-cache'
alias i8ceco='m clean-container-owned'
alias i8cepa='m clean-pycache-dirs'
alias i8cesa='m clean-stale-nfs'
alias i8cesu='m clean-sudo'
alias i8ciall='__i8ciall(){ [ -z "${1:-}" ] && { echo "usage: i8ciall <run-id|url>" >&2; return 2; }; ghaf "$1" || echo "i8ciall: force-cancel of run $1 reported nothing to cancel; continuing" >&2; infinito administration deploy ci trigger --failed --strict --roles-only --run "$1"; }; __i8ciall' # retrigger run $1 (id or url): only the roles that truly failed take the priority line, by name, letting the rotation pick the axes, plus the priority entries that run never deployed, axes and all; the aborted, the still-running and the never-reached stay on the regular line, which resumes behind the green stretch the run added to the offset it was given; the workspace suite comes back unless every one of its jobs went green; force-cancels the run first so it stops holding runner slots
alias i8ciallon='__i8ciallon(){ [ -z "${1:-}" ] && { echo "usage: i8ciallon <run-id|url>" >&2; return 2; }; ghaf "$1" || echo "i8ciallon: force-cancel of run $1 reported nothing to cancel; continuing" >&2; infinito administration deploy ci trigger --failed --strict --roles-only --chunk-gate false --run "$1"; }; __i8ciallon' # like i8ciall, but the retrigger keeps deploying the remaining chunks after a failed one (chunk_gate=false) instead of stopping the chain; the run still ends red
alias i8cifail='__i8cifail(){ [ -z "${1:-}" ] && { echo "usage: i8cifail <run-id|url>" >&2; return 2; }; ghaf "$1" || echo "i8cifail: force-cancel of run $1 reported nothing to cancel; continuing" >&2; infinito administration deploy ci trigger --failed --run "$1"; }; __i8cifail' # retrigger the exact failed selections (role#variant@mode+tor) of run $1 (id or url) across every mode, plus its never-deployed priority entries, reproducing every other input of that run; force-cancels the run first so it stops holding runner slots
alias i8cifo='__i8cifo(){ [ -z "${1:-}" ] && { echo "usage: i8cifo <run-id|url>" >&2; return 2; }; ghaf "$1" || echo "i8cifo: force-cancel of run $1 reported nothing to cancel; continuing" >&2; infinito administration deploy ci trigger --failed --strict --run "$1"; }; __i8cifo' # like i8cifail but only hard-failed selections, excluding cancelled/aborted; force-cancels the run first
alias i8cire='__i8cire(){ make quality && gips && i8cifail "$1"; }; __i8cire'
alias i8co='m compose-deploy'
alias i8co2='m console'
alias i8coape='m compose-app-exec'
alias i8codo='m compose-down'
alias i8cone='m compose-entity-purge'
alias i8conere='m compose-network-recreate'
alias i8coni='m compose-inner-run'
alias i8conire='m compose-inventory-refresh'
alias i8copa='m compose-playwright'
alias i8copal='m compose-app-logs'
alias i8copare='m compose-app-restart'
alias i8copu='m compose-up'
alias i8core='m compose-restart'
alias i8cos='m cosmos'
alias i8cose='m compose-system-purge'
alias i8coso='m compose-stop'
alias i8coxe='m compose-exec'
alias i8di='m diagnose-disk-usage'
alias i8dine='m diagnose-network'
alias i8do='m dotenv'
alias i8docu='m docs'
alias i8dofo='m dotenv-force'
alias i8fi='m fix-chmod'
alias i8fido='m fix-dockerignore'
alias i8he='m help'
alias i8inma='m integration-matrix'
alias i8kelo='m kernel-loop-load'
alias i8la='m alias'
alias i8li='m lint'
alias i8lica='m lint-action'
alias i8lics='m lint-css'
alias i8lido='m lint-dockerfile'
alias i8lija='m lint-javascript'
alias i8lima='m lint-makefile'
alias i8lima2='m lint-markdown'
alias i8lime='m lint-mermaid'
alias i8lina='m lint-ansible'
alias i8lipa='m lint-packages'
alias i8lipa2='m lint-playwright'
alias i8liph='m lint-php'
alias i8lipo='m lint-python'
alias i8liru='m lint-ruby'
alias i8lise='m lint-shellcheck'
alias i8lisq='m lint-sql'
alias i8maal='i8source && python3 -m cli.meta.ci.query --modes auto --matrix' # complexity matrix of every deployable row, in CI query order
alias i8maco='i8source && python3 -m cli.meta.ci.query --modes compose --matrix' # complexity matrix in compose query order
alias i8maho='i8source && python3 -m cli.meta.ci.query --modes host --matrix' # complexity matrix in host query order
alias i8masa='i8source && python3 -m cli.meta.ci.query --modes swarm --matrix' # complexity matrix in swarm query order
alias i8matis='i8matix -s' # variant with symbols
alias i8matiso='clear && i8maal --roles' # clear + deploy matrix of every deployable role, in CI query order
alias i8mativ='i8matix --variant' # deploy matrix / complexity overview for variants
alias i8mativas='i8mativ -s' # variant with symbols
alias i8mativaso='clear && i8maal' # clear + deploy matrix of every deployable variant, in CI query order
alias i8matiw='i8matis --sort "desc weight"' # complexity matrix, symbols, heaviest roles first
alias i8matix='infinito meta roles applications complexity' # deploy matrix / complexity overview
alias i8me='m meta-list'
alias i8memi='m meta-mig'
alias i8mete='m meta-tree'
alias i8ne='m environment-bootstrap'
alias i8nedo='m network-dns-remove'
alias i8nedose='m network-dns-setup'
alias i8nepi='m network-ipv6-disable'
alias i8nepire='m network-ipv6-restore'
alias i8nere='m network-refresh'
alias i8nete='m environment-teardown'
alias i8netu='m network-trust-ca'
alias i8ni='m install'
alias i8nica='m install-act'
alias i8nicapu='m install-act-update'
alias i8nifo='m install-force'
alias i8niga='m install-agent'
alias i8nila='m install-alias'
alias i8nilas='i8nila && source ~/.bashrc' # Install aliases and source them
alias i8nili='m install-lint'
alias i8nilifo='m install-lint-force'
alias i8nina='m install-ansible'
alias i8nino='m install-node'
alias i8niph='m install-php'
alias i8nipo='m install-python'
alias i8nipode='m install-python-dev'
alias i8niru='m install-ruby'
alias i8nise='m install-system-python'
alias i8nisi='m install-skills'
alias i8nive='m install-venv'
alias i8on='m onboard'
alias i8paal='i8source && python3 -m cli.meta.ci.plan --cli --modes auto' # plan table for every deployable row, in CI query order
alias i8paco='i8source && python3 -m cli.meta.ci.plan --cli --modes compose' # plan table for the compose line
alias i8paho='i8source && python3 -m cli.meta.ci.plan --cli --modes host' # plan table for the host line
alias i8papr='i8source && python3 -m cli.meta.ci.plan --cli --modes auto --priority' # plan table for the priority line given as the next argument
alias i8pasa='i8source && python3 -m cli.meta.ci.plan --cli --modes swarm' # plan table for the swarm line
alias i8pi='pcd infinito' # cd to the infinito repo
alias i8puci='__i8puci(){ gips && i8cifail "$1"; }; __i8puci' # sign-push + retrigger the failed selections of run $1, skipping the quality gate
alias i8pufail='__i8pufail(){ gips && i8cifail "$1"; }; __i8pufail' # sign-push, then retrigger the failed selections of run $1 across every mode
alias i8pufo='__i8pufo(){ gips && i8cifo "$1"; }; __i8pufo' # sign-push, then retrigger only hard-failed roles of run $1, excluding cancelled/aborted
alias i8puma='__i8puma(){ local gates=() ok=1; case "${3:-}" in "") ;; true|false) gates=(-f workspace="$3" -f instructions="$3");; *) ok=0;; esac; { [ -z "${1:-}" ] || [ "$ok" = 0 ]; } && { echo "usage: i8puma <priority app ids> [distros] [true|false]" >&2; return 2; }; i8source && gips && gh workflow run entry-manual.yml --repo "$(git remote get-url "$(git config --get remote.pushDefault)")" --ref "$(git rev-parse --abbrev-ref HEAD)" -f priority="$(python3 -m utils.roles.display --encode "$1")" -f distros="${2:-${INFINITO_DISTROS}}" "${gates[@]}"; }; __i8puma' # sign-push, then dispatch a manual CI run on the push remote (remote.pushDefault): priority line $1, distros $2 (default INFINITO_DISTROS), whitelist diff-derived; $3 true forces the workspace and instructions tests, false suppresses them, omitted leaves them on the workflow auto scope
alias i8puwl='__i8puwl(){ [ -z "${1:-}" ] && { echo "usage: i8puwl <whitelist app ids> [distros]" >&2; return 2; }; i8source && gh workflow run entry-manual.yml --repo "$(git remote get-url "$(git config --get remote.pushDefault)")" --ref "$(git rev-parse --abbrev-ref HEAD)" -f whitelist="$(python3 -m utils.roles.display --encode "$1")" -f distros="${2:-${INFINITO_DISTROS}}" -f workspace=false -f instructions=false; }; __i8puwl' # dispatch a manual CI run on the push remote (remote.pushDefault) limited to whitelist $1, distros $2 (default INFINITO_DISTROS), with the workspace and instructions tests off; pushes nothing, so the run uses whatever the remote already holds for the current branch
alias i8qu='m quality'
alias i8quhi='m quality-high'
alias i8re='m requirements-archive'
alias i8rece='m readme-check'
alias i8rege='m readme-generate'
alias i8rein='m readme-index'
alias i8ro='m roundtrip'
alias i8ru='m runner-ci-deploy'
alias i8ruci='m runner-ci-disable'
alias i8rucine='m runner-ci-enable'
alias i8s='i8nilas' # shortcut for i8nilas
alias i8sa='m swarm-clean'
alias i8saae='m swarm-app-exec'
alias i8sace='m swarm-clean-stale-nfs'
alias i8sadi='m swarm-diagnostic'
alias i8sado='m swarm-down'
alias i8sapa='m swarm-playwright'
alias i8sase='m swarm-shell'
alias i8saxe='m swarm-exec'
alias i8sazo='m swarm-zombie'
alias i8se='m security-apparmor-restore'
alias i8se2='m setup'
alias i8sece='m setup-clean'
alias i8sepa='m security-apparmor-teardown'
alias i8sepu='m system-purge'
alias i8source='source scripts/meta/env/load.sh' # load the project .env + venv python into the current shell
alias i8ta='m autoformat'
alias i8tare='m autoformat-restage'
alias i8te='(i8pi && tunit && tint && lint)' # unit + integration + lint
alias i8te2='m test'
alias i8teli='m test-lint'
alias i8tema='m test-main-merged'
alias i8temesi='m test-merge-signed'
alias i8teni='m test-integration'
alias i8tenu='m test-unit'
alias i8tenuja='m test-unit-javascript'
alias i8tenuph='m test-unit-php'
alias i8tenupo='m test-unit-python'
alias i8tenuru='m test-unit-ruby'
alias i8tepe='m test-performance'
alias i8tesi='m test-signed'
alias i8texe='m test-external'
alias i8wo='m wsl2-dns-setup'
alias i8wodo='m worktree-down'
alias i8wopr='m worktree-prune'
alias i8wose='m wsl2-systemd-check'
alias i8wotu='m wsl2-trust-windows'
alias i8woup='m worktree-up'
