Skip to content

Created console debug functions, refreshed documentations, fix issue with nonmap command execution, test separation and trimming.#11

Merged
SerhiiRI merged 8 commits into
mainfrom
feat/console-debug-and-update-documentation
May 25, 2026
Merged

Created console debug functions, refreshed documentations, fix issue with nonmap command execution, test separation and trimming.#11
SerhiiRI merged 8 commits into
mainfrom
feat/console-debug-and-update-documentation

Conversation

@SerhiiRI

Copy link
Copy Markdown
Contributor

ADDED commando.debug namespace — new dedicated module for debug visualization. Provides two main entry points:

  • execute-debug — execute an instruction and visualize it in one of six display modes: :tree, :table, :graph, :stats, :instr-before / :instr-after. Supports combining multiple modes via a vector.
  • execute-trace — trace all nested commando/execute calls.

REMOVED BREAKING print-stats, print-trace (print-deep-stats) from commando.impl.utils. These functions have been replaced by the richer commando.debug namespace.

FIXED crop-final-status-map in commando.core — internal keys (:internal/cm-list, :internal/cm-dependency, :internal/cm-running-order, :registry) are now properly stripped from the result when :debug-result is not enabled.

FIXED execute-command-impl in commando.impl.executing — added guard for non-map command-data before calling dissoc on driver keys (:=>, "=>), preventing errors when command data is a non-map value.

UPDATED documentation — restructured README.md with improved navigation, added "Managing the Registry" and "Debugging" sections. Moved doc files from doc/ to examples/ directory with richer, runnable code examples: walkthrough.clj, integrant.clj, json.clj, reitit.clj, reagent_front.cljs.

UPDATED tests — split monolithic core_test.cljc into focused test namespaces: dependency_test.cljc, finding_commands_test.cljc, graph_test.cljc. Added debug_test.cljc for the new debug module. Updated performance tests.

@Kaspazza i've added debug_test, it's just smoke test for visual check. Nothing more.

…with nonmap command execution, test separation and trimming.
@SerhiiRI
SerhiiRI requested a review from Kaspazza March 21, 2026 11:56
@SerhiiRI SerhiiRI self-assigned this Mar 21, 2026
@SerhiiRI
SerhiiRI force-pushed the feat/console-debug-and-update-documentation branch from 60946d0 to e926ebb Compare March 21, 2026 22:14
…e with stub components. integrant , component are now fully testable from repl
@SerhiiRI
SerhiiRI force-pushed the feat/console-debug-and-update-documentation branch from e926ebb to 4245912 Compare March 21, 2026 22:17
Comment thread src/commando/debug.cljc

@Kaspazza Kaspazza left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread src/commando/debug.cljc Outdated
Comment thread src/commando/debug.cljc Outdated
Comment thread src/commando/debug.cljc Outdated
Comment thread CHANGELOG.md Outdated
Comment thread examples/reagent_front.cljs
@SerhiiRI

Copy link
Copy Markdown
Contributor Author

Somewhere in documentation we need to place sentance "There are not allowed two commands in one map level" . Practice shown that AI trying to organize two commands in one map :commando/mutation + :commando/from for example

SerhiiRI added 5 commits May 25, 2026 10:01
…zations, execute config map, updated docs and tests

BREAKING execute 3rd arg is now config map instead of binding. Removed :all-inside-recur and
:point-and-all-inside-recur dependency modes. Removed
print-stats/print-trace from utils. Changed execute-trace signature.
ADDED commando.debug namespace — execute-debug with 6 display modes,
execute-trace for nested call tracing.
ADDED commando.impl.pathtrie — trie for O(depth) command lookup, built
during find-commands pass.
ADDED status-map keys: :internal/cm-results, :internal/path-trie,
:internal/original-instruction.
OPTIMIZED find-commands (transient queue + set),
execute-commands (transient results, index loop),
build-dependency-graph (trie-based, transients),
topological-sort (transient maps/queue),
CommandMapPath (cached hash), Malli validation (pre-computed
validators).
FIXED execute-command-impl guard for non-map command-data. Fixed point
dependency error data.
UPDATED resolve-relative-path and find-anchor-path refactored to
loop. Updated README, docs, tests split and .cljc conversion.
…ning about replacemnt for deftype constructor ->CommandMapPath
- REMOVED `full-execute` pipeline and integrated it into the execute.
- REFACTORED vector-starts-with? -> coll-starts-with?. Make function
bit more understandable with right argument and examples.
- UPDATED make error handling functionality public.
- REFACTORED align comment separator sections
- UPDATE debug.cljc better code separation, remove unncessary
docs(update public functions), simplify entrypoint doclaration
- FIXED README.md + CHANGELOG issues
@SerhiiRI
SerhiiRI merged commit 8848ffd into main May 25, 2026
1 check passed
@SerhiiRI
SerhiiRI deleted the feat/console-debug-and-update-documentation branch May 25, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants