024-resolution-discovery-fixes

Indexer resolution + discovery fixes: foreign-YAML regions, Makefile tags, nested-workspace globs

Lifecycle approvedImplementation completeVerification unknownQualification unknown

Three mechanical correctness fixes surfaced by the OAP spec-217 Phase-0 dry run of 0.5.0, all in the indexer's resolution and discovery paths, none changing any schema or DTO shape. (1) Non-workflow YAML (Helm values, infra manifests) is dispatched to the CI-jobs parser, so its `# region:` markers never resolve and a declared section unit on one raises a spurious I-006; route foreign YAML to the region parser, which is exactly the whole-file / region ownership spec 020 §3.2 already promised foreign structured configs (retiring §4's deliberately-deferred D4). (2) A Makefile `## tag:` is silently overwritten when a second `## tag:` precedes any consuming target, so a tagged region is never emitted; make the pending tag deterministic so it is never silently lost. (3) Workspace-member globs declared in a NON-root workspace file (a nested `pnpm-workspace.yaml`) are resolved against the repo root instead of the declaration file's directory, so they match nothing; pre-join such globs with the declaration file's parent. A related lower-priority guard covers a `standalone_rust_workspaces` entry that ends in `Cargo.toml`. Pairs with spec 023 (the severity policy); these are the mechanical half of the 0.6.0 indexer work.

Read the full pinned specification ↗

Relationships

Claimed units

  • extends
    {
      "nature": "additive",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/sections.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/manifest.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/index.rs"
      }
    }

Source headings

  1. 024: Indexer resolution + discovery fixes
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 D1: foreign YAML resolves region markers
  6. 3.2 D2: a pending Makefile tag is never silently lost
  7. 3.3 D3: nested-workspace globs resolve against the declaration file
  8. 4. Functional requirements
  9. 5. Acceptance criteria
  10. 6. Out of scope

Frozen anchors

No frozen anchors declared.