Loctree Semantic Spec — Cut 3A

Doctrine

(Recap from LOCTREE_NEXT.md — 4-layer model, parser-as-sensor, semantic analyzer as product. ~30 lines.)

Shell idiom catalog (~25 entries)

For each idiom, document:

namealiasesclassifierruntime_rolereasoning
usage(none)HelpPrinterUserFacingCLI help-text printer; reachable via --help or no-args.
dieabort, failErrorExitLibraryHelperBail-out helper.
main(none)PrimaryEntrypointPrimaryEntrypointScript entrypoint sourced last.
info_infoLibraryHelperLibraryHelperConventional info logger.
warn_warnLibraryHelperLibraryHelperConventional warning logger.
error_error, _errLibraryHelperLibraryHelperConventional error logger.
log_logLibraryHelperLibraryHelperGeneric log dispatcher.
cleanup(none)LibraryHelperLibraryHelperTrap handler / signal cleanup.
trap_handler(none)DispatchHandlerLibraryHelperReachable via trap builtin.
have_haveLibraryHelperLibraryHelpercommand -v-style existence check.
exists_existsLibraryHelperLibraryHelperVariant of have.
banner_bannerLibraryHelperLibraryHelperDecorative output.
success_success, _okLibraryHelperLibraryHelperConvention.
confirm_confirmLibraryHelperLibraryHelperInteractive prompt.
require_requireLibraryHelperLibraryHelperHard dependency check.
PATH(none)EnvVarEnvInputStandard env var.
HOME(none)EnvVarEnvInputStandard env var.
USER(none)EnvVarEnvInputStandard env var.
SHELL(none)EnvVarEnvInputStandard env var.
TERM(none)EnvVarEnvInputStandard env var.
PWD(none)EnvVarEnvInputStandard env var.
EDITOR(none)EnvVarEnvInputStandard env var.
PAGER(none)EnvVarEnvInputStandard env var.
LANG(none)EnvVarEnvInputStandard env var.
LC_ALL(none)EnvVarEnvInputStandard env var.

(25 total. Aliases share classifier and runtime_role with the canonical name.)

Make idiom catalog (~10 entries)

nameclassifierruntime_rolereasoning
.PHONYMetadataMetadataGNU Make directive; targets after .PHONY are public.
allPublicEntrypointPublicEntrypointDefault target invoked by bare make.
installPublicEntrypointPublicEntrypointConventional install target.
cleanPublicEntrypointPublicEntrypointConventional clean target.
testPublicEntrypointPublicEntrypointConventional test target.
precheckPublicEntrypointPublicEntrypointVetCoders convention: pre-push gate.
buildPublicEntrypointPublicEntrypointConventional build target.
releasePublicEntrypointPublicEntrypointConventional release target.
.DEFAULTMetadataMetadataGNU Make special target.
.SUFFIXESMetadataMetadataGNU Make special target.

Expected behavior in findings

  • A shell symbol with idiom_tag HelpPrinter MUST NOT appear in dead_parrots high_confidence.
  • A make target listed under .PHONY MUST NOT appear in dead_parrots regardless of import count.
  • A function reachable through case dispatch (DispatchEdge present) MUST be marked reached, even with no static import edge.
  • An env contract symbol (PATH, HOME) MUST NOT appear in dead_parrots; classified as EnvInput.
  • Twin detection MUST treat two functions sharing only an idiom body shape (e.g. two usage printers) as legitimate duplicates; not as a refactoring signal.

Override semantics

User can override or extend via <workspace>/.loctree/idioms/{shell,make}.toml. Override matches by name field (case-sensitive). Adding a new entry adds; redefining replaces.