AudionAudion

GIT_WIKI_HUB_MANAGER EN - Audion Hub Manager Map

GIT_WIKI_HUB_MANAGER_EN.md

GIT_WIKI_HUB_MANAGER EN - Audion Hub Manager Map

Contents

Status: 2026-06-03.

This document is the working wiki map for Audion Hub Manager. It describes the application windows, logical groups, commands, input fields, config/local database maintenance, GitHub/GitLab/Git remote work, authentication policy and current workflow gaps.

1. Core Model

Audion Hub Manager connects three layers:

Full Project / Source  ->  Hub Data / Mirror  ->  Git remotes
                         ->  Docs view

.git and can be rebuilt from Source.

The app is not a password vault. It runs real git and relies on external authentication: SSH agent, Git Credential Manager, GitHub CLI, GitLab CLI, VS Code, GitKraken, or any already configured Git setup.

2. Local Database And Main Configs

Hub Manager currently stores state in JSON/YAML files, not in a large SQL database:

Reports and diagnostics are written to logs/<project_id>/ as timestamped JSON files. Workspace helpers are written to workspace/.

3. Project Registry

One projects.json entry describes one real project:

Manager root.

Folder picker buttons in Structure can write Project/GIT COPY/Docs paths back to projects.json. Paths inside the manager tree are saved as relative paths where possible; external paths stay absolute.

4. MIRROR Profiles

projection_profiles.json controls both MIRROR and Hub Manager stage/commit path checks:

exceptions.

classes.

profiles.

had errors or conflicts.

5. Main Window Layout

The main window has four surfaces:

Left Control panel | Structure tree | Inspector tabs
Bottom Terminal / command dock

Splitters resize the left panel, tree, Inspector and terminal height. Inspector tabs:

Quick  | Branch | Editor | Diff    | Storage
Remote | Basket | Reader | History | Details

Each tab header starts with a Material icon. Tabs and command buttons have tooltips with a 1200 ms show delay and 80 ms hide/fade.

Safety lives inside the Storage area. The selected tree path is shown in the upper-right part of the Inspector.

6. Header

The header shows:

Counters refresh after Git status operations.

7. Left Control Panel

Project

The Project dropdown selects the active record from projects.json. It switches this whole set together:

source_path
projection_path
docs_path
profile
default_branch

Open

git status --short.

MIRROR

Options:

used.

Commands:

SOURCE ACTIONS

Operations over the project registry or Source collection:

records to projects.json.

projects.

SOURCE badge.

PROJECT ACTIONS

Operations on the current selected tree item:

Support

not delete folders.

8. Structure Tree

Layer buttons:

Folder icons choose a new layer location. Clear locations removes saved overrides from project config.

Filters:

Behavior:

9. Inspector: Quick

Quick contains frequent local and selected-path commands. Some buttons run Python handlers; some queue exact command text into the manual command area.

GIT LOCAL

GIT DIFF

Fields use the selected path when available:

GIT SELECTED PATH

GIT BACKUP / MAINTENANCE

GIT ADVANCED - DANGER

run through the command runner.

CI/CD status

Shown only when CLI tools are found:

Command Cache

Danger filter blocks commands containing:

reset --hard
clean -fd
push --force
rm -rf
rmdir /s
del /s

10. Inspector: Basket

Basket prepares readable commits and checkpoint tags.

Fields:

Message rule:

<type>(<scope>): <series> <version> - <subject>

If Subject is empty, the manually typed Commit message is used.

Commands:

Basket is bound to the current Git root. If root changes, it is cleared to avoid cross-repository commits. Stage/commit checks the active projection profile and blocks paths outside the Hub allowlist.

11. Inspector: Branch

Branch contains branch switching, comparison, integration and stash.

branch status

git branch / tag

merge

git stash

branch danger

These are visible templates: the operator sees and can edit the exact command.

12. Inspector: Remote

Remote owns remotes, push/pull/fetch and auth setup.

Remote form fields:

hidden_<platform>.

Generated SSH URL:

git@github.com:<owner>/<repo>.git
git@gitlab.com:<owner>/<repo>.git
git@codeberg.org:<owner>/<repo>.git

Remote commands:

--follow-tags to each remote sequentially.

config/remotes.json.

enabled remotes.

update remote_field_cache.json.

Auth tools:

Auth Doctor checks Git, global Git identity, gh, glab, SSH hosts, repo remotes, URL types/providers and optional git ls-remote for enabled remotes.

13. Inspector: Editor

Supported extensions:

.md
.markdown
.txt
.rst

Toolbar:

Save writes UTF-8 only by explicit user action and refreshes the tree.

14. Inspector: Reader

Reader is the shared summary area. It can show MIRROR summaries, Git status, Auth Doctor summary, Storage summary and batch command summaries.

15. Inspector: Diff

Commands:

Diff is rendered as a RedLine view: line numbers, hunks, additions, removals and metadata lines.

16. Inspector: History

Commands:

17. Inspector: Details

Details shows:

Commands:

18. Inspector: Storage And Safety

Storage commands:

External tools:

Safety commands:

heavy extensions and large files.

Safety skips generated/runtime dirs: .git, .venv, runtime, wheelhouse, node_modules, logs, output, backup, release, report, temp, tmp and similar directories.

19. Terminal / Command Dock

The bottom dock contains:

Manual commands run in the current Git root when possible, otherwise in the manager root. Output is streamed to the terminal dock. A command is added to history unless it is blocked by the danger filter.

20. GitHub/GitLab Remote Workflow

Recommended SSH flow:

  1. Configure SSH keys outside Hub Manager.
  2. Check ssh -T GitHub and ssh -T GitLab.
  3. Fill Platform, Remote name, Login / group, Repository.
  4. Press build URL.
  5. Press save remote.
  6. Press git apply remotes.json.
  7. Check git remote -v.
  8. Use git fetch --all --prune for safe remote tracking updates.
  9. After commit/tag, use git push origin or git push all remotes.

For HTTPS, use Git Credential Manager, GitHub CLI or GitLab CLI. Remote URLs must stay clean:

Good: https://gitlab.com/user/repo.git
Bad:  https://username:TOKEN@gitlab.com/user/repo.git

origin push URLs is useful when fetch/pull should use one canonical remote, while push should publish to several mirrors.

21. MIRROR And Config Maintenance

Daily maintenance:

Registry maintenance rules:

22. Detailed Git-Work Function Map

This section documents the Git-work layer: which commands run immediately, which are only queued, which code functions handle them and which guards are active.

22.1. Where Git commands run

The current Git root is defined by current_git_root() and equals the current tree root:

PROJECT  -> source_path
GIT COPY -> projection_path
DOCS     -> docs_path

Before running Quick/Branch/Remote commands, check the active Structure layer. add active project is the exception: it always uses mirror_root() and stages the active Hub projection.

22.2. Direct handlers

Direct handlers call Python wrappers around Git immediately:

check.

config/remotes.json.

enabled remotes.

git push --follow-tags <remote> <default_branch>.

22.3. Queued templates

Queued templates call queue_git_command(). They fill both the Inspector command area and bottom terminal command input, add the command to history, and wait for manual Run.

Queued commands include:

22.4. Command runner and danger filter

run_shell_command() runs manual commands with shell=True, streams stdout and stderr into the terminal dock, writes the exit code and updates status.

Before execution it calls is_dangerous_command(). Blocked tokens:

reset --hard
clean -fd
push --force
rm -rf
rmdir /s
del /s

Important nuance: dangerous commands may be queued as visible templates so the operator can inspect/edit them, but unchanged execution through Run is blocked by the danger filter.

22.5. Commit profile guard

Hub Manager does not blindly commit everything. Before selected/basket/Mirror stage/commit flows it checks paths through the active projection profile:

The check expands directories, ignores marker files like .gitkeep, applies include_file() from the active profile, and blocks files outside the Hub allowlist. This protects Source and Mirror Git workflows from runtime payload, logs, binaries, PDFs, secrets and local config.

22.6. Basket state machine

Basket is in-memory state:

When Git root changes, ensure_commit_basket_root() clears the basket and locks it to the new root. This prevents cross-repository commits.

Basket message generation:

type + optional scope + version_series + version_value + subject

Tag generation:

<slugified version_series>-<normalized semver>

next version scans existing tags with the same series prefix and bumps patch, minor or major.

22.7. Remote config functions

Remote form flow:

config/remotes.json, and updates recent cache.

Remote application flow:

git remote add or git remote set-url.

adds push URLs through git remote set-url --add --push origin <url>.

branch/tags sequentially.

Remote names are limited to [A-Za-z0-9._-]+. Secrets in remote URLs are not stored by policy.

22.8. Auth and external tools

Auth Doctor uses system_core/core/auth_doctor.py:

credentials.

External setup buttons:

Background probes set non-interactive behavior to avoid freezing the GUI on password prompts.

22.9. Diff and History functions

Diff:

History:

Selecting a tree node also triggers Details refresh and lightweight diff preview for changed files.

22.10. Git-work reports and logs

Git command output is streamed to the terminal dock. Structured diagnostics are written as JSON reports:

Reports use write_report(kind, payload, project_id=...) and live under logs/<project_id>/.

23. Weak Spots And Missing Frequent Commands

The app already covers most everyday Git/MIRROR workflows, but these gaps remain.

Remote status and sync

Branch workflow

git branch --set-upstream-to.

Staging and commit

handlers already exist in code.

History and recovery

git checkout <sha> -- <path>.

Auth

each configured remote.

inside Auth Doctor.

Safety and release

Storage and Docs

absent/unsafe.

scanner.

UI and ergonomics

operations.

layout change.

24. Suggested Next Backlog

Small low-risk improvements:

  1. Branch dropdown from git branch --all.
  2. Templates for git switch - and git push -u origin <branch>.
  3. Selected-path stage/unstage buttons in Diff.
  4. basket remove selected or clickable Basket rows.
  5. remote show <name> and fetch selected remote.
  6. Auth/Remote badge table: name, provider, URL type, enabled, configured in

repo, ls-remote ok.

  1. Visible stale Safety warning before push.
  2. git commit --amend as queued command, not direct action.
  3. git show <commit>:<path> viewer in History/Diff.
  4. Docs-only projection action if Docs becomes an active workflow.
Alle Projekte