Skip to content

Restore clean portability before MainFrame public-core promotion #2

Description

@camerontjs-dot

Context

MainFrame v0.3.0 evaluated the current standalone MindGraph source for a bounded public-core retrieval profile and deferred promotion after the clean-environment gate failed.

Frozen source under test:

  • commit: 4d292179e1478b999bc6b7c36f9de564c07bd1d9
  • tree: ed7803dcf9718005fd190a12f0537b69dcb8b349

Primary qualification record:

Observed blockers

A clean GitHub-hosted Ubuntu / Python 3.11 installation of .[dev] succeeded, but pytest -q failed during collection before the synthetic ingest/query qualification could run.

Observed failures:

  1. src/mindgraph/query.py references Literal without importing it, producing NameError during collection.
  2. mcp>=1.0.0 resolved to MCP 2.2.0, while the current tests import create_connected_server_and_client_session from mcp.shared.memory; that symbol is unavailable in the resolved version.
  3. tests/test_pruning.py imports pruning_pass, which is unavailable in the clean checkout/package environment.
  4. The default dependency closure pulls sentence-transformers, Torch, and a large Linux CUDA stack. That may be valid for the full semantic engine but is substantially heavier than the smallest MainFrame public retrieval profile needs.

These observations do not establish that MindGraph's retrieval architecture is unsound. They establish that this exact source does not currently reproduce cleanly enough to promote into MainFrame's public core.

Target

Create the smallest portable profile that can clear a clean-clone qualification without weakening the retrieval authority boundary.

At minimum, a successor gate should prove:

  • clean supported-Python installation from the exact candidate;
  • maintained tests collect and pass under pinned/supported dependency versions;
  • fresh synthetic index creation with no pre-existing/private DB;
  • query recovers the intended synthetic note;
  • results preserve inspectable source provenance;
  • unrelated/noise material remains distinguishable;
  • querying before required index state fails clearly or closed;
  • index deletion and rebuild reproduces stable result identity/provenance;
  • retrieval output remains nomination only, not truth, verification, or lifecycle authority;
  • the important bounded path is practical to run in public CI.

Scope guidance

For a future MainFrame promotion, prefer a slim closure first: core indexing/persistence/query/provenance, minimal CLI, synthetic fixtures, and meaningful CI. Treat semantic/vector retrieval as an optional extra if its dependency/model cost cannot be made proportionate. Daemon, shared MCP/proxy lifecycle, project federation, and repair tooling should not enter the MainFrame core merely because they exist in standalone MindGraph.

Do not change the historical MainFrame v0.2.0 implementation or reinterpret its release. A future promotion should use a newly qualified exact MindGraph candidate and then pass through MainFrame's private positive-manifest publication boundary.

Activity

  1. camerontjs-dot commented on Sep 10, 2026

    @camerontjs-dot
    OwnerAuthor

    Portability RC1 now has a bounded qualified candidate and Draft PR #3.

    Exact product candidate: 16a7859304b393c2656b30e8f4ba5bf5570b4f00 (tree a8a7774fb72347a1470733243c0fff06b3f45379).

    Corrected clean qualification: https://github.com/camerontjs-dot/MindGraph/actions/runs/34532611069

    Artifact: 10174170779, SHA-256 496d67dce83d6d66f5d665bbab591d4d0b76c0ad846148141b88584c57e6b17d.

    Observed PASS: clean Python 3.11 install, 319 maintained tests, explicit MiniLM acquisition, missing-state fail closed, fresh 7/7 synthetic ingest, intended antinet top result with portable provenance, no serialized host source_root, negative-noise ordering, and stable identity/provenance after delete/rebuild.

    The PR remains Draft. Promotion is still blocked on reconciliation with the tracked mainframe-live/mindgraph mirror, which contains local evolution absent from standalone main, plus a decision on the 5.9G default dependency closure and explicit model-acquisition contract. Retrieval authority semantics were not weakened.

  2. camerontjs-dot commented on Oct 4, 2026

    @camerontjs-dot
    OwnerAuthor

    2026-10-03 current-main re-baseline

    Live standalone main is still 8df9ae7fccdb742558950ef9bdedb96cc74df6d0.

    The original code-level portability blockers recorded here are no longer present on current main:

    • src/mindgraph/query.py imports Literal;
    • pyproject.toml constrains MCP to mcp>=1.0.0,<2;
    • the reintroduced tests/test_pruning.py is absent;
    • package extras are split into base, semantic, mcp, full, and dev;
    • normal semantic ingest/query is cache-only and model acquisition is an explicit bootstrap-model setup operation.

    That means the next decision is qualification of the current split-profile package, not replaying the old three-file repair.

    I am opening a fresh RC2 qualification issue against this exact current main. It will keep lightweight core/MCP reproducibility separate from the heavy semantic/model-acquisition leg and will measure the latter instead of hiding its dependency cost inside a generic PASS.

    No MainFrame integration/promotion follows from this re-baseline.

  3. camerontjs-dot commented on Oct 4, 2026

    @camerontjs-dot
    OwnerAuthor

    RC2 update — 2026-10-03

    Current-main portability RC2 (#48 / #49) ended SUPPORTED_LIGHTWEIGHT_PROFILE_SEMANTIC_COST_OPEN.

    Observed on exact current product base 8df9ae7fccdb742558950ef9bdedb96cc74df6d0:

    • Python 3.11 and 3.12 fresh .[mcp,dev] environments passed 368 tests, wheel build/install, missing-state refusal, fresh lexical ingest/query and byte-identical delete/rebuild provenance;
    • serialized output retained no source_root;
    • semantic Python 3.11 closure worked but measured 1.07 GiB before the 87.4 MiB MiniLM cache;
    • Python 3.10 was unavailable locally;
    • hosted Actions for the research workflow executed zero jobs, so hosted coverage is NOT_RUN.

    This materially narrows #2. The old collection/package defects are not the current blocker. Remaining public-core questions are hosted/cross-platform reproduction and whether the optional semantic footprint is acceptable for the intended profile. No promotion or release follows automatically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions