Project-level ELM-style diagnostic message builders.
Where hive-help.core/expected-message handles param-level
validation ("I was expecting tags to be an array, but got a
String..."), this namespace handles project-level diagnostics:
unreachable paths, unresolvable scopes, missing config files,
external-process timeouts. Pure — no IO. Caller passes domain
data; diag builds the ELM-shaped string.
See memory 20260124235123-601b98d6 (ELM principle).
Project-level ELM-style diagnostic message builders.
Where `hive-help.core/expected-message` handles param-level
validation ("I was expecting `tags` to be an array, but got a
String..."), this namespace handles project-level diagnostics:
unreachable paths, unresolvable scopes, missing config files,
external-process timeouts. Pure — no IO. Caller passes domain
data; diag builds the ELM-shaped string.
See memory `20260124235123-601b98d6` (ELM principle).(missing-config-message {:keys [context expected-file searched create-command]})Build an ELM message for a config file that is required but missing at the expected location.
Args: :context REQUIRED — what needs the config (e.g. "the cartography sidecar"). :expected-file REQUIRED — file path that was expected. :searched seq of paths that were searched (for diagnosis). :create-command shell command that creates a minimal valid file.
Build an ELM message for a config file that is required but missing
at the expected location.
Args:
:context REQUIRED — what needs the config (e.g. "the
cartography sidecar").
:expected-file REQUIRED — file path that was expected.
:searched seq of paths that were searched (for diagnosis).
:create-command shell command that creates a minimal valid file.(timeout-message {:keys [operation target timeout-ms hint command]})Build an ELM message for an external operation that timed out.
Args: :operation REQUIRED — short label for what timed out (e.g. "sidecar analysis"). :target what the operation was processing (e.g. project-id). :timeout-ms REQUIRED — the timeout value in ms. :hint extra hint line. :command shell command that diagnoses or unblocks.
Build an ELM message for an external operation that timed out.
Args:
:operation REQUIRED — short label for what timed out (e.g.
"sidecar analysis").
:target what the operation was processing (e.g. project-id).
:timeout-ms REQUIRED — the timeout value in ms.
:hint extra hint line.
:command shell command that diagnoses or unblocks.(unreachable-paths-message {:keys [context consumer reachable-from unreachable
hint wrong right command]})Build an ELM message for paths declared in some config that a downstream consumer cannot reach (e.g. host paths invisible to a sandboxed container).
Args (all keys optional unless marked): :context REQUIRED — short label naming the source of the paths (e.g. "deps.edn at /home/me/proj"). :consumer REQUIRED — short label for what cannot see the paths (e.g. "the sidecar container"). :reachable-from string describing what the consumer CAN see (e.g. "/workspace, mounted from /home/me/PP"). :unreachable REQUIRED — vec of {:label any :path str}. :hint extra hint line. :wrong one-line wrong example. :right seq of right-example lines (rendered indented). :command shell command that fixes the situation.
Build an ELM message for paths declared in some config that a
downstream consumer cannot reach (e.g. host paths invisible to a
sandboxed container).
Args (all keys optional unless marked):
:context REQUIRED — short label naming the source of the
paths (e.g. "deps.edn at /home/me/proj").
:consumer REQUIRED — short label for what cannot see the
paths (e.g. "the sidecar container").
:reachable-from string describing what the consumer CAN see
(e.g. "/workspace, mounted from /home/me/PP").
:unreachable REQUIRED — vec of {:label any :path str}.
:hint extra hint line.
:wrong one-line wrong example.
:right seq of right-example lines (rendered indented).
:command shell command that fixes the situation.(unresolvable-scope-message {:keys [scope tried examples hint]})Build an ELM message for a scope/identifier that cannot be resolved to a concrete target (directory, project, etc).
Args: :scope REQUIRED — the offending value. :tried vec of {:strategy str :result str} entries describing resolution attempts that failed. :examples vec of valid scope examples (strings). :hint extra hint line.
Build an ELM message for a scope/identifier that cannot be resolved
to a concrete target (directory, project, etc).
Args:
:scope REQUIRED — the offending value.
:tried vec of {:strategy str :result str} entries describing
resolution attempts that failed.
:examples vec of valid scope examples (strings).
:hint extra hint line.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |