ww build: name current directory output

This commit is contained in:
2026-08-21 17:38:00 +09:00
parent 17b2879c3e
commit b03bbb1428
5 changed files with 436 additions and 23 deletions

View File

@@ -340,8 +340,17 @@ ImportPath = ident { "." ident } .
command's synthesized default basename already names a directory, loading
and graph validation complete and the build rejects before tools without
changing that directory; a non-main package synthesizes no default public
output. Output paths and directory metadata never become package, import,
graph, action,
output. With no path operand, the current directory is selected as if `.` had
been supplied. For a lone literal current-directory command and no explicit
`-o`, `.`, `./`, and equivalent single-dot-component spellings derive the
default executable name from the canonical selected directory's final
component; cold adjacent scratch uses that same leaf plus `.sepwork`. The dot
spelling itself is never an output name. A current-directory non-main package
uses the corrected scratch presentation but still links and publishes
nothing. This physical leaf is fallback presentation metadata only: it never
displaces a requested contextual dotted identity or becomes package, import,
graph, action, artifact, symbol, `.wwi`, or persistence identity.
Output paths and directory metadata never become package, import, graph, action,
symbol, artifact, `.wwi`, or persistence identity.
Every caller-visible build installation checks its destination after all