Repository navigation
chore: release main - #1738
chore: release main#1738
Conversation
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
9feae34 to
846950e
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
846950e to
5224770
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
5224770 to
0479991
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
0479991 to
6fad06c
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
6fad06c to
0d0d5bd
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
0d0d5bd to
208bb06
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
208bb06 to
7685f0c
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
7685f0c to
1167756
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
1167756 to
052aaa9
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
052aaa9 to
13bfbf8
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
13bfbf8 to
8a79d73
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
8a79d73 to
8cb4a20
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
8cb4a20 to
ff42a6e
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
ff42a6e to
0f5a32e
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
7aa26b2 to
0340ee1
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
0340ee1 to
19df741
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
19df741 to
dc1c545
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
dc1c545 to
3acbed3
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
3acbed3 to
665f318
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
665f318 to
c9d87de
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
…1788) ## Audit finding Addresses part of **M-86** (`POST /interview/submit` trusted `node_id`), and a regression that merged caura PR #1775 introduced in the same check. - **Regression.** #1775 made the route return 404 for any `node_id` that is not a fleet node of the tenant. `caura-interviewer`, the Claude Code and Cursor adapter in `clients/python`, keys one stream per transcript as `cc:<machine>:<session>` or `cursor:...` and never registers a fleet node. Every window it submits is therefore refused, and the runner skips the transcript. No release contains #1775 yet; release PR #1738 lists it. - **M-86, adapter streams.** Before #1775, any write credential in the tenant could advance any stream's watermark. A same-tenant agent credential could move another agent's transcript cursor far ahead, and that transcript would not be interviewed again. ## Change - A UUID `node_id` must still name a fleet node of the tenant (404 otherwise), as in #1775. - Any other `node_id` is an adapter stream and is accepted again. - An agent credential, or an install credential, may continue an adapter stream only when the agent it resolved to last advanced that stream's watermark. Otherwise the route returns 409 and persists nothing. 409 rather than 403, because `caura-interviewer` skips one transcript on a 409 but aborts its whole run on a 403. Tenant credentials keep tenant-wide authority, as on the other write gates. - `read_watermark_state` returns the cursor and the last-advancing agent in one primary read; `read_watermark` keeps its contract. ## Not in this PR - Fleet-node windows. A same-tenant agent credential can still submit for another fleet node, capped at 1,000,000 past its watermark per call. Closing that depends on binding node heartbeats and command receipt to the node's credential (M-85), which needs a migration and a policy decision. It is tracked separately. - A reserved `main` credential still names its subject, the existing known gap until `reserved_agent_id_policy=reject`. ## Verification - Tests first: the first push carries only the new tests, so CI can show them failing against unfixed `main`. The fix is then amended into the same single commit. - No repository scripts, dependency installs, tests or builds were run on Eldad's Mac under its safety hold. CI runs the suites. One signed-off commit. Do not merge or enable auto-merge; Eldad merges after review. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: eldad-caura <eldad@caura.ai> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
c9d87de to
38b2c29
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
38b2c29 to
8bb007c
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
Signed-off-by: release-please[bot] <release-please[bot]@users.noreply.github.com>
8bb007c to
cfb9d8d
Compare
|
Claude Code Review — skipped: PR author 'caura-deploy-bot[bot]' is not a public member of the 'caura-ai' org |
|
@arkash20 please revieww |
|
🤖 Created releases: 🌻 |
🤖 I have created a release beep boop
backend: 3.21.0
3.21.0 (2026-10-03)
Features
Bug Fixes
Dependencies
Documentation
plugin: 2.23.4
2.23.4 (2026-10-03)
Bug Fixes
This PR was generated with Release Please. See documentation.