ADR 005 — Some product stacks remain lazy until first use
Status
Section titled “Status”Accepted — 2026-05-01
Context
Section titled “Context”When migrating from a fixed-template setup to AWaC, every product team in the portfolio needs a decision: create its agent-stack immediately, or defer until there is real content?
The reality of two of the products at the moment of cutover was:
- No specific content in the old template’s
.agents/for those products. No product-specific rules, skills or workflows. - No active project that needed a stack for those products at the time.
Decision
Section titled “Decision”Some product stacks are kept as “lazy”: registered in the shortcuts: section of the registry but with no repo created.
# <transversal-org>/agent-stack-core/awac.yml/shortcutsproduct-c: <product-c-org>/agent-stack # lazy - repo not created yetproduct-d: <product-d-org>/agent-stack # lazy - repo not created yetWhen the first project that needs one of these arrives, run wsp scaffold-stack <org> to create the repo automatically.
Options considered
Section titled “Options considered”A. Create every stack upfront
Section titled “A. Create every stack upfront”Create <product-c-org>/agent-stack and <product-d-org>/agent-stack now, empty.
Pros:
- Complete topology from day 1.
Cons:
- Debt: empty repos that nobody maintains. When the first project arrives, somebody has to populate them by hand.
- Confusion: the team sees an
agent-stackthat contains nothing useful. - Misleading template catalogue:
<product>-featureshows up but using it bootstraps an empty stack.
B. Fully lazy (no shortcut either)
Section titled “B. Fully lazy (no shortcut either)”Don’t register product-c or product-d in the registry at all. When needed, add the shortcut + create the repo.
Pros:
- Zero debt.
Cons:
- Not discoverable: someone asking “which products are under AWaC?” doesn’t see them.
- Activation friction: when needed, two steps (register + create) instead of one (create).
C. Lazy with shortcut registered (the choice)
Section titled “C. Lazy with shortcut registered (the choice)”Register shortcuts in the registry with a # lazy comment, but DON’T create the repos until needed.
Pros:
- Discoverable: they appear in
wsp shortcutswith a lazy flag. - Zero debt: no empty repos.
- Minimal activation friction: run
wsp scaffold-stack <org>, the shortcut is already there, everything fills in by itself. - Clarity: anyone can see that these products exist but don’t have content yet.
Cons:
- If someone tries to use the shortcut before scaffolding, the CLI fails with
E_REPO_NOT_FOUND. Mitigable with a specific message for shortcuts marked lazy: “this stack is registered as lazy. Runwsp scaffold-stack <org>to create it.”
Consequences
Section titled “Consequences”Positive
Section titled “Positive”- Explicit topology: the team knows which products are planned without having to maintain empty repos.
- Low activation cost: one command.
- The registry reflects organisational reality without over-extending.
Negative
Section titled “Negative”- Possible initial confusion if someone tries to use a lazy shortcut before scaffolding. Mitigable with good error messages.
Policy for future stacks
Section titled “Policy for future stacks”New products start as lazy if:
- There is no specific agent content yet (no rules/skills/workflows of their own).
- There is no active project that requires the stack.
New products start active if:
- There is content to migrate from the old template.
- There is an imminent project.
This decision was taken jointly with ADR 003 (stack naming) during the design of the initial registry.
See also
Section titled “See also”08-creating-new-stack.md— how to activate a lazy stack withwsp scaffold-stack.