🤖 spec: §13 records what slice 1 actually waits on
§6 cites the contract module and §11 builds slice 1 against it, and go get cannot resolve it today. The reason is not what I first said: the hub serves go-import meta tags for PUBLIC repos and gates them on tier deliberately, so a private repo cannot become a discovery side channel. oficina/suite is private; Docs' 302 is that rule working. Verified against amadan/amadan, which is public and returns a real go-import tag. One command fixes it, in another repo, and it is namespace-owner-only. Both workarounds are recorded as refused with their reasons. A replace directive is machine-local. Renaming the module to end .git skips the meta tag — Go treats a .git path element as a repo root — and it does download, but only where a credential is stored, so it would pass CI because of where the runner is rather than because the module resolves. That is the same defect as replace. memoria proposed it; the suite session found the hole, and was right.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H3VKtXnq6fSmM2F11Bjcsy
1 file changed,
+18
−0
docs/superpowers/specs/2026-09-03-memoria-design.md+18 −0
diff --git a/docs/superpowers/specs/2026-09-03-memoria-design.md b/docs/superpowers/specs/2026-09-03-memoria-design.md| index 9c77e4e..8ce2905 100644 |
| --- a/docs/superpowers/specs/2026-09-03-memoria-design.md |
| +++ b/docs/superpowers/specs/2026-09-03-memoria-design.md |
| @@ -2477,6 +2477,24 @@ commit. Fixed 2026-09-05; §1.7's lesson arriving inside the fix for §1.6.* |
| Docs both cite suite §8's binding sentence, so there is one rule in one |
| place rather than two qualifications in two repos that then drift. That |
| is what `oficina/docs` discussion 33 asked for. |
| +- **Slice 1 waits on the contract module being importable, which is one |
| + command in another repo.** §6 cites `amadan.net/oficina/suite` and §11's |
| + slice 1 builds against it; today `go get` cannot resolve it, because the |
| + hub serves `go-import` meta tags **only for public repos** and |
| + `oficina/suite` is private. That is the hub's rule working as designed — |
| + a private repo must not become a discovery side channel — not a missing |
| + feature, and `amadan/amadan` demonstrates the working case (200, with a |
| + real `go-import` tag). The fix is `amadan visibility oficina/suite |
| + public`, which is namespace-owner-only. |
| + *Two workarounds were considered and refused. A `replace` directive is |
| + machine-local and makes `go.mod` an artefact of one box. Renaming the |
| + module to `amadan.net/oficina/suite.git` skips the meta tag — Go treats |
| + a `.git` path element as a repo root — and **it downloads**, but only |
| + where a stored credential exists, so it would pass CI because of where |
| + the runner is rather than because the module resolves: the same defect |
| + as `replace`, and it costs two breaking import-path changes plus a |
| + `GOPRIVATE` requirement that fails by silently falling back to a public |
| + checksum DB. memoria proposed it and the suite session found the hole.* |
| - **A hand-off cannot include memoria-owned material, and that will read |
| as a bug.** An answer built purely on sibling passages can be saved into |
| Docs; one built on the team's own uploads cannot, because suite §7 makes |