Skip to content

CLI safety guard, Dockerized E2E, env docs, gm_cli_ctx_t - #166

Merged
flyingrobots merged 33 commits into
mainfrom
feat/cli-safety-e2e
Sep 14, 2025
Merged

flyingrobots merged 33 commits into
mainfrom
feat/cli-safety-e2e

Conversation

@flyingrobots

@flyingrobots flyingrobots commented Sep 13, 2025 •

Copy link
Copy Markdown
Owner

This PR does the following:\n\n- fix(include): guard time conversion macros in constants_internal.h\n- fix(output): add EOF newlines in include/gitmind/output.h and apps/cli/output.c\n- chore(cli): normalize includes; add inc_cli in Meson; adjust CLI include paths\n- feat(cli): introduce gm_cli_ctx_t; pass explicit output context; remove global\n- feat(cli): libgit2-based safety guard; add GITMIND_SAFETY override; URL helper\n- test(core): add URL safety matcher unit test; register in Meson\n- docs(ops): document environment variables and link from README/docs index; note runtime safety\n- ci(e2e): run E2E inside CI Docker image for parity and isolation\n- fix(core/journal): temporary CBOR decode wrappers for CLI until attributed decoder lands\n\nBuild & test:\n- Built in CI Docker image with clang-20; all unit tests pass (including new safety test).\n- E2E now runs inside the CI Docker image.\n\nNotes:\n- The safety guard only blocks if a remote URL strictly matches neuroglyph/git-mind(.git).\n- is available to bypass if ever needed.\n\n

Summary by CodeRabbit

  • New Features

    • New standalone CLI with a safety guard preventing accidental runs in the source repo (can be overridden); unified CLI output handling and improved porcelain/human modes.
  • Documentation

    • Major README overhaul plus new docs: Environment Variables, combined CLI reference, technical architecture, operations, and CLI command consolidation.
  • Tests

    • Added URL-safety unit test; E2E runner now accepts an external binary or discovers local builds.
  • CI

    • Added Markdown linting, a best-effort dev-shell warm step, and E2E execution inside the CI Docker image.
  • Chores

    • Pre-commit and Makefile targets plus markdownlint config for repo Markdown linting.

Loading
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.

1 participant