T-NNAB-remove-dead-hierarchy-dist-watch
Status: planning/proposed · Impact: medium · Complexity: small
AUTO-DEFINED: this spec was best-effort machine-authored by /sdlc:task-auto-define on 2026-07-20 because the task is autonomy: autonomous/pr. Review the Goal, Approach, Today, Files-to-touch, and Acceptance-criteria carefully before trusting it.
solutions/augmented/apps/learn_web’s dev script watches build outputs under
a packages/node/ tree that has never existed in this repo, so the watch roots are dead and the
script silently watches nothing. Drop the dead roots — or repoint them at the
real build outputs if a live dependency watch was the intent — so the dev
script’s behavior matches what it claims to do.
apps/learn_web/package.json’s
devscript iswatchexec --restart -w ../../packages/node/hierarchy/dist -w ../../packages/node/render/dist -- nuxt dev, but packages/node/ has never existed in this repo — both watch roots are dead. The render fragment was already removed by T-J5DI; the hierarchy fragment remains. Pre-existing and unrelated to the T-C9RD move, noted and left as found there. Drop the dead watch roots (or repoint them at the real build outputs if the intent was a live dependency watch) so the dev script does not silently watch nothing. Touchpoint: apps/learn_web/package.json (thedevscript on line 8).
— T-C9RD-consolidate-augmented-into-solutions
| Location | Role today |
|---|---|
solutions/augmented/apps/learn_web/package.json | The dev script is watchexec --restart -w ../../packages/node/hierarchy/dist -- nuxt dev. Relative to the app directory the watch root is solutions/augmented/packages/node/hierarchy/dist, and solutions/augmented/packages/ holds only rust/ and ts/ — the root does not exist. The render fragment of the same script was already removed by T-J5DI-remove-clear-duplicate-augmented-packages; this hierarchy fragment is what survives. |
solutions/augmented/packages/ts/hierarchy/package.json | The real @augmented/hierarchy workspace package learn_web depends on. Its main / types / exports all point into dist/, produced out-of-band by its own build script (tsc). There is no watch-mode build script — only test:watch. |
solutions/augmented/apps/learn_web/moon.yml | Runs the app’s dev task as bun run dev, so it inherits whatever the package.json script does. Its header comment records that the vendored @augmented/* projects “carry no moon build task yet”, so nothing rebuilds a dependency dist/ while dev runs. |
solutions/augmented/apps/augmented_web/package.json | Sibling Nuxt app in the same solution consuming the same vendored @augmented/* packages. Its dev script is plain nuxt dev — no watcher wrapper. This is the shape learn_web is being brought back to. |
docs/planning/tasks/T-LVLY-vendor-augmented-ts-packages.md | Records the vendoring rename that orphaned the path: the upstream repo’s packages/node/hierarchy landed here as packages/ts/hierarchy/, and the learn_web dev script kept the pre-rename path. |
Proposed
Section titled “Proposed”solutions/augmented/apps/learn_web’s dev script is plain nuxt dev,
matching the sibling solutions/augmented/apps/augmented_web. The watchexec
wrapper and its dead watch root are gone, so bun run dev (and
moon run learn_web:dev) starts Nuxt directly and the script’s behavior
matches what it claims to do. No reference to a packages/node/ path remains
under apps/, packages/, or solutions/.
Approach
Section titled “Approach”- Edit
solutions/augmented/apps/learn_web/package.jsonand replace thedevscript valuewatchexec --restart -w ../../packages/node/hierarchy/dist -- nuxt devwithnuxt dev. Drop the wrapper entirely rather than repointing the watch root atsolutions/augmented/packages/ts/hierarchy/dist— see Out of scope for the rationale behind that decision; it is settled here, not left to the implementer. - Leave the rest of the manifest untouched. The
@augmented/hierarchydependency is live (learn_web imports it and it resolves through the workspace), so only the script line changes. - Leave
solutions/augmented/apps/learn_web/moon.ymluntouched. Itsdevtask shellsbun run devand needs no edit to pick up the new script body. - Verify no other site references the removed path or tool: run
grep -rn "packages/node" apps/ packages/ solutions/andgrep -rn watchexec apps/ packages/ solutions/ .moon/ mise.tomlfrom the repo root and confirm both come back empty. (The remainingpackages/nodehits live indocs/planning/tasks/as history and stay as they are.) - Smoke-test: from
solutions/augmented/apps/learn_web/, runbun run devand confirm the Nuxt dev server prints its listen URL and serves the site.
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
solutions/augmented/apps/learn_web/package.json | modify | Replace the dev script’s watchexec --restart -w ../../packages/node/hierarchy/dist -- nuxt dev with plain nuxt dev |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
solutions/augmented/apps/learn_web/package.json’sscripts.devvalue is exactlynuxt dev. - AC-2:
grep -rn "packages/node" apps/ packages/ solutions/run from the repo root returns no matches. - AC-3:
grep -rn watchexec apps/ packages/ solutions/ .moon/ mise.tomlrun from the repo root returns no matches. - AC-4:
bun run devinsolutions/augmented/apps/learn_web/starts the Nuxt dev server (Nuxt prints its listen URL) with nowatchexecprocess in the process tree. - AC-5: The diff for this task touches exactly one file,
solutions/augmented/apps/learn_web/package.json, and exactly one line within it.
Out of scope
Section titled “Out of scope”- Repointing the watch at
../../packages/ts/hierarchy/distinstead of removing it. Rejected: the vendored@augmented/*projects carry no moonbuildtask and no watch-mode build script, so nothing writes to thatdist/whiledevruns; the directory is also absent from a fresh checkout until someone runstscby hand, andwatchexec -won a missing path fails at startup rather than degrading quietly. A dependency watch is worth re-introducing only alongside a real rebuild pipeline. - Building a rebuild-and-restart pipeline for the vendored
@augmented/*packages (moonbuildtasks,tsc --watch, task-graph wiring). That is the follow-on work T-LVLY-vendor-augmented-ts-packages leaves open. - Adding
hierarchytosolutions/augmented/apps/learn_web/moon.yml’sdependsOnlist, which today namesbooks,context,entity,logging,utilsbut nothierarchydespite the dependency being declared in package.json. - The
@augmented/hierarchydependency itself. It is live and stays. - The historical
packages/node/...mentions insidedocs/planning/tasks/. They record the pre-vendoring layout and are correct as history.
Dependencies
Section titled “Dependencies”- none
Discovery context
Section titled “Discovery context”Spawned by /sdlc:spawn-task-pr on 2026-07-20 UTC from T-C9RD-consolidate-augmented-into-solutions in https://github.com/sksizer/dev.