Skip to content

Reference-pointer shape: repo-relative paths won't resolve against a foreign target repo #1215

Description

@Ljferrer

From plan 2026-07-28-prompt-surface-simplification phase 3 (landed 53ef8a7), all three seats converged.

agents/war-auditor.md is the auditor's system prompt; its cwd is the TASK worktree of the target repo and its Bash is fail-closed to read-only git, so it cannot resolve ${CLAUDE_PLUGIN_ROOT}. The new pointers use ../skills/war/references/auditor-teach.md, which resolves only when the target repo IS this plugin repo. The evicted arms (submodule diff scope, gitlink-bump pin-validity) are precisely the ones that fire on multi-repo targets.

Not a hold — verified mitigations at the pin: the fail-closed gitlink refusal arm stays inline; each pointer keeps its load-bearing decision rule inline, so an auditor that cannot Read the reference still refuses correctly; and the card already used this citation idiom pre-diff. What is new is that a pointer is now load-bearing rather than decorative.

Decide once, at ADR 0042 D4 (trigger-pointer shape), then apply to Tasks 4.1/5.1 and back-fit Task 2.1's landed SKILL.md pointers: either anchor pointers at the plugin root (matching the node <plugin>/skills/_shared/war-memory.mjs idiom already in the worker prompt), or state in the ADR that references/ pointers are best-effort and every pointer MUST keep its decision rule inline (which this diff already does). Phases 4 and 5 evict the same way — settle this before 4.1 dispatches.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions