The overlap matrix: adopt, already, defer, reject
Turn repository admiration into an ownership decision that Alembic can maintain.
Pinned upstream commit: b189869b7755d2b482969acf6c92da3ecfeffd36
- Apply all four verdicts to a concrete surface.
- Separate useful learning from code adoption.
- Name the blocker that turns ADOPT into DEFER.
The big idea
A strong upstream idea is not automatically a feature Alembic should copy. Every surface must answer two questions: does Alembic already own this job, and can we prove the new value at a real boundary? The four verdicts keep attractive duplication out while preserving a roadmap for genuine gaps.
Think of it like… Use the matrix like a transplant board: match the organ to a real need, reject incompatible duplicates, and defer surgery until prerequisites are ready. It breaks because software features can be re-evaluated cheaply; medical decisions cannot.
ADOPT requires a missing owner, narrow interface, bounded implementation, and a real Proof Gate. ALREADY routes learning into existing Alembic owners. DEFER records an attractive unit with an explicit blocker. REJECT protects architecture from a second control plane.
The key anti-pattern is feature-count thinking. Grok sessions, rewind, worktrees, hooks, plugins, TUI, and sandboxing are impressive, but importing them would duplicate mature Alembic layers. Their design can inform tests and future seams without becoming copied code.
Evidence: Pinned Grok Build README
Compare the boundaries
Safe: capture the decision, blocker, proof, and next owner.
Risky: equate stars or code volume with architectural fit.
| Surface | Upstream | Alembic | Verdict |
|---|---|---|---|
| Streaming JSONL | Documented subprocess contract | Provider seam waiting | ADOPT |
| Sessions / rewind | Coordinated directory + snapshots | Single-file storage seam today | DEFER |
| TUI / tools / sandbox | Complete upstream implementations | Existing Alembic owners | REJECT |
The key anti-pattern is feature-count thinking. Grok sessions, rewind, worktrees, hooks, plugins, TUI, and sandboxing are impressive, but importing them would duplicate mature Alembic layers. Their design can inform tests and future seams without becoming copied code.
Real code and commands
docs/grok-build-internalization/research.md (decision method)
type Verdict = "ADOPT" | "ALREADY" | "DEFER" | "REJECT";
const headlessProvider = {
fit: "high",
overlap: "low",
proof: "real grok CLI",
verdict: "ADOPT" satisfies Verdict,
};How to reach it
rg -n "ADOPT|ALREADY|DEFER|REJECT" docs/grok-build-internalization docs/courses/grok-build-for-alembic
Evidence: RESOURCES.md
Visual atlas
Practice and feedback
A feature is valuable but its storage prerequisite is missing. Which verdict is honest?
Retrieval cards
Filter the decision board
Select a verdict to see its operational rule.
Four-slide summary
Check your model
Where do Grok's multi-file sessions land in phase one?