fix(syncro): resolve billing SSOT — add_line_item is normal, timers outlier-only

Task 3/3a of the harness-optimization spec. Mike confirmed normal billing uses
add_line_item; timers stay available only for explicit outlier requests, never the
normal loop. Rewrote time-entry-protocol.md to defer to the /syncro command (SSOT for
billing mechanics) and state timers are outlier-only; aligned the command's two
absolute "no timers" lines. Contradiction removed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 07:37:36 -07:00
parent bb7dc147ca
commit f177f45657
3 changed files with 40 additions and 55 deletions

View File

@@ -62,16 +62,19 @@ new staged runner.
- Verify: two near-simultaneous `/save`s -> no wiki conflict markers; staged diff
reviewed + applied cleanly.
## Task 3a: Confirm billing SSOT truth [P0 prerequisite — Grok]
- Hard prerequisite before Task 3 edits: confirm with Mike which is operational truth —
`/syncro` command's `add_line_item` (current practice) vs the `time-entry-protocol`
standard's `timer_entry`. Picking wrong bakes a permanent contradictory money rule.
## Task 3a: Confirm billing SSOT truth [RESOLVED 2026-06-08]
- DECISION (Mike): normal billing uses `add_line_item`; timers are NOT part of any
normal billing loop. The timer capability stays available ONLY for explicit outlier
requests ("if I ever ask for a timer"). So the `/syncro` command is the operational
truth; the `time-entry-protocol` standard's "always timer_entry" was wrong.
## Task 3: Single source of truth — Syncro billing [P0]
## Task 3: Single source of truth — Syncro billing [DONE 2026-06-08]
Files: `.claude/commands/syncro.md`, `.claude/standards/syncro/time-entry-protocol.md`.
- Per Task 3a's decision, make one the source and the other a reference; delete the
contradictory/duplicated prose. Add a "command-restates-standard" lint to `/self-check`.
- Verify: one rule, two consistent references.
- Done: rewrote the standard to DEFER to the /syncro command (the SSOT for billing
mechanics) and to state timers are outlier-only; aligned the command's two absolute
"no timers" lines to "outlier, only on explicit request." One rule, two consistent
references; the contradiction is gone.
- Still TODO (later): a "command-restates-standard" lint in `/self-check`.
---