feat(execd): add bounded command inventory - #1309
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e6ad87e11b
ℹ️ 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".
|
Follow-up: the original unfiltered |
|
The PR is being reduced before merge to an active-only bounded query ( |
|
Marked draft while the implementation is narrowed. The next revision will address the concrete review items without expanding this PR into retained-command history management:
The existing process-lifetime retention of terminal |
87ae751 to
5ad5026
Compare
|
Superseded the prior active-only snapshot proposal and force-updated this Draft PR to the bounded Command Inventory contract: running filter, opaque filter-bound cursor pagination, terminal cap/TTL retention, five SDKs, smoke/CI coverage, and documentation. The PR remains Draft pending upstream CI. |
|
Revised while Draft after independent review: removed the unused Python generator target and JS/Kotlin leap-second scope; added no-store coverage for handler and unauthorized inventory errors; clarified filter-bound cursor behavior in OpenAPI, generated JS IntelliSense, and all SDK guides; restored a working Jupyter quick start. The bounded inventory core and #1403 legacy-retention boundary are unchanged. Local focused verification is documented in the PR body. Returning this PR to Ready for review now. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0bed5b4c0d
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a0b5f3dd6a
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4c01f4d2df
ℹ️ 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".
|
Rewrote the Draft branch history into four coherent review commits without changing the final patch (verified byte-equivalent to the pre-compression branch): core feature/API/SDK surfaces; tests and CI; targeted Python generation support; and human-facing documentation. This removes transient add/revert and iterative bot-fix commits so each remaining commit is independently reviewable. |
aa6b49d to
2dbfaf8
Compare
Summary
GET /commandinventory for commands retained by the currentexecdcontrollerrunningfiltering, opaque filter-bound cursor pagination, terminal-entry cap/TTL retention, and bounded JSON responsesCloses #1308
Contract
This is a runtime-local observation API, not durable command history or audit storage. It exposes no command content, environment, stdin, output, or log paths.
runningfilter and current controller instance. Preserve the filter for every page; after restart/controller replacement or a different instance, omit the cursor and restart pagination.Cache-Control: no-store.Known compatibility boundary
The inventory TTL/cap applies only to its metadata index. Existing known-ID status/log/interrupt compatibility still uses
commandClientMap, whose terminal kernels can retain command content for the controller lifetime. That legacy retention is not presented as solved here; it is tracked separately in #1403.Verification
--target execdgenerated-client synchronizationGenerated Python OpenAPI models are intentionally excluded from canonical Ruff/Pyright checks. The checked-in Execd endpoint docs are regenerated through the tested, failure-safe
uv run python scripts/generate_api.py --target execdpath; generator-format findings are not hand-edited.Compatibility