Skip to content

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 dev script is watchexec --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 (the dev script on line 8).

T-C9RD-consolidate-augmented-into-solutions

LocationRole today
solutions/augmented/apps/learn_web/package.jsonThe 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.jsonThe 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.ymlRuns 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.jsonSibling 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.mdRecords 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.

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/.

  1. Edit solutions/augmented/apps/learn_web/package.json and replace the dev script value watchexec --restart -w ../../packages/node/hierarchy/dist -- nuxt dev with nuxt dev. Drop the wrapper entirely rather than repointing the watch root at solutions/augmented/packages/ts/hierarchy/dist — see Out of scope for the rationale behind that decision; it is settled here, not left to the implementer.
  2. Leave the rest of the manifest untouched. The @augmented/hierarchy dependency is live (learn_web imports it and it resolves through the workspace), so only the script line changes.
  3. Leave solutions/augmented/apps/learn_web/moon.yml untouched. Its dev task shells bun run dev and needs no edit to pick up the new script body.
  4. Verify no other site references the removed path or tool: run grep -rn "packages/node" apps/ packages/ solutions/ and grep -rn watchexec apps/ packages/ solutions/ .moon/ mise.toml from the repo root and confirm both come back empty. (The remaining packages/node hits live in docs/planning/tasks/ as history and stay as they are.)
  5. Smoke-test: from solutions/augmented/apps/learn_web/, run bun run dev and confirm the Nuxt dev server prints its listen URL and serves the site.
LocationKindChange
solutions/augmented/apps/learn_web/package.jsonmodifyReplace the dev script’s watchexec --restart -w ../../packages/node/hierarchy/dist -- nuxt dev with plain nuxt dev
  • AC-1: solutions/augmented/apps/learn_web/package.json’s scripts.dev value is exactly nuxt 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.toml run from the repo root returns no matches.
  • AC-4: bun run dev in solutions/augmented/apps/learn_web/ starts the Nuxt dev server (Nuxt prints its listen URL) with no watchexec process 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.
  • Repointing the watch at ../../packages/ts/hierarchy/dist instead of removing it. Rejected: the vendored @augmented/* projects carry no moon build task and no watch-mode build script, so nothing writes to that dist/ while dev runs; the directory is also absent from a fresh checkout until someone runs tsc by hand, and watchexec -w on 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 (moon build tasks, tsc --watch, task-graph wiring). That is the follow-on work T-LVLY-vendor-augmented-ts-packages leaves open.
  • Adding hierarchy to solutions/augmented/apps/learn_web/moon.yml’s dependsOn list, which today names books, context, entity, logging, utils but not hierarchy despite the dependency being declared in package.json.
  • The @augmented/hierarchy dependency itself. It is live and stays.
  • The historical packages/node/... mentions inside docs/planning/tasks/. They record the pre-vendoring layout and are correct as history.
  • none

Spawned by /sdlc:spawn-task-pr on 2026-07-20 UTC from T-C9RD-consolidate-augmented-into-solutions in https://github.com/sksizer/dev.


← Back to Tasks