# Changelog

All notable changes to this project will be documented in this file.

## [0.5.147] - 2026-09-12

### Fixed
- preserve desktop focus during browser automation
- remove model self-confirmation from review capture

## [0.5.146] - 2026-09-11

### Fixed
- reject capability-limited reviews with browser retry guidance

## [0.5.145] - 2026-09-04

### Fixed
- select Pro from lower-power ChatGPT defaults

## [0.5.144] - 2026-09-04

### Fixed
- select and verify GPT-6 Pro by default

## [0.5.143] - 2026-09-03

### Fixed
- keep normal reviews on regular Chat

## [0.5.142] - 2026-09-01

### Fixed
- bound long-lived CDP command state

## [0.5.141] - 2026-08-31

### Fixed
- accept live Sol response slug

## [0.5.140] - 2026-08-31

### Fixed
- tolerate hydrated thread recovery
- recover captures from lost targets

## [0.5.139] - 2026-08-28

### Fixed
- validate declared patch artifacts

## [0.5.138] - 2026-08-26

### Fixed
- close unvalidated wake recovery tabs

## [0.5.137] - 2026-08-21

### Fixed
- retry transient ChatGPT auth (#4)

## [0.5.136] - 2026-08-20

### Fixed
- accept advertised negative flags

## [0.5.135] - 2026-08-20

### Fixed
- harden review artifact capture

## [0.5.134] - 2026-08-18

### Fixed
- hard-refresh stuck ChatGPT pages

## [0.5.133] - 2026-08-16

### Fixed
- manage browser lifecycle without stealing focus (#3)

## [0.5.132] - 2026-08-15

### Fixed
- stabilize deep research conversation identity
- accept timestamped submitted attachment names

### Changed
- document timestamped attachment names

## [0.5.131] - 2026-08-15

### Fixed
- make marked response threshold configurable

## [0.5.130] - 2026-08-15

### Fixed
- verify filename-only submitted attachments

## [0.5.129] - 2026-08-15

### Fixed
- canonicalize nested ChatGPT turn aliases

## [0.5.128] - 2026-08-15

### Fixed
- wait for canonical thread URL after send

## [0.5.127] - 2026-08-14

### Added
- clean up idle draft tabs

### Fixed
- integrate exact capture recovery
- harden browser send and wake recovery

## [0.5.126] - 2026-08-14

### Fixed
- close owned review targets reliably

## [0.5.125] - 2026-08-14

### Changed
- stop scanning Codex session contents

## [0.5.124] - 2026-08-06

### Changed
- poll active responses once per minute
- reduce browser polling overhead

## [0.5.123] - 2026-08-06

### Fixed
- close harvested review tabs

## [0.5.122] - 2026-08-02

### Fixed
- stop blocking draft staging on an unselectable model

## [0.5.121] - 2026-07-30

### Fixed
- retain waited review attachments

### Changed
- simplify waited attachment cleanup

## [0.5.120] - 2026-07-30

### Fixed
- preserve sent review recovery context

## [0.5.119] - 2026-07-30

### Fixed
- wait for structurally complete assistant turns

## [0.5.118] - 2026-07-30

### Fixed
- wait for canonical ChatGPT thread URLs
- lower marked review minimum to five minutes

## [0.5.117] - 2026-07-25

### Fixed
- report wait timeouts instead of model mismatches

## [0.5.116] - 2026-07-25

### Fixed
- block credential-shaped files from review artifacts

## [0.5.115] - 2026-07-25

### Fixed
- confirm attachments from composer tiles

## [0.5.114] - 2026-07-22

### Fixed
- align marked review help

## [0.5.113] - 2026-07-22

### Fixed
- lower marked review minimum

## [0.5.112] - 2026-07-21

### Fixed
- verify Mountain model through Advanced

## [0.5.111] - 2026-07-18

### Fixed
- accept current Sol response slug

## [0.5.110] - 2026-07-18

### Fixed
- support split GPT-5.6 Sol picker

## [0.5.109] - 2026-07-16

### Fixed
- reject implausibly fast marked reviews

## [0.5.108] - 2026-07-14

### Fixed
- release focus from retained review tabs

## Unreleased

- Close unvalidated exact-capture replacement tabs when wake validation or metadata rebinding fails, preventing repeated wakes from accumulating duplicate conversation tabs.
- Confirm attachments before placing review text in the composer, and close unsent directly owned draft targets on ordinary termination signals.
- Close exact harvested targets and wake-created targets on wake failure or timeout while preserving reused recovery tabs.
- Fail closed when a managed profile is locked but its debugging endpoint is unavailable instead of forwarding another browser window.
- Retain generated attachments through waited response capture so large ChatGPT uploads remain readable after send.
- Release CDP focus emulation before detaching from retained draft and send-without-wait targets so preserved ChatGPT tabs return to normal background scheduling.
- Accept ChatGPT's current `gpt-5-6-thinking` response slug as verification for a selected GPT-5.6 Sol model.
- Ignore provisional `WEB:<id>` conversation routes and report a fresh auto-send thread only after its canonical URL is stable across separate polling cycles.
- Keep polling when an idle snapshot contains only an unfinished assistant turn, and hand off prose only after ChatGPT exposes structural completion evidence.
- Preserve the sent thread URL when response capture fails so callers can resume the existing review without sending a duplicate.

All notable changes to this project will be documented in this file.

## [0.5.107] - 2026-07-14

### Fixed
- reduce managed browser background CPU

## [0.5.106] - 2026-07-12

### Fixed
- select current ChatGPT Pro model (#1)

## [0.5.105] - 2026-07-12

### Fixed
- extend review response timeout

## [0.5.104] - 2026-07-12

### Fixed
- harden review response attestation

## [0.5.103] - 2026-07-11

### Fixed
- accept long unknown model confirmations
- clean up confirmed review attachments

## [0.5.102] - 2026-07-10

### Added
- default review context to codebase zip

## [0.5.101] - 2026-07-10

### Fixed
- require explicit model confirmation

## [0.5.100] - 2026-07-09

### Fixed
- verify GPT-5.6 Sol responses

## [0.5.99] - 2026-07-09

### Added
- default to GPT-5.6 Sol

## [0.5.98] - 2026-07-09

### Fixed
- finish model confirmation failure path
- require model confirmation for waited reviews

## [0.5.97] - 2026-07-08

### Fixed
- update repomix dependency

## [0.5.96] - 2026-07-08

### Fixed
- fail on unavailable ChatGPT Pro model

## [0.5.95] - 2026-07-01

### Fixed
- require visible attachment names before upload confirmation

## [0.5.94] - 2026-06-24

### Fixed
- preserve ChatGPT GitHub connector pill
- require visible attachment filenames before confirming draft upload staging

## [0.5.93] - 2026-06-24

### Fixed
- select ChatGPT GitHub connector by mention

## [0.5.92] - 2026-06-12

### Fixed
- keep background tabs rendering without stealing OS focus

## [0.5.91] - 2026-06-12

### Added
- add --response-marker contract-based response capture

### Fixed
- keep the polled tab foregrounded so background render throttling cannot freeze response capture
- only count quiet polls toward response stability and explain profile-lock startup failures

## [0.5.90] - 2026-05-27

### Fixed
- let zip override disabled artifacts

## Unreleased

### Changed
- default review context to a single `codebase.zip` attachment; Repomix remains available by explicit configuration
- default managed browsers to balanced background scheduling while retaining an explicit fully unthrottled fallback

### Fixed
- let `--zip` override config-disabled artifact attachments
- stop retaining generated ZIP attachments after ChatGPT confirms upload or send

## [0.5.89] - 2026-05-27

### Added
- support connector-only reviews

## [0.5.88] - 2026-05-10

### Changed
- update review-gpt audit dependencies

## [0.5.87] - 2026-05-10

### Fixed
- select chatgpt app connectors

## [0.5.86] - 2026-04-30

### Fixed
- handle updated ChatGPT model picker

## [0.5.85] - 2026-04-28

### Fixed
- always create fresh ChatGPT draft targets

## [0.5.84] - 2026-04-27

### Fixed
- keep background automation on existing targets

## [0.5.83] - 2026-04-27

### Fixed
- allow background browser draft automation

## [0.5.82] - 2026-04-26

### Added
- make snapshot attachment name configurable

## [0.5.81] - 2026-04-24

### Fixed
- detect ChatGPT assistant failure controls

## [0.5.80] - 2026-04-24

### Fixed
- report checked pro row
- fail thread wake on ChatGPT assistant generation failure controls

## [0.5.79] - 2026-04-24

### Fixed
- target gpt 5.5 model rows

## [0.5.78] - 2026-04-24

### Fixed
- avoid pro rows for non-pro aliases

## [0.5.77] - 2026-04-24

### Added
- retain text responses

### Fixed
- retry flaky artifact downloads

## [0.5.76] - 2026-04-23

### Fixed
- preserve full thread export text

## [0.5.75] - 2026-04-23

### Added
- make repomix packaging configurable

### Fixed
- keep stdin-packaged files in repomix

## [0.5.74] - 2026-04-23

### Fixed
- zip repomix attachments by default
- stop using copy as completion signal

### Changed
- ignore output packages

## [0.5.73] - 2026-04-22

### Fixed
- make thread wake reconcile regressed snapshots

## [0.5.72] - 2026-04-21

### Fixed
- reuse existing thread tabs

## [0.5.71] - 2026-04-20

### Fixed
- detect stable prose replies across assistant snapshots

## [0.5.70] - 2026-04-19

### Fixed
- start wake timeout after delay

## [0.5.69] - 2026-04-18

### Added
- add top-level delay command

## [0.5.68] - 2026-04-18

### Changed
- split draft and wake helpers

## [0.5.67] - 2026-04-18

### Fixed
- accept staged multi-file uploads

## [0.5.66] - 2026-04-17

### Fixed
- remove prompt-only review mode

## [0.5.65] - 2026-04-17

### Fixed
- capture send failure bundles

## [0.5.64] - 2026-04-17

### Fixed
- detect latest matching autosend turn
- hand off stable prose-only thread wakes

## [0.5.63] - 2026-04-16

### Added
- add recursive prompt overrides for thread wake

## [0.5.62] - 2026-04-15

### Fixed
- download all final-turn controls

## [0.5.61] - 2026-04-15

### Fixed
- force first export reload

## [0.5.60] - 2026-04-13

### Fixed
- decouple handoff from session persistence

## [0.5.59] - 2026-04-13

### Fixed
- improve recursive wake telemetry

### Changed
- simplify recursive wake helpers

## [0.5.58] - 2026-04-12

### Fixed
- detect generic patch download controls

### Changed
- unify assistant download target detection

## [0.5.57] - 2026-04-12

### Fixed
- download latest assistant artifacts structurally

## [0.5.56] - 2026-04-12

### Added
- host work-with-pro skill

### Fixed
- require filename-shaped artifacts

## [0.5.55] - 2026-04-11

### Fixed
- detach recursive wake hops

## [0.5.54] - 2026-04-10

### Added
- add recursive thread wake follow-up review

## [0.5.53] - 2026-04-10

### Changed
- share chatgpt selector definitions
- unify chatgpt thread capture

## [0.5.52] - 2026-04-09

### Fixed
- reload stale same-thread snapshots

## [0.5.51] - 2026-04-07

### Fixed
- wait for stable idle completion

## [0.5.50] - 2026-04-07

### Fixed
- accept visible sequential uploads

## [0.5.49] - 2026-04-07

### Fixed
- wait for ready attachments before send

## [0.5.48] - 2026-04-07

### Fixed
- launch follow-up children via codex exec

### Changed
- remove dead expect launcher code

## [0.5.47] - 2026-04-06

### Fixed
- restore stable review-gpt bin wrapper

## [0.5.46] - 2026-04-06

### Fixed
- detect modern codex session evidence

## [0.5.45] - 2026-04-06

### Added
- surface autosend thread ids

## [0.5.44] - 2026-04-06

### Fixed
- harvest assistant artifacts

## [0.5.43] - 2026-04-06

### Changed
- No user-facing changes recorded.

## [0.5.42] - 2026-04-06

### Fixed
- ignore stale assistant attachments
- exit after codex handoff

## [0.5.41] - 2026-04-06

### Fixed
- spread simultaneous startup polls

## [0.5.40] - 2026-04-05

### Changed
- stub expect preflight in CI

## [0.5.39] - 2026-04-05

### Fixed
- harden transport and release followups

## [0.5.38] - 2026-04-05

### Fixed
- require exact codex session ownership
- keep polling on fragment snapshots

## [0.5.37] - 2026-04-05

### Fixed
- scope tab reuse to same thread

## [0.5.36] - 2026-04-05

### Fixed
- harden chatgpt target reuse

### Changed
- pin pnpm to 10.33.0

## [0.5.35] - 2026-04-04

### Fixed
- jitter polling and retry transient exports

## [0.5.34] - 2026-04-04

### Fixed
- ignore input zip artifacts and wait longer

## [0.5.33] - 2026-04-04

### Fixed
- expose watched chat url to resume prompts

### Changed
- note same-thread wake follow-up support

## [Unreleased]

### Added
- add `thread wake --recursive-depth` for same-thread follow-up review and wake loops with attached-file review sends
- host the `work-with-pro` Codex skill in `review-gpt`

### Fixed
- let `thread wake` resume prompts interpolate the watched ChatGPT thread URL and chat ID, and always include the watched thread URL in the seeded Codex follow-up prompt so same-thread `review:gpt --send --chat-url ...` follow-ups are explicit
- make `thread wake` poll on a jittered 60-120s default cadence, tolerate transient thread-export failures, and wait up to 60s for thread content readiness on each check
- let `thread wake` reuse only tabs already on the requested conversation, while still treating `/c/<thread-id>` URLs with extra query parameters as the same conversation
- preserve the last successful wake snapshot across later export flakiness and avoid treating stale stop buttons as authoritative busy signals once a patch artifact is already visible
- keep polling when the last assistant turn is only a fragmentary stub like `I`, force one immediate refresh before concluding a patchless thread is complete, and record the last assistant preview plus busy reason in wake status telemetry
- force a bounded same-tab reload after repeated identical no-artifact `assistant-settling` snapshots so stale hydrated DOM state can recover without opening extra tabs or aggressively refreshing active runs
- surface stale-snapshot counters, reload scheduling, and forced reload counts in `thread wake` status telemetry for follow-up debugging

## [0.5.32] - 2026-04-04

### Fixed
- make `thread wake` mimic manual interactive codex

## [0.5.31] - 2026-04-04

### Added
- add resume prompt flag

## [0.5.30] - 2026-04-03

### Fixed
- restore trusted npm publish workflow

## [0.5.29] - 2026-04-03

### Fixed
- spawn thread wake follow-up in child codex session

### Changed
- reposition package for general npm use

## [0.5.28] - 2026-04-03

### Changed
- No user-facing changes recorded.

## [0.5.27] - 2026-04-03

### Fixed
- publish npm package without provenance

## [0.5.26] - 2026-04-03

### Fixed
- stop self-updating npm in publish workflow

## [0.5.25] - 2026-04-03

### Fixed
- wait for real conversation content after reload

## [0.5.24] - 2026-04-02

### Fixed
- pin release npm version

## [0.5.23] - 2026-04-02

### Fixed
- remove npm self-update from release

## [0.5.22] - 2026-04-02

### Fixed
- harden wake snapshot polling
- stabilize thread conversation URLs

## [0.5.21] - 2026-04-01

### Fixed
- harden wake attachment activation

## [0.5.20] - 2026-04-01

### Fixed
- harden thread download fallback

## [0.5.19] - 2026-03-31

### Changed
- use incur positional preset args

## [0.5.18] - 2026-03-31

### Fixed
- restore positional preset runs

## [0.5.17] - 2026-03-31

### Fixed
- upload files individually on explicit preset runs
- support preset shorthand and avoid duplicate reupload

## [0.5.16] - 2026-03-31

### Fixed
- prefer the general upload input

## [0.5.15] - 2026-03-31

### Fixed
- stage files sequentially

## [0.5.14] - 2026-03-31

### Fixed
- wait before verifying uploads

## [0.5.13] - 2026-03-31

### Fixed
- align repomix to audit zip

## [0.5.12] - 2026-03-31

### Fixed
- harden assistant artifact downloads

## [0.5.11] - 2026-03-31

### Fixed
- drop artifact boilerplate and mute static wake label

## [0.5.10] - 2026-03-31

### Added
- default wake polling
- add wake polling
- stage repomix xml review artifacts

### Fixed
- handle generic thinking rows

### Changed
- use incur parsing directly

## [0.5.9] - 2026-03-30

### Added
- use repo-tools packager by default

### Fixed
- allow delayed `thread wake` follow-ups to poll until the ChatGPT thread no longer looks busy before downloading artifacts or resuming Codex

### Changed
- make polling the default `thread wake` behavior and leave `--no-poll-until-complete` as the explicit one-shot opt-out

## [0.5.8] - 2026-03-30

### Added
- add explicit test include flags

## [0.5.7] - 2026-03-29

### Fixed
- detect zip attachments in delayed follow-ups
- refresh stale chat tabs before capture

## [0.5.6] - 2026-03-29

### Fixed
- resolve codex binary outside shell path

## [0.5.5] - 2026-03-29

### Fixed
- pack tarball outside workspace tree

## [0.5.4] - 2026-03-29

### Fixed
- defer browser access until delay elapses

### Changed
- reset metadata to v0.5.2

## [0.5.2] - 2026-03-29

### Added
- add delayed chatgpt wake helpers

## [0.5.1] - 2026-03-26

### Fixed
- honor composer chip state

## [Unreleased]

### Fixed
- launch thread-wake follow-up work in a fresh Codex child session under the resolved `CODEX_HOME` instead of resuming the original session ID

### Changed
- depend on `@cobuild/repo-tools` at runtime so `review-gpt` can package repo context without a consumer repo wrapper by default
- attach `repo.repomix.xml` before `repo.snapshot.zip` and append `BASE_COMMIT` review guidance by default
- remove legacy argv rewriting and use incur parsing directly for review and thread subcommands

### Fixed
- stop hanging on ChatGPT's current Pro picker flow when the dropdown button label stays `ChatGPT` and the composer chip reflects the selected model instead
- prefer final assistant-turn patch artifacts, ignore chat-link false positives, and fall back to estuary-backed thread downloads

## [0.5.0] - 2026-03-26

### Added
- rebuild review-gpt on incur

### Fixed
- retain selection promises during draft staging

## [0.4.4] - 2026-03-26

### Fixed
- sanitize deep research reports
- clarify wait behavior

## [0.4.3] - 2026-03-26

### Fixed
- capture completed Deep Research reports from the sandbox when they do not mirror back into the parent conversation turn
- wait up to 60 seconds for Deep Research to auto-start after send before falling back to the second-step `Start` gate

## [0.4.2] - 2026-03-25

### Fixed
- detect trailing picker selection icons

## [0.4.1] - 2026-03-24

### Fixed
- accept compact pro model labels

## [0.4.0] - 2026-03-24

### Added
- add deep research response capture
- add zip:src script

## [0.3.2] - 2026-03-13

### Fixed
- initialize preset arrays for strict bash

## [0.3.1] - 2026-03-13

### Changed
- No user-facing changes recorded.

## [0.3.0] - 2026-03-13

### Added
- require repo-defined review prompts
- support repo-defined presets

## [0.2.16] - 2026-03-13

### Added
- expand managed browser options

### Changed
- drop manual copy fallback
- bump repo-tools to v0.1.13
- remove repo-tools fallback shim
- align pnpm review workflow

## [0.2.15] - 2026-03-07

### Changed
- bump repo-tools to 0.1.10
- remove npm lockfile

## [0.2.14] - 2026-03-07

### Fixed
- invoke package script via bash

### Changed
- reuse repo-tools sync helper
- align repo-tools lockfile
- bump repo-tools to 0.1.8
- use published repo-tools 0.1.6
- bump repo-tools
- remove local repo-tools workaround

## [0.2.13] - 2026-03-06

### Fixed
- use installed repo-tools package

## [0.2.12] - 2026-03-06

### Fixed
- harden chatgpt attachment staging

### Changed
- allow repo-local non-conventional commits
- use published repo-tools
- share repo tooling

## [0.2.11] - 2026-03-05

### Changed
- remove startup1 wording

## [0.2.10] - 2026-03-05

### Added
- sync canonical downstream wrappers
- add repo harness and safer model defaults

### Changed
- remove startup-specific wrapper sync
- ignore audit-packages directory
- auto-sync startup repos after release

## [0.2.9] - 2026-03-04

### Fixed
- harden autosend for existing chat targets

## [0.2.8] - 2026-03-04

### Added
- add send/chat targeting for review GPT drafts

## [0.2.7] - 2026-02-26

### Changed
- fix no-zip draft staging under bash nounset

## [0.2.6] - 2026-02-26

### Added
- add optional --no-zip prompt-only draft mode

## [0.2.5] - 2026-02-26

### Changed
- No user-facing changes recorded.

## [0.2.4] - 2026-02-26

### Fixed
- tolerate selector misses and retry socket drops

## [0.2.3] - 2026-02-26

### Added
- add prompt-file flag for local prompt markdown

### Changed
- enforce package identity in tag workflow
- clarify purpose and usage

## [0.2.2] - 2026-02-25

### Fixed
- initialize changelog arrays under nounset

## [0.2.1] - 2026-02-25

### Added
- add codex-style release notes flow

### Fixed
- require --preid for pre* actions

## [0.2.0] - 2026-02-25

### Added
- add tag-driven release automation and changelog tooling
- add shared review gpt cli

### Fixed
- restore review launcher executable bit

### Changed
- split draft driver and add release/test tooling
- remove oracle runtime and unify prompt flag
- prepare npm publish metadata

## [0.1.0] - 2026-02-25

### Added
- Added the shared `@cobuild/review-gpt` CLI package used across Cobuild repositories.
- Added release tooling and tests for core prompt/draft behavior.

### Changed
- Removed Oracle runtime; the launcher now runs draft-only flow with manual submit.
- Unified custom inline prompt input under `--prompt`.
- Split draft staging CDP logic into a dedicated JS driver module.

### Fixed
- Restored executable mode for the review launcher script.
