Skip to content

Tasks: templates become internal to the-loop

Phase 3 of 3 (bugfix → design → tasks). Derived from the approved design.

Task list

  • [x] 1. Move .the-loop/templates/skills/the-loop/templates/
    • git mv the whole directory so history is preserved.
    • Depends on: none
    • Requirements: R2
    • Test: test -d skills/the-loop/templates && ! test -d .the-loop/templates
  • [x] 2. Update the manifest
    • Remove the templates: per-project list; add templatesDir and a deprecated entry for .the-loop/templates/.
    • Depends on: 1
    • Requirements: R1, R3
    • Test: inspection — rg "templatesDir|deprecated" .the-loop/manifest.yaml
  • [x] 3. Stop init copying templates; teach upgrade to clean up
    • init.md: scaffold from the internal templates, drop the .the-loop/templates/ creation line and repoint the authoritative-source pointer.
    • upgrade-the-loop.md: add the deprecated-path cleanup step + report group.
    • Depends on: 2
    • Requirements: R1, R3
    • Test: inspection — rg "skills/the-loop/templates|deprecated" commands/*.md
  • [x] 4. Repoint every reference to the internal location
    • Commands, SKILL.md, reference docs, README, architecture + capability docs.
    • Depends on: 1
    • Requirements: R4
    • Test: rg "\.the-loop/templates" shows only intentional/historical references
  • [x] 5. Update runtime consumers and config defaults
    • dispatcher.py default path constants + "kept in sync" comments.
    • config.schema.json, .the-loop/config.yaml, and the config template's templatePath / promptTemplate / spawnPromptTemplate defaults.
    • Depends on: 1
    • Requirements: R4
    • Test: pytest, ruff, pyright green
  • [x] 6. Add this spec + fold into capability/architecture docs
    • Depends on: 3, 4, 5
    • Requirements: R1–R4
    • Test: markdownlint green; links resolve

Dependency graph (DAG)

1 → 2 → 3 → 6 and 1 → {4, 5} → 6

Checkpoints

After task 5, run the full local gate (ruff, pyright, pytest, markdownlint). After task 6, verify rg "\.the-loop/templates" returns only the intended references.

Released under the MIT License.