Skip to content

chore: track sprint docs, ignore .vscode, emit metrics (S6-005)#98

Merged
lwalden merged 2 commits into
mainfrom
chore/s6-005-repo-housekeeping
Jun 11, 2026
Merged

chore: track sprint docs, ignore .vscode, emit metrics (S6-005)#98
lwalden merged 2 commits into
mainfrom
chore/s6-005-repo-housekeeping

Conversation

@lwalden

@lwalden lwalden commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

Repo housekeeping (sprint item S6-005):

  • Track sprint docs: commits docs/sprints/S5-specs.md and docs/archive/unified-roadmap-2026-04-07.md (previously untracked working artifacts now part of the record).
  • Ignore local state: adds .vscode/ and .sprint-metrics.json to .gitignore.
  • Sprint metrics wiring: sprint-metrics.sh gains phase and status subcommands (with auto-init when the metrics file is absent); sprint-update.sh auto-invokes metrics emission as a best-effort side channel — a metrics failure can never fail a SPRINT.md update.

Review fix-now items applied (922e46b): uniform item schema (transitions: [] in item-start), uniform file schema (phases: [] in init), stderr advisory when jq is absent, and phase added to the usage string.

Gitignore-safety verification

git ls-files .vscode and git ls-files .sprint-metrics.json both returned empty before the ignore entries were added — neither path was ever tracked, so the ignores are purely additive (no untracking, no working-copy risk on checkout).

Test plan

  • bash -n on both scripts (LF endings preserved per .gitattributes)
  • Fixture verification in a temp dir: init and status-auto-init emit identical schemas; item-start and status-created items have identical shape; phase appends to the phases timeline; jq-absent path prints the advisory, exits 0, and still updates SPRINT.md
  • dotnet build TradingSystem.sln — 0 warnings, 0 errors
  • dotnet test TradingSystem.sln — 590/590 passed

No trading logic, Program.cs, csproj, or DI changes — no host-boot smoke required.

🤖 Generated with Claude Code

lwalden and others added 2 commits June 10, 2026 18:13
…print metrics (S6-005)

Three independent hygiene chores per the S6-005 spec:

- Track docs/sprints/S5-specs.md and docs/archive/unified-roadmap-2026-04-07.md:
  both were referenced by the S5 archive but never committed (content identity
  verified against the main checkout via git hash-object).
- Ignore .vscode/ (locked decision: gitignored, not committed) and
  .sprint-metrics.json (local runtime state, same class as .context-usage).
  Both verified untracked beforehand — purely additive, no git rm --cached.
- Wire sprint-metrics emission (Default D12): sprint-metrics.sh gains phase
  and status subcommands with auto-init from SPRINT.md's **Sprint:** line
  (fallback "unknown"), and sprint-update.sh invokes them best-effort
  (jq-guarded, || true) after each successful phase/status/sprint-status
  edit — the script existed and the retro consumed its output, but nothing
  ever invoked it, so S5's retro fell back to git-log parsing. Metrics
  failure can never fail the SPRINT.md update (observability, not control).

Verified: phase/status auto-init + transitions via jq asserts in a temp
fixture; jq-stripped PATH still updates SPRINT.md with exit 0; existing
init/item-start/item-complete/cycle/rework/finalize unchanged; suite 590/590.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- item-start now emits transitions:[] so items have identical schema
  regardless of creation path (item-start vs status auto-create)
- init heredoc gains phases:[] to match auto_init's schema exactly
- emit_metrics prints a one-line stderr advisory when jq is absent
  instead of silently skipping (never-fail contract preserved)
- top-level usage string now lists the phase subcommand

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lwalden lwalden merged commit 420f033 into main Jun 11, 2026
4 checks passed
@lwalden lwalden deleted the chore/s6-005-repo-housekeeping branch June 11, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant