Skip to content

Dockerfile grammar flags stock .NET Dockerfiles as parse_partial #1610

Description

@vitaliy-shatskiy

Version

codebase-memory-mcp 0.10.2

(also present in v0.10.3 — the release notes mention no Dockerfile grammar change)

Platform

Windows (x64)

Install channel

GitHub release archive / install.sh / install.ps1

Binary variant

standard

What happened, and what did you expect?

Unmodified Visual Studio-generated Dockerfiles are flagged parse_partial on standard lines — the exec-form ENTRYPOINT JSON array and COPY --from=<stage>. Both are stock syntax emitted by VS "Add Docker Support" for every ASP.NET project, so the flag is effectively permanent for .NET repositories: measured on a 22-repo .NET fleet, this put a persistent <name>::missed shadow row into most stores.

On its own this is only noise in check_index_coverage, but it becomes load-bearing through #1609 (any shadow row disqualifies the project from cross-repo linking), which is why I'm reporting the grammar gap rather than shrugging it off.

I expected stock Dockerfile syntax to parse cleanly — or, if partial Dockerfile coverage is by design, for Dockerfile-grammar misses not to create shadow rows.

Reproduction

  1. Code being indexed — a dummy repo whose root Dockerfile contains:

    FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "MyApp.dll"]
  2. Command:

    codebase-memory-mcp cli index_repository --repo-path /tmp/demo --mode full
    codebase-memory-mcp cli check_index_coverage '{"project":"demo","paths":["Dockerfile"]}'
    
  3. Result: the Dockerfile is reported parse_partial, and the store's projects table gains demo::missed.
    Expected: clean parse (exec-form ENTRYPOINT/CMD and COPY --from=<stage> are standard Dockerfile syntax).

Logs

(no error output — the flag only surfaces in check_index_coverage and as the ::missed shadow row)

Confirmations

  • I searched existing issues and this is not a duplicate.
  • My reproduction uses shareable code (a dummy snippet or a public OSS repository), not proprietary code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwindowsWindows-specific issues

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions