Skip to content

feat(lastcode): add Codex thread inspection - #54

Merged
lastobelus merged 12 commits into
lastcode/codex-thread-toolsfrom
lastcode/codex-thread-read
Aug 22, 2026
Merged

lastobelus merged 12 commits into
lastcode/codex-thread-toolsfrom
lastcode/codex-thread-read

Conversation

@lastobelus

Copy link
Copy Markdown
Owner

Problem

Codex can infer LastCode session identity by probing environment variables and SQLite, but there is no supported, bounded way to identify, list, or inspect threads—especially when composing the same operation over SSH.

Solution

  • add t3 thread current|list|read with stable, bounded JSON output;
  • materialize a home-pinned lastcode-thread wrapper and expose it only to Codex processes on supported POSIX hosts;
  • inject authoritative LastCode thread/home identity and preserve Codex's provider-native thread identity in the session projection;
  • use least-privilege authenticated live reads with a bounded offline projection fallback;
  • document explicit local-first/SSH composition without adding host discovery, MCP, or a broker.

This PR is slice 1 of umbrella PR #52. It intentionally contains no thread messaging or waiting behavior.

Validation

  • five bounded Luna-high review rounds; final correctness, KISS, and best-practices results are clean;
  • 231 focused tests passed;
  • focused lint and server/contracts typechecks passed;
  • repository pre-push quick CI passed: formatting, workspace typechecks, and all workspace tests.

Implemented with GPT-5.6 Sol and reviewed with GPT-5.6 Luna in the Codex harness.

@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b3436cc036

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus
lastobelus force-pushed the lastcode/codex-thread-read branch from b3436cc to 3e4612f Compare August 22, 2026 04:12
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3e4612fc1c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 901b0783c2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6732d11255

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b9a533b76c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/thread.ts Outdated
Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a0e46ed769

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d9bd9d0d33

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/provider/CodexThreadTool.ts Outdated
Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 457cfcaa66

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/provider/CodexThreadTool.ts
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 86e501b743

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/thread.ts Outdated
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6648627a8d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/cli/config.ts
lastobelus added a commit that referenced this pull request Aug 29, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Aug 29, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Aug 29, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Aug 30, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Aug 31, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 1, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 2, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 2, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 2, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 2, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 2, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 2, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 3, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 3, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 3, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 3, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 3, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 5, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 5, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 5, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 5, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 5, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
lastobelus added a commit that referenced this pull request Sep 5, 2026
Codex can already discover and inspect LastCode/T3 Code sessions by
probing environment variables and SQLite, but that path is unofficial,
inconsistent, and awkward across hosts. A single user running a handful
of concurrent threads needs a small supported command surface for
identifying, listing, reading, messaging, and waiting on those threads.

This umbrella contains all three reviewed slices:

1. [#54](#54) adds Codex-only
`current`, `list`, and `read` commands plus the generated
`lastcode-thread` launcher. Reads prefer the authenticated live server
and use a bounded, read-only SQLite fallback.
2. [#59](#59) adds live-only,
fire-and-forget `send`.
3. [#61](#61) adds exact
`send --wait` correlation and standalone `wait`, with bounded answers
and recovery handles.

Codex receives authoritative LastCode and provider thread identity.
Cross-host use deliberately composes the same command over SSH. Durable
usage documentation is in `docs/user/codex-thread-tools.md`.

This remains a personal, low-concurrency tool. It does not add an MCP
server, broker, host registry, UI, generic retry framework, or
general-purpose orchestrator. If the provider accepts a turn but the
process dies, correlation finalization fails, the assistant-finalization
marker cannot be persisted before the durable link is recorded, or a
checkpoint revert removes the tracked turn, that wait handle can time
out; automatic retry and reconciliation are intentionally deferred.

- Each slice passed focused tests, package typechecks, lint, formatting,
bounded Luna-high review rounds, and exact-head Codex review before
being merged into this umbrella.
- The rebased patch is identical across all 16 feature commits and
contains only 42 thread-tools files.
- The exact current head `6c618fa9d` passed 224 focused tests and the
guarded quick local CI gate on base `0b0bca08e`, including all workspace
tests and typechecks and 2,749 passing server tests.
- Exact-head Codex review reported no major issues, and every review
thread is resolved.

**Do not merge this umbrella PR into `lastcode/main` until the user
explicitly rubberstamps it.**

Implemented by GPT-5.6 Sol, reviewed with GPT-5.6 Luna, in the T3 Code
Codex harness.
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