feat(functions): tag CLASSIFICATION across functions/ and conf.d/

Audits every function's interaction with the C1-shadowed commands
(uses-shadow/bypasses-shadow) and general hazards (destructive,
network, blocking-prompt) per the CLASSIFICATION schema.

Delegated the initial mechanical sweep to agy, then reviewed every
file by hand: fixed a systemic double-blank-comment-line formatting
bug from the delegate pass, and corrected several judgment errors
found on review -- three false blocking-prompt tags where a fish
'read' was consuming piped input rather than waiting on a terminal
(open-url.fish, sbver.fish, play-media.fish, now untagged entirely),
a blocking-prompt tag on mkrep.fish despite its documented --yes
escape hatch, an untagged read in jobrunner.fish's own baseless
blocking-prompt claim (removed, along with a destructive tag on
cleanup of its own mktemp output -- the schema explicitly excludes
that), the same own-output-cleanup false positive on
_zellij_dump_log.fish's destructive tag, an interactive fzf-gated
confirmation on logs.fish and replay.fish's piped read misread the
same way as the first three, and a uses-shadow(mkdir) on mkcd.fish
that actually belongs to the _fish_mkdir_p helper it delegates to,
not to mkcd itself.
This commit is contained in:
2026-09-21 21:26:44 -04:00
parent aef686af86
commit 859f14a6e9
65 changed files with 195 additions and 0 deletions
+3
View File
@@ -24,6 +24,9 @@ __fish_config_op_enabled (status basename); or exit
# COMPONENT
# autoexec/sync
#
# CLASSIFICATION
# bypasses-shadow(cat)
#
# SYNOPSIS
# __auto_pull_on_pwd (event handler, --on-variable PWD)
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# bypasses-shadow(cat)
#
# SYNOPSIS
# __fish_help_header <name> [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# COMPONENT
# autoexec/sync
#
# CLASSIFICATION
# destructive
#
# SYNOPSIS
# __fish_user_dots_link
#
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# bypasses-shadow(grep)
#
# SYNOPSIS
# __kitty_logging_has_watcher
#
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# uses-shadow(mkdir), bypasses-shadow(cp,grep)
#
# SYNOPSIS
# _agents_repo_install_tools <repo_dir>
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# destructive, network, blocking-prompt
#
# SYNOPSIS
# _fish_deps_install
#
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# destructive, network
#
# SYNOPSIS
# _fish_deps_marktext_appimage
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# destructive, network
#
# SYNOPSIS
# _fish_deps_update
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# uses-shadow(mkdir)
#
# SYNOPSIS
# _fish_mkdir_p [--path|--tree|--silent] <dir>
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# network
#
# SYNOPSIS
# _mkrep_default_remote_cmd <type>
#
+3
View File
@@ -4,6 +4,9 @@
# DEPENDENCIES
# gh, glab, tea
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# _mkrep_repo_exists <type> <user> <name>
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# bypasses-shadow(ls,rm), destructive
#
# SYNOPSIS
# _prune_terminal_logs <prefix>
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# bypasses-shadow(cat)
#
# SYNOPSIS
# _scrollback_prune_junk [dir]
#
+3
View File
@@ -1,6 +1,9 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CLASSIFICATION
# uses-shadow(mkdir)
#
# SYNOPSIS
# _tmux_pipe_log
#
+3
View File
@@ -4,6 +4,9 @@
# COMPONENT
# logging/multiplexer-capture
#
# CLASSIFICATION
# uses-shadow(mkdir), bypasses-shadow(rm)
#
# SYNOPSIS
# _zellij_dump_log
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/shell-tools
#
# CLASSIFICATION
# bypasses-shadow(bash)
#
# SYNOPSIS
# bash [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/filesystem
#
# CLASSIFICATION
# uses-shadow(ls), bypasses-shadow(cat)
#
# SYNOPSIS
# cat [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 12-ai-and-developer-tools
#
# CLASSIFICATION
# uses-shadow(claude)
#
# SYNOPSIS
# claude-docs
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 12-ai-and-developer-tools
#
# CLASSIFICATION
# uses-shadow(claude)
#
# SYNOPSIS
# claude-pr
#
+3
View File
@@ -10,6 +10,9 @@
# DEPENDENCIES
# agents-init, agents-vault
#
# CLASSIFICATION
# bypasses-shadow(claude)
#
# SYNOPSIS
# claude [ARGS...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(cp)
#
# SYNOPSIS
# copy <source> <dest>
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 14-miscellaneous
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# dockup [-h] [directory]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/filesystem
#
# CLASSIFICATION
# bypasses-shadow(du)
#
# SYNOPSIS
# du [--disk|--dir|--dua] [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# uses-shadow(du)
#
# SYNOPSIS
# dusize [dir]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 06-dependency-management
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# fzf-update
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 04-git-and-version-control
#
# CLASSIFICATION
# network, blocking-prompt
#
# SYNOPSIS
# gi [-h] [-b] [-p] [-s] [-l] [targets...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 10-network
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# gip
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 10-network
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# gip4
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 10-network
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# gip6
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 04-git-and-version-control
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# git-clean [-h] [-f]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 04-git-and-version-control
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# gitup [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# DEPENDENCIES
# tmux, screen, __jobrunner_sessions
#
# CLASSIFICATION
# bypasses-shadow(cat,rm)
#
# SYNOPSIS
# jobrunner [-t <tool>] [<subcommand>] [<name>] [<command>...]
# jr [-t <tool>] [<subcommand>] [<name>] [<command>...]
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# logging/terminal-capture
#
# CLASSIFICATION
# bypasses-shadow(grep,mkdir,rm)
#
# SYNOPSIS
# kitty-logging [install | uninstall | status | dismiss] [-h]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# lD [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/shell-tools
#
# CLASSIFICATION
# bypasses-shadow(cat,less)
#
# SYNOPSIS
# less [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# integrations/history-logs
#
# CLASSIFICATION
# bypasses-shadow(cat), network
#
# SYNOPSIS
# logs [-h] [-c <category>]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/filesystem
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# ls [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# lsr [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# lss [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# lstree [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# lt [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# ltr [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(ls)
#
# SYNOPSIS
# lx [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# DEPENDENCIES
# marktext, firejail, bkg
#
# CLASSIFICATION
# uses-shadow(mkdir)
#
# SYNOPSIS
# md [-r] [--foreground] [marktext-args...] [FILE...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# uses-shadow(cd)
#
# SYNOPSIS
# mkcd [-s | --silent] <dir>
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/filesystem
#
# CLASSIFICATION
# bypasses-shadow(mkdir)
#
# SYNOPSIS
# mkdir [args...]
#
+3
View File
@@ -9,6 +9,9 @@
# _mkrep_add_origin, _mkrep_default_remote_cmd, _mkrep_remote_url,
# _mkrep_repo_exists, git
#
# CLASSIFICATION
# uses-shadow(cd), destructive, network
#
# SYNOPSIS
# mkrep [--cd | --no-cd] [--mkdir | --no-mkdir] [--git | --no-git]
# [-c | --clean | --no-clean] [--strict] [-v | --verbose]
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/filesystem
#
# CLASSIFICATION
# bypasses-shadow(mv)
#
# SYNOPSIS
# mv [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 05-package-management
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# parur
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/network
#
# CLASSIFICATION
# bypasses-shadow(ping)
#
# SYNOPSIS
# ping [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 05-package-management
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# pkg [-h] [-i|-u] <package> [package...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 10-network
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# qr [text...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 14-miscellaneous
#
# CLASSIFICATION
# bypasses-shadow(cat)
#
# SYNOPSIS
# rand_string [COMPONENTS/MODIFIERS]...
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 14-miscellaneous
#
# CLASSIFICATION
# bypasses-shadow(bash,cd)
#
# SYNOPSIS
# replay <commands>
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/search
#
# CLASSIFICATION
# bypasses-shadow(rg)
#
# SYNOPSIS
# rg [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/filesystem
#
# CLASSIFICATION
# bypasses-shadow(rm), destructive
#
# SYNOPSIS
# rm [-e [options] | -S | args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 01-file-and-directory
#
# CLASSIFICATION
# bypasses-shadow(rm), destructive
#
# SYNOPSIS
# scrub [-a] [-d] [-h]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 05-package-management
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# search [args...]
#
+3
View File
@@ -8,6 +8,9 @@
# site exit-plain: overrides/key-bindings
# site logging-guard: logging/terminal-capture
#
# CLASSIFICATION
# destructive
#
# SYNOPSIS
# smart_exit [-h] [-n]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/network
#
# CLASSIFICATION
# bypasses-shadow(ssh), network
#
# SYNOPSIS
# ssh [args...]
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 12-ai-and-developer-tools
#
# CLASSIFICATION
# uses-shadow(claude)
#
# SYNOPSIS
# superpowers [on|off] [-g]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/monitor
#
# CLASSIFICATION
# bypasses-shadow(top)
#
# SYNOPSIS
# top [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# integrations/pkg-upgrade
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# upgrade
#
+3
View File
@@ -4,6 +4,9 @@
# CATEGORY
# 03-editors-and-viewers
#
# CLASSIFICATION
# uses-shadow(less)
#
# SYNOPSIS
# view [args...]
#
+3
View File
@@ -7,6 +7,9 @@
# COMPONENT
# aliases/network
#
# CLASSIFICATION
# network
#
# SYNOPSIS
# yt-dlp [args...] URL [URL...]
#