Skip to content

[P1][Memory] Resolve ingest orchestrator independently of caller cwd #389

Description

@wesleysimplicio

Problem

The public simplicio memory ingest command cannot be run from a consumer checkout or another working directory that does not contain the Runtime's ingest helper. The command resolves scripts/ingest_project.py relative to the selected repository/current working directory instead of the canonical Runtime installation.

Reproduction

On 2026-09-07, with the installed Simplicio Runtime v3.8.47, run from the simplicio checkout:

simplicio memory ingest --repo . --json

Observed result:

exit 1
ingest orchestrator not found: <target-repo>/scripts/ingest_project.py; expected scripts/ingest_project.py

The same failure is expected from any caller cwd that is not the Runtime source checkout.

Expected behavior

  • Resolve the ingest orchestrator from the canonical installed/package Runtime location, independently of caller cwd.
  • Treat --repo as the target project root whose content is ingested; do not use it to locate Runtime-owned helpers.
  • Work with absolute and relative target paths, including paths containing spaces.
  • Return a machine-readable receipt containing the target repo, resolved orchestrator path, status, and an actionable failure reason.
  • Fail closed when the helper is genuinely unavailable; do not silently fall back to a provider or LLM path.

Acceptance criteria

  • Add regression tests invoking memory ingest from the Runtime root, a different repository root, and a temporary directory.
  • Cover a target repository different from the Runtime and verify all generated artifacts are attributed to that target.
  • Cover missing/unreadable helper and preserve a deterministic, actionable error.
  • Keep existing memory query/memory slice behavior unchanged.

Evidence

  • Live reproduction: simplicio memory ingest --repo /Users/wesleysimplicio/Projetos/ai/simplicio --json exited 1 with ingest orchestrator not found.
  • The project integration audit records the same cwd-relative lookup failure and identifies it as an ingest gap.

Activity

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions