Skip to content

chore(core/migration): remove legacy src/ duplicates; convert include/gitmind.h to pure umbrella; flatten CLI path to apps/cli/ - #165

Merged
flyingrobots merged 22 commits into
mainfrom
migration/finish-core-cleanup
Sep 15, 2025
Merged

flyingrobots merged 22 commits into
mainfrom
migration/finish-core-cleanup

Conversation

@flyingrobots

@flyingrobots flyingrobots commented Sep 13, 2025 •

Copy link
Copy Markdown
Owner

chore(core/migration): finish core migration cleanup\n\nSummary\n- Remove legacy sources under src/: edge/edge.c, edge/attributed.c, util/sha.c, util/gm_mem.h (superseded by core)\n- Convert include/gitmind.h to a pure umbrella that aggregates core public headers, no duplicate typedefs or prototypes\n- Flatten CLI path: apps/cli/cli/* → apps/cli/* (no build target change yet)\n\nRationale\n- Unblocks Sprint 1 CLI build by eliminating duplicate type definitions between the umbrella and namespaced core headers\n- Reduces confusion by removing legacy src/ code paths that are no longer built\n- Aligns tree layout with docs: apps/ contains CLI; core/ holds library and public headers\n\nTesting\n- Local Docker build/tests (Meson/Ninja) all green (14/14 unit tests)\n- No CLI build in Meson yet (separate PR will add CLI target + E2E wiring)\n\nFollow-ups\n- Add Meson CLI target now that umbrella is clean; wire E2E tests to CI\n- Tidy passes unaffected; gauntlet unchanged\n\nHousekeeping\n- build_* folders remain gitignored; safe to delete locally as they are ephemeral\n\nRequested\n- Auto-merge once checks and CodeRabbit approvals are satisfied

Summary by CodeRabbit

  • Refactor

    • Public API reorganized into modular headers with an umbrella include and compile-time feature toggles.
  • New Features

    • OID-first migration for edges, cache and hooks; CBOR encode/decode for attributed edges; journal commit payloads base64-encoded; per-header compile checks.
  • Bug Fixes

    • Safer branch/ref handling, bounded string handling and stronger buffer/length checks in journal paths.
  • Tests

    • New unit tests for CBOR/OID roundtrips, base64 handling, edge-equality semantics and journal safety.
  • Chores / Removed

    • Removed legacy inline public declarations and small memory wrappers; public surface now uses OID-based types.

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