380 Commits

Author SHA1 Message Date
Rohit Prasad
fb1bfc6272
Merge pull request #548 from mo-tunn/fix/skill-upload-token-traversal
fix(skills): confine staged upload tokens
2026-08-30 12:45:18 -07:00
Rohit Prasad
9e145d9ceb
Merge pull request #350 from rkfshakti/fix/repair-tool-pairing-on-load-331
fix: repair tool-call/result pairing on load to prevent unrecoverable 400 errors
2026-08-29 17:03:32 -07:00
Rohit Prasad
fbf57149fa
Merge pull request #70 from lifrary/fix/atomic-conversation-shrink
Make the conversation-log shrink rewrite atomic (prevent history loss on a mid-write crash)
2026-08-29 17:00:12 -07:00
Rohit Prasad
ccc845ded4
Merge pull request #56 from Saidheerajgollu/tolerate-corrupt-jsonl-on-load
Tolerate a corrupt line when loading a conversation .jsonl
2026-08-28 22:53:29 -07:00
Rohit Prasad
5c8f6dd1c2
Merge pull request #219 from hacksics/unparsed-tool-calls-upstream
Recover truncated tool calls, and never pass a leaked one off as an answer
2026-08-28 22:37:03 -07:00
Rohit Prasad
e8824ab1f0
Merge pull request #55 from Saidheerajgollu/harden-session-id-path-traversal
Reject path-traversal session ids in the conversation store
2026-08-28 22:35:57 -07:00
Rohit Prasad
6dfd1a4f3b
Merge pull request #24 from Saidheerajgollu/fix-inbox-reply-substring-intent
Parse inbox reply intent from the leading word, not substrings
2026-08-28 22:09:53 -07:00
Rohit Prasad
d20dd624bb
Merge pull request #379 from Saidheerajgollu/fix/scheduler-stale-tick-double-run
fix: scheduled task can run twice when an approval lands on a tick
2026-08-28 22:09:25 -07:00
Rohit Prasad
c10485448c
Merge pull request #127 from jasmine889966/feat/gui-i18n
Add GUI internationalization with English and Simplified Chinese
2026-08-28 21:46:38 -07:00
Rohit C Prasad
709a9bab90 gui: fix plural forms and notice strings caught by CI e2e
Folder-count summary gets _one/_other; keyboard shortcuts register at commit
so early input isn't dropped during boot; restores main's copy for the
files-location help and the onboarding signed-in line.
2026-08-28 21:13:13 -07:00
Rohit Prasad
03e4a5334b
Merge pull request #586 from rakeshutekar/fix/attachment-read-auth
fix(teams): enforce attachment read authorization
2026-08-28 20:55:48 -07:00
Rohit Prasad
5f2a5542e5
Merge pull request #585 from rakeshutekar/fix/worker-board-item-auth
security(teams): enforce worker visibility on board item reads
2026-08-28 19:41:57 -07:00
Rohit C Prasad
086be2a1a6 gui: re-apply and extend i18n wrapping onto current main
Re-applies the react-i18next wrapping onto main's components and covers the
ones added since; count keys use _one/_other plural forms.
Locale tests enforce en/zh key parity and placeholder contracts.
2026-08-28 16:06:05 -07:00
Rohit C Prasad
5392e7ac15 Merge main into feat/gui-i18n 2026-08-28 16:05:58 -07:00
Rakesh Utekar
0939fd6624 fix(teams): authorize attachment reads
Require attachment reads to resolve through an actor-visible item in the requested board space. Record authoritative attachment provenance so forged comment or transition refs cannot grant blob access, while preserving legacy refs through an atomic one-time migration.

BREAKING CHANGE: BoardDialect.attachment and the /v1/board/attachment endpoint now require a board space.
2026-08-28 15:35:55 -07:00
Rakesh Utekar
e826b48a90 fix(teams): enforce worker item visibility 2026-08-28 14:47:07 -07:00
Rohit Prasad
86c57f0692
Merge pull request #569 from andrewyng/rp/readme-security
Updating README
2026-08-26 10:29:40 -07:00
Rohit C Prasad
ca52cf798e docs: center README header lockup (title, links, badge) 2026-08-26 10:19:51 -07:00
Rohit C Prasad
810edb3ac2 docs: switch to all-languages trendshift badge, centered 2026-08-26 10:14:41 -07:00
Rohit C Prasad
5c799b0363 docs: security-first README (use cases + governed-by-design) and SECURITY.md
README gains a use-cases section led by the security coworkers and a governed-by-design section describing floors, the autonomy ladder, and audit provenance.
SECURITY.md adds vulnerability disclosure via security@openworker.com.
2026-08-26 10:08:45 -07:00
Shakti Prasad Mohapatra
9bad0fdd8e fix: don't inject placeholder for trailing pending tool calls
The repair was synthesising placeholder tool results for any dangling
call, including calls in the last assistant message that are simply
pending (interrupted for approval/question). This broke durable resume
because the provider saw the placeholder and thought the tool already
ran, so resolve_inbox could not re-execute the tool.

Now trailing calls (assistant tool_calls as the last message with no
result) are left untouched — the engine will resume them. Placeholders
are only injected when the thread has moved past the call, proving it
is corrupt rather than pending.

Fixes test_durable_resume_question and
test_durable_resume_approval_executes_tool.
2026-08-26 21:55:48 +05:30
Shakti Prasad Mohapatra
47e82e9336 chore: trigger CI re-run 2026-08-26 21:55:48 +05:30
Shakti Prasad Mohapatra
1789a0fd86 fix: repair tool-call/result pairing on load to prevent unrecoverable 400 errors
When a turn is interrupted at the wrong moment, the append-only JSONL can
end up with a user message between an assistant tool_calls block and its
tool result. Providers reject this ordering (Anthropic 400/2013, OpenAI
'tool_call_ids did not have response messages'), making the session
permanently unrecoverable from the UI.

_repair_tool_pairing() runs in ConversationStore.load() and:
- moves a real tool result found later in the thread to sit right after its call
- synthesises a placeholder result for a call with no matching tool message
- is idempotent — well-formed threads pass through unchanged

Fixes #331
2026-08-26 21:55:48 +05:30
mo-tunn
e4d3953c86 fix(skills): confine staged upload tokens 2026-08-25 22:26:37 +03:00
Rohit Prasad
7fc3ee68e6
Merge pull request #544 from andrewyng/rp/ox-alpha
Add Ox Alpha via OpenRouter; bump to 0.2.1
v0.2.1
2026-08-25 09:18:06 -07:00
Rohit C Prasad
26a51c9fcc Prepare app release 0.2.1: version bump 2026-08-25 09:02:24 -07:00
Rohit C Prasad
6fbd0f995f Add Ox Alpha (stealth preview) via OpenRouter
Catalog-checked: 1,048,576 ctx, tool calling; matrix cap 60->65.
2026-08-25 09:00:15 -07:00
Rohit Prasad
44538a780a
Merge pull request #541 from andrewyng/rp/minor-fixes
Pre-release fixes from the 0.2.0 walkthrough
v0.2.0
2026-08-24 16:04:36 -07:00
Rohit C Prasad
eaba00184e First contact asks via ask_user; titles read the first reply
Specialists offer starting points as an ask_user (free text stays available) so a picked option briefs the reviewer; title generation adds the agent first reply as evidence with a third attempt window.
2026-08-24 15:44:43 -07:00
Rohit C Prasad
eae1ed315f Auto-title at turn start, not turn completion
The title rides the user message the moment it lands — a long agentic turn no longer holds the session name hostage; an opener signature keeps the completion hook (background turns) from burning duplicate attempts.
2026-08-24 15:12:56 -07:00
Rohit C Prasad
5c8a60e7ee Fix session auto-titling on plan-backed sessions
The plan backend 400s on max_output_tokens/temperature/top_p — strip them in the provider; autotitle failures now log at warning, not invisible debug.
2026-08-24 14:48:21 -07:00
Rohit C Prasad
a25274e683 Bookkeeping saves keep their place in Recents
Store save gains touch=False (updated_at means last worked on, never last saved); the banner migration and message-less mode switches use it.
2026-08-24 14:34:12 -07:00
Rohit C Prasad
40990da5e2 Persist approval provenance and server-authored mode notices
Approval origins (reviewer/user/bypass, notes, grants) ride the tool message display sidecar so chips and deny blocks survive reload.
The Auto-Approve explainer is persisted once per session server-side with new shorter copy; later switches persist one-line markers.
2026-08-24 14:14:51 -07:00
Rohit C Prasad
6d0d60b1f2 Show the reviewer hesitation on unsure-escalated approval cards
PERMISSION_REQUIRED carries reviewer_unsure when an unsure verdict raised the card; both card layouts render it as a quiet line.
2026-08-24 13:39:56 -07:00
Rohit C Prasad
2c843cb54e Surface the reviewer pause on the composer mode chip
Auto-approve shows a quiet "· paused" while the breaker is tripped; clears on turn end, question answers, and session switches.
2026-08-24 13:22:30 -07:00
Rohit C Prasad
f1345bdfe2 Auto-approve: 5-deny streak breaker with notice, question-aware reviewer evidence, provenance chips
Breaker pauses loudly and resets on non-deny verdicts and ask_user answers; replies reach the judge with the agent question marked as data.
Cardless runs annotate quietly: auto-approved (reviewer reason) or approval bypassed.
2026-08-24 13:16:31 -07:00
Rohit C Prasad
50c2b04678 Restore live-turn state on session reconnect
ws ready now carries running (server truth); the GUI restores Stop + the waiting row and never shows the intro hero mid-turn.
2026-08-24 12:23:29 -07:00
Rohit C Prasad
ed75ab4b57 Pre-release fixes from the 0.2.0 walkthrough
Onboarding Next now accepts OAuth sign-in; an explicit draft folder pick survives a coworker change.
Composer shows context-window figures only (session totals on hold); specialists introduce themselves on first contact.
2026-08-24 12:01:30 -07:00
Rohit C Prasad
58a39839ea Prepare app release 0.2.0: version bump 2026-08-24 09:59:53 -07:00
Rohit Prasad
c5b377c279
Merge pull request #345 from manavshrivastavagit/feature/ollama-vision-fix
fix: detect Ollama vision models from naming conventions
2026-08-23 21:51:33 -07:00
Rohit Prasad
48f10ff295
Merge pull request #138 from Amagah/fix/131-sidecar-resource-dir
Create the sidecar resource dir in build.rs so a fresh clone builds
2026-08-23 21:50:01 -07:00
Rohit Prasad
47f26dd90c
Merge pull request #50 from asklokesh/fix/automation-schedule-dst-and-weekday
Fix automation scheduling: DST-correct 'local' times and off-by-one weekday labels
2026-08-23 21:45:04 -07:00
Rohit Prasad
941337d212
Merge pull request #291 from Mr-Neutr0n/security/secrets-created-private
security: create secret files private, never chmod them after (#143)
2026-08-23 21:43:58 -07:00
Rohit Prasad
c75add0a70
Merge pull request #536 from andrewyng/rp/project-memory
Named memories, boards tied to project identity, Newer lead agents.
2026-08-23 13:10:36 -07:00
Rohit Prasad
02a6b20eb6
Merge pull request #488 from rkfshakti/fix/github-clone-pull-approval-gate
fix: gate github_clone and github_pull behind approval
2026-08-23 13:05:52 -07:00
Rohit Prasad
85330f6c3e
Merge pull request #216 from CyberDefenseOperations/contrib/fix-flaky-shell-background-test
test: fix flaky test_background_task_runs_and_exits near the exit tick
2026-08-23 12:15:57 -07:00
Rohit Prasad
d6a17e8783
Merge pull request #210 from CyberDefenseOperations/contrib/fix-flaky-ui-refresh-e2e
test: fix flaky ui-refresh e2e by quiescing the auto-title call before mute assertions
2026-08-23 12:15:14 -07:00
Rohit Prasad
21a301f0f4
Merge pull request #209 from CyberDefenseOperations/contrib/fix-flaky-scheduler-test
test: fix flaky test_scheduler_runs_due_task_and_advances near minute boundaries
2026-08-23 12:14:46 -07:00
Rohit Prasad
b686a3b91f
Merge pull request #365 from ChakrawarShubham/fix/ws-onmessage-unguarded-parse
fix(gui): guard session WS onmessage JSON.parse against malformed frames
2026-08-23 11:53:36 -07:00
Rohit Prasad
ef9a3d8b84
Merge pull request #214 from Osamaali313/fix-attachment-dedup-filename
Fix attachment de-dup stripping real digits from the filename
2026-08-23 11:53:13 -07:00