T-5VTL-dissolve-augmented-p4-learning-members
Status: open/ready · Impact: medium · Complexity: medium
After the books phases (T-PP4I/T-SRJQ/T-V57A) pull the book
cluster into solutions/augmented_learning/, the learning half of what
remains in solutions/augmented/ belongs there too: the vim-training
apps and the utility packages whose only consumers are learning members.
Owner decision 2026-08-02: dissolve solutions/augmented fully — this
task moves the learning members; T-ZLS5 and T-OO89 re-home the
rest.
| Location | Role today |
|---|---|
solutions/augmented/apps/vimit/ | Vim-training Tauri+Astro app (own Bun workspace root; crate vimit in the root cargo workspace via the solutions/*/apps/*/src-tauri glob; workspaces negation !solutions/*/apps/vimit is solution-wildcarded — survives the move) |
solutions/augmented/apps/vimit_prototype/ | Nuxt prototype of vimit; root-workspace member via the solutions/*/apps/* glob; deps @augmented/entity, @augmented/logging |
solutions/augmented/packages/ts/entity/ | @augmented/entity — consumers: learn_web, vimit_prototype, @augmented/books (all learning members post-P3) |
solutions/augmented/packages/ts/context/ | @augmented/context — consumer: learn_web only |
solutions/augmented/packages/ts/logging/ | @augmented/logging — consumers: learn_web, vimit_prototype, books |
solutions/augmented/packages/ts/utils/ | @augmented/utils — consumers: entity, books, learn_web |
solutions/augmented/packages/ts/test-vue-component/ | @augmented/test-vue-component — consumer: learn_web only |
solutions/augmented/packages/rust/ | augmented-common + frontmatter-validator crates; no consumers; covered by the solutions/*/packages/rust/* cargo members glob |
Cargo.toml | Members globs solutions/*/apps/*/src-tauri and solutions/*/packages/rust/* — both solution-wildcarded, no edits needed |
.moon/workspace.yml | solutions/*/apps/* + solutions/*/packages/*/* globs — ids derive from unchanged basenames |
lefthook.yml | May carry solutions/augmented/… path references — grep and wildcard/repoint any that cover moved members |
Proposed
Section titled “Proposed”solutions/augmented_learning/ gains apps/{vimit,vimit_prototype},
packages/ts/{entity,context,logging,utils,test-vue-component}, and
packages/rust/{augmented-common,frontmatter-validator}. Package and
crate names unchanged → zero import churn; Cargo.lock unchanged.
solutions/augmented/ retains only augmented_web, augmented_dot_com,
and the json-canvas packages (handled by T-ZLS5/T-OO89).
Approach
Section titled “Approach”- Grep
lefthook.yml(and root configs) forsolutions/augmented/references touching the moved members; wildcard or repoint them BEFORE the move commits (the P1/P2 lesson: hook excludes must be on disk before staging moved files). git mvthe two apps and seven packages per the tables above intosolutions/augmented_learning/{apps,packages/ts,packages/rust}/.- Root
bun.lock:bun install; verifybun install --frozen-lockfile. No rootpackage.json/Cargo.toml/.moon/workspace.ymledits expected — all globs and the vimit negation are solution-wildcarded; record any exception found. - Verify:
cargo check -p vimit -p augmented-common -p frontmatter-validator;moon query projectslists all moved ids at new sources;bun run buildin vimit and vimit_prototype;bun run test(or typecheck) in each moved ts package; learn_web still builds (its@augmented/*deps resolve by name). - Assert pure-rename diffs for all nine moved trees.
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
solutions/augmented/apps/vimit/ | delete | git mv → solutions/augmented_learning/apps/vimit/ |
solutions/augmented/apps/vimit_prototype/ | delete | git mv → solutions/augmented_learning/apps/vimit_prototype/ |
solutions/augmented/packages/ts/entity/ | delete | git mv → solutions/augmented_learning/packages/ts/entity/ |
solutions/augmented/packages/ts/context/ | delete | git mv → solutions/augmented_learning/packages/ts/context/ |
solutions/augmented/packages/ts/logging/ | delete | git mv → solutions/augmented_learning/packages/ts/logging/ |
solutions/augmented/packages/ts/utils/ | delete | git mv → solutions/augmented_learning/packages/ts/utils/ |
solutions/augmented/packages/ts/test-vue-component/ | delete | git mv → solutions/augmented_learning/packages/ts/test-vue-component/ |
solutions/augmented/packages/rust/ | delete | git mv both crates → solutions/augmented_learning/packages/rust/ |
bun.lock | modify | Workspace path-key regen |
lefthook.yml | modify | Wildcard/repoint any excludes covering moved members (grep-driven; may be no-op) |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: All nine trees exist under
solutions/augmented_learning/as pure renames; old paths gone. - AC-2:
cargo check -p vimit -p augmented-common -p frontmatter-validatorpasses;Cargo.lockdiff empty. - AC-3: vimit and vimit_prototype
bun run buildsucceed at new paths; each moved ts package tests/typechecks green. - AC-4: learn_web
bun run buildstill succeeds (name-based dep resolution held). - AC-5:
bun install --frozen-lockfilepasses at root;moon query projectslists all moved ids. - AC-6: No
solutions/augmented/references to the moved members remain outside historical planning entities (grep-proof in PR).
Out of scope
Section titled “Out of scope”- json-canvas promotion (
T-ZLS5) and the site moves + final solution deletion (T-OO89). - Folding/retiring the rust crates or rescoping
@augmented/*names — existing backlog owns those decisions.
Dependencies
Section titled “Dependencies”T-V57A— books phases land first so the moves don’t collide in the same trees.
Discovery context
Section titled “Discovery context”- Owner decision 2026-08-02: dissolve
solutions/augmentedfully; the learning members converge onsolutions/augmented_learning(the kernel of closed PR #1122, now scoped correctly).
Depends on
Section titled “Depends on”T-V57A