Skip to content

feat: ccx me, doctor transcript coverage, log -C and --since - #42

Merged
lroolle merged 6 commits into
mainfrom
feat/me
Oct 17, 2026
Merged

lroolle merged 6 commits into
mainfrom
feat/me

Conversation

@lroolle

@lroolle lroolle commented Oct 17, 2026

Copy link
Copy Markdown
Member

Summary

Work dogfooded on 2026-09-30 that sat uncommitted on top of the pre-release v0.17.0 candidate, ported onto v0.17.0.

  • ccx me: the human's profile from prompt history alone (ccx.me.v1): tempo, months, steering (slash commands, /rewind edits, resends, workspace switches), workspaces. --term name=regex trends any phrase by month. Reads history.jsonl, which outlives transcript cleanup: about 22k prompts read in under 1 s on a real store.
  • ccx doctor: reports Claude Code cleanupPeriodDays and compares the sessions named in prompt history with the transcripts on disk, per provider and month.
  • log -C/--context N: keeps N records around each --kind/--match hit from the same transcript, flagged context: true.
  • Fixes:
    • Subagent briefs are kind agent_prompt, not user_prompt.
    • --since without --until runs until now (log, insight).
    • doctor's Codex restore hint names sessions/.

Notes

  • Only CHANGELOG conflicted during the port. The released 0.17.0 section is kept as shipped, and the new entries are under [Unreleased].
  • The two 2026-09-30 devlogs for this work are not in this PR. They analyze one person's prompt history and are held back for a privacy call.

Test plan

  • gofmt -l . empty, go vet ./..., go test ./... green locally; each commit builds on its own
  • ccx me --tz +8 and ccx doctor run against a real store; the doctor month table was checked against the rollout files on disk
  • CI: test (race) and golangci-lint

🤖 Generated with Claude Code

lroolle and others added 6 commits October 17, 2026 02:42
A subagent's task prompt is user-role text written by the parent agent.
Inline (isSidechain) or in a subagents/ file it was classified
user_prompt, so metrics.user_prompts ran a fifth to a half high. It is
now kind agent_prompt; insight already excluded it.

--since without --until was rejected; "since X" now runs until now in
log and insight, and the reconstructed insight command drops the empty
--until.

log -C/--context N keeps N records on each side of every --kind/--match
hit from the same transcript, flagged context: true. Matches and
aggregates still count matches only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ccx me reads only what the human typed (Claude Code and Codex
history.jsonl) and counts it as ccx.me.v1: tempo, months, steering
(slash commands, /rewind edits, resends, workspace switches) and
workspaces. --term name=regex trends any phrase by month, so ccx ships
no word list. History outlives transcript cleanup and reads in seconds.

A day runs 05:00 to 05:00 so a late session stays on the day it began.
decodePromptLine keeps the absolute workspace path beside its basename.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude Code deletes transcripts older than cleanupPeriodDays (default
30) and never touches history.jsonl, so a store can lose months without
one error. doctor reports the retention setting, warning on the default
and on 0, and compares the sessions named in prompt history with the
transcripts on disk per provider and month, listing months where more
than a tenth of the prompts have no transcript. Codex archived_sessions
count as on disk. No transcript is read.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex keeps transcripts under <codex-home>/sessions/; the hint told
Codex users to rsync a projects/ directory that does not exist there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The installed copies were tightened on 2026-09-12 and the repo never
got the edit, so `ccx skills install` reverted them. Bodies unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lroolle
lroolle merged commit a1561ec into main Oct 17, 2026
2 checks passed
@lroolle
lroolle deleted the feat/me branch October 17, 2026 09:50
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