Problem
SkillSpector 2.10 treats ordinary slash-separated prose as local file references. Examples include reads/writes, environment/profile, operation/node, and model/provider.
The unresolved-reference ledger then marks an otherwise fully inspected scan as partial. The report has 100% file coverage, no findings, and execution_successful: true, but analysis_completeness.is_complete is false and the recommendation is raised from SAFE to CAUTION.
Root cause
The plain relative-path pattern accepts a multi-segment token when both the explicit ./ prefix and final file extension are absent. There is no reliable syntax signal that distinguishes reads/writes from an extensionless local path.
Proposed behavior
For unquoted plain-text references, require either:
- an explicit
./ prefix; or
- a final file extension.
Markdown destinations remain unchanged. Extensionless paths remain available through explicit ./... syntax.
Reproduction
Call resolve_bundle_references() with the sentence:
Compare reads/writes, environment/profile settings, and operation/node behavior.
The current resolver returns three unresolved local-reference records. The expected result is no reference records.
Scope
The proposed fix changes one regular expression and adds focused regression coverage. It does not change Markdown-link resolution, external-reference rejection, parent-path rejection, or explicit local paths.
AI assistance disclosure: Codex helped inspect the parser, reproduce the defect, draft the proposed patch, and run the focused tests. I reviewed the root cause, scope, and proposed behavior.
Problem
SkillSpector 2.10 treats ordinary slash-separated prose as local file references. Examples include
reads/writes,environment/profile,operation/node, andmodel/provider.The unresolved-reference ledger then marks an otherwise fully inspected scan as partial. The report has 100% file coverage, no findings, and
execution_successful: true, butanalysis_completeness.is_completeis false and the recommendation is raised from SAFE to CAUTION.Root cause
The plain relative-path pattern accepts a multi-segment token when both the explicit
./prefix and final file extension are absent. There is no reliable syntax signal that distinguishesreads/writesfrom an extensionless local path.Proposed behavior
For unquoted plain-text references, require either:
./prefix; orMarkdown destinations remain unchanged. Extensionless paths remain available through explicit
./...syntax.Reproduction
Call
resolve_bundle_references()with the sentence:The current resolver returns three unresolved local-reference records. The expected result is no reference records.
Scope
The proposed fix changes one regular expression and adds focused regression coverage. It does not change Markdown-link resolution, external-reference rejection, parent-path rejection, or explicit local paths.
AI assistance disclosure: Codex helped inspect the parser, reproduce the defect, draft the proposed patch, and run the focused tests. I reviewed the root cause, scope, and proposed behavior.