Skip to content

chore(gitignore): collapse codex-pair entries to single .codex-pair/ line (ADR-092)#180

Merged
Lykhoyda merged 1 commit into
mainfrom
chore/codex-pair-single-dir-gitignore
May 26, 2026
Merged

chore(gitignore): collapse codex-pair entries to single .codex-pair/ line (ADR-092)#180
Lykhoyda merged 1 commit into
mainfrom
chore/codex-pair-single-dir-gitignore

Conversation

@Lykhoyda
Copy link
Copy Markdown
Owner

Summary

ask-llm plugin v0.7.1 moved every codex-pair state artifact (marker, log, cache, ignore globs, pause sentinel, inflight locks) under a single .codex-pair/ directory per ADR-092. The old four-line gitignore block no longer matches the layout — those exact paths never get created by the new hook, so the entries are dead.

Old (dead) New (replaces all four)
.codex-pair-context.md .codex-pair/
.codex-pair-log.jsonl (covers context.md, log.jsonl, cache/, state/, ignore, inflight)
.codex-pair-cache/
.codex-pair-state/

Why this matters

Plugin v0.7.1's hook self-gates on .codex-pair/context.md. The old marker at .codex-pair-context.md is no longer recognized — so contributors who set up codex-pair under v0.6.x see the hook go silent after the plugin update (the log goes ~6 days without entries — that's how I noticed). New contributors enabling codex-pair only need the single .codex-pair/ gitignore entry; the entire opt-in state directory is per-developer and never committed.

Verified locally

  • Migrated .codex-pair-context.md.codex-pair/context.md (marker preserved verbatim)
  • Migrated .codex-pair-log.jsonl.codex-pair/log.jsonl
  • Migrated .codex-pair-cache/.codex-pair/cache/
  • Migrated .codex-pair-state/.codex-pair/state/
  • New hook fires on the next Edit — smoke test caught both planted issues (regex-injection HIGH + non-import type MED) in 19s
  • git check-ignore -v confirms all three new paths are covered by the single .codex-pair/ line

Test plan

  • gitignore patterns verified via git check-ignore
  • codex-pair hook fires correctly with new layout (smoke test)
  • CI green (gitignore-only change; should be quick)

Refs

  • ADR-092 — single-directory layout for codex-pair state
  • ask-llm plugin v0.7.1

🤖 Generated with Claude Code

…line (ADR-092)

ask-llm plugin v0.7.1 moved every codex-pair state artifact (marker,
log, cache, ignore globs, pause sentinel, inflight locks) under a single
.codex-pair/ directory per ADR-092. The old four-line gitignore block
(`.codex-pair-context.md`, `.codex-pair-log.jsonl`, `.codex-pair-cache/`,
`.codex-pair-state/`) no longer matches the layout — those exact paths
never get created by the new hook, so the entries are dead.

Replaced with a single `.codex-pair/` entry that covers every nested
artifact including any future additions the plugin adds.

Verified locally:
- migrated .codex-pair-context.md → .codex-pair/context.md
- migrated .codex-pair-log.jsonl → .codex-pair/log.jsonl
- migrated .codex-pair-cache/ → .codex-pair/cache/
- migrated .codex-pair-state/ → .codex-pair/state/
- the new hook fires on the next Edit (smoke test caught both planted
  issues: regex-injection HIGH + non-import-type MED in 19s)
- `git check-ignore` confirms all three .codex-pair/* paths covered by
  the single line

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Lykhoyda Lykhoyda merged commit 568419c into main May 26, 2026
7 checks passed
@Lykhoyda Lykhoyda deleted the chore/codex-pair-single-dir-gitignore branch May 26, 2026 20:29
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