Skip to content

Emit optional session catalog hints after native saves - #367

Draft
Brian Krabach (bkrabach) wants to merge 1 commit into
mainfrom
codex/catalog-discovery-hints-20261002
Draft

Brian Krabach (bkrabach) wants to merge 1 commit into
mainfrom
codex/catalog-discovery-hints-20261002

Conversation

@bkrabach

Copy link
Copy Markdown
Collaborator

Sessions saved outside a running host otherwise wait for a catalog metadata scan to become discoverable. Add an optional, location-only notice after successful native saves and metadata changes so a separate catalog can index the changed session promptly.

The writer is disabled by default. Setting AMPLIFIER_SESSION_CATALOG_HINT_DIRECTORY enables a private POSIX inbox: atomic notices coalesce by session directory, contain no transcript/event/metadata payload, and cannot turn successful native persistence into an error. No catalog dependency or background process is added to the CLI. Native history, backups, resume IDs and fork semantics remain unchanged; periodic catalog scanning repairs missed notices. The independently implemented consumer uses the public amplifier-session-catalog hint contract.

Validation:

  • 2,507 ordinary tests passed, with 45 existing skips and one expected failure; all 13 separate real-PTY integration tests passed.
  • New tests cover disabled/opt-in behavior, coalescing, successful-save ordering, failed-save isolation, inaccessible inboxes, and byte-preserved transcript/event history.
  • Installed CLI and catalog wheels: new/renamed sessions became discoverable with scanning disabled; root, child and missing-workspace visibility stayed correct; transcript/event hashes were unchanged.
  • The optional inbox is explicitly POSIX-only. Existing scanning and native persistence remain available on other platforms.

The test environment uses the CLI's frozen dependency graph (Foundation 89575c3482e3e8afe5a03df72e723cf815fa1f6c, Core 1.6.1), not a claim of current-main runtime adoption. The normal suite was run with a color-capable test terminal (NO_COLOR unset, TERM=xterm-256color) for the unchanged ANSI-rendering tests. No model calls, credentials or production services were used.

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