Skip to content

retrospective-interactive-finalize: interactive Self Observation approval - #83

Merged
tarr1124 merged 2 commits into
mainfrom
feature/retrospective-interactive-finalize
Aug 10, 2026
Merged

tarr1124 merged 2 commits into
mainfrom
feature/retrospective-interactive-finalize

Conversation

@tarr1124

Copy link
Copy Markdown
Contributor

Summary

  • --finalize now collects Self Observation approval interactively: unchecked candidates are presented as multi-select questions and the skill writes the [x] marks on the user's behalf. Editing checkboxes in a report file from a terminal session was high-friction.
  • Bare --finalize (no period) sweeps every period in the state sidecar's pending_finalize, oldest first, clustering near-duplicate candidates across periods before asking.
  • The file checkbox remains the durable record; manual [x] + --finalize {period} stays supported.
  • Unattended runs (claude -p, cron) never block: pre-marked lines only, otherwise report-and-exit.
  • Phase 4 offers the approval right after generating a weekly file, while the week is still fresh.

Verification

  • Doc-only change (SKILL.md). CJK / email / PII scans on the diff: clean.
  • The interactive flow was exercised manually in a consumer vault against a 4-period, 21-candidate backlog before writing this spec.

🤖 Generated with Claude Code

tarr1124 and others added 2 commits August 10, 2026 15:01
… interactively

Editing checkboxes in the report file from a terminal session proved
high-friction. --finalize now presents unchecked candidates as
multi-select questions and writes the [x] marks on the user's behalf;
the file checkbox stays the durable record and manual marking remains
a fallback. Bare --finalize sweeps all pending periods (oldest first)
and clusters near-duplicate candidates across periods. Unattended runs
never block: they process pre-marked lines only. Phase 4 now offers the
approval right after generation while context is hot.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…back

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tarr1124
tarr1124 merged commit 1109e90 into main Aug 10, 2026
3 of 4 checks passed
tarr1124 added a commit that referenced this pull request Aug 10, 2026
Claude Code stamps every commit with "Co-Authored-By: ...
<noreply@anthropic.com>", and GitHub squash merges add
"Co-authored-by: ... <user@users.noreply.github.com>". The
commit-message scan (--stdin) has no allowlist, so every
Claude-authored PR failed CI (first seen on PR #83).

Add a full-match-anchored built-in exemption for exactly these two
address shapes in both modes; lookalikes that extend the local part
or swap the domain still fail, and phone/secret hits are never
exempt. The tree-mode remainder rescan honors the same exemption so
a safe address sharing a line with an allowlisted placeholder stays
clean.

Adds test/cli/test-pii-regex-guard.sh (16 cases) covering the
exemption, its anchoring, and unchanged behavior for personal
emails, phones, and secrets; wires it into test/run-all.sh.

Co-authored-by: tarr1124 <tarr1124@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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