GITHUB-ISSUES — Remove time tracking + consolidate session end — 2026-03-16
GITHUB-ISSUES — Remove time tracking + consolidate session end — 2026-03-16
Section titled “GITHUB-ISSUES — Remove time tracking + consolidate session end — 2026-03-16”What this file is
Section titled “What this file is”Build instructions + issue operations. Harley’s job: create the branch, make all code changes, create and close issues.
Rules for Harley
Section titled “Rules for Harley”- Create feature branch before touching any code
- Read all source files listed before making changes
- One commit per logical change — do not batch unrelated files
- Run
npm run buildafter all changes and confirm it is clean before closing issues - Report any failures immediately
Create feature branch
Section titled “Create feature branch”git checkout dev && git pull origin dev && git checkout -b refactor/remove-time-trackingPart 1 — Create GitHub issues first
Section titled “Part 1 — Create GitHub issues first”Issue 1 — remove time tracking
Section titled “Issue 1 — remove time tracking”gh issue create \ --title "refactor: remove time tracking from scaffolder" \ --label "enhancement" \ --milestone "v0.10.0" \ --body "Time tracking is not properly scoped and creates unnecessary complexity. Remove entirely: delete src/timeLog.ts, remove all appendToTimeLog calls from sc.ts, remove sc log and sc history commands and handlers, remove timeTracking field from sc init and config, delete templates/TIME-LOG.md, delete templates/claude-commands/sc-log.md, delete templates/claude-commands/sc-history.md, update scHelp.ts to remove log/history/timeTracking references, update sc init to remove timeTracking prompt. Future time tracking may be revisited as a separate scoped feature."Issue 2 — consolidate session end to sc done only
Section titled “Issue 2 — consolidate session end to sc done only”gh issue create \ --title "refactor: remove sc end and sc exit — sc done is the only session close command" \ --label "enhancement" \ --milestone "v0.10.0" \ --body "sc end, sc done, and sc exit all do overlapping things. Consolidating to sc done only. sc done is the authoritative session-end command: runs session-end skill, writes CURRENT-CODE.md, writes session log, commits both. Remove sc end and sc exit handlers from sc.ts, delete templates/claude-commands/sc-end.md, delete templates/claude-commands/sc-exit.md, update scHelp.ts to remove end/exit entries, update TOPICS.build and TOPICS.planning in scHelp.ts to reference sc done instead of sc end or sc exit. Closes #260 and #306."Part 2 — Code changes
Section titled “Part 2 — Code changes”Change 1 — delete src/timeLog.ts
Section titled “Change 1 — delete src/timeLog.ts”rm src/timeLog.tsgit add src/timeLog.tsgit commit -m "refactor: delete timeLog.ts — time tracking removed"Change 2 — delete template files
Section titled “Change 2 — delete template files”rm templates/TIME-LOG.mdrm templates/claude-commands/sc-log.mdrm templates/claude-commands/sc-history.mdrm templates/claude-commands/sc-end.mdrm templates/claude-commands/sc-exit.mdgit add templates/git commit -m "refactor: remove TIME-LOG.md and time tracking command templates"Change 3 — update src/sc.ts
Section titled “Change 3 — update src/sc.ts”Remove the following from sc.ts:
- Import of appendToProjectTimeLog, appendToMasterTimeLog, getProjectTimeSummary, getRecentEntries from timeLog
- handleLog() function entirely
- handleHistory() function entirely
- handleEnd() function entirely — the
sc endcommand handler - handleExit() function entirely — the
sc exitcommand handler - All appendToProjectTimeLog and appendToMasterTimeLog calls from handleDone() and handleBuild()
- The
timeTrackingStrprompt andtimeTrackingfield from handleInit() - Remove
end,exit,log,historycases from the switch statement in main() - Remove
end,exit,log,historyfrom the usage help text in main() - Update handleDone() — remove all time duration logic, keep only: session state clear, session log file generation, report to operator
- Update handleBuild() — remove startSession() call (sc build should just open Claude Code, session start is operator’s choice)
git add src/sc.tsgit commit -m "refactor: remove time tracking and redundant session commands from sc.ts"Change 4 — update src/scHelp.ts
Section titled “Change 4 — update src/scHelp.ts”Remove from COMMANDS object: end, exit, log, history
Remove from TOPICS.config: timeTracking line
Update TOPICS.planning: replace sc end with sc done, remove sc log and sc history references
Update TOPICS.build: replace sc exit with sc done, remove timer language
Update TOPICS.testing: replace sc end with sc done, remove sc log and sc history references
Update init description in COMMANDS.init: remove “time tracking” from description
git add src/scHelp.tsgit commit -m "refactor: update scHelp.ts — remove time tracking and redundant commands"Change 5 — update src/config.ts
Section titled “Change 5 — update src/config.ts”Remove timeTracking field from ScaffolderConfig type and any default value.
git add src/config.tsgit commit -m "refactor: remove timeTracking from config"Change 6 — update sc-start command template
Section titled “Change 6 — update sc-start command template”In templates/claude-commands/sc-start.md, remove all “timer” language. Reframe as session marker only. New content:
---description: "Mark the start of a session for this project"---Run `sc start $ARGUMENTS` in the terminal. If no arguments provided, prompt the operator for session type (planning/build/testing) and project name.
After starting, confirm the session type and project to the operator.Note: use sc done to end the session and write session state files.git add templates/claude-commands/sc-start.mdgit commit -m "docs: update sc-start template — remove timer language, reframe as session marker"Change 7 — update sc-done command template
Section titled “Change 7 — update sc-done command template”New content for templates/claude-commands/sc-done.md:
---description: "End session, write CURRENT-CODE.md, generate session log"---When the operator runs sc done or asks to end the session:
1. Ensure all work is committed on the current branch2. Run `sc done` in the terminal3. Update sessions/CURRENT-CODE.md with what was completed this session4. Commit sessions/CURRENT-CODE.md and the generated session log5. Report to operator: - What was completed - Current branch and any open PRs - Suggested next stepsgit add templates/claude-commands/sc-done.mdgit commit -m "docs: update sc-done template — authoritative session end command"Change 8 — build check
Section titled “Change 8 — build check”npm run buildReport the output. If build fails, fix before continuing.
Part 3 — Close issues
Section titled “Part 3 — Close issues”After clean build — close issues
Section titled “After clean build — close issues”gh issue close [number from Issue 1] --comment "Time tracking removed. src/timeLog.ts deleted, all appendToTimeLog calls removed, sc log and sc history removed, timeTracking config field removed, TIME-LOG.md template deleted, command templates deleted, scHelp.ts updated."gh issue close [number from Issue 2] --comment "sc end and sc exit removed. sc done is now the single session-end command. scHelp.ts and all command templates updated. Closes #260 and #306."gh issue close 260 --comment "Resolved by removing sc end and sc exit. sc done is the only session close command."gh issue close 306 --comment "Resolved by removing sc exit entirely."gh issue close 261 --comment "Resolved by removing sc log entirely."Push branch
Section titled “Push branch”git push origin refactor/remove-time-tracking- session.ts is NOT deleted — sc start/pause/resume/done still use session state
- sc start, sc pause, sc resume are kept — they mark session state, no time logging
- sc done is kept and is now the authoritative session end
- sc build no longer auto-starts a session — operator runs sc start manually
- MASTER-TIME-LOG.md in _system/ — Harley cannot delete files in _system/, operator handles this