Great question! It took me a bit to recreate this issue, but I can reproduce it consistently. Here's how to set it up:
**Project structure:**
```
.
├── code
│ └── lib1
│ ├── deps.edn
│ └── src
│ └── foo
│ ├── a.clj
│ └── b.clj
└── deps.edn
```
**Root deps.edn file:**
```clojure
{:paths []
:aliases {:lib1 {:extra-deps {lib1/lib1 {:local/root "code/lib1"}}}}}
```
**code/lib1/src/foo/a.clj:**
```clojure
(ns foo.a)
(defn func-a [] "from a")
```
**code/lib1/src/foo/b.clj:**
```clojure
(ns foo.b
(:require [foo.a :as a]))
(defn func-b [] (str "from b, calling: " (a/func-a)))
```
**Steps to reproduce:**
1. Start a REPL from the root directory: `clj -A:lib1`
2. In the REPL, run these commands:
```clojure
Clojure 1.12.1
user=> (load-file "code/lib1/src/foo/b.clj")
#'foo.b/func-b
user=> (meta #'foo.b/func-b)
{:arglists ([]), :line 4, :column 1, :file "/Users/kenny/github/source-fn-repro/code/lib1/src/foo/b.clj", :name func-b, :ns #object[clojure.lang.Namespace 0x21325036 "foo.b"]}
user=> (meta #'foo.a/func-a)
{:arglists ([]), :line 2, :column 1, :file "foo/a.clj", :name func-a, :ns #object[clojure.lang.Namespace 0x6de30571 "foo.a"]}
```
**The issue:** Notice that `func-b` shows the full file path, but `func-a` only shows the relative path `"foo/a.clj"` without the complete directory structure.
Here's the repro code:
https://github.com/kennyjwilli/source-fn-repro