Summary
index_repository / index_status on a Laravel 11 project (inovoysWeb, macOS arm64, codebase-memory-mcp 0.10.8) reports a best-effort indexing gap.
| Signal |
Value |
| nodes / edges |
17010 / 65142 |
| status |
ready |
| parse_partial |
294 files (truncated: false) |
| skipped |
1 (database/sql/world.sql, parse timeout at extract) |
| not_indexed |
1422 files / 25 dirs (by design: gitignore / skip-lists) |
The Cursor MCP server in this session does not expose index_status (available tools: index_repository, search_graph, search_code, trace_path, query_graph, get_graph_schema, get_code_snippet, get_architecture). Status was read via codebase-memory-mcp cli --json index_status '{"project":"inovoysWeb"}'.
Checkout is private. Ranges below are 1-based. Snippets are sanitized / generic equivalents of the same constructs — original app code is not pasted.
parse_partial by class (294)
| Count |
Class |
Typical flagged construct |
| 161 |
storage/framework/views/*.php |
Laravel compiled Blade: <?php echo e(...) ?> wrapping HTML that still contains @container / Blade-like tokens. Whole-file ranges (1-N) are common. These compiled views should usually be ignored. |
| 59 |
resources/assets/vendor copy/**/*.scss |
Nested Sass interpolation inside calc(), logical properties (inset-inline), Bootstrap-extended mixins. |
| 67 |
*.blade.php (Modules + resources/ + Jetstream) |
Blade directives mixed with HTML/Alpine/Livewire (@error in class, @if in attributes, @pushonce, @vite, @entangle, @extends/@section, <livewire:…/>, {!! !!}, dotted <x-…> components). |
| 1 |
*.blad.php (typo, missing e) |
Entire Blade file parsed as PHP. |
| 1 |
.env.example |
dotenv ${VAR} concatenation (33${APP_PORT}). |
| 1 |
php.ini |
File is actually a bash heredoc that writes a php.ini (cat > php.ini << 'EOF'). |
| 1 |
install.ps1 |
File is bash (Laravel Sail installer), not PowerShell. Whole file 1-53. |
| 2 |
public/**/ajax.php |
File is JSON (DataTables fixture), not PHP. Ranges 2-4,5-5,6-453,462-462. |
| 1 |
resources/css/app.css |
Escaped colon in attribute selector: [wire\:id]. |
Constructs (sampled from flagged ranges)
1. Compiled Blade PHP (majority)
Compiled views mix PHP echo with leftover CSS-framework tokens:
<section
<?php echo e($attributes->merge(['class' => "@container flex flex-col p-6"])); ?>
>
<?php echo e($slot); ?>
</section>
Expected: skip storage/framework/views by default, or treat compiled Blade as opaque PHP without per-line parse_partial spray.
2. Nested Sass interpolation in calc()
Vendor SCSS (Vuexy/Bootstrap-extended) flags lines like:
min-block-size:
calc(
#{"#{($font-size-base * $pagination-line-height) + ($pagination-padding-y * 2)} + calc(#{$pagination-border-width} * 2)"}
);
Also: inset-inline: 10px auto; inside nested selectors.
3. Blade + HTML / Livewire / Alpine
Representative patterns on flagged lines:
{{-- @error inside class + @if inside an HTML attribute --}}
<select class="form-control @error('field') is-invalid @enderror"
wire:model.live="field" @if (empty($parent)) disabled @endif>
{{-- @pushonce --}}
@pushonce('styles')
<link rel="stylesheet" href="https://cdn.example.com/lib.css">
@endpushonce
{{-- Alpine + Livewire --}}
<div x-data="{ open: @entangle('showDropdown') }" @click.away="$wire.close()">
<livewire:module.component-name/>
{{-- @vite with PHP concat --}}
@vite(['resources/scss'.$config['rtl'].'/core.scss'])
{{-- Jetstream --}}
@extends('errors::minimal')
@section('title', __('Unauthorized'))
@props(['on'])
<div x-init="@this.on('{{ $on }}', () => { shown = true })">
{{-- dotted Blade component close + duplicate HTML attrs --}}
<a class="hover-underline" class="hover-underline" href="{!! route('login') !!}">x</a>
</x-layouts.mail.mail-layout>
HTML comments immediately before <link href="https://cdn…"> also sit on several flagged Blade lines.
4. Wrong language by extension
# saved as php.ini
cat > php.ini << 'EOF'
[PHP]
memory_limit = 512M
EOF
# saved as install.ps1 (Laravel Sail installer shape)
docker info > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Docker is not running."
exit 1
fi
{ "draw": 1, "data": [] }
(the last saved as ajax.php)
{{-- saved as school-register.blad.php --}}
<x-layouts.commonMaster :title="env('APP_NAME')" :layout="'blank'">
<x-slot name="slot">
@vite(['resources/js/pages-auth.js'])
</x-slot>
</x-layouts.commonMaster>
5. dotenv interpolation + escaped CSS colon
FORWARD_DB_PORT=33${APP_PORT}
MEILISEARCH_HOST=http://meilisearch:77${APP_PORT}
[wire\:id],
*[wire\:id] {
display: none;
}
Skipped (not parse_partial)
database/sql/world.sql — extract parse timeout (large world-cities dump). Not indexed at all.
Expected
- Ignore compiled Blade (
storage/framework/views) and vendor SCSS copies unless opted in.
- Recover (or precisely diagnose) Blade
@error/@if in HTML attributes, @pushonce, @vite, Alpine @entangle/@click, <livewire:…/>, {!! !!}, dotted <x-ns.comp> tags.
- Detect or skip mis-extended files (
.blad.php, JSON-as-.php, bash-as-.ps1 / php.ini) without a dense per-line spray.
- Parse nested Sass
#{"#{…}"} inside calc(), or mark as unsupported-syntax once.
Actual
Indexing succeeds (status: ready). 294 files record parse_partial, so graph completeness for views/SCSS is uncertain. Coverage note matches: files were indexed, constructs in flagged ranges may be missing.
Reproduction
- Index a Laravel 11 + Blade + Livewire + Vuexy-style SCSS tree (or the snippets above in a tiny fixture repo).
codebase-memory-mcp cli --json index_status '{"project":"<name>"}'
- Observe
parse_partial.count on Blade, compiled views, nested SCSS calc(), and mis-extended files.
Impact
Low–medium: the coverage signal works; most hits are compiled views + vendor SCSS + Blade HTML hybrids. Filing per the tool's indexing-gap prompt. PHP application classes under app/ / Modules/*/app were not the bulk of the gap.
Summary
index_repository/index_statuson a Laravel 11 project (inovoysWeb, macOS arm64, codebase-memory-mcp 0.10.8) reports a best-effort indexing gap.database/sql/world.sql, parse timeout at extract)The Cursor MCP server in this session does not expose
index_status(available tools:index_repository,search_graph,search_code,trace_path,query_graph,get_graph_schema,get_code_snippet,get_architecture). Status was read viacodebase-memory-mcp cli --json index_status '{"project":"inovoysWeb"}'.Checkout is private. Ranges below are 1-based. Snippets are sanitized / generic equivalents of the same constructs — original app code is not pasted.
parse_partial by class (294)
storage/framework/views/*.php<?php echo e(...) ?>wrapping HTML that still contains@container/ Blade-like tokens. Whole-file ranges (1-N) are common. These compiled views should usually be ignored.resources/assets/vendor copy/**/*.scsscalc(), logical properties (inset-inline), Bootstrap-extended mixins.*.blade.php(Modules +resources/+ Jetstream)@errorin class,@ifin attributes,@pushonce,@vite,@entangle,@extends/@section,<livewire:…/>,{!! !!}, dotted<x-…>components).*.blad.php(typo, missinge).env.example${VAR}concatenation (33${APP_PORT}).php.inicat > php.ini << 'EOF').install.ps11-53.public/**/ajax.php2-4,5-5,6-453,462-462.resources/css/app.css[wire\:id].Constructs (sampled from flagged ranges)
1. Compiled Blade PHP (majority)
Compiled views mix PHP echo with leftover CSS-framework tokens:
<section <?php echo e($attributes->merge(['class' => "@container flex flex-col p-6"])); ?> > <?php echo e($slot); ?> </section>Expected: skip
storage/framework/viewsby default, or treat compiled Blade as opaque PHP without per-lineparse_partialspray.2. Nested Sass interpolation in
calc()Vendor SCSS (Vuexy/Bootstrap-extended) flags lines like:
min-block-size: calc( #{"#{($font-size-base * $pagination-line-height) + ($pagination-padding-y * 2)} + calc(#{$pagination-border-width} * 2)"} );Also:
inset-inline: 10px auto;inside nested selectors.3. Blade + HTML / Livewire / Alpine
Representative patterns on flagged lines:
HTML comments immediately before
<link href="https://cdn…">also sit on several flagged Blade lines.4. Wrong language by extension
{ "draw": 1, "data": [] }(the last saved as
ajax.php)5. dotenv interpolation + escaped CSS colon
Skipped (not parse_partial)
database/sql/world.sql— extract parse timeout (large world-cities dump). Not indexed at all.Expected
storage/framework/views) and vendor SCSS copies unless opted in.@error/@ifin HTML attributes,@pushonce,@vite, Alpine@entangle/@click,<livewire:…/>,{!! !!}, dotted<x-ns.comp>tags..blad.php, JSON-as-.php, bash-as-.ps1/php.ini) without a dense per-line spray.#{"#{…}"}insidecalc(), or mark as unsupported-syntax once.Actual
Indexing succeeds (
status: ready). 294 files recordparse_partial, so graph completeness for views/SCSS is uncertain. Coverage note matches: files were indexed, constructs in flagged ranges may be missing.Reproduction
codebase-memory-mcp cli --json index_status '{"project":"<name>"}'parse_partial.counton Blade, compiled views, nested SCSScalc(), and mis-extended files.Impact
Low–medium: the coverage signal works; most hits are compiled views + vendor SCSS + Blade HTML hybrids. Filing per the tool's indexing-gap prompt. PHP application classes under
app//Modules/*/appwere not the bulk of the gap.